Trong mô hình OSI, lớp Data link là lớp thứ 4 từ trên cùng và lớp thứ 2 từ dưới cùng.
Kênh giao tiếp kết nối các nút lân cận được gọi là liên kết và để di chuyển sơ đồ từ nguồn đến đích, sơ đồ phải được di chuyển qua một liên kết riêng lẻ.
Trách nhiệm chính của Lớp Data link là chuyển sơ đồ qua một liên kết riêng lẻ.
Giao thức lớp Data link xác định định dạng của gói được trao đổi qua các nút cũng như các hành động như Phát hiện lỗi, truyền lại, kiểm soát luồng và truy cập ngẫu nhiên.
Các bài viết liên quan:
Các giao thức của Lớp Data link là Ethernet, vòng mã thông báo, FDDI và PPP.
Một đặc điểm quan trọng của Lớp Data link là datagram có thể được xử lý bởi các giao thức lớp liên kết khác nhau trên các liên kết khác nhau trong một đường dẫn. Ví dụ, datagram được xử lý bởi Ethernet trên liên kết đầu tiên, PPP trên liên kết thứ hai.
Xem thêm Network Layer trong TCP/IP hay OSI
Khái niệm về Data Link Layer
Data Link Layer (lớp liên kết dữ liệu) là một trong các lớp trong mô hình TCP/IP và mô hình OSI. Nó là lớp thứ hai trong mô hình TCP/IP và lớp thứ nhất trong mô hình OSI. Data Link Layer có trách nhiệm quản lý việc truyền thông dữ liệu qua một kết nối vật lý (physical connection) giữa hai nút mạng (network nodes) trên cùng một mạng.
Data Link Layer đảm bảo việc truyền dữ liệu một cách tin cậy và có độ tin cậy cao giữa các nút mạng trên cùng một mạng vật lý. Nó thực hiện điều khiển lỗi, phát hiện và sửa chữa lỗi dữ liệu, đồng bộ hóa truyền dẫn và quản lý các giao thức truyền thông.
Một số chức năng chính của Data Link Layer bao gồm:
- Framing: Chia dữ liệu đầu vào thành các đơn vị nhỏ hơn gọi là frame để truyền qua mạng vật lý.
- Định địa chỉ: Gán địa chỉ duy nhất cho từng thiết bị trong mạng, ví dụ như địa chỉ MAC (Media Access Control).
- Kiểm soát lỗi: Phát hiện và sửa chữa lỗi trong dữ liệu truyền.
- Flow Control: Điều khiển luồng dữ liệu giữa các nút mạng để đảm bảo tốc độ truyền thông ổn định và tránh tràn bộ nhớ đệm (buffer overflow).
- Access Control: Quản lý quyền truy cập vào kênh truyền dữ liệu chia sẻ giữa các thiết bị trong mạng.
- Đồng bộ hóa: Đồng bộ hóa tín hiệu truyền để đảm bảo đồng bộ giữa nguồn và đích.
Data Link Layer làm việc với các khung dữ liệu (data frames) và các thiết bị mạng như switch và bridge để điều khiển giao tiếp truyền thông trong mạng vật lý. Nó cung cấp một giao diện giữa Network Layer (lớp mạng) ở trên và Physical Layer (lớp vật lý) ở dưới trong mô hình mạng.
Qua Data Link Layer, dữ liệu được chuyển từ nguồn đến đích qua các kết nối vật lý và các mạng vật lý, đồng thời đảm bảo tính tin cậy và đúng thứ tự của dữ liệu truyền.
Xem thêm Tổng quan về Model TCP/IP
Các dịch vụ sau do Lớp Data link cung cấp:
- Framing & link access: Các giao thức của Lớp Data link đóng gói từng khung mạng trong khung của lớp Liên kết trước khi truyền qua liên kết. Khung bao gồm một trường dữ liệu trong đó gói dữ liệu lớp mạng được chèn vào và một số trường dữ liệu. Nó chỉ định cấu trúc của khung cũng như giao thức truy cập kênh mà khung sẽ được truyền qua liên kết.
- Reliable Delivery: Lớp Data link cung cấp dịch vụ phân phối đáng tin cậy, tức là truyền dữ liệu của lớp mạng mà không có bất kỳ lỗi nào. Một dịch vụ giao hàng đáng tin cậy được thực hiện với việc truyền và ghi nhận. Lớp Data link chủ yếu cung cấp dịch vụ phân phối đáng tin cậy qua các liên kết vì chúng có tỷ lệ lỗi cao hơn và chúng có thể được sửa chữa cục bộ, liên kết xảy ra lỗi thay vì buộc phải truyền lại dữ liệu.
- Flow control: Một nút nhận có thể nhận các khung với tốc độ nhanh hơn tốc độ nó có thể xử lý khung. Nếu không có điều khiển luồng, bộ đệm của máy thu có thể bị tràn và các khung có thể bị mất. Để khắc phục vấn đề này, lớp Data link sử dụng điều khiển luồng để ngăn chặn nút gửi ở một phía của liên kết lấn át nút nhận ở phía khác của liên kết.
- Error Detection: Các lỗi có thể xuất hiện bởi sự suy giảm tín hiệu và nhiễu. Giao thức Lớp Data link cung cấp cơ chế phát hiện một hoặc nhiều lỗi. Điều này đạt được bằng cách thêm các bit phát hiện lỗi trong khung và sau đó nút nhận có thể thực hiện kiểm tra lỗi.
- Error Correction: Sửa lỗi tương tự như phát hiện lỗi, ngoại trừ nút nhận không chỉ phát hiện lỗi mà còn xác định vị trí lỗi đã xảy ra trong khung.
- Half-Duplex & Full-Duplex: Trong chế độ Full-Duplex, cả hai nút có thể truyền dữ liệu cùng một lúc. Trong chế độ Half-Duplex, chỉ một nút có thể truyền dữ liệu cùng một lúc.
Xem thêm NLayer-Architecture là gì?
Các thành phần của Data Link Layer
Data Link Layer (lớp liên kết dữ liệu) trong mô hình mạng có các thành phần chính sau:
- Framing: Framing là quá trình chia dữ liệu thành các đơn vị nhỏ hơn gọi là frame để truyền qua mạng vật lý. Framing bao gồm các khối dữ liệu được gắn thêm vào phía trước và phía sau dữ liệu để đánh dấu khung và đồng bộ hóa việc truyền dữ liệu.
- Địa chỉ vật lý: Mỗi thiết bị trên mạng có một địa chỉ vật lý duy nhất gọi là địa chỉ MAC (Media Access Control). Địa chỉ MAC được sử dụng để xác định nguồn và đích của các khung dữ liệu trong mạng.
- Kiểm soát lỗi: Data Link Layer sử dụng các kỹ thuật kiểm soát lỗi để phát hiện và sửa chữa các lỗi xảy ra trong quá trình truyền dữ liệu. Các phương pháp kiểm soát lỗi bao gồm kiểm tra chẵn lẻ (parity check), kiểm tra CRC (Cyclic Redundancy Check), kiểm tra băm (hashing), và mã sửa chữa lỗi (error correction codes).
- Flow Control: Flow Control quản lý luồng dữ liệu giữa các thiết bị trong mạng để đảm bảo tốc độ truyền thông ổn định. Nó đảm bảo rằng nguồn truyền dữ liệu không vượt quá khả năng tiếp nhận của đích, ngăn chặn việc tràn bộ nhớ đệm và giảm lỗi truyền dữ liệu.
- Access Control: Access Control quản lý quyền truy cập vào kênh truyền dữ liệu chia sẻ giữa các thiết bị trong mạng. Nó đảm bảo rằng chỉ một thiết bị duy nhất có thể truyền dữ liệu trên kênh truyền vào một thời điểm cụ thể, tránh tình trạng va chạm dữ liệu (data collision).
- Đồng bộ hóa: Đồng bộ hóa tín hiệu truyền để đảm bảo sự đồng bộ giữa nguồn và đích. Điều này đảm bảo rằng các khung dữ liệu được gửi và nhận theo cùng một tốc độ và chuẩn hóa cách thức truyền dữ liệu trong mạng.
Các thành phần này là những yếu tố quan trọng trong Data Link Layer để đảm bảo việc truyền dữ liệu một cách tin cậy và hiệu quả trên mạng vật lý.
Xem thêm Hidden Layer Perceptron trong TensorFlow
Giao thức Ethernet
Giao thức Ethernet là một trong những giao thức phổ biến nhất được sử dụng trong Data Link Layer của mạng máy tính. Nó được thiết kế để kiểm soát việc truyền và nhận dữ liệu giữa các thiết bị trong cùng một mạng LAN (Local Area Network). Giao thức Ethernet xác định cấu trúc frame dữ liệu, phương thức truy cập vào kênh truyền dữ liệu và các quy tắc kiểm soát lỗi.
Dưới đây là một số khái niệm quan trọng liên quan đến giao thức Ethernet:
- Khái niệm về Ethernet: Ethernet là một giao thức truyền dữ liệu trong mạng LAN sử dụng công nghệ phương thức truy cập CSMA/CD (Carrier Sense Multiple Access with Collision Detection). Nó cho phép các thiết bị trong mạng chia sẻ kênh truyền dữ liệu và kiểm soát truyền thông.
- Địa chỉ MAC trong Ethernet: Mỗi thiết bị trong mạng Ethernet có một địa chỉ MAC (Media Access Control) duy nhất để xác định và nhận dạng. Địa chỉ MAC có độ dài 48 bit và được ghi dưới dạng số hexa. Địa chỉ MAC được sử dụng để xác định nguồn và đích của các frame dữ liệu trong mạng.
- Cấu trúc frame trong Ethernet: Frame dữ liệu trong Ethernet gồm các phần như Preamble, Destination MAC Address, Source MAC Address, EtherType hoặc Length, Data, và CRC (Cyclic Redundancy Check). Cấu trúc frame này được sử dụng để đóng gói và truyền dữ liệu trong mạng.
- Phương thức truy cập CSMA/CD: CSMA/CD là viết tắt của Carrier Sense Multiple Access with Collision Detection. Đây là phương pháp truy cập vào kênh truyền dữ liệu trong Ethernet, trong đó các thiết bị lắng nghe kênh trước khi truyền dữ liệu và phát hiện va chạm (collision) nếu có. Khi xảy ra va chạm, các thiết bị sẽ dừng truyền dữ liệu và thực hiện thuật toán để giải quyết va chạm trước khi tiếp tục truyền.
- Tốc độ truyền dữ liệu Ethernet: Ethernet hỗ trợ nhiều tốc độ truyền dữ liệu khác nhau, bao gồm 10 Mbps (Ethernet), 100 Mbps (Fast Ethernet), 1 Gbps (Gigabit Ethernet), 10 Gbps (10 Gigabit Ethernet), và nhiều tốc độ cao hơn như 40 Gbps và 100 Gbps.
Giao thức Ethernet đã trở thành tiêu chuẩn rộng rãi cho việc truyền dữ liệu trong các mạng LAN và đã được phát triển và cải tiến qua nhiều phiên bản và tốc độ khác nhau để đáp ứng nhu cầu truyền dữ liệu ngày càng tăng trong các mạng hiện đại.