Loading...

Bài 6: Đóng gói dữ liệu (Encapsulation/De-encapsulation) — Gói tin "mặc áo" qua từng tầng như thế nào?

💡 Liên hệ thực tế

Chị Lan, nhân viên kinh doanh tại VNExperts, cần gửi một thiết bị Fortinet mẫu cho khách hàng ở Đà Nẵng để demo. Quy trình thực tế diễn ra như sau:

  1. Chị viết phiếu giao hàng kèm thiết bị (nội dung).
  2. Chị bỏ thiết bị vào hộp chống sốc, dán tem "Hàng dễ vỡ — Thiết bị mạng" (đóng gói lớp 1).
  3. Đội kho vận bỏ hộp đó vào thùng carton lớn, dán băng keo, ghi rõ địa chỉ kho VNExperts – địa chỉ khách hàng (đóng gói lớp 2).
  4. Đơn vị vận chuyển dán thêm mã vận đơn, tem phân loại tuyến đường lên thùng (đóng gói lớp 3).
  5. Thùng hàng được chất lên xe tải để vận chuyển vật lý thật sự (lớp ngoài cùng).

📦 Khi đến nơi, người nhận sẽ làm ngược lại: dỡ khỏi xe tải → bóc tem vận đơn → mở thùng carton → mở hộp chống sốc → đọc phiếu và nhận hàng.

Y hệt như vậy, khi dữ liệu bạn gõ vào trình duyệt đi qua mạng đến server đích, nó cũng được "gói lớp qua lớp" ở mỗi tầng OSI/TCP-IP trước khi ra khỏi máy bạn, rồi được "bóc lớp ngược lại" khi đến máy đích. Đây chính là quá trình Encapsulation (đóng gói)De-encapsulation (bóc gói).


📘 Kiến thức cốt lõi

Encapsulation là quá trình mỗi tầng OSI/TCP-IP thêm phần "header" (thông tin điều khiển riêng của tầng đó) vào trước 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 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ầngTên gọi đơn vị dữ liệu (PDU)"Lớp áo" được thêm vào
Application/Presentation/Session Data Dữ liệu gốc bạn muốn gửi (ví dụ nội dung email)
Transport Segment Header TCP/UDP — số cổng nguồn/đích, số thứ tự gói
Network Packet Header IP — địa chỉ IP nguồn/đích
Data Link Frame Header + Trailer — địa chỉ MAC nguồn/đích, kiểm tra lỗi
Physical Bits Chuyển thành tín hiệu điện/quang/sóng để truyền đi thật sự

🎯 Mẹo nhớ tên PDU theo từng tầng: "Do (Data) Some (Segment) People (Packet) Fear (Frame) Buses (Bits)" — Data → Segment → Packet → Frame → Bits, đi từ trên xuống dưới.

⚙️ Ví dụ cụ thể một gói tin "mặc áo" ra sao khi bạn gửi 1 tin nhắn:

  • Bạn gõ nội dung tin nhắn → đây là Data.
  • Tầng Transport thêm header TCP (ghi rõ cổng nguồn/đích, ví dụ cổng 443 cho HTTPS) → thành Segment.
  • Tầng Network thêm header IP (địa chỉ IP máy bạn và IP server đích) → thành Packet.
  • Tầng Data Link thêm địa chỉ MAC (địa chỉ vật lý của thiết bị kế tiếp trên đường đi, ví dụ router) → thành Frame.
  • Tầng Physical biến Frame thành 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 lặp lại theo chiều ngược: Bits → Frame → Packet → Segment → Data, mỗi tầng bóc đúng lớp header của mình, đọc thông tin cần thiết rồi chuyển tiếp phần 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-table liên quan tới Frame (Tầng 2), còn show ip route liên quan tới Packet (Tầng 3).


🖼️ Sơ đồ trực quan

Quá trình đóng gói dữ liệu qua các tầng OSI Sơ đồ minh họa dữ liệu được bọc thêm từng lớp header khi đi từ tầng Application xuống tầng Physical, tạo thành Data, Segment, Packet, Frame, Bits Encapsulation — mỗi tầng thêm 1 lớp "áo" (header) Data TCP Header Data = Segment IP Header TCP Header + Data = Packet MAC Hdr IP Header + TCP Header + Data Trailer = Frame 01001010101110001101011... (tín hiệu điện/quang) = Bits 📤 Máy gửi: Data → Segment → Packet → Frame → Bits 📥 Máy nhận: Bits → Frame → Packet → Segment → Data (bóc ngược lại)


💬 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 miễn phí của VNExperts

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Bài 5: Cáp mạng Mục lục khóa học CCNA Bài 7: Địa chỉ IPv4