Mục tiêu chính của chương này

Vì khả năng xảy ra lỗi trong quá trình truyền tin là hoàn toàn có thể, và cũng bởi lý do bên nhận dữ liệu có thể muốn điều chỉnh thứ tự các dữ liệu được gửi đến mà kỹ thuật đồng bộ hóa và kết nối phải được triển khai tự động hóa. Điều này thúc đẩy sự cần thiết cho việc đưa vào một tầng kiểm soát trong mỗi thiết bị truyền tin nhằm cung cấp các cơ chế như kiểm soát lưu lượng (dòng chảy của dữ liệu trong lúc truyền tin), cơ chế phát hiện lỗi và kiểm soát lỗi. Tầng điều khiển có các chức năng này được gọi với cái tên chung nhất là Data Link Control Protocol.

osi

Flow control (kiểm soát dòng chảy hay kiểm soát lưu lượng) cung cấp cho người nhận cơ chế điều chỉnh lưu lượng của dữ liệu từ phía người gửi sao cho bộ đệm bên người nhận không bị tràn hay quá tải.

Trong Data Link Control Protocol, error control (kiểm soát lỗi) xuất hiện khi khi thực hiện truyền lại các frames bị hư hại do không được thừa nhận hoặc do một lý do khác như một phía nào đó (bên gửi hoặc bên nhận) yêu cầu gửi lại.

High-level data link control (HDLC) được sử dụng rộng rãi trong giao thức kiểm soát liên kết dữ liệu. Nó chứa hầu như tất cả các tính năng được tìm thấy trong các giao thức kiểm soát liên kết dữ liệu khác.

Hầu hết các vấn đề thảo luận của chúng ta từ trước tới nay đều quan tâm đến việc gửi đi tín hiệu qua một liên kết truyền dẫn. Để có thể đạt được hiệu quả của một quá trình truyền dữ liệu số, yếu tố cần nhiều nhất là kiểm soát và quản lý quá trình trao đổi. Trong phạm vi bài viết này, chúng ta nhấn mạnh hơn đến khái niệm gửi đi dữ liệu trên một liên kết truyền dẫn dữ liệu. Để đạt được sự kiểm soát cần thiết này, một tầng luận lý được thêm vào phía trên tầng vật lý – tầng luận lý này còn có tên gọi là data link control hay data link control protocol. Khi data link control protocol được sử dụng, các phương tiện truyền dẫn giữa các hệ thống còn được gọi là data link (liên kết dữ liệu).

Để thấy được sự cần thiết của kiểm soát liên kết dữ liệu, chúng ta liệt kê một vài yêu cầu và đối tượng cho tính hiệu quả của truyền dẫn dữ liệu giữa hai trạm kết nối truyền – nhận một cách trực tiếp:

– Frame synchronization: Dữ liệu được gửi đi trong các khối gọi là frame. Điểm bắt đầu và kết thúc của mỗi frame phải được nhận biết. Việc đồng bộ các frame này sẽ được đề cập chi tiết trong phần này.

Flow control: Trạm phát tin phải không phá vỡ nguyên tắc là không được gửi đi gói tin nhanh hơn khả năng đón nhận gói tin của trạm nhận.

Error control: Các bit lỗi được nhận biết trong hệ thống truyền dẫn phải được chỉnh sửa cho đúng với bit ban đầu.

Addressing: Ở các môi trường chia sẻ, như trong mạng LAN, dấu hiệu nhận dạng của hai trạm phát – thu có liên quan đến quá trình truyền phải được chỉ định cụ thể.

Control and data on same link: Đây không phải là một thiết kế riêng biệt với một đường truyền vật lý riêng biệt cho việc kiểm kiểm soát thông tin. Theo đó, bên người nhận phải có khả năng phân biệt được thông tin được truyền đi.

Link management: Việc khởi tạo, bảo trì và kết thúc một quá trình trao đổi dữ liệu toàn vẹn đòi hỏi một sự phối hợp hoàn hảo từ cả hai phía.

  1. Flow Control

