Data Link Layer là gì? Chức năng của Data Link Layer
BÀI LIÊN QUAN
Master data là gì? Cách thức quản trị dữ liệu được hiệu quả nhất mà bạn cần biếtData gravity: Ý nghĩa của chúng đối với dữ liệu của bạnData In Use là gì? Cách bảo mật dữ liệu đang sử dụngData Link Layer là gì?
Data Link Layer nghĩa là tầng liên kết dữ liệu là tầng thứ hai từ dưới lên trong mô hình kiến trúc mạng OSI (Open System Interconnection). Nó chịu trách nhiệm phân phối dữ liệu từ nút này sang nút khác.
Vai trò chính của nó là đảm bảo truyền thông tin không có lỗi. DLL cũng chịu trách nhiệm mã hóa, giải mã và sắp xếp dữ liệu đi và đến. Đây được coi là lớp phức tạp nhất của mô hình OSI vì nó che giấu tất cả sự phức tạp cơ bản của phần cứng khỏi các lớp khác ở trên.
Các dịch vụ được cung cấp bởi Tầng liên kết dữ liệu
- Truy cập khung & liên kết: Các giao thức của Lớp liên kết dữ liệu đó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. Một khung bao gồm một trường dữ liệu trong đó datagram 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 theo đó khung sẽ được truyền qua liên kết.
- Chuyển phát đáng tin cậy: Tầng liên kết dữ liệu cung cấp dịch vụ chuyển phát đáng tin cậy, tức là truyền datagram của lớp mạng mà không có bất kỳ lỗi nào. Một dịch vụ chuyển phát đáng tin cậy được thực hiện với việc truyền và xác nhận. Lớp liên kết dữ liệu 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 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.
- Kiểm soát luồng: 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ó kiểm soát 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 liên kết dữ liệu sử dụng điều khiển luồng để ngăn nút gửi ở một bên của liên kết lấn át nút nhận ở bên kia của liên kết.
- Phát hiện lỗi: Lỗi có thể được đưa vào do suy giảm tín hiệu và tiếng ồn. Giao thức Lớp liên kết dữ liệu cung cấp một 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.
- Sửa lỗi: 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í xảy ra lỗi trong khung.
- Half-Duplex & Full-Duplex: Ở chế độ Full-Duplex, cả hai nút có thể truyền dữ liệu cùng một lúc. Ở chế độ Half-Duplex, chỉ một nút có thể truyền dữ liệu cùng một lúc.
Chức năng của Tầng liên kết dữ liệu
Data Link Layer thực hiện nhiều nhiệm vụ thay cho lớp trên. Đó là:
Đóng khung và truy cập liên kết
Lớp liên kết dữ liệu lấy các gói từ lớp mạng và đóng gói các gói này vào các khung. Khung là tập hợp trường dữ liệu trong đó gói dữ liệu lớp mạng được đặt cùng với một số trường dữ liệu. Nó xác định cấu trúc của khung và giao thức truy cập kênh sẽ được sử dụng để truyền khung qua liên kết. Sau đó, nó sẽ gửi từng khung từng bit trên phần cứng.
Các khung là các luồng bit nhận được từ lớp mạng được chuyển đổi thành các đơn vị dữ liệu có thể quản lý được. Lớp liên kết dữ liệu phân chia luồng bit. Ở đầu thu, lớp liên kết dữ liệu thu thập các tín hiệu từ phần cứng và lắp ráp chúng thành các khung.
Giao thông tin đáng tin cậy
Data Link Layer cung cấp dịch vụ phân phối được đảm bảo, tức là nó truyền các datagram lớp mạng mà không có lỗi. Truyền và xác nhận được sử dụng để cung cấp dịch vụ chuyển phát đáng tin cậy. Lớp liên kết dữ liệu thường 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 và có thể được sửa chữa cục bộ, thay vì truyền lại dữ liệu.
Kiểm soát lưu lượng
Các trạm trên cùng một liên kết mạng có thể có tốc độ hoặc dung lượng khác nhau. Lớp liên kết dữ liệu đảm bảo kiểm soát luồng, cho phép hai máy truyền dữ liệu đồng thời.
Một nút nhận có thể nhận các khung nhanh hơn so với tốc độ xử lý của chúng. Nếu không có kiểm soát luồng, bộ đệm của máy thu có thể rơi vào trường hợp bị tràn dữ liệu, dẫn đến mất khung. Để giải quyết vấn đề này, lớp kết nối dữ liệu sử dụng điều khiển luồng để giữ cho nút gửi ở một bên của mạng không lấn át nút nhận.
Kiểm soát lỗi
Các tín hiệu có thể gặp sự cố trong quá trình chuyển đổi và các bit có thể bị đảo ngược. Các lỗi này được lớp liên kết dữ liệu nhận ra và cố gắng khôi phục để lấy các bit dữ liệu thực tế.
- Phát hiện lỗi: Sự suy giảm tín hiệu và tiếng ồn đều có thể tạo ra lỗi. Giao thức Lớp liên kết dữ liệu cung cấp một cơ chế để phát hiện một hoặc nhiều lỗi. Điều này được thực hiện bằng cách thêm các bit phát hiện lỗi vào cuối mỗi khung, cho phép nút nhận thực hiện kiểm tra lỗi.
- Sửa lỗi: Điều này tương tự như phát hiện lỗi, trong đó nút nhận không chỉ phát hiện lỗi mà còn xác định nơi xảy ra lỗi trong khung.
Địa chỉ vật lý
Lớp liên kết dữ liệu cung cấp cơ chế đánh địa chỉ phần cứng lớp 2. Nếu các khung được gửi đến nhiều hệ thống trên mạng, lớp Liên kết dữ liệu sẽ thêm tiêu đề vào khung để xác định địa chỉ vật lý của người gửi hoặc người nhận.
Địa chỉ phần cứng dự kiến là duy nhất trên liên kết. Nó được mã hóa vào các thiết bị trong suốt quá trình sản xuất.
Đa truy cập
Khi một máy chủ lưu trữ trên liên kết được chia sẻ cố gắng gửi dữ liệu, sẽ có khả năng xảy ra xung đột đáng kể. Lớp liên kết dữ liệu cung cấp các cơ chế như CSMA/CD cho phép các hệ thống khác nhau truy cập phương tiện được chia sẻ.
Phát hiện và sửa lỗi trong Lớp liên kết dữ liệu
Data Link Layer sử dụng các kỹ thuật kiểm soát lỗi để đảm bảo rằng các khung (dòng dữ liệu bit) được phân phối chính xác từ nguồn đến đích.
Lỗi
Các bit có thể bị hỏng khi vận chuyển qua mạng máy tính do nhiễu và sự cố mạng. Lỗi xảy ra khi các bit bị hỏng khiến đích đến nhận được dữ liệu giả.
Các loại lỗi: Lỗi được phân thành ba loại: lỗi một bit, lỗi nhiều bit và lỗi chùm.
- Lỗi bit đơn: Chỉ một bit trong khung nhận được bị hỏng, tức là nó đã thay đổi từ 0 thành 1 hoặc từ 1 thành 0.
- Lỗi nhiều bit: Nhiều hơn một bit trong khung nhận được bị hỏng.
- Lỗi chùm: Nhiều bit liên tiếp trong khung nhận được bị hỏng.
Kiểm soát lỗi
Có hai phương pháp để kiểm soát lỗi:
- Phát hiện lỗi - Phát hiện lỗi liên quan đến việc xác định có lỗi xảy ra hay không. Loại lỗi và số bit lỗi không quan trọng.
- Sửa lỗi - Sửa lỗi liên quan đến việc xác định chính xác số lượng bit bị hỏng và vị trí của các bit bị hỏng.
Người gửi phải gửi một số bit bổ sung cùng với các bit dữ liệu để phát hiện và sửa lỗi. Dựa trên các bit dư thừa bổ sung, người nhận thực hiện các kiểm tra cần thiết. Nếu dữ liệu không có lỗi, nó sẽ loại bỏ các bit không cần thiết trước khi gửi thông báo lên các lớp trên.
Các vấn đề về thiết kế với Lớp liên kết dữ liệu
Thỏa thuận dịch vụ lớp mạng
Mục tiêu chính của dịch vụ này là cung cấp các dịch vụ cho lớp mạng. Mục đích chính của lớp liên kết dữ liệu là truyền dữ liệu từ lớp mạng trên máy nguồn sang lớp trên máy đích. Giao thức điều khiển liên kết dữ liệu được sử dụng để giao tiếp giữa hai mức dữ liệu.
Tầng Liên kết dữ liệu cung cấp các dịch vụ thiết yếu sau cho tầng Mạng:
- Dịch vụ không kết nối không được xác nhận: Đây là dịch vụ không kết nối trong đó người gửi truyền một tin nhắn và người nhận nhận được nó mà không cần xác nhận.
- Dịch vụ không kết nối được xác nhận: Người gửi truyền tin nhắn đến người nhận và người nhận xác nhận đã nhận được tin nhắn cho người gửi bằng các dịch vụ không kết nối.
- Dịch vụ định hướng được xác nhận: Trong dịch vụ này, cả người gửi và người nhận đều sử dụng dịch vụ hướng kết nối và giao tiếp giữa hai nút dựa trên giao tiếp cơ sở được xác nhận.
Đóng khung
Dữ liệu được gửi đến máy đích dưới dạng các khung từ máy nguồn. Điểm bắt đầu và điểm kết thúc của khung hình phải được làm nổi bật để máy đích có thể nhận dạng rõ ràng khung hình.
Lớp liên kết dữ liệu chia dòng bit thành các lớp và tính tổng kiểm tra cho từng lớp. Tổng kiểm tra được liệt kê ở lớp đích. Đóng khung là quá trình phá vỡ dòng bit bằng cách chèn khoảng trống và khoảng trống thời gian.
Đếm thời gian và đánh dấu điểm bắt đầu và kết thúc của mỗi khung hình là một thách thức và nguy hiểm. Các kỹ thuật đơn giản được sử dụng trong khung là:
- Số ký tự
- Ký tự bắt đầu và kết thúc với ký tự điền
- Cờ bắt đầu và kết thúc với ít hình trám.
Kiểm soát lưu lượng
- Kiểm soát luồng được sử dụng để dừng luồng dữ liệu tại máy thu. Các khung hình sẽ được máy phát chuyển đến máy thu cực nhanh. Tuy nhiên, người gửi hoạt động trên một hệ thống được tải nhẹ và người nhận chạy trên một máy được tải đáng kể; do đó, người nhận sẽ không thể nhận chúng nhanh như người gửi gửi chúng.
- Sẽ không có gì khác biệt nếu đường truyền hoàn hảo vào một thời điểm nào đó. Người nhận sẽ không thể kiểm soát các khung đến.
- Có cơ chế yêu cầu bên phát chặn các tín hiệu sai để dừng phát sóng.
Kiểm soát lỗi
- Nó được thực hiện để đảm bảo rằng không có khung nào được sao chép và các khung đó sẽ đến đích an toàn. Hơn nữa, sự chấp nhận tích cực và tiêu cực của các khung đến được gửi đi.
- Kết quả là, nếu người gửi nhận được sự chấp nhận tích cực, khung sẽ xuất hiện an toàn, trong khi giao diện tiêu cực cho thấy có gì đó không ổn với khung và sẽ được truyền lại.
- Bộ hẹn giờ được đặt ở cả đầu nhận và đầu gửi. Ngoài ra, việc truyền đi được gán một số thứ tự. Vì vậy, người nhận sẽ nhanh chóng nhận ra rằng đó là một khung được truyền lại. Đây là một trong những nhiệm vụ chính của tầng liên kết dữ liệu.
Data Link Layer có nhiệm vụ là cung cấp dịch vụ phân phối dữ liệu được đảm bảo, tránh xảy ra sai sót. Tầng liên kết dữ liệu cũng kiểm soát dữ liệu và kiểm soát lỗi.