Mục lục bài viết
- Frame, Packet và Segment là gì?
- Frame là gì?
- Packet là gì?
- Segment là gì?
- Frame và Packet khác nhau thế nào? So sánh với Segment
- Frame, Packet và Segment được xử lý như thế nào?
- Tạo TCP Segment
- Đóng gói thành IP Packet
- Đóng gói thành Ethernet Frame
- Frame và Packet thay đổi thế nào khi dữ liệu đi qua switch và router?
- Khi dữ liệu đi qua switch Layer 2
- Khi dữ liệu đi qua router
- Kết luận
Frame, Packet và Segment là gì?
Frame, Packet và Segment là các tên gọi của đơn vị dữ liệu giao thức (Protocol Data Unit – PDU) tại những tầng khác nhau. Mỗi tầng bổ sung thông tin điều khiển phù hợp với nhiệm vụ của mình.

Frame là gì?
Frame là đơn vị dữ liệu tại tầng Data Link (Layer 2) trong mô hình OSI, được sử dụng để truyền dữ liệu qua một liên kết mạng.
Trong mạng Ethernet, Frame chứa địa chỉ MAC nguồn, địa chỉ MAC đích, thông tin xác định giao thức được đóng gói và phần dữ liệu cần truyền. Ethernet Frame còn có trường FCS để hỗ trợ phát hiện lỗi trong quá trình truyền.
Switch Layer 2 sử dụng địa chỉ MAC đích để xác định cổng chuyển tiếp Frame trong mạng LAN.
Ví dụ, khi máy tính gửi dữ liệu tới NAS qua switch, dữ liệu được truyền trên liên kết Ethernet dưới dạng Frame.
Packet là gì?
Packet là đơn vị dữ liệu thường được nhắc đến ở tầng Network (Layer 3). Trong mạng TCP/IP, IP Packet chứa IP Header và phần dữ liệu được giao thức IP vận chuyển.
IP Header mang các thông tin cần thiết cho việc chuyển tiếp dữ liệu giữa các mạng, đặc biệt là địa chỉ IP nguồn và địa chỉ IP đích.
Router sử dụng địa chỉ IP đích cùng bảng định tuyến để xác định hướng chuyển tiếp Packet.
Khác với Frame Ethernet phục vụ việc truyền dữ liệu trên một liên kết mạng, IP Packet có thể được chuyển tiếp qua nhiều router để đi từ thiết bị nguồn tới thiết bị đích.
Segment là gì?
Segment là đơn vị dữ liệu của giao thức TCP tại tầng Transport (Layer 4).
Một TCP Segment gồm TCP Header và phần dữ liệu được truyền. TCP Header chứa các trường như Source Port, Destination Port, Sequence Number, Acknowledgment Number và các thông tin điều khiển khác.
Những thông tin này cho phép TCP xác định ứng dụng nhận dữ liệu, theo dõi dữ liệu đã truyền, xác nhận dữ liệu nhận được và thực hiện truyền lại khi cần thiết.
Cần lưu ý rằng Segment trong cách phân biệt này là TCP Segment. Nếu sử dụng UDP, đơn vị dữ liệu ở tầng Transport thường được gọi là UDP Datagram, không phải TCP Segment.
Frame và Packet khác nhau thế nào? So sánh với Segment
Sự khác biệt chính giữa Frame, Packet và Segment nằm ở tầng giao thức, cấu trúc dữ liệu và nhiệm vụ xử lý.
| Tiêu chí | Frame | Packet | Segment |
|---|---|---|---|
| Tầng OSI | Layer 2 – Data Link | Layer 3 – Network | Layer 4 – Transport |
| Giao thức ví dụ | Ethernet | IPv4, IPv6 | TCP |
| Chức năng chính | Truyền dữ liệu qua liên kết mạng | Chuyển dữ liệu giữa các mạng IP | Vận chuyển dữ liệu giữa các đầu cuối TCP |
| Thông tin địa chỉ | Địa chỉ MAC | Địa chỉ IP | Số cổng TCP |
| Thiết bị hoặc thành phần xử lý | Card mạng, switch Layer 2 | Router, thiết bị định tuyến Layer 3 | Giao thức TCP tại thiết bị đầu cuối |
| Phạm vi sử dụng | Liên kết mạng | Đường truyền giữa nguồn và đích qua các mạng IP | Kết nối TCP giữa hai đầu cuối |
Trong hệ thống Ethernet sử dụng TCP/IP, Frame thường chứa IP Packet, còn IP Packet chứa TCP Segment.
Vì vậy, Frame và Packet không phải hai tên gọi thay thế hoàn toàn cho nhau. Chúng mô tả dữ liệu ở hai tầng giao thức khác nhau.
Frame, Packet và Segment được xử lý như thế nào?
Khi một ứng dụng truyền dữ liệu bằng TCP qua mạng Ethernet, dữ liệu được xử lý lần lượt qua các tầng giao thức. Quá trình này gọi là đóng gói dữ liệu (Encapsulation).
Có thể mô tả quá trình như sau:
Application Data → TCP Segment → IP Packet → Ethernet Frame → Bits

