1. Khái niệm giao thức mạng
Giao thức mạng (network protocol) là tập hợp các quy tắc, thủ tục và định dạng dữ liệu được thống nhất, nhằm tổ chức và điều phối việc trao đổi thông tin giữa các thiết bị trong mạng hoặc giữa các mạng với nhau.
Nói cách khác, nếu mạng máy tính giống như một con đường thì giao thức mạng chính là luật đi lại; các máy tính phải cùng sử dụng một "ngôn ngữ" chung mới có thể hiểu và xử lí thông tin do bên kia gửi đến.
Một giao thức thường quy định ba nội dung chính:
- Cấu trúc dữ liệu truyền đi, thường chia thành phần đầu gói tin (header) chứa thông tin điều khiển và phần thân (payload) chứa nội dung cần gửi.
- Cách đóng gói, chia nhỏ dữ liệu trước khi truyền và cách ghép lại khi nhận.
- Cách phát hiện và xử lí lỗi, kiểm soát luồng dữ liệu giữa bên gửi và bên nhận.
2. Mô hình phân tầng TCP/IP
TCP/IP là bộ giao thức nền tảng của Internet, gồm nhiều giao thức cùng phối hợp ở các tầng khác nhau. Mô hình thường được trình bày gồm 4 tầng:
| Tầng | Giao thức điển hình | Nhiệm vụ chính |
|---|---|---|
| Tầng ứng dụng | HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS | Cung cấp dịch vụ mạng cho các phần mềm ứng dụng |
| Tầng giao vận | TCP, UDP | Truyền dữ liệu giữa chương trình bên gửi và bên nhận |
| Tầng mạng | IP, ICMP | Định địa chỉ, định tuyến và chuyển gói tin qua mạng |
| Tầng truy cập mạng | Ethernet, Wi-Fi | Truyền dữ liệu trên môi trường vật lí |
Trong mô hình này, mỗi tầng chỉ liên hệ trực tiếp với tầng liền kề. Tầng trên giao việc cho tầng dưới; tầng dưới tìm cách truyền đi mà không cần biết nội dung cụ thể của tầng trên.
3. Giao thức IP và địa chỉ IP
- IP (Internet Protocol): đánh địa chỉ cho các thiết bị và chuyển các gói tin từ nguồn đến đích qua các mạng. IP không kiểm tra gói tin có đến đủ hay không; việc đó do TCP đảm nhận.
- Địa chỉ IPv4 dài 32 bit, viết thành 4 số thập phân từ 0 đến 255, ngăn cách bởi dấu chấm, ví dụ
192.168.1.10. - Địa chỉ IPv6 dài 128 bit, ra đời vì số địa chỉ IPv4 không còn đủ cho số thiết bị kết nối Internet.
4. Các giao thức thường gặp
Ở tầng giao vận có hai giao thức đại diện:
- TCP (Transmission Control Protocol): giao thức hướng kết nối. Trước khi gửi dữ liệu, hai máy phải thiết lập kết nối bằng thủ tục "bắt tay" ba bước. TCP đánh số các gói tin, kiểm tra và yêu cầu gửi lại gói bị mất hoặc lỗi, nhờ đó dữ liệu đến đích đầy đủ, đúng thứ tự; phù hợp khi cần độ chính xác cao.
- UDP (User Datagram Protocol): giao thức không hướng kết nối. Dữ liệu được gửi đi nhanh, độ trễ thấp nhưng không đảm bảo đầy đủ. UDP thường dùng cho các ứng dụng chấp nhận được mất một phần dữ liệu nhỏ để đổi lấy tốc độ.
Các giao thức ở tầng ứng dụng đóng vai trò phục vụ trực tiếp người dùng:
- HTTP (HyperText Transfer Protocol): dùng để trao đổi trang web siêu văn bản giữa trình duyệt và máy chủ web, cổng mặc định là 80. Dữ liệu truyền đi dưới dạng rõ nên có nguy cơ bị nghe lén.
- HTTPS (HTTP Secure): phiên bản bảo mật của HTTP, kết hợp cơ chế mã hoá SSL/TLS, cổng mặc định 443.
- FTP (File Transfer Protocol): dùng để truyền tải tập tin giữa máy khách và máy chủ FTP, thường dùng cổng 20 cho dữ liệu và cổng 21 cho điều khiển.
- SMTP (Simple Mail Transfer Protocol): giao thức dùng để gửi thư điện tử từ máy khách đến máy chủ thư và chuyển thư giữa các máy chủ thư, cổng mặc định 25.
- POP3 (Post Office Protocol phiên bản 3): giao thức nhận thư, cổng 110. Thư thường được tải về máy cá nhân và có thể xoá trên máy chủ.
- IMAP (Internet Message Access Protocol): giao thức nhận và quản lí thư, cổng 143. Thư được giữ và đồng bộ trên máy chủ nên nhiều thiết bị cùng xem được.
- DNS (Domain Name System): hệ thống phân giải tên miền (ví dụ
example.com) thành địa chỉ IP, cổng 53.
5. Ví dụ minh hoạ
Khi người dùng gõ địa chỉ https://example.com vào trình duyệt, hãy mô tả các giao thức và trình tự hoạt động chính để trang web hiển thị.
Lời giải · 2 bước
Các bước chính diễn ra như sau:
- 1.Trình duyệt cần biết địa chỉ IP của
example.com, nên gửi truy vấn DNS đến máy chủ phân giải tên miền. - 2.Nhận được địa chỉ IP, trình duyệt thiết lập kết nối TCP đến máy chủ web qua cổng 443 vì dùng HTTPS.
- 3.Thực hiện quá trình mã hoá SSL/TLS, sau đó gửi yêu cầu HTTP trên kết nối HTTPS.
- 4.Máy chủ web trả về gói tin HTTP chứa nội dung trang; các gói tin được định tuyến trên đường truyền nhờ giao thức IP.
- 5.Trình duyệt ghép các dữ liệu nhận được và hiển thị trang web.
Bước 2
Như vậy, chỉ riêng việc mở một trang web đã cần sự phối hợp của nhiều giao thức khác nhau, mỗi giao thức đảm nhận một nhiệm vụ riêng.
6. Lưu ý và lỗi thường gặp
- Không lẫn lộn chức năng gửi và nhận thư: SMTP chỉ gửi, còn POP3 hoặc IMAP để nhận.
- Không nhầm HTTP với HTTPS: chữ S cho biết dữ liệu đã được mã hoá nên an toàn hơn.
- DNS chỉ dịch tên miền thành địa chỉ IP, không truyền nội dung website; việc chuyển nội dung thuộc về HTTP hoặc HTTPS.
- TCP và UDP đều ở tầng giao vận, nhưng TCP kiểm soát kết nối và lỗi nên chậm hơn UDP.
- Địa chỉ IP là địa chỉ logic, thay đổi được theo cấu hình mạng; địa chỉ MAC gắn với phần cứng card mạng.
7. Câu hỏi ôn tập
Phân biệt TCP và UDP. Cho ví dụ một ứng dụng nên dùng UDP thay vì TCP.
Gợi ý trả lời
TCP hướng kết nối, kiểm soát lỗi, đảm bảo dữ liệu đầy đủ và đúng thứ tự nên phù hợp gửi file, trao đổi email, duyệt web. UDP không bảo đảm tính toàn vẹn nhưng truyền nhanh, độ trễ thấp nên phù hợp với xem phát video trực tiếp, gọi thoại IP, chơi game trực tuyến vì có thể chấp nhận mất một phần dữ liệu nhỏ.
Tại sao nói HTTPS an toàn hơn HTTP?
Gợi ý trả lời
HTTPS sử dụng cơ chế mã hoá SSL/TLS để bảo vệ nội dung trao đổi giữa trình duyệt và máy chủ. Dữ liệu khi truyền đi đã được mã hoá nên người trung gian khó đọc hoặc sửa được, giảm nguy cơ nghe lén và giả mạo nội dung.
Hãy nêu vai trò của DNS trong quá trình sử dụng Internet.
Gợi ý trả lời
DNS đóng vai trò như danh bạ điện tử của Internet, chuyển đổi tên miền dễ nhớ của máy chủ thành địa chỉ IP để máy tính biết đích đến. Nếu DNS hoạt động không tốt, người dùng khó truy cập website dù đường truyền mạng vẫn bình thường.