Các kỹ thuật điều khiển, kiểm soát luồng dữ liệu và kiểm soát lỗi

Hỏng frame: Nếu một frame nhận được bởi B bị lỗi hoặc

frame này bị lỗi nên B không nhận biết được frame này do đó B sẽ

vứt bỏ frame này và không có hành động gì, có hai khả năng nhỏ sau:

i, Sau 1 khoảng thời gian đợi hợp lý, A sẽ gửi đi frame thứ i+1,

bên B nhận được frame i+1 không đúng thứ tự(B đang đợi frame i)

do đó B sẽ gửi thông báo REJi, A sẽ phải gửi lại frame i và các frame

đã gửi sau frame i này.

ii, A không gửi đi thêm frame nào, B không nhận được frame nào

nên không gửi trả lời cho A (hoặc là RR hoặc REJ) do đó bộ đếm

thời gian của A bị hết, A sẽ gửi đi một frame có tên là RR với một bit

p được gán giá trị1. B sau khi nhận được frame này với bit p bằng 1

thì hiểu rằng A yêu cầu trả lời của B với số hiệu của frame tiếp theo

mà B đang đợi (đó là frame i), A sau khi nhận được RR từ B sẽ gửi

lại frame i. Một cách giải quyết khác là sau khi hết thời gian đợi sự

trảlời của B, A sẽ gửi lại frame i.