Tạo TCP Segment
Ở tầng Transport, TCP tiếp nhận luồng dữ liệu từ ứng dụng và tổ chức dữ liệu thành các Segment phù hợp với quá trình truyền.
TCP bổ sung Header chứa thông tin cổng nguồn, cổng đích, số thứ tự và các trường điều khiển.
Cấu trúc đơn giản: [TCP Header] [Data]
Đóng gói thành IP Packet
Tầng Network nhận TCP Segment và bổ sung IP Header để tạo IP Packet.
Cấu trúc: [IP Header] [TCP Header] [Data]
IP Header cung cấp thông tin địa chỉ và những trường cần thiết để Packet được định tuyến tới đích.
Đóng gói thành Ethernet Frame
Khi IP Packet được gửi qua Ethernet, tầng Data Link bổ sung Ethernet Header và các thông tin cần thiết để tạo Frame.
Cấu trúc được đơn giản hóa như sau:
[Ethernet Header] [IP Header] [TCP Header] [Data] [FCS]
Frame sau đó được truyền qua môi trường vật lý dưới dạng tín hiệu biểu diễn các bit dữ liệu.
Tại thiết bị nhận, quá trình xử lý diễn ra theo chiều ngược lại. Các tầng lần lượt xử lý và loại bỏ thông tin đóng gói tương ứng để chuyển dữ liệu lên tầng phía trên.
Mô hình trên áp dụng cho TCP truyền qua IP và Ethernet. Nếu sử dụng giao thức vận chuyển hoặc công nghệ liên kết khác, cấu trúc đóng gói cũng sẽ khác.
Frame và Packet thay đổi thế nào khi dữ liệu đi qua switch và router?
Đây là điểm cần hiểu rõ khi phân biệt Frame và Packet trong thực tế. Switch Layer 2 chủ yếu chuyển tiếp Frame, còn router xử lý và chuyển tiếp IP Packet giữa các mạng.

Khi dữ liệu đi qua switch Layer 2
Giả sử máy tính A và máy tính B nằm trong cùng mạng LAN, kết nối qua một switch Ethernet.
Máy tính A → Switch → Máy tính B
Máy tính A đóng gói IP Packet trong Ethernet Frame với địa chỉ MAC đích của máy tính B.
Switch đọc thông tin địa chỉ MAC đích, tra bảng MAC và chuyển Frame tới cổng phù hợp.
Trong quá trình chuyển mạch Layer 2 thông thường, switch không cần thay đổi địa chỉ IP nguồn hoặc đích của Packet.
Khi dữ liệu đi qua router
Giả sử máy tính A cần gửi dữ liệu tới server nằm ở một mạng IP khác.
Máy tính A → Switch → Router → Server
Máy tính A tạo IP Packet có địa chỉ IP đích là server. Tuy nhiên, Ethernet Frame trên liên kết đầu tiên sẽ sử dụng địa chỉ MAC đích của thiết bị next-hop, thường là router mặc định.
Khi nhận Frame, router thực hiện các công việc chính:
- Xử lý Frame nhận được và lấy IP Packet bên trong.
- Kiểm tra địa chỉ IP đích để lựa chọn tuyến chuyển tiếp.
- Cập nhật những trường IP cần thiết cho việc chuyển tiếp, chẳng hạn giảm TTL đối với IPv4.
- Đóng gói IP Packet vào Frame mới phù hợp với liên kết đầu ra.
- Chuyển dữ liệu tới thiết bị tiếp theo.
Như vậy, khi đi qua router, Frame của liên kết trước không được giữ nguyên để truyền tiếp sang liên kết sau. IP Packet được chuyển tiếp và đóng gói lại theo công nghệ liên kết đầu ra.
Trong quá trình định tuyến thông thường, địa chỉ IP nguồn và đích vẫn được giữ nguyên, nhưng có thể thay đổi nếu có cơ chế như NAT. Đây là điểm khác biệt quan trọng giữa thông tin liên kết của Frame và thông tin định tuyến của Packet.
Kết luận
Với câu hỏi frame và packet khác nhau thế nào, điểm cần nhớ là Frame thuộc tầng Data Link và phục vụ việc truyền dữ liệu trên liên kết mạng, còn Packet thuộc tầng Network và phục vụ việc chuyển tiếp dữ liệu giữa các mạng IP.
Segment là đơn vị dữ liệu của TCP tại tầng Transport, chứa những thông tin phục vụ quá trình truyền dữ liệu giữa hai đầu cuối TCP.
Trong trường hợp TCP/IP chạy trên Ethernet, mối quan hệ giữa ba đơn vị dữ liệu được thể hiện như sau:
TCP Segment → IP Packet → Ethernet Frame
Khi dữ liệu đi qua switch Layer 2, thiết bị chủ yếu xử lý Frame dựa trên địa chỉ MAC. Khi dữ liệu đi qua router, thiết bị xử lý IP Packet dựa trên địa chỉ IP và tạo Frame phù hợp với liên kết tiếp theo.
Phân biệt đúng Frame, Packet và Segment giúp người học hiểu cơ chế đóng gói dữ liệu, hoạt động của switch và router, đồng thời xác định tầng giao thức liên quan khi phân tích lưu lượng mạng.
