Bài giảng Truyền thông kỹ thuật số: Chương 4 - Trịnh Huy Hoàng

39 5 0

Vn Doc 2 Gửi tin nhắn Báo tài liệu vi phạm

Tải lên: 57,242 tài liệu

  • Loading ...
1/39 trang

Thông tin tài liệu

Ngày đăng: 11/02/2020, 17:41

Bài giảng Truyền thông kỹ thuật số: Chương 4 của Trịnh Huy Hoàng giới thiệu tới các bạn những nội dung về vấn đề khi trao đổi dữ liệu; điều khiển dòng dữ liệu; Idle RQ (Stop–and–Wait); Sliding windows; điều khiển lỗi; Stop–and–Wait; Go–back–N và một số nội dung khác. CHƯƠNG 4  CÁC NGHI THỨC ĐIỀU  KHIỂN LIÊN KẾT DỮ LIỆU  Giảng viên: Trịnh Huy Hoàng     Email:hoangth@hcmup.edu.vn  Nội dung Đi ều khi ển liên k ết d ữ  li ệu  ( Data Link Control ) Đi ều khi ển dòng  ( Flow  Control) CSE 501035 – Data Communication Đi ều khi ển l ỗi  ( Error Control) Vần đề khi trao đổi dữ liệu  Đồng bộ khung   Điều khiển dòng dữ liệu   Xác định 2 thiết bị trao đổi dữ liệu trên đường truyền Tích hợp dữ liệu và điều khiển trên cùng đường truyền   Xử lý lỗi gặp phải trên đường truyền Định vị địa chỉ   Điều khiển tốc độ truyền dữ liệu Điều khiển lỗi   Dữ liệu được truyền theo khung Phân biệt dữ liệu và thơng tin điều khiển Quản lý liên kết  Cấp phát, duy trì và giải phóng đường truyền giữa 2 thiết bị CSE 501035 – Data Communication Điều khiển dòng dữ liệu  Bảo đảm cho việc bên phát không gởi dữ liệu quá  nhanh   Ngăn ngừa việc tràn bộ đệm Khái niệm thời gian Thời gian truyền (tframe): thời gian cần thiết để gởi tất cả các  bit dữ liệu lên đường truyền  Thời gian lan truyền (tprop): thời gian cần thiết để 1 bit đi từ  nguồn đến đích  CSE 501035 – Data Communication Điều khiển dòng dữ liệu Mơ hình truyền  khung Đi ều khi ển dòng  ( Flow Cont rol) I dle RQ  ( Stop and Wait ) CSE 501035 – Data Communication Sliding w indow s Idle RQ (Stop–and–Wait)  Đặc điểm    Cơ chế hoạt động       Được dùng chủ yếu trong các ứng dụng character­oriented (byte­oriented) Sử dụng kênh truyền hoạt động trong chế độ half­duplex Nguồn phát dữ liệu (dưới dạng các frame) Đích nhận dữ liệu và trả lời bằng ACK Nguồn đợi ACK trước khi phát tiếp dữ liệu Đích có thể ngưng bằng cách khơng gởi ACK Thích hợp khi chỉ có vài frame có kích thước lớn Dữ liệu lớn được chia thành các frame có kích thước nhỏ     Kích thước bộ đệm có giới hạn Lỗi được phát hiện sớm  Khi có lỗi, chỉ cần truyền lại frame nhỏ  Ngăn ngừa tình trạng 1 trạm làm việc chiếm đường truyền lâu  Stop­and­wait protocol khơng thích hợp CSE 501035 – Data Communication Idle RQ (Stop–and–Wait) Animation CSE 501035 – Data Communication Idle RQ – Hiệu suất   Thời gian tổng cộng  TD   Hiệu suất đường truyền CSE 501035 – Data Communication  n(2t prop    t frame ) U a n t frame TD t prop d t frame L 1 2a V R R d L V Sliding windows  Cơ chế hoạt động       Cho phép nhiều frame có thể truyền đồng thời Bên thu có bộ đệm với kích thước W Bên phát có thể truyền tối đa W frame mà khơng cần đợi ACK Cơ chế đánh số thứ tự cho các frame ACK có chứa số của frame kế tiếp đang được mong đợi  Số thứ tự được quay vòng bởi kích thước cửa sổ (modulo 2k) CSE 501035 – Data Communication Sliding windows Animation CSE 501035 – Data Communication 10 Go–back–N  I(N + ) I(N ) I(N ) I(N + ) I(N ) I(N + ) P r im a r y (P ) I(N + ) I(N + ) I(N ) I(N + ) I(N I(N I(N I(N +3) +2) +1) +4) I(N I(N I(N I(N +4) +3) +2) +2) R e tr a n s m itte d m ode I(N + ) I(N + ) E1 I(N ) T im e o u t r e tr a n s m itte d A C K (N ) S e c o n d a ry (S ) I(N ) V (s )= N F m e a c c e p te d I(N + ) V (s )= N + V (s )= N + F m e F m e n o t a c c e p te d a c c e p te d CSE 501035 – Data Communication I(N + ) I(N + ) V (s )= N + V (s )= N + F m e n o t F m e n o t a c c e p te d a c c e p te d I(N + ) I(N + ) I(N + ) V (s )= N + F m e a c c e p te d V (s )= N + F m e a c c e p te d V (s )= N + F m e a c c e p te d 25 Go–back–N   Trong trường hợp lỗi xảy ra: các kiểu lỗi cũng tương tự như  trong Idle RQ     (E1) I­Frame khơng đến được bên nhận, và lỗi này có thể xảy ra đồng  thời trên cùng nhiều I­Frame (E2) I­Frame đến được bên nhận, nhưng nội dung I­Frame sai, lỗi này  cùng có thể xảy ra đồng thời trên nhiều I­Frame (E3) ACK­Frame khơng đến được bên nhận, hay đến được bên nhận  nhưng nội dung frame bị sai, lỗi này có thể xảy ra đồng thời trên nhiều  ACK­frame P r im a r y (P ) I(N ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) E I(N ) A C K (N ) E E I(N ) S e c o n d a ry (S ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) E CSE 501035 – Data Communication 26 Go–back–N   Sửa lỗi E1   Sử dụng danh sách truyền lại (Retransmission list) để lưu các  I­Frame gởi đi nhưng chưa có ACK báo về. Bên thu nếu  nhận được các I­frame khơng đúng thứ tự sẽ u cầu truyền  lại các frame kể từ frame khơng nhận được (bằng cách gởi  NAK). Bên gởi sẽ lấy ra I­Frame từ danh sách này ra truyền  lại  Sử dụng timer: bên gởi sau khi gởi đi một I­Frame thì khởi  động một bộ đếm thời gian, sau khoảng thời gian đợi T mà  chưa nhận được tín hiệu ACK báo về (có thể do bên thu  khơng gởi NAK) thì xem như I­Frame này chưa tới và gởi lại  các frame kể từ frame này CSE 501035 – Data Communication 27 Go–back–N  Sửa lỗi E2   Implicit Retransmission: dùng timer  Khi một I­Frame truyền đến bên nhận nhưng bị lỗi, bên nhận khơng  đáp ứng tín hiệu   sau thời gian timeout, bên gởi sẽ truyền lại I­ Frame này. Nếu có nhiều I­Frame sai thì cách sửa lỗi cũng tương tự  như trong trường hợp E1  Explicit Retransmission: dùng NAK­Frame  Khi một I­Frame truyền đến bên nhận nhưng bị lỗi, bên nhận sẽ báo  lại cho bên gởi biết trường hợp này thông qua NAK­Frame. Như vậy  thời gian đáp ứng sẽ nhanh hơn. Khi NAK­Frame bị lỗi hay không  đến được bên gởi, sau thời gian timeout bên gởi cũng sẽ tiến hành  gởi lại I­Frame này CSE 501035 – Data Communication 28 Go–back–N  Sửa lỗi E3   Sử dụng chỉ số tuần tự frame (sequential number): Khi ACK­frame b ị l ỗi  hay khơng đến được bên gởi, sau thời gian timeout bên gởi sẽ gởi lại I­ Frame này, mặc dù lúc đó bên nhận đã nhận đúng I­Frame này (lỗi trùng  I­frame)   phải dùng chỉ số tuần tự frame để phân biệt giữa các I­frame  với nhau  Do bên nhận chỉ nhận I­Frame theo đúng chỉ số tuần tự   nếu bên gởi  nhận được ACK(N+i+1) thì biết chắc chắn là bên nhận đã nhận đúng tất  cả các I­Frame có chỉ số từ N   N+1, do đó bên gởi vẫn khơng gởi lại  các I­Frame từ N   N+1 mặc dù ACK của các I­Frame này có thể bị lỗi  hay bị mất ? tăng hiệu suất  Nếu sau thời gian timeout mà bên gởi vẫn khơng nhận được ACK/NAK  nào, nó sẽ gởi lại các frame kể từ frame cuối cùng nhận được ACK CSE 501035 – Data Communication 29 Go–back–N   Khái niệm   Giả sử dòng các I­Frame đi theo  một chiều và chiều kia chỉ dùng  cho ACK Các frame thơng tin điều khiển đủ  chỗ để chứa ACK (piggybacked  acknowledgment), do đó việc trao  đổi dữ liệu full­duplex sẽ chứa  ACK.    NAK thường được gởi riêng,  không theo kiểu piggyback ACKN xác nhận cho frame N­1 CSE 501035 – Data Communication 30 Selective Reject  Cơ chế hoạt động    Tương tự như Go­Back­N, ngoại trừ việc chỉ gởi lại các frame bị NAK  hoặc time­out Bên nhận có thể nhận frame thơng tin khơng theo đúng chỉ số tuần tự    thứ tự frame thơng tin truyền khơng được bảo đảm và bên nhận phải có  buffer để lưu lại các frame đến khơng theo đúng chỉ số tuần tự Vấn đề kích thước cửa sổ  Tình huống A gởi 0­6 đến B  B xác nhận tất cả, nhưng tất cả ACK đều bị mất  A đợi hồi, nên gởi lại 0  B đã dịch cửa sổ nhận, nên có thể nhận 7,0,1, 5. Nó tưởng frame 7 bị mất và  0 là frame mới, nên chấp nhận (trùng frame)    Đây là vấn đề trùng lắp giữa cửa sổ gởi và cửa sổ nhận Kích thước cửa sổ tối đa là ½(2n), tức 2n­1 CSE 501035 – Data Communication 31 Selective Reject CSE 501035 – Data Communication 32 Selective Reject  Sửa lỗi E1   Sử dụng timer : bên gởi sau khi gởi đi một I­Frame thì khởi  động một bộ đếm thời gian, sau khoảng thời gian đợi T mà  chưa nhận được tín hiệu ACK báo về thì xem như I­Frame  chưa tới và gởi lại Frame này  Sử dụng danh sách truyền lại (Retransmission list) để lưu các  I­Frame gởi đi nhưng chưa có ACK báo về. Lúc lỗi sẽ lấy ra  I­Frame từ danh sách này ra truyền lại  Đối với selective reject, khi lỗi xảy ra sẽ truyền lại chỉ các I­ Frame sai. Do đó thứ tự I­Frame đến bên nhận là khơng có  thứ tự và bên nhận phải có buffer để lưu lại các I­frame đến  khơng đúng thứ tự này CSE 501035 – Data Communication 33 Selective Reject I(N + ) I(N ) I(N ) I(N ) I(N + ) I(N + ) P r im a r y (P ) I(N + ) I(N + ) I(N + ) I(N + ) I(N ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) R e t r a n s m itt e d m ode I(N + ) I(N + ) E1 I(N ) T im e o u t r e tr a n s m itte d A C K (N ) V (s )= N + S e c o n d a ry (S ) I(N ) I(N ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) I(N + ) CSE 501035 – Data Communication 34 Selective Reject  Sửa lỗi E2   Implicit Retransmission: dùng timer  Khi một I­Frame truyền đến bên nhận nhưng bị lỗi, bên nhận khơng  đáp ứng tín hiệu ? sau thời gian timeout, bên gởi sẽ truyền lại I­ Frame này. Nếu có nhiều I­Frame sai thì cách sửa lỗi cũng tương tự  như trong trường hợp E1  Explicit Retransmission: dùng NAK­Frame  Khi một I­Frame truyền đến bên nhận nhưng bị lỗi, bên nhận sẽ báo  lại cho bên gởi biết trường hợp này thông qua NAK­Frame. Như vậy  thời gian đáp ứng sẽ nhanh hơn. Khi NAK­Frame bị lỗi hay không  đến được bên gởi, sau thời gian timeout bên gởi cũng sẽ tiến hành  gởi lại I­Frame này CSE 501035 – Data Communication 35 Selective Reject  Sửa lỗi E3  Sử dụng chỉ số tuần tự frame (sequential number): Khi ACK­ frame bị lỗi hay khơng đến được bên gởi, sau thời gian  timeout bên gởi sẽ gởi lại I­Frame này, mặc dù lúc đó bên  nhận đã nhận đúng I­Frame này (lỗi trùng I­frame) ? phải  dùng chỉ số tuần tự frame để phân biệt giữa các I­frame với   Do bên gởi chỉ truyền lại các I­Frame bị sai nên thứ tự I­ Frame đến bên nhận khơng theo thứ tự, vì vậy bên nhận phải  có buffer để lưu lại các frame đến khơng theo chỉ số tuần tự  này. Khi nhận được I­Frame có đúng chỉ số, bên nhận sẽ lấy  các I­Frame tuần tự tiếp theo từ buffer để đưa lên ứng dụng  CSE 501035 – Data Communication 36 Continuous ARQ – So sánh 5 E D D D E rro r D is c a r d e d f r a m e s G o -b a c k -N p ro to c o l E E rro r S e le c t iv e r e p e a t CSE 501035 – Data Communication B u ffe re d fra m e s fra m e s -5 r e le a s e d 37 Điều khiển lỗi – Hiệu suất  Stop­and­wait protocol  Go­back­N protocol U U  P 2a P 2aP N(1 ­ P) (2a 1)(1 ­ P NP) Selective reject protocol U CSE 501035 – Data Communication 1­ P N(1 P) 2a N 2a N 2a N 2a N 2a 38 Đọc thêm  W. Stallings, Data and Computer Communications (7th  edition), Prentice Hall 2004, chapter 7 CSE 501035 – Data Communication 39 ... Xác định 2 thiết bị trao đổi dữ liệu trên đường truyền Tích hợp dữ liệu và điều khiển trên cùng đường truyền   Xử lý lỗi gặp phải trên đường truyền Định vị địa chỉ   Điều khiển tốc độ truyền dữ liệu Điều khiển lỗi   Dữ liệu được truyền theo khung... trong frame bị hư Kỹ thuật dùng để điều khiển lỗi     Phát hiện lỗi (CRC, Parity, …) Positive ACK – xác nhận các frame nhận được Truyền lại sau một thời gian time­out Negative ACK (NAK) và truyền lại – yêu cầu truyền lại (NAK) cho các ... Ngăn ngừa việc tràn bộ đệm Khái niệm thời gian Thời gian truyền (tframe): thời gian cần thiết để gởi tất cả các  bit dữ liệu lên đường truyền  Thời gian lan truyền (tprop): thời gian cần thiết để 1 bit đi từ 
- Xem thêm -

Xem thêm: Bài giảng Truyền thông kỹ thuật số: Chương 4 - Trịnh Huy Hoàng, Bài giảng Truyền thông kỹ thuật số: Chương 4 - Trịnh Huy Hoàng, Điều khiển dòng dữ liệu

Tài liệu mới đăng

Gợi ý tài liệu liên quan cho bạn