Danh mục sản phẩm
Bài 6: Encapsulation & De-encapsulation — Dữ liệu biến đổi thành Segment, Packet, Frame như thế nào?
💡 Liên hệ thực tế
Ở Bài 2, bạn đã biết 7 tầng OSI và nhiệm vụ của từng tầng. Bây giờ hãy xem điều gì thực sự xảy ra với dữ liệu khi nó đi qua những tầng đó.
Chị Lan, nhân viên kinh doanh tại VNExperts, cần gửi một thiết bị Cisco mẫu cho khách hàng ở Đà Nẵng để demo.
Trước khi kiện hàng được vận chuyển, nó phải trải qua nhiều bước:
- Chuẩn bị nội dung và thông tin giao hàng.
- Đặt thiết bị vào hộp bảo vệ.
- Đặt hộp vào thùng vận chuyển, ghi thông tin người gửi — người nhận.
- Bổ sung thông tin phân loại và vận chuyển (mã vận đơn, tuyến đường).
- Đưa kiện hàng lên phương tiện để vận chuyển.
Mỗi bước làm cho kiện hàng có thêm thông tin hoặc lớp bảo vệ cần thiết để có thể được xử lý và vận chuyển đến nơi nhận.
📦 Khi đến nơi, người nhận thực hiện quá trình ngược lại: tháo lớp bên ngoài, mở thùng, mở hộp và lấy thiết bị bên trong.
Trong mạng máy tính cũng vậy. Khi bạn gửi dữ liệu, dữ liệu sẽ được đóng gói qua từng tầng, và mỗi tầng bổ sung thông tin cần thiết cho chức năng của mình. Đây gọi là Encapsulation (đóng gói).
Ở phía nhận, các tầng xử lý và loại bỏ phần thông tin tương ứng để khôi phục dữ liệu ban đầu. Đây gọi là De-encapsulation (tháo gói).
🔍 Và lần này, chúng ta sẽ không chỉ nói về ý tưởng, mà xem một dữ liệu cụ thể biến đổi tên gọi như thế nào qua từng tầng:
Data → Segment/Datagram → Packet → Frame → Bits
Đây chính là chuỗi PDU (Protocol Data Unit) mà bạn sẽ gặp xuyên suốt quá trình học mạng.
📘 Kiến thức cốt lõi
Encapsulation là quá trình mỗi tầng TCP/IP thêm phần "header" (và ở tầng Data Link còn có thêm "trailer") — thông tin điều khiển riêng của tầng đó — vào dữ liệu, khi dữ liệu đi từ tầng trên xuống tầng dưới (từ máy gửi). De-encapsulation là quá trình ngược lại — mỗi tầng bóc bỏ header (và trailer nếu có) của mình ra khi dữ liệu đi từ tầng dưới lên tầng trên (ở máy nhận).
| Tầng | Tên gọi đơn vị dữ liệu (PDU) | Lớp đóng gói (Header/Trailer) | Ý nghĩa vai trò |
|---|---|---|---|
| Application Presentation Session | Data | Chưa đóng gói mạng | Dữ liệu thô từ người dùng (HTTP, SMTP, FTP...). |
| Transport | Segment (TCP) / Datagram (UDP) | Port nguồn/đích, Số thứ tự gói (Chỉ có ở TCP, không có ở UDP) | Chia nhỏ dữ liệu, đảm bảo truyền đúng tiến trình/ứng dụng. |
| Network | Packet | Header IP — địa chỉ IP nguồn/đích | Định tuyến gói tin qua các mạng khác nhau. |
| Data Link | Frame | Header + Trailer — địa chỉ vật lý nguồn/đích (ví dụ MAC với Ethernet), kiểm tra lỗi | Truyền dữ liệu giữa các thiết bị trong cùng một mạng vật lý. |
| Physical | Bit | Không đóng gói thêm |
Chuyển Frame thành tín hiệu điện/quang/sóng để truyền đi thật sự |
⚙️ Ví dụ cụ thể một gói tin "mặc áo" ra sao khi bạn gửi 1 tin nhắn qua mạng Ethernet:
- Bạn gõ nội dung tin nhắn → đây là Data (dữ liệu)
- Tầng Transport chia nhỏ dữ liệu thành từng đoạn và thêm TCP Header (ví dụ cổng nguồn/đích như cổng 443 của HTTPS) → thành Segment.
- Tầng Network thêm IP Header chứa địa chỉ IP nguồn và IP đích → thành Packet.
- Tầng Data Link đóng gói Packet thành Frame Ethernet, thêm header chứa địa chỉ MAC nguồn và MAC đích (ví dụ MAC của router nếu gói tin cần đi ra ngoài mạng LAN) → thành Frame.
- Tầng Physical chuyển Frame thành chuỗi Bits (dòng tín hiệu điện/ánh sáng) để truyền qua dây cáp/sóng thật sự.
Ở đầu nhận, quá trình diễn ra theo chiều ngược lại: Bits → Frame → Packet → Segment → Data. Mỗi tầng lần lượt bóc lớp header của mình, xử lý thông tin cần thiết rồi chuyển phần dữ liệu còn lại lên tầng trên.
💡 Vì sao cần hiểu quy trình này? Khi troubleshoot mạng thực tế, việc biết "gói tin đang ở dạng Frame hay Packet" giúp bạn biết nên dùng công cụ nào để soi lỗi — ví dụ lệnh
show mac address-tableliên quan tới Frame (Tầng 2), cònshow ip routeliên quan tới Packet (Tầng 3).
💬 Hỏi & Đáp nhanh
❓ Frame và Packet nghe có vẻ giống nhau, làm sao phân biệt cho chắc?
✅ Phân biệt dựa vào tầng nào thêm header: Packet là dữ liệu đã được thêm header IP (Tầng 3 — dùng địa chỉ IP). Frame là Packet đó được thêm tiếp header/trailer MAC (Tầng 2 — dùng địa chỉ MAC). Frame luôn "to hơn" Packet vì nó chứa Packet ở bên trong, cộng thêm lớp áo MAC nữa.
❓ Tại sao mỗi tầng phải thêm header riêng, sao không gộp chung 1 header cho gọn?
✅ Vì mỗi tầng chỉ quan tâm và xử lý đúng phần thông tin của mình — Router chỉ cần đọc header IP (Tầng 3), không cần quan tâm header TCP; Switch chỉ cần đọc header MAC (Tầng 2), không cần biết địa chỉ IP là gì. Việc tách riêng giúp mỗi thiết bị xử lý nhanh hơn, chỉ đọc đúng phần liên quan đến nó.
❓ Khi gói tin đi qua nhiều Router trên đường, header MAC (Frame) có thay đổi không?
✅ Có — đây là điểm dễ gây nhầm lẫn nhất. Header MAC bị thay đổi mỗi khi gói tin đi qua một Router (vì địa chỉ MAC chỉ có ý nghĩa trong phạm vi mạng cục bộ), trong khi header IP (địa chỉ nguồn/đích) thường giữ nguyên suốt hành trình. Bài học về Routing sau này sẽ giải thích rõ hơn cơ chế này.
📝 Bài tập đánh giá
Câu 1: Đơn vị dữ liệu (PDU) ở tầng Network được gọi là gì?
- A. Frame
- B. Segment
- C. Packet
- D. Bits
Câu 2: Quá trình mỗi tầng bóc bỏ header của chính nó khi dữ liệu đi từ tầng dưới lên tầng trên, ở máy nhận, được gọi là gì?
- A. Encapsulation
- B. De-encapsulation
- C. Fragmentation
- D. Multiplexing
👉 Xem đáp án
Câu 1: C — Ở tầng Network, dữ liệu sau khi được thêm header IP được gọi là Packet.
Câu 2: B — De-encapsulation là quá trình bóc bỏ header từng tầng khi dữ liệu di chuyển từ tầng dưới (Physical) lên tầng trên (Application) ở máy nhận.
📚 Bài viết thuộc khóa học CCNA của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 5b: Thực hành bấm cáp mạng UTP | Mục lục khóa học CCNA | Bài 7: Địa chỉ IPv4 |
