Kiến thức về các giao thức và dịch vụ mạng
SMTP
SMTP (Simple Message Transfer Protocol) là một giao thức email được dùng để gửi tin nhắn email. Nó đã được định nghĩa là RFC 5321 và cũng đóng vai trò trung tâm trong việc chuyển gửi thư điện tử. Mặc dù SMTP đã tồn tại lâu hơn so với HTTP, nhưng nó vẫn là một phần quan trọng trong cuộc sống hàng ngày của người dùng. Để hỗ trợ các dịch vụ email, cần có một cặp giao thức, gồm có SMTP và POP/IMAP.
SMTP sử dụng ba chức năng cơ bản:
- Nó xác minh ai đang gửi email thông qua máy chủ SMTP.
- Nó cũng gửi email đi.
- Khi tin nhắn không thể gửi đến người nhận, tin nhắn sẽ gửi lại cho người gửi.
POP/IMAP
POP (Post Office Protocol) và IMAP (Internet Message Access Protocol) là hai giao thức quan trọng trong việc quản lý email. Khi gửi một thư điện tử đến người nhận, IMAP đảm nhận trách nhiệm chuyển gửi email giữa máy chủ và máy khách.
Sự khác biệt chính giữa POP và IMAP nằm ở cách chúng tiếp cận email. POP là một phương thức đơn giản để tải về các thư từ hộp thư đến. Trong khi đó, IMAP sẽ đồng bộ hóa hộp thư đến hiện tại với thư mới trên máy chủ, cho phép bạn tải xuống bất kỳ thư mới nào.
SMTP hoạt động như thế nào?
Sau khi thiết lập máy chủ SMTP, các ứng dụng email có khả năng kết nối và tương tác với nó. Khi người dùng bấm nút "Gửi" trên một email, ứng dụng email mở một kết nối SMTP đến máy chủ để gửi thư. Trong quá trình này, vai trò của máy chủ SMTP giống như một bưu điện, nơi email (thư) được lựa chọn và gửi đến máy chủ này, sau đó máy chủ chịu trách nhiệm chuyển nó đến người nhận.
SMTP hoạt động trong giao thức lớp ứng dụng (Application).
SMB
SMB (Server Message Block Protocol), viết tắt là SMB, là một giao thức client-server được dùng để chia sẻ, truyền dữ liệu và truy cập vào các tệp tin.
Thông qua SMB, máy chủ có thể được truy cập để xem các tệp, gửi các yêu cầu gọi API, in tài liệu, và truy cập các tài nguyên khác.
Giao thức này còn được gọi là giao thức yêu cầu-đáp ứng (request-response) vì nó thực hiện truyền dữ liệu và thông điệp giữa máy khách và máy chủ.
SMB thường hoạt động ở lớp ứng dụng hoặc lớp trình bày (Application hoặc Presentation).
Khi bạn đã thiết lập kết nối với giao thức SMB, bạn có khả năng xem, chuyển, và lấy tài nguyên từ máy chủ.
Nếu người dùng đã đặt mật khẩu trên máy chủ, thì việc truy cập cũng đòi hỏi thông tin đăng nhập để xác thực từ máy chủ đó.
Sự ra đời của SMB
Từ khi hệ điều hành Windows 95 ra đời vào đầu năm 1995, chúng đã được tích hợp hỗ trợ cho giao thức SMB dưới dạng máy khách và máy chủ, gọi là "SAMBA". SAMBA được thiết kế để hoạt động trên các hệ thống UNIX.
SMB thường hoạt động ở lớp ứng dụng hoặc lớp trình bày (Application hoặc Presentation).
TELNET
Telnet, viết tắt của "teletype network protocol," là một giao thức không an toàn, phiên bản SSH không an toàn. Telnet là một giao thức cho phép bạn thiết lập kết nối với máy chủ và thực hiện các lệnh, nơi máy chủ chạy dịch vụ Telnet. Khi bạn thiết lập kết nối với Telnet, máy khách sau đó trở thành một thiết bị đầu cuối ảo, cho phép bạn tương tác với máy chủ từ xa.
Telnet bị thay thế
Telnet ít được sử dụng bởi các công ty, chủ yếu vì mối lo ngại về các vấn đề bảo mật. Hầu hết các công ty đã và đang sử dụng SSH (Secure Shell) vì nó cung cấp một môi trường bảo mật tốt hơn. SSH hiển thị thông tin đăng nhập một cách an toàn hơn trong quá trình kết nối. Vì lý do này, Telnet đã được thay thế bởi SSH.
Telnet hoạt động như thế nào?
Để kết nối với máy chủ Telnet rất dễ. “Telnet [ip] [port]”
là đủ để có thể kết nối với máy chủ Telnet.
FTP
FTP (File Transfer Protocol), viết tắt là FTP, là giao thức cho phép bạn truyền tải các tệp tin đến hoặc từ dịch vụ từ xa. FTP sử dụng mô hình client-server.
FTP hoạt động như thế nào?
FTP hoạt động dựa trên hai phương thức chính:
- Kênh lệnh: Kênh lệnh được sử dụng để truyền lệnh và nhận phản hồi từ máy chủ FTP.
- Kênh dữ liệu: Kênh dữ liệu dùng để truyền dữ liệu, chẳng hạn như tệp tin.
Các chuyên gia về bảo mật luôn khuyến nghị không sử dụng cổng 21 (cổng mặc định cho FTP) vì lý do bảo mật.
Khi dịch vụ FTP được kích hoạt, bạn có thể thiết lập kết nối giữa máy khách và máy chủ để truyền tải dữ liệu.
Chủ động/Thụ động
Máy chủ FTP có thể hoạt động ở hai chế độ khác nhau:
- Chế độ chủ động (Active): Máy chủ FTP ở chế độ chủ động sẽ tạo kết nối đến cổng ngẫu nhiên trên máy khách để thiết lập kết nối dữ liệu.
- Chế độ thụ động (Passive): Máy chủ FTP ở chế độ thụ động sẽ mở một cổng và địa chỉ IP cụ thể để lắng nghe các kết nối đến từ máy khách, cho phép máy khách thiết lập kết nối dữ liệu.
DNS
DNS (Domain Name System), viết tắt là DNS, là một dịch vụ cung cấp phương thức đơn giản cho việc giao tiếp với các thiết bị trên Internet mà không cần nhớ các địa chỉ IP số học phức tạp.
Ví dụ: địa chỉ URL "https://www.google.com" tương ứng với địa chỉ IP "172.217.169.174" trong hệ thống DNS, giúp người dùng dễ dàng truy cập các trang web và dịch vụ trực tuyến mà họ muốn mà không cần phải nhớ các số IP cụ thể. Tên miền phụ (subdomain)
Tên miền phụ là một thành phần bổ sung của tên miền chính được tạo để tổ chức và quản lý các phần khác nhau trên trang web của bạn.
Ví dụ:
Tên miền phụ: admin.example.com
Tên miền chính: example.com
|
DNS là một giao thức thuộc lớp ứng dụng. |
SSH
Secure Shell (SSH) là một giao thức bảo mật mạng sử dụng mã hóa và xác thực để triển khai các dịch vụ như truy cập an toàn và truyền tệp. Phiên bản đầu tiên, SSH1, tập trung vào cung cấp dịch vụ đăng nhập từ xa an toàn để thay thế các giao thức không bảo mật như Telnet và các ứng dụng đăng nhập từ xa khác. SSH cũng cung cấp khả năng client-server tổng quát hơn và có thể sử dụng cho nhiều chức năng mạng khác.
SSH bảo mật hơn đáng kể so với Telnet, bởi vì nó sử dụng mã hóa và xác thực để đảm bảo an toàn khi truy cập máy chủ.TLS
Xác thực máy chủ xảy ra ở lớp truyền tải, dựa trên máy chủ sở hữu cặp khóa công khai/riêng tư. Đây là một phần của quá trình bảo mật lớp truyền tải, thường được gọi là "Transport Layer Security (TLS)."
SSH hoạt động như thế nào?
SSH rất dễ sử dụng:
ssh [user]@ip-addr/localhost
|
SSH là một giao thức lớp ứng dụng. |
ARP
ARP (Address Resolution Protocol) có một bộ sổ cái quan trọng trong mạng để lưu trữ thông tin, thường được gọi là "bộ nhớ đệm".
ARP hoạt động với địa chỉ MAC (Media Access Control) và IP (Internet Protocol). Nó sử dụng hai loại thông điệp:
- ARP Request: Đây là thông điệp ARP dùng để yêu cầu một địa chỉ MAC tương ứng với một địa chỉ IP cụ thể.
- ARP Reply: Thông điệp ARP trả lời yêu cầu ARP Request bằng cung cấp địa chỉ MAC tương ứng với địa chỉ IP đã được yêu cầu.
ARP request
Khi một yêu cầu ARP được gửi, một tin nhắn sẽ được truyền đến tất cả các thiết bị có trong mạng. Điều này dùng để phát đi một gói tin qua mạng nhằm xác minh xem chúng ta có tìm thấy địa chỉ MAC đích cần tìm hay không.
ARP reply
Một phản hồi ARP được gửi trở lại cho thiết bị ban đầu để xác nhận thông tin địa chỉ MAC cần để thiết lập liên lạc dữ liệu.
|
ARP nằm trong giao thức lớp 2. |
DHCP
DHCP (Dynamic Host Configuration Protocol), viết tắt là DHCP, là một giao thức giúp cho các thiết bị muốn kết nối với mạng tự động nhận địa chỉ IP, nếu chúng chưa được cấu hình IP thủ công.
Giao thức DHCP dựa trên mô hình client-server và sử dụng các bước discovery, offer, request, và ACK.
Khi một thiết bị khách DHCP khởi động, nó gửi một yêu cầu được gọi là "DHCP Discover" để tìm xem có máy chủ DHCP nào trên mạng không. Khi ứng dụng khách DHCP khởi động, nó tự động gửi một thông điệp DHCP Discover bằng địa chỉ broadcast, hỏi: "Có máy chủ DHCP nào ở đó không?"
|
DHCP là một giao thức lớp ứng dụng |
MAC
MAC (Media Access Control), viết tắt là MAC, là địa chỉ số nhận dạng duy nhất được gán cho phần cứng mạng bởi nhà sản xuất.
Địa chỉ MAC thường bao gồm sáu cặp ký tự, ví dụ: 00:12:ED:4B:16:5E. Nếu bạn muốn xe
m địa chỉ MAC của thiết bị mạng của mình, bạn có thể sử dụng lệnh ipconfig /all
trong Command Prompt trên hệ điều hành Windows để hiển thị thông tin liên quan.
|
Địa chỉ MAC nằm ở lớp 2 (liên kết dữ liệu). |
ICMP
ICMP (Internet Control Message Protocol), viết tắt là ICMP, là một trong những nguyên tắc cơ bản quan trọng nhất trong mạng, vì không có ICMP sẽ dẫn đến không có phản hồi, và điều này có nghĩa là không có kết nối. Hầu hết khi bạn nhập lệnh "ping google.com," bạn sẽ thấy TTL (thời gian tồn tại) đại diện cho các gói ICMP di chuyển được đo thông qua lệnh ping, như làm việc trong mạng gia đình của bạn hoặc khi truy cập các trang web.
Cách dễ nhất để quan sát ICMP trên mạng là sử dụng lệnh "ping" và "traceroute". Traceroute cũng được sử dụng để phân tích dữ liệu khi nó di chuyển từ nguồn tới đích, giúp bạn theo dõi đường truyền dữ liệu.
Như ảnh ở trên, TTL là 112.
ICMP được hiển thị như một giao thức lớp 3.
NAT
NAT (Network Address Translation), viết tắt là NAT, ban đầu được sử dụng để giải quyết vấn đề thiếu địa chỉ IPv4, nhưng hiện nay được sử dụng để che giấu các địa chỉ IPv4 công cộng. Để truy cập Internet, cần phải có địa chỉ IP công cộng, nhưng chúng ta có thể sử dụng địa chỉ IP riêng trong mạng nội bộ của mình. Ý tưởng của NAT là cho phép nhiều thiết bị trong mạng nội bộ truy cập Internet thông qua một địa chỉ IP công cộng duy nhất.
Với NAT, một mạng có thể hỗ trợ nhiều hơn 500 thiết bị có địa chỉ riêng, và bộ định tuyến NAT có khả năng chuyển đổi các địa chỉ này sang dải địa chỉ công cộng khi các thiết bị cần truy cập Internet.
|
NAT nằm ở lớp 3. |
IP
IP (Internet Protocol), viết tắt là IP, có công việc chính là gửi tin nhắn giữa các thiết bị trên mạng, và tương tự như bất kỳ dịch vụ gửi thư nào, nó không thể thực hiện công việc của mình một cách hiệu quả nếu nó không biết địa chỉ của người nhận. Điều này áp dụng cho việc gửi thư, phát video trực tuyến, kết nối với một trang web, và nhiều tác vụ khác trên mạng.
Ví dụ: