Mạng máy tính trao đổi dữ liệu giữa các thiết bị thế nào?
- Mạng máy tính là gì và điều gì giúp thiết bị giao tiếp được?
- Dữ liệu được đóng gói thành packet và frame như thế nào?
- IP, MAC và port xác định đúng thiết bị, đúng ứng dụng ra sao?
- Switch và router chuyển dữ liệu qua mạng như thế nào?
- TCP và UDP quyết định cách dữ liệu được vận chuyển ra sao?
- Một lượt truyền dữ liệu từ laptop đến máy chủ diễn ra thế nào?
Khi một ứng dụng gửi dữ liệu, dữ liệu thường được xử lý qua nhiều lớp. Tầng vận chuyển tạo TCP segment hoặc UDP datagram, tầng IP đặt nó trong IP packet, còn tầng liên kết đóng packet vào frame phù hợp với Ethernet hoặc Wi-Fi. Switch và router chuyển các đơn vị này theo phạm vi của từng lớp; thiết bị đích sau đó giải đóng gói theo chiều ngược để đưa dữ liệu tới đúng ứng dụng.
Mạng máy tính là gì và điều gì giúp thiết bị giao tiếp được?
Mạng máy tính là một hệ thống trong đó các thiết bị như máy tính, điện thoại, máy chủ hoặc thiết bị IoT có thể trao đổi dữ liệu qua một môi trường truyền dẫn chung. Môi trường đó có thể là cáp Ethernet, cáp quang hoặc sóng vô tuyến của Wi-Fi. Tuy nhiên, có đường truyền vật lý mới chỉ tạo ra khả năng kết nối; để trao đổi dữ liệu có nghĩa, các bên còn phải dùng các giao thức tương thích.
Trong kiến trúc Internet, các chức năng giao tiếp được tách thành nhiều lớp để mỗi lớp giải quyết một nhiệm vụ riêng. RFC 1122 mô tả các lớp liên kết, IP và vận chuyển của bộ giao thức Internet; các giao thức ứng dụng nằm phía trên chúng. Ethernet thuộc họ IEEE 802.3, còn mạng LAN không dây thuộc IEEE 802.11; hai họ tiêu chuẩn này xác định các chức năng MAC và lớp vật lý cho loại liên kết tương ứng.
Vì vậy, Wi-Fi không đồng nghĩa với Internet. Wi-Fi chỉ có thể cung cấp một liên kết không dây trong mạng cục bộ. Thiết bị có thể kết nối Wi-Fi nhưng vẫn không truy cập được Internet nếu thiếu đường ra ngoài, địa chỉ hoặc cấu hình mạng phù hợp. Ngược lại, một mạng máy tính vẫn có thể hoạt động hoàn toàn cục bộ mà không cần kết nối Internet.