pdf22 trang | Chia sẻ: thienmai908 | Lượt xem: 2140 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Các kỹ thuật điều khiển, kiểm soát luồng dữ liệu và kiểm soát lỗi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 1 CÁC KỸ THUẬT ĐIỀU KHIỂN, KIỂM SOÁT LUỒNG DỮ LIỆU VÀ KIỂM SOÁT LỖI Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 2 I. Các kỹ thuật điều khiển, kiểm soát luồng dữ liệu. 1. Điều khiển luồng dữ liệu. Điều khiển luồng dữ liệu là một kỹ thuật để đảm bảo rằng bên nhận không bị ngập tràn dữ liệu đã được gửi bởi bên gửi. Thông thường bên nhận phân phối một vùng đệm dữ liệu với một độ lớn nào đó. Khi nhận được dữ liệu bên nhận phải thực hiện một vài quá trình xử lý trước khi gửi dữ liệu tới phần mềm ở mức bên trên. Một số kỹ thuật dùng để điều khiển luồng: 2.Dừng và đợi (Stop – and – Wait) Đây là dạng đơn giản nhất của điều khiển luồng, hoạt động như sau: Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 3 Bên gửi truyền đi một frame sau đó dừng việc gửi các frame tiếp theo. Sau khi bên nhận nhận được frame này nó sẽ thông báo cho bên gửi rằng bên nhận đã sẵn sàng nhận frame khác bằng cách gửi trả lại một ack cho frame nó vừa nhận được. Bên gửi bắt buộc phải đợi cho đến khi nó nhận được ack trước khi nó gửi đi frane tiếp theo. Bên nhận cũng có thể dừng dòng dữ liệu bằng cách không gửi ack Thủ tục này làm việc có hiệu quả và có thể được tận dụng khi một thông báo được gửi đi dưới dạng một vài frame lớn. Tuy nhiên bên gửi có thể chia một khối dữ liệu lớn thành các khối nhỏ và truyền dữ liệu đi bằng nhiều frame do các lý do sau: -Kích thước vùng đệm của bên nhận có thể bị hạn chế Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 4 - Khi truyền frame với kích thước lớn cần thời gian truyền lâu hơn do đó khả năng bị lỗi sẽ cao hơn và như vậy sẽ cần nhiều thời gian để truyền lại hơn. - Với các việc truyền các frame có kích thước nhỏ, các lỗi sẽ được phát hiện sớm hơn và một khối lượng dữ liệu nhỏ hơn sẽ được truyền lại khi gặp lỗi. - Trên các đường tryền dùng chung, chẳng hạn như các LAN, không nên cho phép một trạm chiếm giữ đường truyền quá lâu điều này sẽ làm các trạm khác phải đợi lâu hơn để đến lượt được truyền. Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 5 Sử dụng nhiều frame cho một thông báo, thủ tục dừng và đợi có thể không hiệu quả vì tại một thời điểm chỉ có một frame được truyền đi. Ta có thể nhận thấy rõ vấn đề này qua công thức: B=R*d/V (1) Trong đó: - B = độ dài của liên kết tính bằng bit, đây là số lượng bits hiện có trên liên kết khi một chuỗi bit chiếm giữ hoàn toàn liên kết - R= tốc độ dữ liệu trong liên kết (bit/giây) - d= độ dài hay khoảng cách của liên kết (mét) - V= Vận tốc truyền (met/giây) 3. Cửa sổ trượt (Sliding – Window) Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 6 Để khắc phục sự không hiệu quả của phương pháp dừng và đợi, nhiều frame được truyền trong cùng một khoảng thời gian. Ví dụ hai trạm A và B được kết nối qua một liên kết hai chiều đồng thời (full - duplex link). Trạm B phân phối một vùng đệm cho W frame, do đó B có thể chấp nhận W frame và A được cho phép truyền W frame mà không cần đợi sự phản hồi. Để kiểm soát xem frame nào đã được phản hồi mỗi frame được gán với một số thứ tự. B phản hồi cho một frame bằng cách gửi một ack bao gồm số hiệu của frame đang đợi để nhận tiếp theo, điều này cũng có ngầm định rằng B đã sẵn sàng nhận W frame tiếp theo kể từ frame đang đợi này. Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 7 Cơ chế này cũng có thể phản hồi cho nhiều frame, chẳng hạn B có thể nhận các frame 2, 3 và 4 nhưng B chưa phản hồi ngay khi nhận được các frame 2 và 3, B đợi khi đã nhận được frame 4 mới phản hồi bằng một ack với số hiệu 5, như vậy B phản hồi các frame 2,3 và 4 cùng một lúc. A cần duy trì một danh sách gồm các số của các frame đã được phép gửi đi, B duy trì một danh sách gồm các số của các frame chuNn bị được nhận, mỗi một danh sách được ví như là một của sổ của các frame và hoạt động trên cửa sổ này gọi là cửa sổ trượt. Vì các số hiệu của frame chiếm một trường trong frame và trường này là vị giới hạn về kích thước, ví dụ với một trường có độ dài 3 bits Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 8 các số hiệu sẽ được phân bố từ 0 đến 7 do đó các frame sẽ được đánh số theo các số dư của phép chia cho 8 (1 đến 7) do đó sau số 7, số tiếp theo sẽ là số 0, khi đó độ lớn của cửa sổ là 8. Một cách tổng quát, với trường có độ dài k bits, số hiệu của các số sẽ từ 0 đến 2k-1 và các frame sẽ được đánh số theo các số dư của phép chia cho 2k Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 9 Frames đã được gửi đi Các frames được lưu giữ trong buffer cho đến khi nhận được trả lời … 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Số thứ tự Cửa sổ thu hẹp lại từ cuối Cửa sổ mở rộng Khi các frames được gửi khi nhận được ACK Frame cuối được trả lời Frame cuối cùng đã được truyền đi Bên gửi Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 10 Frames đã nhận được … 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Số thứ tự Frame cuối được trả lời Frame cuối cùng đã nhận được Bên nhận II. CÁC KỸ THUẬT ĐIỀU KHIỂN, KIỂM SOÁT LỖI. Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 11 1. Kiểm soát lỗi Kiểm soát lỗi liên qua đến các cơ chế để phát hiện và sửa các lỗi nảy sinh trong quá trình truyền các frame. Các frame được truyền đi theo một thứ tự, các frame này đến đích theo thứ tự này và mỗi một frame bị ảnh hưởng bởi một khoảng trễ ngẫu nhiên trước khi được nhận. Có hai loại lỗi có thể sảy ra, đó là: mất frame và hỏng frame. + Mất frame: Một frame không đến được bên nhận. Ví dụ các tạp nhiễu có thể phá hủy một frame đến một mức mà bên nhận không biết được rằng một frame đã được truyền đi. + Hỏng frame: Một frame đã được nhận nhưng một vài bit bị lỗi. Các kỹ thuật phổ biến nhất để kiểm soát lỗi là: Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 12 - Phát hiện lỗi - Xác nhận dương: Bên nhận trả lại một xác nhận rõ ràng để thông báo đã nhận được frame không có lỗi. - Truyền lại sau khi đã hết thời gian phản hồi: Bên gửi gửi lại frame khi không nhận được trả lời của bên nhận và đã hết thời gian phản hồi. - Xác nhận âm và truyền lại: Bên nhận trả lời bằng một xác nhận âm cho một frame bị lỗi do đó bên gửi sẽ gửi lại frame này. Một cách chung nhất, các cơ chế này liên quan đến tự động lặp lại yêu cầu (Automatic Repeat Request – ARQ). Tác dụng của ARQ là Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 13 chuyển một liên kết dữ liệu không tin cậy thành một liên kết dữ liệu đáng tin cậy. Có ba phiên bản của ARQ đã được chuNn hóa: + Dừng và đợi ARQ (Stop and Wait) + Quay lui - N ARQ (Go back – n) + Loại bỏ có lựa chọn (Selective Reject ARQ) 2. Dừng và đợi (Stop – and – Wait – ARQ) Dừng và đợi dựa trên kỹ thuật điều khiển luồng dừng và đợi. Máy gửi gửi đị một frame sau đó bắt buộc phải đợi cho đến khi nhận được trả lời của bên nhận, không có dữ liệu nào được gởi đi trong khi đợi này. Có hai loại lỗi có thể sảy ra đó là: Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 14 a, Một frame đến được máy đích có thể bị lỗi: bên nhận sử dụng kỹ thuật phát hiện lỗi nên phát hiện được lỗi này, do đó vứt bỏ frame này. Để đối phó với khả năng này, bên gửi sử dụng một thiết bị đếm thời gian, sau khi gửi đi một frame bên gửi đợi nhận đựợc sự trả lời của bên gửi. Nếu sau một khoảng thời gian được tính toán trước mà bên gửi không nhận được bất kỳ sự trả lời nào của bên nhận do đó bộ đếm thời gian đã hết, bên gửi sẽ tiến hành gửi lại frame này. Với phương pháp này bên gửi cần duy trì một bản sao chép của frame vừa gửi cho đến khi nhận được sự trả lời của bên nhận để khi cần có thể gửi lại frame. Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 15 b, Khả năng hỏng ACK: Bên gửi gửi đi một frame, bên nhận nhận được frame này không bị lỗi, khi đó bên nhận sẽ trả lời bằng một ACK, trên đường truyền ACK này có thể bị hỏng do đó bên gửi không nhận được ACK này, do dó sau khi hết thời gian đợi sự trả lời bên gửi sẽ gửi lại frame này, do đó bên nhận sẽ nhận được một frame giống hệt nhau nhưng không biết đấy chỉ là một frame. Để tránh trường hợp này các frame sẽ được đánh số lần lượt là 0, 1 và các trả lời sẽ được đánh số là ACK0 và ACK 1, trong đó ACK0 được dùng để trả lời cho frame 1 (bên nhận đã nhận được frame 1 và đang đợi frame 0) và ngược lại. Khi bên nhận nhận được hai frame có cùng số Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 16 hiệu (cùng là frame 1 hoặc frame 0) nó sẽ bỏ đi frame thứ hai vừa nhận được. Ưu điểm chính của phương pháp này là đơn giản, nhược điểm chính của phương pháp này không hiệu quả. 3. Quay lui n (Go back n – ARQ) Phương pháp điều khiển lỗi dựa trên điều khiển luồng bằng cửa sổ trượt được gọi là quay lui n ARQ. Trong phương pháp này, một trạm có thể gửi đi một chuỗi các frame các frame được đánh số theo như cách điều khiển luồng bằng cửa sổ trượt. Số hiệu của các frame chưa được trả lời được xác định bởi cửa sổ trượt sử dụng kỹ thuật điều khiển luồng bằng cửa sổ trượt. Khi không có lỗi sảy ra bên nhận sẽ Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 17 trả lời frame vừa nhận được bằng một RR (receive ready - sẵn sàng nhận), nếu một frame nhận được bị lỗi, bên nhận gửi lại một thông báo REJ (Reject - vứt bỏ) cho frame này, bên nhận sẽ vứt bỏ frame vừa nhận được và tất cả các frame nhận được sau đó cho đến khi nhận được frame này không bị lỗi. Bên gửi khi nhận được REJ sẽ phải truyền lại frame bị lỗi và tất cả các fram đã truyền sau frame bị lỗi này. Giả sử rằng máy A đang gửi các frame cho máy B, sau mỗi lần truyền đi một frame, bên A sẽ thiết lập bộ đếm thời gian cho sự trả lời của frame này. Giả sử rằng máy B đã nhận được frame i-1 không bị Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 18 lỗi và máy A vừa gửi đi frame i. Kỹ thuật quay lui n cần phải giải quyết các khả năng sau: a, Hỏng frame: Nếu một frame nhận được bởi B bị lỗi hoặc frame này bị lỗi nên B không nhận biết được frame này do đó B sẽ vứt bỏ frame này và không có hành động gì, có hai khả năng nhỏ sau: i, Sau 1 khoảng thời gian đợi hợp lý, A sẽ gửi đi frame thứ i+1, bên B nhận được frame i+1 không đúng thứ tự (B đang đợi frame i) do đó B sẽ gửi thông báo REJi, A sẽ phải gửi lại frame i và các frame đã gửi sau frame i này. ii, A không gửi đi thêm frame nào, B không nhận được frame nào nên không gửi trả lời cho A (hoặc là RR hoặc REJ) do đó bộ đếm Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 19 thời gian của A bị hết, A sẽ gửi đi một frame có tên là RR với một bit p được gán giá trị 1. B sau khi nhận được frame này với bit p bằng 1 thì hiểu rằng A yêu cầu trả lời của B với số hiệu của frame tiếp theo mà B đang đợi (đó là frame i), A sau khi nhận được RR từ B sẽ gửi lại frame i. Một cách giải quyết khác là sau khi hết thời gian đợi sự trả lời của B, A sẽ gửi lại frame i. b, Hỏng RR: Có hai khả năng sau: i, B nhận được frame i không có lỗi nên sẽ gửi trả lời RR (i+1), trả lời này bị hỏng, do trả lời có thể là tích tụ dần (đã giải thích ở trên) nên A có thể nhận được một RR cho một frame gửi sau và RR này có thể đến được A trước khi bộ đếm thời gian cho frame i hết hạn. Khi Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 20 đó A không nhận được RR(i+1) nhưng nhận được một RR(i+2) do đó A biết rằng frame i và i+1 đã nhận được không có lỗi. ii, Nếu bộ đếm thời gian đã hết mà chưa nhận được trả lời của B, A sẽ gửi đi một RR frame như trường hợp thứ hai của hỏng frame và thiết lập lại bộ đếm thời gian khác được gọi là bộ đếm thời gian p bit. Nếu không có trả lời của B cho RR frame của A thì bộ đếm thời gian của p bit sẽ bị hết, A lặp lại thao tác này một số lần nữa mà vẫn không nhận được trả lời của B thì nó sẽ thiết lập lại thủ tục gửi tin giữa hai máy. + Hỏng REJ: Trường hợp bị lỗi REJ tương tự như trường hợp a(ii) 4. Loại bỏ có lựa chọn (Selective Reject – ARQ) Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 21 Với loại bỏ có lựa chon ARQ chỉ các các frames nhận được với xác nhận âm hoặc các frames không nhận được phản hồi sau khi đã hết thời gian là phải truyền lại. Ví dụ: bên B nhận được frame 5 không đúng thứ tự (B đang đợi nhận frame 4) khi đó B sẽ gửi đi SREJ4 điều này có nghĩa là B đang đợi frame 4, và B vẫn tiếp tục nhận các frame khác, khi đó A sẽ gửi lại frame 4. Loại bỏ có lựa chon ARQ hoạt động có hiệu quả hơn so với quay lui N ARQ vì chỉ có một số ít các frames phải truyền lại, tuy nhiên bên nhận phải duy trì một bộ đệm tương đối lớn để lưu giữ các frames đã nhận được cho đến khi nhận được frame bị lỗi trước đó và sắp xếp frame này vào đúng vị trí. Bên gửi cũng phải có khả năng để Trường Đại học Tây Bắc - Khoa Toán - Lý – Tin Mai Văn Tám – Bộ môn Kỹ thuật máy tính và Mạng 22 gửi một frame không theo đúng thứ tự. Vì những lý do phức tạp trên nên Loại bỏ có lựa chon ARQ ít được sử dụng rộng rãi như là quay lui N ARQ. Loại bỏ có lựa chon ARQ được áp dụng cho truyền vệ tinh vì thời gian trễ trong truyền thông vệ tinh tương đối cao.

Các file đính kèm theo tài liệu này:

  • pdfBai so 9 - CÁC KY THUAT ÐIEU KHIEN LUONG DIEU KHIEN LOI.pdf
Tài liệu liên quan