VPS Ubuntu
6 Phiên bản Ubuntu 18.10 - 24.04
VPS Châu Lục
VPS Quốc Gia



Data Link Layer là gì? ở bài trước, chúng đã nói về Physical Layer — tầng chịu trách nhiệm nhận tín hiệu vật lý như điện, ánh sáng hoặc sóng radio, sau đó chuyển tín hiệu đó thành chuỗi bit 0/1.
Nhưng đến đây, dữ liệu vẫn chưa thực sự có cấu trúc rõ ràng. Thiết bị mới chỉ có một chuỗi bit dạng như:
010101001011010100101…
Chuỗi bit này rất quan trọng, nhưng bản thân nó chưa đủ để hệ thống mạng hiểu được dữ liệu bắt đầu ở đâu, kết thúc ở đâu, gửi từ thiết bị nào và gửi đến thiết bị nào. Đó là lý do cần đến Data Link Layer, hay còn gọi là tầng liên kết dữ liệu.
Nếu Physical Layer trả lời câu hỏi:
=> Tín hiệu vật lý được biến thành bit như thế nào?
Thì Data Link Layer trả lời câu hỏi:
=> Chuỗi bit đó được tổ chức thành frame và chuyển trong mạng LAN như thế nào?
Trong bài viết này THUECLOUD.COM sẽ tiếp tục tìm hiểu về Data Link, Frame, Mac Andrees, Switch và tầng tiếp theo làm gì sau khi tín hiểu được xử lý xong ở tầng Data Link Layer?
MỤC LỤC
ToggleSau khi Physical Layer hoàn thành nhiệm vụ, thiết bị đã có chuỗi bit 0/1.
Nhưng chuỗi bit này chưa tự mang ý nghĩa nếu không có quy tắc tổ chức. Máy tính không thể chỉ nhìn một chuỗi bit dài rồi tự biết đâu là điểm bắt đầu, đâu là điểm kết thúc, ai gửi dữ liệu và ai là người nhận. Có thể hình dung như việc bạn nhận được một dòng chữ không có dấu câu, không có khoảng trắng và không có cấu trúc. Dữ liệu có tồn tại, nhưng rất khó hiểu nếu không được chia thành từng phần rõ ràng.
Data Link Layer xuất hiện để giải quyết vấn đề đó.
Tầng này sẽ giúp thiết bị xác định frame bắt đầu ở đâu, frame kết thúc ở đâu, thiết bị nào gửi, thiết bị nào nhận, dữ liệu bên trong thuộc loại gì và frame có bị lỗi trong quá trình truyền hay không.
Nói ngắn gọn, sau Physical Layer, dữ liệu mới chỉ là bit thô. Data Link Layer sẽ biến chuỗi bit đó thành frame có cấu trúc.
Đây là bước chuyển rất quan trọng. Từ đây, dữ liệu không còn chỉ là tín hiệu hoặc bit rời rạc nữa. Nó bắt đầu trở thành một đơn vị truyền dữ liệu có thể được thiết bị mạng đọc và xử lý.
Data Link Layer là tầng chịu trách nhiệm tổ chức bit thành frame và truyền frame giữa các thiết bị trong cùng một mạng cục bộ. Trong mô hình OSI, Data Link Layer là tầng số 2, nằm trên Physical Layer và nằm dưới Network Layer.
Nếu nhìn theo chiều dữ liệu đi vào thiết bị, thứ tự sẽ là:
Physical Layer
→ Data Link Layer
→ Network Layer
→ Transport Layer
→ Application Layer
Physical Layer chỉ đưa lên chuỗi bit. Data Link Layer nhận chuỗi bit đó và đọc nó theo cấu trúc frame.
Trong mạng LAN, ví dụ như mạng trong nhà, văn phòng, phòng máy hoặc một VLAN, các thiết bị thường giao tiếp ở tầng Data Link bằng MAC address.
Ví dụ đơn giản:
Máy tính → switch → router
Khi máy tính muốn gửi dữ liệu đến router trong cùng mạng LAN, nó không chỉ cần IP của router. Ở tầng Data Link, nó còn cần biết MAC address của router để đóng dữ liệu vào frame và gửi đi qua card mạng.
Đây là điểm rất quan trọng: IP giúp dữ liệu đi qua nhiều mạng khác nhau, còn MAC address giúp frame đi đến đúng thiết bị trong cùng một đoạn mạng cục bộ.
Frame là đơn vị dữ liệu chính của Data Link Layer.
Nếu Physical Layer xử lý tín hiệu và bit, thì Data Link Layer xử lý frame. Một frame không chỉ chứa dữ liệu bên trong. Nó còn có phần thông tin điều khiển để thiết bị mạng biết frame đó gửi cho ai, gửi từ đâu, dữ liệu bên trong thuộc loại gì và frame có bị lỗi hay không.
Với Ethernet, một frame có thể được hình dung đơn giản như sau:
Ethernet Frame
┌──────────────┬──────────────┬───────────┬─────────┬─────────┐
│ MAC đích │ MAC nguồn │ EtherType │ Payload │ FCS │
└──────────────┴──────────────┴───────────┴─────────┴─────────┘
Trong đó, MAC đích cho biết thiết bị nhận frame. MAC nguồn cho biết thiết bị gửi frame. EtherType thường cho biết dữ liệu bên trong thuộc loại giao thức nào, ví dụ IPv4 hoặc IPv6. Payload là phần dữ liệu được mang bên trong frame. FCS dùng để kiểm tra lỗi frame.
Điểm cần hiểu là frame không phải dữ liệu cuối cùng mà người dùng nhìn thấy. Nó là một lớp đóng gói ở tầng Data Link. Bên trong payload của frame có thể chứa IP packet. Bên trong IP packet có thể chứa TCP segment. Bên trong TCP segment mới có thể chứa dữ liệu ứng dụng như HTTP.
Vì vậy, khi dữ liệu đi lên từng tầng, mỗi tầng sẽ bóc hoặc đọc phần thông tin thuộc về tầng của mình.
Ở tầng Data Link, thứ quan trọng nhất là frame.
MAC address dùng để xác định thiết bị ở tầng Data Link trong cùng một mạng cục bộ.
Khi một thiết bị gửi frame trong mạng LAN, nó cần có MAC nguồn và MAC đích. MAC nguồn là địa chỉ của thiết bị gửi. MAC đích là địa chỉ của thiết bị nhận frame tiếp theo.
Ví dụ, laptop của bạn muốn gửi dữ liệu ra Internet. Trước khi dữ liệu đi được ra ngoài, laptop thường phải gửi frame đến router hoặc default gateway trong mạng LAN. Ở tầng IP, laptop có thể biết địa chỉ IP đích là một website nào đó. Nhưng ở tầng Data Link, laptop cần gửi frame đến MAC address của router trước.
Quá trình có thể hiểu đơn giản như sau:
Laptop muốn gửi dữ liệu ra Internet
→ cần gửi frame đến router trong LAN
→ cần biết MAC address của router
→ đóng dữ liệu vào Ethernet frame
→ gửi frame qua card mạng
Với IPv4, thiết bị thường dùng ARP để tìm MAC address tương ứng với một địa chỉ IP trong cùng mạng LAN. Với IPv6, cơ chế tương ứng là Neighbor Discovery. Không cần đi quá sâu vào ARP ở bài này.
Điều quan trọng là bạn cần hiểu: Data Link Layer dùng MAC address để truyền frame trong phạm vi mạng cục bộ. MAC address không thay thế cho IP address. Hai loại địa chỉ này phục vụ hai mục đích khác nhau.
Đây là lý do khi dữ liệu đi qua router, frame ở tầng Data Link có thể thay đổi theo từng đoạn mạng, nhưng IP packet bên trong vẫn tiếp tục hành trình đến đích.
Switch là thiết bị rất quan trọng khi nói về Data Link Layer. Trong mạng LAN, switch nhận frame từ một cổng, đọc thông tin MAC address và quyết định nên chuyển frame ra cổng nào.
Ví dụ có ba thiết bị cùng nối vào switch: Máy A, Máy B và router. Khi Máy A gửi frame đến Máy B, switch không cần đọc nội dung website hay TCP port. Nó chủ yếu quan tâm đến MAC address trong frame.
Quá trình có thể hiểu như sau:
Máy A gửi frame
→ switch nhận frame
→ switch đọc MAC nguồn để học địa chỉ
→ switch đọc MAC đích để chọn cổng gửi ra
→ frame được chuyển đến đúng thiết bị
Khi switch nhận một frame, nó nhìn vào MAC nguồn để biết thiết bị gửi đang nằm ở cổng nào. Thông tin này được lưu vào bảng MAC address table. Sau đó, switch nhìn vào MAC đích để quyết định chuyển frame ra cổng nào.
Nếu switch biết MAC đích nằm ở cổng nào, nó chỉ gửi frame ra đúng cổng đó. Nếu chưa biết, nó có thể flood frame ra nhiều cổng trong cùng VLAN để tìm thiết bị nhận. Đây là lý do switch được xem là thiết bị hoạt động chủ yếu ở Data Link Layer. Nó chuyển tiếp dữ liệu dựa trên MAC address và frame, không dựa trên địa chỉ IP như router.
Điểm này giúp ta phân biệt rõ:
Trong thực tế, một số switch hiện đại có thể có thêm chức năng Layer 3. Nhưng về bản chất cơ bản khi học mạng, switch Layer 2 chuyển frame dựa trên MAC address.
Ngoài việc tổ chức bit thành frame và dùng MAC address để xác định thiết bị gửi nhận, Data Link Layer còn có vai trò kiểm tra lỗi frame. Trong Ethernet frame, phần FCS thường được dùng để kiểm tra xem frame có bị lỗi trong quá trình truyền hay không. FCS dựa trên cơ chế CRC.
Bạn không cần đi sâu vào toán học của CRC ở giai đoạn này. Chỉ cần hiểu rằng thiết bị nhận có thể dùng FCS để phát hiện frame có bị thay đổi hoặc lỗi trong quá trình truyền hay không.
Quá trình có thể hiểu đơn giản:
Frame nhận được
→ kiểm tra FCS/CRC
→ frame hợp lệ thì xử lý tiếp
→ frame lỗi thì loại bỏ
Nếu frame bị lỗi, thiết bị thường sẽ loại bỏ frame đó. Data Link Layer không cố gắng hiểu dữ liệu ứng dụng bên trong frame lỗi.
Điều này giúp ngăn dữ liệu sai tiếp tục đi lên các tầng cao hơn. Tuy nhiên, cần hiểu đúng: FCS/CRC chủ yếu giúp phát hiện lỗi ở frame. Nó không đảm bảo toàn bộ quá trình truyền dữ liệu từ đầu đến cuối giống như TCP làm ở tầng Transport.
Data Link Layer kiểm tra frame trong phạm vi liên kết cục bộ. Còn việc đảm bảo dữ liệu đến đúng thứ tự, đủ dữ liệu hay truyền lại khi mất dữ liệu thường thuộc về tầng cao hơn, đặc biệt là TCP.
Khi Data Link Layer xử lý xong frame, dữ liệu bên trong frame sẽ được chuyển lên tầng trên.
Trong nhiều trường hợp, payload bên trong Ethernet frame là một IP packet. Khi đó, sau Data Link Layer, dữ liệu sẽ đi lên Network Layer, hay trong mô hình TCP/IP thường gọi là Internet Layer.
Nói ngắn gọn:
Data Link Layer: frame
→ Internet/Network Layer: IP packet
Data Link Layer chỉ xử lý việc truyền frame trong cùng một liên kết hoặc mạng cục bộ. Nó không quyết định toàn bộ đường đi của dữ liệu qua Internet. Việc dữ liệu đi qua nhiều mạng, nhiều router, từ máy bạn đến Server ở nơi khác, sẽ do tầng IP xử lý.
Đây là điểm nối sang bài tiếp theo: Internet Layer là gì? IP packet được định tuyến qua mạng như thế nào?
Nếu Data Link Layer giúp Frame đi đúng trong LAN, thì Internet Layer giúp Packet đi từ mạng này sang mạng khác.
Data Link Layer là tầng nằm ngay sau Physical Layer trong quá trình dữ liệu đi vào thiết bị.
Sau khi Physical Layer biến tín hiệu vật lý thành bit 0/1, Data Link Layer nhận chuỗi bit đó và tổ chức thành frame. Frame giúp dữ liệu có cấu trúc rõ ràng hơn. Nó cho biết thiết bị nào gửi, thiết bị nào nhận, dữ liệu bên trong thuộc loại gì và frame có bị lỗi hay không.
Trong mạng LAN, Data Link Layer dùng MAC address để truyền frame giữa các thiết bị. Switch cũng hoạt động chủ yếu ở tầng này vì nó đọc MAC address để chuyển frame đến đúng cổng.
Điểm quan trọng nhất cần nhớ là:
Trên đây là bài viết giới thiệu về Data Link Layer là gì và vai trò của tầng này trong việc xử lý chuỗi bit nhận từ Physical Layer thành các frame có cấu trúc. Hiểu được Data Link Layer sẽ giúp bạn phân biệt rõ bit, frame, MAC address và cách switch chuyển dữ liệu trong mạng LAN.
Ở bài tiếp theo, chúng ta sẽ đi lên Internet Layer, nơi dữ liệu không chỉ di chuyển trong mạng cục bộ mà bắt đầu được định tuyến qua nhiều mạng khác nhau bằng địa chỉ IP.
THUECLOUD là dịch vụ cho thuê máy chủ ảo Cloud VPS & PROXY. Chúng tôi cung cấp tất cả các dòng máy chủ ảo VPS, Cloud VPS, GPU Server, Dedicated Server chất lượng cao với 24 phiên bản hệ điều hành mới nhất.
🌐 Website: https://thuecloud.com/ 📺Youtube: @thuecloud 💬 Telegram: @thuecloud 📘 Facebook: https://www.facebook.com/thuecloud/ 🎵 Tiktok: https://www.tiktok.com/@thuecloud
📞 Hotline & Zalo: 0382126579
📍 Địa chỉ: Số 278 – Phường Thụy Khuê – Quận Tây Hồ – TP. Hà Nội
Physical Layer là gì? Điều gì diễn ra khi bạn truy cập Website?
MỤC LỤC
Toggle