Kiểm soát lưu lượng là kỹ thuật đảm bảo cho các chủ thể truyền không lấn át các chủ thể nhận bằng dữ liệu. Các chủ thể nhận thường sắp xếp bộ đệm dữ liệu theo một kích cỡ tối đã cho quá trình truyền. Khi dữ liệu đến, bên nhận nhất định phải làm một số lượng lớn công việc xử lý trước khi chuyển các dữ liệu này tới phần mềm ở mức cao hơn. Trong trường hợp thiếu đi sự kiểm soát lưu lượng, bộ đệm của bên nhận có thể bị làm đầy và tràn trong khi nó đang xử lý dữ liệu cũ.

Để hiểu rõ, ta xem xét cơ chế của kiểm soát lưu lượng trong trường hợp không có lỗi. Mô hình ta khảo sát ở hình 1 được gọi là giản đồ thời gian theo chiều dọc. Ưu điểm của nó là thể hiện cho ta thời gian phụ thuộc và minh họa chính xác mối quan hệ giữa người gửi-người nhận. Mỗi mũi tên đại diện cho một frame truyền đi dữ liệu liên kết giữa 2 trạm. Dữ liệu được gửi theo một chuỗi các frame, mà mỗi frame như vậy chứa một phần của dữ liệu gốc và một vài thông tin kiểm soát. Thời gian cần cho mỗi trạm để phát đi tất cả cá bit của frame gọi là thời gian truyền, tỷ lệ thuận với chiều dài của frame. Thời gian lan truyền là thời gian nó chiếm cho 1 bit để đi qua các liên kết giữa nguồn và đích. Để minh họa cho vấn đề đặt ra, ta giả định toàn bộ frame được truyền đi thành công tới bên nhận, không frame nào bị mất cũng như bị lỗi. Hơn nữa, các frame đến đúng thời điểm và thứ tự như lúc chúng được gửi đi. Tuy nhiên, mỗi frame phải chịu một sự một sự sắp xếp tùy ý hàng đợi trễ trước khi được tiếp nhận.

  1. Stop-and-Wait Flow Control

Một trong những dạng cơ bản nhất của kiểm soát lưu lượng được biết đến là cơ chế stop-and-wait. Nó hoạt động như sau: Các thực thể nguồn truyền đi 1 frame. Sau khi thực thể đích nhận được frame đó, nó sẽ ra tín hiệu sẵn sàng nhận thêm frame khác bằng cách gửi lại một bản ghi nhận về frame vừa nhận được. Lúc này bên nguồn phải chờ cho đến khi nhận được bản ghi nhận đó thì mới gửi đi frame kế tiếp. Chính vì vậy mà nguồn nhận có thể làm dừng dòng chảy dữ liệu bằng cách không tạo ra một bản ghi nhận nào. Thủ tục này hoạt động ổn và thực sự khó có thể cải tiến hơn được khi một thông điệp được gửi trong một vài frame lớn. Tuy nhiên, trong một vài trường hợp mà phía nguồn sẽ phá vỡ khối lượng lớn dữ liệu thành một khối nhỏ hơn và truyền dữ liệu trong rất nhiều frames nhỏ. Điều này xảy ra bởi các lý do sau:

– Kích thước bộ đệm của phía nhận bị giới hạn.

– Truyền tải càng lâu, càng dễ xảy ra lỗi, dẫn đến yêu cầu gửi lại toàn bộ frame. Với frame nhỏ hơn, lỗi sẽ được phát hiện sớm, và các tập hợp dữ liệu nhỏ này sẽ được gửi lại nhanh chóng.

– Trong môi trường chia sẻ, như mạng LAN, có một mong muốn tồn tại là không cho phép 1 trạm chiếm giữ thiết bị trong thời gian dài, từ đó gây ra sự tắc nghẽn ở các trạm gửi khác

       2. Error Control

       3. High-Level Data Link Control (HDLC)

 

Advertisements