Dữ liệu được đóng gói thành packet và frame như thế nào?
Giả sử trình duyệt cần gửi một yêu cầu tới máy chủ. Ứng dụng tạo dữ liệu ở dạng mà nó hiểu, nhưng dữ liệu này không được đưa thẳng lên dây hoặc sóng vô tuyến. Nó được đóng gói qua các lớp, mỗi lớp bổ sung thông tin điều khiển phục vụ nhiệm vụ của mình.
Ở tầng vận chuyển, dữ liệu ứng dụng có thể trở thành một TCP segment hoặc UDP datagram. Ở tầng IP, đơn vị đó được đặt trong một IP packet chứa thông tin cần cho việc chuyển qua các mạng. Ở tầng liên kết, IP packet lại được đặt trong một frame phù hợp với liên kết hiện tại, chẳng hạn frame Ethernet hoặc frame Wi-Fi. Cuối cùng, lớp vật lý biểu diễn frame thành tín hiệu điện, quang hoặc vô tuyến để truyền đi.
Các đặc tả giao thức phản ánh chính cách phân lớp này. RFC 9293 nêu rằng TCP cung cấp dịch vụ byte-stream cho ứng dụng, truyền byte-stream đó qua TCP segment và mỗi segment được gửi trong một IP datagram. Chuẩn IP over Ethernet cũng mô tả IP datagram được truyền bên trong Ethernet frame.
Ở đầu nhận, quá trình diễn ra theo chiều ngược lại: giao diện mạng nhận frame, lớp liên kết lấy IP packet ra, IP chuyển phần dữ liệu bên trong lên tầng vận chuyển, rồi TCP hoặc UDP giao dữ liệu tới ứng dụng phù hợp. Đây là giải đóng gói. Vì thế, “packet” và “frame” không hoàn toàn đồng nghĩa: packet thường nói tới đơn vị ở tầng IP, còn frame là đơn vị của một liên kết cụ thể.
Frame chỉ có ý nghĩa trên liên kết hiện tại. Khi IP packet sang một liên kết khác, lớp liên kết có thể đóng gói lại packet bằng loại frame phù hợp với chặng mới.
IP, MAC và port xác định đúng thiết bị, đúng ứng dụng ra sao?
“Gửi đúng đích” trong mạng thực ra gồm nhiều cấp. Địa chỉ IP, địa chỉ lớp liên kết như MAC và port không thay thế nhau; mỗi loại trả lời một câu hỏi khác.
Địa chỉ IP cho biết đích logic ở tầng Internet và được router dùng để quyết định packet cần đi về mạng nào. IPv4 dùng địa chỉ 32 bit, còn IPv6 mở rộng kích thước địa chỉ lên 128 bit theo RFC 8200. Đây là khác biệt định lượng quan trọng vì nó phản ánh không gian địa chỉ mà hai phiên bản IP có thể biểu diễn.
Địa chỉ lớp liên kết, thường được gọi là địa chỉ MAC trên Ethernet và Wi-Fi, phục vụ việc giao frame trên liên kết cục bộ. Khi một thiết bị IPv4 biết địa chỉ IP của một nút cùng Ethernet nhưng chưa biết địa chỉ Ethernet tương ứng, ARP có thể phân giải từ địa chỉ giao thức sang địa chỉ phần cứng để tạo frame. RFC 826 mô tả chính cơ chế ánh xạ này. Với IPv6, Neighbor Discovery đảm nhiệm việc xác định địa chỉ lớp liên kết của các nút láng giềng trên cùng link.
Port xác định điểm cuối logic của ứng dụng ở tầng vận chuyển. Một máy có thể đồng thời chạy trình duyệt, ứng dụng chat và nhiều dịch vụ mạng khác trên cùng địa chỉ IP; port cùng giao thức vận chuyển giúp hệ điều hành chuyển dữ liệu tới đúng tiến trình hoặc socket. RFC 9293 cũng xác định TCP dùng port number để nhận diện dịch vụ ứng dụng và phân tách các luồng giữa các host.
Ba cấp định danh có phạm vi khác nhau: IP giúp tìm đúng host hoặc interface qua các mạng, địa chỉ lớp liên kết giúp frame tới đúng nút ở chặng cục bộ, còn port giúp dữ liệu tới đúng ứng dụng trên host đích.
Switch và router chuyển dữ liệu qua mạng như thế nào?
Điểm quyết định là đích nằm trên cùng mạng cục bộ hay phải đi qua một mạng khác. Hai trường hợp dùng cùng bộ giao thức nhưng thiết bị trung gian tham gia khác nhau.
Khi đích ở cùng mạng cục bộ
Thiết bị gửi so sánh địa chỉ đích với phạm vi mạng của mình để xác định đích có ở cùng mạng hay không. Nếu có, nó cần địa chỉ lớp liên kết của thiết bị đích, tạo frame mang IP packet và gửi frame vào LAN.
Trong một LAN Ethernet phổ biến, switch chuyển frame trong miền lớp liên kết; IEEE 802.1Q chuẩn hóa nguyên lý hoạt động của bridged networks và MAC bridges. Nếu thiết bị kết nối bằng Wi-Fi, access point có thể nối liên kết không dây vào mạng LAN. Khi hai host ở cùng mạng IP cục bộ, packet không cần đi qua router chỉ để tới host kia.
Khi đích nằm ở mạng khác
Nếu địa chỉ IP đích không thuộc mạng cục bộ, host không gửi frame trực tiếp tới MAC của máy chủ ở xa. Thay vào đó, nó gửi frame tới default gateway — thường là một interface của router trên cùng LAN.
Router nhận frame của chặng hiện tại, lấy IP packet ra, xem địa chỉ IP đích và thông tin định tuyến để chọn interface hoặc next hop tiếp theo. Sau đó, router đặt packet vào một frame mới phù hợp với liên kết đầu ra. Quá trình này có thể lặp lại qua nhiều router cho tới mạng chứa thiết bị đích.
Đây là khác biệt cốt lõi giữa switch và router: switch chủ yếu chuyển frame trong phạm vi lớp liên kết, còn router chuyển IP packet giữa các mạng. Một thiết bị gia đình được gọi chung là “router Wi-Fi” có thể tích hợp router, Ethernet switch và wireless access point trong cùng một hộp, nhưng các chức năng logic đó vẫn khác nhau.
Cũng vì router tái tạo đóng gói lớp liên kết cho chặng tiếp theo, không nên hình dung một Ethernet hoặc Wi-Fi frame duy nhất đi nguyên vẹn từ laptop tới một máy chủ ở xa. Phần frame phục vụ từng link; IP packet mới là đơn vị được chuyển tiếp xuyên qua chuỗi mạng ở lớp IP.
TCP và UDP quyết định cách dữ liệu được vận chuyển ra sao?
IP giúp packet tìm đường đến host đích, nhưng bản thân IP không biến mọi luồng dữ liệu thành một dịch vụ “giao đủ, đúng thứ tự”. Tầng vận chuyển cung cấp các đặc tính khác nhau cho ứng dụng, trong đó TCP và UDP là hai lựa chọn quen thuộc.
TCP ưu tiên truyền tin cậy và đúng thứ tự
RFC 9293 định nghĩa TCP là dịch vụ byte-stream tin cậy, đúng thứ tự. TCP dùng sequence number để phát hiện mất dữ liệu, checksum để phát hiện lỗi ở segment và retransmission để khôi phục dữ liệu bị mất. Điều này cho phép ứng dụng làm việc với một luồng byte có thứ tự thay vì tự ghép từng packet mạng.
Tuy vậy, “TCP tin cậy” không có nghĩa mọi tác vụ ứng dụng chắc chắn thành công. Kết nối vẫn có thể bị ngắt, máy chủ có thể không phản hồi hoặc ứng dụng có thể lỗi. Ý nghĩa chính xác là TCP cung cấp cơ chế vận chuyển tin cậy và theo thứ tự trong phạm vi dịch vụ mà giao thức định nghĩa.
UDP gửi datagram với ít cam kết ở tầng vận chuyển
UDP cung cấp dịch vụ datagram đơn giản hơn. RFC 768 nêu rõ việc giao dữ liệu và bảo vệ khỏi trùng lặp không được đảm bảo ở chính UDP. Vì vậy, nếu ứng dụng cần xác nhận, gửi lại, sắp xếp thứ tự hoặc khôi phục mất mát khi dùng UDP, các cơ chế đó phải được xử lý ở tầng ứng dụng hoặc một giao thức phía trên.
Do đó, không thể kết luận UDP “kém hơn” TCP một cách tuyệt đối. Hai giao thức cung cấp các dịch vụ vận chuyển khác nhau; ứng dụng chọn dịch vụ phù hợp với cách nó muốn xử lý thứ tự, mất dữ liệu và chi phí điều khiển.
Một lượt truyền dữ liệu từ laptop đến máy chủ diễn ra thế nào?
Có thể ghép toàn bộ cơ chế vào một tình huống: laptop đang nối Wi-Fi và gửi một yêu cầu tới một máy chủ trên Internet.
1. Ứng dụng xác định dịch vụ cần liên lạc. Nếu người dùng nhập tên miền, DNS có thể được dùng để lấy địa chỉ IP; nếu địa chỉ đã có sẵn hoặc được cache, bước tra cứu này không nhất thiết xảy ra
2. Tầng vận chuyển tạo đơn vị dữ liệu phù hợp, chẳng hạn TCP segment hoặc UDP datagram, đồng thời dùng port để nhận diện các endpoint ứng dụng
3. Tầng IP đặt đơn vị vận chuyển vào IP packet có địa chỉ nguồn và địa chỉ đích
4. Laptop xác định máy chủ nằm ngoài mạng cục bộ, tìm địa chỉ lớp liên kết của default gateway rồi đóng IP packet vào frame Wi-Fi gửi tới access point/router
5. Router lấy IP packet ra, chọn hướng chuyển tiếp và đóng packet vào frame mới cho chặng kế tiếp; các router khác có thể lặp lại công việc này
6. Khi packet đến mạng của máy chủ, chặng cuối đưa frame tới interface của máy chủ; máy chủ giải đóng gói từ link layer lên IP rồi lên TCP hoặc UDP
7. Port và thông tin transport đưa dữ liệu tới đúng ứng dụng máy chủ; phản hồi được tạo và trải qua cùng nguyên tắc đóng gói, định địa chỉ, chuyển tiếp và giải đóng gói
DHCP có thể đã cung cấp địa chỉ IP và các tham số cấu hình mạng trước khi lượt trao đổi này bắt đầu, nhưng nó không phải một bước bắt buộc cho từng packet. Tương tự, DNS chỉ cần khi ứng dụng phải chuyển tên sang địa chỉ và chưa có kết quả phù hợp. Hai cơ chế này hỗ trợ thiết bị chuẩn bị cấu hình hoặc tìm đích; dữ liệu ứng dụng vẫn phải được đóng gói, định địa chỉ và chuyển tiếp qua các lớp mạng.
Mạng máy tính trao đổi dữ liệu nhờ sự phối hợp giữa đường truyền, giao thức, địa chỉ và thiết bị chuyển tiếp. Dữ liệu ứng dụng được đóng gói qua tầng vận chuyển, IP và tầng liên kết; switch xử lý frame trong mạng cục bộ, router chuyển IP packet giữa các mạng, còn TCP hoặc UDP xác định đặc tính vận chuyển mà ứng dụng nhận được. Ở thiết bị đích, quá trình được đảo ngược để dữ liệu đến đúng ứng dụng.
Mô hình dễ nhớ là: ứng dụng tạo dữ liệu → transport đóng gói → IP định địa chỉ → link layer tạo frame → switch/router chuyển tiếp → thiết bị đích giải đóng gói → ứng dụng nhận dữ liệu. Khi hiểu chuỗi này, các khái niệm IP, MAC, port, packet, frame, switch và router sẽ nằm đúng vị trí trong cùng một cơ chế thay vì là những thuật ngữ rời rạc.
