Bài giảng Truyền số liệu - Chương 10: Điều khiển kết nối dữ liệu - Nguyễn Việt Hùng
Các chức năng của lớp kết nối dữ liệu:
Hạng mục đường dây (line discipline): điều phối các hệ thống kết nối, xác định thiết
bị nào được phát và thiết bị nào được thu.
Điều khiển lưu lượng (flow control): điều phối lượng thông tin có thể truyền được
trước khi nhận được tin chấp nhận (ACK). Đồng thời cũng cung cấp tín hiệu chấp
nhận từ máy thu, kết nối với quá trình kiểm soát lỗi.
Kiểm tra lỗi tức là phát hiện và sửa lỗi: Cho phép máy thu báo cho máy phát về các
bản tin bị mất hay bị hỏng nhằm điều phối việc truyền lại dữ liệu của máy phát.
10.1.HẠNG MỤC ĐƯỜNG DÂY (LINE DISCIPLINE)
Hạng mục đường dây trả lời câu hỏi: Ai sẽ gởi thông tin ngay bây giờ?
Hạng mục đường dây (line discipline): điều phối các hệ thống kết nối, xác định thiết
bị nào được phát và thiết bị nào được thu.
Hạng mục đường dây được thực hiện theo hai cách:
• Yêu cầu/chấp nhận (enquiry/acknowledgment: ENQ/ACK) : dùng trong thông
tin đồng cấp (peer to peer communication).
• Hỏi vòng / lựa chọn (Poll/select): thông tin sơ cấp-thứ cấp (primary-secondary
communicaton)
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Bài giảng Truyền số liệu - Chương 10: Điều khiển kết nối dữ liệu - Nguyễn Việt Hùng
K 0. Máy phát chuyển tiếp frame dữ liệu mới: data 0. Máy thu nhận ra lỗi và gởi về NAK. Máy phát gởi lại data 0. Trường hợp này máy thu tốt, nên máy thu chuyển về tín hiệu ACK 1. b. Trường hợp mất Frame: - Bị thất lạc Frame data trong quá trình truyền - Bị thất lạc Frame ACK trong quá trình truyền - Bị thất lạc Frame NAK trong quá trình truyền * Thất lạc Frame data : Máy phát có trang bị bộ định thời khi truyền dữ liệu. Máy phát chờ đợi tín hiệu ACK hay NAK khi tín hiệu được gởi, nếu tín hiệu ACK hay NAK không đến máy phát, máy phát đợi hết thời gian qui định, sẽ gởi lại bản tin vừa gởi rồi chơ đợi thông tin xác nhận từ máy thu. Biên dịch: Nguyễn Việt Hùng Trang 161 Bài giảng: Truyền số liệu Chương 10: Điều khiển kết nối dữ liệu Hình 10.6 * Thất lạc Frame ACK • frame dữ liệu đã tới được máy thu • tín hiệu ACK hoặc NAK lại bị thất lạc trong khi gởi về. • Máy phát chờ cho đến khi hết thời gian do timer qui định • Tiếp tục gởi frame vừa gởi. • Máy thu nhận và kiểm tra, • nhận frame copy này như là bản sao, chấp nhận rồi hủy đi để chờ bản tin kế tiếp đến. Hình 10.7 10.3.2.Sliding Window ARQ: Có nhiều cơ chế dùng để kiểm tra lỗi khi truyền dữ liệu liên tục. Có hai giao thức thông dụng là: go-back-n ARQ và selective-reject ARQ. Có ba đặc điểm: - Thiết bị gởi giữ bản sao của tất cả các frame gởi đi cho đến khi chúng được xác nhận. Nếu các frame từ 0 đến 6 đã được gởi đi, và xác nhận cuối cùng là ở frame 2 (chờ đợi 3), thì máy thu giữ các bản sao của frame 3 đến 6 cho đến khi chúng được nhận đúng. - Máy thu còn có thể gởi về frame NAK nếu dữ liệu nhận bị hỏng. Frame NAK cho máy phát biết để gởi lại frame bị hỏng. Do cửa sổ trượt có cơ chế truyền liên tục (không giống như trường hợp stop and wait), các tín hiệu ACK và NAK đều phải được đánh số để có thể nhận dạng. Biên dịch: Nguyễn Việt Hùng Trang 162 Bài giảng: Truyền số liệu Chương 10: Điều khiển kết nối dữ liệu Các frame ACK mang số của frame mong muốn kế tiếp. Trái lại, các frame NAK mang số của frame bị hỏng. Trong cả hai trường hợp, tín hiệu đến máy phát là số frame mà máy thu muốn. Chú ý rằng những frame dữ liệu được nhận không có lỗi thì không có các xác nhận riêng biệt. Nếu tín hiệu ACK sau cùng mang số 3 và kế tiếp ACK6 đã nhận thì các frame 3,4 và 5 đều nhận tốt. Tuy nhiên, mỗi frame bị hỏng lại cần được xác nhận. Nếu frame dữ liệu 4 và 5 bị sai khi nhận, thì cả NAK 4 và NAK 5 phải được gởi về. Tuy nhiên, NAK 4 cho máy phát biết là tất cả các frame đã nhận trước frame 4 đã được nhận tốt. - Tương tự như trường hợp stop and wait ARQ, thiết bị phát trong cửa sổ trượt ARQ được trang bị bộ định thời có khả năng xử lý các xác nhận bị thất lạc. Trong cửa sổ trượt ARQ, (n-1) frame (kích thước của cửa sổ) có thể được gởi đi trước khi nhận được xác nhận. Nếu (n-1) frame là các xác nhận mong đợi, máy phát khởi động bộ định thời và chờ trước khi gởi nữa. Nếu đã hết thời gian cho phép mà không nhận được xác nhận thì máy phát giả sử là các frame chưa nhận được và gởi lại một hay tất cả các frame tùy theo từng giao thức. Chú ý rằng trong phương pháp stop and wait ARQ, máy phát không có cách nào biết được là frame bị thất lạc là dữ liệu, ACK hay NAK. Bằng cách gởi lại các frame dữ liệu, có hai khả năng khôi phục: dữ liệu thất lạc và NAK thất lạc. Nếu thất lạc frame là frame ACK thì máy thu có thể nhận biết sự dư thừa thông qua số trên frame và loại các dữ liệu thừa. a.Go-Back-n ARQ Trong phương pháp cửa sổ trượt go-back-n ARQ, nếu một frame bị thất lạc hay hỏng, tất cả các frame được phát khi tín hiệu xác nhận cuối cùng được gởi đi. Có 3 dạng phát lại: Hư Frame data, mất Frame data, mất Frame ACK Hư Frame: Việc gì xảy ra nếu các frame 0, 1, 2 và 3 đã được gởi đi, nhưng tín hiệu xác nhận đầu tiên lại là NAK 3? Xin nhớ cho rằng NAK có hai ý nghĩa: (1) một xác nhận về tất cả các frame nhận được trước khi có frame bị hỏng và (2) tín hiệu không xác nhận đối với frame hiện tại. Nếu NAK đầu tiên là NAK 3, có nghĩa là các frame dữ liệu 0, 1, và 2 đã được nhận tốt. Chỉ cần gởi lại frame số 3. Việc gì xảy ra nếu các frame từ 0 đến 4 đã được gỡi đi trước kh nhận được NAK 2? Ngay vừa khi máy thu phát hiện lỗi, thì máy ngừng tiếp nhận các frame cho đến khi frame bị hỏng được thay thế xong. Trong trường hợp này thì dữ liệu 2 xuất hiện hỏng và bị loại, cùng các dữ liệu 3 và 4. Dữ liệu 0 và 1, đã được nhận trước khi có frame bị hỏng, đã được chấp nhận, bằng cách gởi về máy phát frame NAK 2. Như thế cần gởi lại các frame 2, 3 và 4. Hình vẽ dưới đây cho một thí dụ trong đó 6 frame được gởi đi trước khi phát hiện ra lỗi ở frame 3. Trường hợp này máy thu gởi về tín hiệu ACK 3 cho biết các frame 0, 1 và 2 đã được chấp nhận. Trong hình thì ACK 3 đã được gởi trước khi dữ liệu 3 đến. Phát hiện lỗi tại frame 3, tín hiệu NAK được gởi tức thì và các frame 4 và 5 bị loại khi chúng đến. Thiết bị phát gởi lại cả ba frame (3, 4 và 5) do từ xác nhận trước đó, và quá trình tiếp tục. Máy thu đã loại các frame 4 và 5 (cùng các frame tiếp theo) cho đến khi nhận tốt được frame 3. Biên dịch: Nguyễn Việt Hùng Trang 163 Bài giảng: Truyền số liệu Chương 10: Điều khiển kết nối dữ liệu Mất Frame dữ liệu: Giao thức cửa sổ trượt đòi hỏi các frame dữ liệu phải được chuyển đi tuần tự. Nếu một trong số các frame này bị nhiễm nhiễu và bị thất lạc trong khi truyền, thì frame đến sau sẽ bị máy thu loại. Máy thu kiểm tra số nhận dạng của mỗi frame, phát hiện ra là một số frame đã bị bỏ qua, và gởi về tín hiệu NAK cho frame thất lạc đầu tiên. Frame NAK không chỉ ra là frame đã bị thất lạc hày hỏng, chỉ thông báo yêu cầu gởi lại.Thiết vị phát sẽ phát lại frame do NAK yêu cầu, cùng các frame đã được chuyển đi sau frame vừa thất lạc. Hình 10.8 Trong hình trên, dữ liệu 0 và 1 thu được nhưng dữ liệu 2 thì bị thất lạc. Frame kế tiếp sẽ đến máy thu là frame 3. Máy thu đang chờ frame 2 nên frame 3 bị xem là lỗi, bị loại và gởi về thông báo NAK 2, cho biết các frame 0 và 1 đã được chấp nhận nhưng frame 2 thì bị sai (bị thất lạc trong trường hợp này). Trong thí dụ trên, do máy phát đã phát dữ liệu 4 trước khi nhận được NAK 2, dữ liệu 4 đến đích nhưng bị loại. Một khi máy phát nhận được tín hiệu NAK 2, thì chuyển tất cả các frame còn bị kẹt lại (2, 3 và 4). Mất ACK: Máy phát không mong nhận được các frame ACK sau mỗi dữ liệu đã gởi. Điều đó nên không thể dùng các chuỗi số của ACK để nhận dạng các frame ACK hay NAK bị thất lạc, nên Biên dịch: Nguyễn Việt Hùng Trang 164 Bài giảng: Truyền số liệu Chương 10: Điều khiển kết nối dữ liệu phải dùng một timer. Thiết bị phát có thể gởi bất kỳ frame nào trong lúc mà cửa sổ còn cho phép trước khi chờ tín hiệu chấp nhận. Một khi giới hạn thời gian này đã hết hay máy phát không còn frame để gởi thì máy phát phải chờ. Nếu một tín hiệu ACK (hay, đặc biệt, nếu là NAK) do máy thu gởi đi bị thất lạc, thì máy phát phải chờ mãi. Để tránh tình trạng này, phải phát phải trang bị một bộ timer nhằm bắt đầu đếm khi dung lượng cửa sổ đã đầy. Khi không nhận được tín hiệu xác nhận sau một thời gian hạn định, máy phát gởi lại mỗi frame đã được phát từ lần nhận được ACK gần nhất. Hình 10.9 Hình trên cho thấy tình huống khi máy phát đã gởi đi tất cả các frame và chờ tin hiệu xác nhận đã bị thất lạc đâu đó trên đường truyền. Máy phát chờ trong một thời gian xác định, rồi gởi lại các frame unacknowledged. Máy thu nhận ra được là lần truyền mới này là lần lặp lại của lần trước, gởi tiếp đi tín hiệu ACK, và loại bỏ thông tin thừa. b.Selective - Reject ARQ Trong giao thức này, chỉ có đúng các frame bi hỏng hay thất lạc là được truyền lại. Nếu một frame bị hỏng trong khi truyền thì tín hiệu NAK được gởi về và fram này được gởi riêng. Bộ thu phải có khả năng chọn lọc các frame và chèn vào đúng chỗ trong chuỗi frame. Để thực hiện được việc này, hệ thống selective-reject ARQ có điểm khác so với go-back-n ARQ như sau: - Thiết bị thu phải có trình tự chọn lọc cho phép sắp xếp lại các frame nhận được. Thiết bị thu cũng cần lưu trữ được các frame đã nhận được từ sau khi gởi về NAK cho đến khi frame hỏng này được thay thế. - Thiết bị phát phải có cơ chế tìm kiếm nhằm cho phép tìm và chọn lọc các frame được yêu cầu truyền lại. - Bộ nhớ đệm tại phần thu sẽ lưu trữ tất cả các frame đã nhận được trước đó cho đến khi tất cả các frame truyền lại được chọn lọc và các frame trùng lặp được nhận ra và loại bỏ. - Nhằm tăng tính chọn lọc, các số ACK, tương tự như số NAK cũng được ghi cho các frame đã nhận được (hay thất lạc) thay vì là các frame mong muốn nhận. -Tính phức tạp này đòi hỏi kích thước của cửa sổ phải bé hơn so với trường hợp go- back-n để cho phép hệ thống hoạt động hiệu quả hơn. Kích thước cửa sổ nên được chọn bé hơn hay bằng (n+1)/2, trong đó (n-1) là kích thước cửa sổ của trường hợp go-back-n. Các trường hợp hỏng: Hư Frame data, mất Frame data, mất ACK Biên dịch: Nguyễn Việt Hùng Trang 165 Bài giảng: Truyền số liệu Chương 10: Điều khiển kết nối dữ liệu Damaged Frame: Hình 10.10 Hình trên minh họa tình huống trong đó frame bị hỏng được nhận. Theo đó, frame 0 và 1 được nhận nhưng không được xác nhận. Dữ liệu 2 đến và bị phát hiện là có lỗi, đến có tín hiệu NAK về. Tương tự frame NAK trong phương pháp sửa lỗi go-back-n, một NAK ở đây chứa thông tin của phần xác nhận dữ liệu nhận và chỉ thị sai số ở frame hiện tại. Trong hình thì NAK-2 cho máy phát biết rằng dữ liệu 0 và 1 đã được chấp nhận, nhưng phải gởi lại dữ liệu 2. Khác với trường hợp máy thu của hệ go-back-n, trường hợp này máy thu là là hệ chọn-lọc nên bắt đầu chấp nhận các frame mới trong khi chờ đợi các lỗi phải sửa. Tuy nhiên, do ACK cho biết về các cuộc nhận thành công không chỉ trong frame đang có mà còn có giá trị cho tất cả các frame đã nhận được trước đó, các frame nhận được sau khi frame errror chưa được xác nhận, cho đến khi các frame hỏng được gởi lại. Trong hình thì máy thu chấp nhận dữ liệu 3, 4 và 5 trong khi chờ bản copy của dữ liệu 2. Khi dữ liệu 2 mới tới, tín hiệu ACK 5 được gởi trả về, xác nhận về tín hiệu 2 mới, và các frame gốc 3, 4 và 5. Máy thu cần có phương thức chọn lựa trong các chuỗi frame được truyền lại và theo dõi xem frame hỏng còn thiếu để có thể xác nhận. Lost Data Frame: Tuy các frame có thể được nhận, nhưng không có nghĩa là được xác nhận. Nếu frame bị thất lạc thì frame kế tiếp sẽ không được nhận vào chuỗi. Khi máy thu cố sắp xếp lại các frame hiện có, thì sẽ phát hiện ra thiếu sót này và gởi đi tín hiệu NAK. Đương nhiên là máy thu chỉ có thể nhận ra thiếu sót này nếu có các frame tiếp tục đến. Nếu frame thất lạc là frame truyền cuối cùng thì máy thu không làm gì và máy phát sẽ xem sự im lặng này chính là NAK. Lost Acknowledgment: Các frame ACK và NAK thất lạc được selective-reject ARQ xử lý tương tự như trong trường hợp go-back-n ARQ. Khi thiết bị phát đạt đủ dung lượng của cửa sổ hay khi chấm dứt truyền, thì thiết lập bộ timer. Nếu không có tín hiệu xác nhận trong khoảng thời gian qui định, thiết bị phát gởi lại tất cả các frame chưa được xác nhận. Trong hầu hết trường hợp, máy thu sẽ nhận ra các bản trùng lắp và loại bỏ chúng. So sánh giữa phương pháp Go-Back-n và Selective-Reject Mặc dù chỉ truyền lại các frame bị hỏng hay thất lạc nên có vẻ hiệu quả hơn so với việc chuyển lại tất cả các frame bị hỏng, nhưng do cơ chế chọn lọc và lưu trữ mà máy thu phải có, cùng với cơ chế chọn lọc phức tạp nên phương pháp selective-reject có chi phí đắc hơn và ít được dùng. Tức là, tuy có hiệu quả hơn nhưng thực tế thì phương pháp go-back-n được dùng nhiều hơn do dễ thiết lập hơn. Chú ý là giao thức stop and wait là trường hợp đặc biệt của giao thức cửa sổ trượt trong đó kích thước cửa sổ được chọn là 1. Biên dịch: Nguyễn Việt Hùng Trang 166 Bài giảng: Truyền số liệu Chương 10: Điều khiển kết nối dữ liệu TỪ KHÓA VÀ Ý NIỆM ACK: acknowledgment Automatic repeat request ARQ Buffer End of transmission Enquiry/acknowlegment (ENQ/ACK) Error control Flow control Go-back ARQ Line discipline Negative acknowledgment (NAK) Poll Poll/select Primary station Secondary station Select Selective-reject ARQ Sliding window Stop-and-wait Stop and wait ARQ Biên dịch: Nguyễn Việt Hùng Trang 167 Bài giảng: Truyền số liệu Chương 10: Điều khiển kết nối dữ liệu TÓM TẮT Lớp thứ hai trong mô hình OSI, lớp kết nối dữ liệu, có ba chức năng chính: hạng mục đường dây, điều khiển lưu lượng, và kiểm tra lỗi. Hạng mục đường dây thiết lập các trạng thái của các thiết bị (thu hay phát) trong kết nối. ENQ/ACK là phương pháp hạng mục đường dây dùng kết nối điểm- điểm. Thiết bị thu dùng ENQ/ACK để trả lời bằng cách xác nhận (ACK) nếu thiết bị đã sẵn sàng nhận dữ liệu hay không xác nhận NAK nếu chưa sẵn sàng. Poll/select là một phương pháp trong hạng mục đường dây. Thiết bị sơ cấp cần khởi tạo thông tin bằng các frame poll hay select (SEL). Một frame poll được sơ cấp gởi đến thứ cấp xem thiết bị thứ cấp có dữ liệu để gởi không. Thứ cấp có thể trả lời không dùng NAK hay nếu có thì gởi frame dữ liệu. Một frame SEL được thiết bị sơ cấp gởi đến thứ cấp để thông báo chuNn bị nhận dữ liệu. Thứ cấp có thể trả lời bằng ACK hay N AK. Điều khiển lưu lượng là quá trình điều hòa dữ liệu truyền để thiết bị thu không bị quá tải với thông tin nhận. Có hai phương pháp điều khiển lưu lượng: Stop and wait Sliding window Trong cơ chế điều khiển lưu lượng stop and wait, mỗi frame cần được máy thu xác nhận trước khi máy phát gởi tiếp frame kế tiếp. Trong cơ chế điều khiển lưu lượng dung cửa sổ trượt, dữ liệu phát bị giới hạn bởi một cửa sổ ảo mở rộng và co lại được tùy theo tín hiệu xác nhận từ máy thu. Tương tự, dữ liệu thu cũng bị giới hạn cửa một cửa sổ ảo co thể co dản được theo dữ liệu nhận được. Kiểm tra lỗi, hay phương cách xử lý đối với dữ liệu hay xác nhận bi thất lạc, bị hỏng, là quá trình truyền lại dữ liệu. Dữ liệu được truyền lại nhở automatic repeat request (ARQ). Có ba dạng lỗi cần đến ARQ: frame bị hỏng, frame bị thất lạc hay xác nhận bị thất lạc. Phương pháp được dùng trong kiểm tra lỗi tùy thuộc vào phương pháp điều khiển lưu lượng. Trong điều khiển lưu lượng dùng stop and wait, thì stop and wait ARQ được dùng Trong điều khiển lưu lượng dùng cửa sổ trượt, go-back-n hay selective reject ARQ được dùng. Trong stop and wait ARQ, một frame không xác nhận được gởi đi Trong go-back-n ARQ, quá trình truyền lại bắt đầu khi nhận được frame không xác nhận cho dù các frame trước đó đã được nhận đúng. Các frame trùng lắp sẽ được may thu loại bỏ. Trong selevtive-reject ARQ, chỉ có frame không xác nhận là được truyền lại. Biên dịch: Nguyễn Việt Hùng Trang 168
File đính kèm:
- bai_giang_truyen_so_lieu_chuong_10_dieu_khien_ket_noi_du_lie.pdf