Bải giảng Tầng liên kết dữ liệu - Ngô Bá Hùng

pdf 75 trang hapham 2470
Bạn đang xem 20 trang mẫu của tài liệu "Bải giảng Tầng liên kết dữ liệu - Ngô Bá Hùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_tang_lien_ket_du_lieu_ngo_ba_hung.pdf

Nội dung text: Bải giảng Tầng liên kết dữ liệu - Ngô Bá Hùng

  1. Tầng Liên Kết Dữ Liệu (Data Link Layer) Trình bày: Ngơ Bá Hùng Khoa CNTT&TT Đại Học Cần Thơ
  2. Mục đích  Chương này nhằm giới thiệu những nội dung cơ bản sau: • Các chức năng cơ bản mà tầng liên kết dữ liệu đảm trách • Vai trị của khung trong vấn đề xử lý lỗi đường truyền và các phương pháp xác định khung • Giới thiệu các phương pháp phát hiện lỗi như Phương pháp kiểm tra chẵn lẽ, Phương pháp kiểm tra theo chiều dọc và Phương pháp kiểm tra phần dư tuần hồn. • Giới thiệu các giao thức điều khiển lỗi cho phép theo dõi tình trạng lỗi của dữ liệu gởi đi • Giới thiệu các giao thức xử lý lỗi chỉ ra các cách giải quyết trường hợp dữ liệu truyền đi bị lỗi. Đại Học Cần Thơ - Khoa CNTT&TT
  3. Yêu cầu  Sau khi học xong chương này, người học phải cĩ được những khả năng sau: • Biện luận được vai trị của tầng liên kết dữ liệu trong vấn đề xử lý lỗi dữ liệu truyền nhận • Trình bày được các phương pháp định khung đếm ký tự, phương pháp sử dụng byte là cờ và phương pháp sử dụng cờ đặc biệt • Phân biệt được sự khác nhau giữa các chức năng phát hiện lỗi, điều khiển lỗi và xử lý lỗi của tầng hai. • Cài đặt được cơ chế phát hiện lỗi theo các phương pháp kiểm tra chẵn lẽ, Phương pháp kiểm tra theo chiều dọc và Phương pháp kiểm tra phần dư tuần hồn • Cài đặt được các giao thức điều khiển lỗi Dừng và chờ, giao thức cửa sổ trượt • Cài đặc được giao thức xử lý lỗi Go-Back-N và giao thức Selective Repeat • Trình bày được ý tưởng cơ bản của giao thức HDLC Đại Học Cần Thơ - Khoa CNTT&TT
  4. Chức năng của tầng liên kết dữ liệu  Cung cấp một giao diện được định nghĩa chuẩn cho các dịch vụ cung cấp cho tầng mạng.  Xử lý lỗi đường truyền.  Điều khiển luồng dữ liệu nhờ đĩ bên truyền nhanh khơng làm tràn dữ liệu bên nhận chậm Đại Học Cần Thơ - Khoa CNTT&TT
  5. Chức năng của tầng liên kết dữ liệu  Cung cấp các dịch vụ cho tầng mạng  Truyền tải dữ liệu nhận được từ tầng mạng trên máy gởi đến tầng mạng trên máy nhận Đại Học Cần Thơ - Khoa CNTT&TT
  6. Chức năng của tầng liên kết dữ liệu Các dịch vụ cơ bản  Dịch vụ khơng nối kết khơng báo nhận (unacknowledged connectionless service), thường được sử dụng trong mạng LAN.  Dịch vụ khơng nối kết cĩ báo nhận (acknowledged connectionless service), thường dùng cho mạng khơng dây.  Dịch vụ nối kết định hướng cĩ báo nhận (acknowledged connection-oriented service), thường dùng trong mạng WANs. Đại Học Cần Thơ - Khoa CNTT&TT
  7. Chức năng của tầng liên kết dữ liệu Định khung  Qui định khuơn dạng của khung được sử dụng ở tầng Liên kết dữ liệu  3 phương pháp định khung phổ biến: • Đếm ký tự (Charater count) • Sử dụng các bytes làm cờ hiệu và các bytes độn (Flag byte with byte stuffing) • Sử dụng cờ bắt đầu và kết thúc khung cùng với các bit độn (Starting and ending flags with bit stuffing) Đại Học Cần Thơ - Khoa CNTT&TT
  8. Phương pháp đếm ký tự (Character Count) Đại Học Cần Thơ - Khoa CNTT&TT
  9. Phương pháp sử dụng byte làm cờ và các byte độn (Flag byte with byte stuffing) (a)Khung được đánh dấu bởi cờ hiệu, (b) Dữ liệu cĩ chứa cờ hiệu và byte ESC. Đại Học Cần Thơ - Khoa CNTT&TT
  10. Phương pháp sử dụng cờ bắt đầu và kết thúc khung cùng với các bit độn (Starting and ending flags with bit stuffing)  Sử dụng mẫu bit đặc biệt, 01111110, để làm cờ đánh dấu điểm bắt đầu và kết thúc khung (a) Dữ liệu gốc, (b) Dữ liệu chuyển lên đường truyền, (c) Dữ liệu nhận sau khi loại bỏ các bit độn. Đại Học Cần Thơ - Khoa CNTT&TT
  11. Chức năng của tầng liên kết dữ liệu Điều khiển lỗi (Error Control)  Cách nào để đảm bảo rằng tồn bộ các khung đã được phân phát đến tầng mạng và được phân phát theo đúng trình tự chúng đã được gởi ? • Người nhận báo về tình trạng nhận khung: • Sử dụng khung báo nhận (acknowledgement) • Tránh chờ vĩnh viễn: • Sử dụng bộ đếm thời gian (timer) + time-out • Trùng lắp gĩi tin nhận: • Gán số thứ tự cho khung Đại Học Cần Thơ - Khoa CNTT&TT
  12. Chức năng của tầng liên kết dữ liệu Điều khiển luồng (Flow Control)  Giải quyết sự khác biệt về tốc độ truyền / nhận dữ liệu của bên truyền và bên nhận  Hai tiếp cận: • Tiếp cận điều khiển luồng dựa trên phản hồi (feedback based flow control): Người nhận gởi thơng tin về cho người gởi cho phép người gởi gởi thêm dữ liệu, cũng như báo với người gởi những gì mà người nhận đang làm. • Tiếp cận điều khiển luồng dựa trên tần số (rate based flow control): Trong giao thức truyền tin cài sẵn cơ chế giới hạn tần suất mà người gởi cĩ thể truyền tin Đại Học Cần Thơ - Khoa CNTT&TT
  13. Vấn đề xử lý lỗi
  14. Vấn đề xử lý lỗi  Bộ mã phát hiện lỗi là gì ?  Những bộ mã phát hiện lỗi • Kiểm tra chẵn lẽ (Parity checks) • Kiểm tra thêm theo chiều dọc (Longitudinal reduncy check) • Kiểm tra phần dư tuần hồn (Cyclic redundancy check) Đại Học Cần Thơ - Khoa CNTT&TT
  15. Lỗi trên đường truyền  Bit 1 thành bit 0 và ngược lại  Tỷ lệ lỗi •  = Số bít bị lỗi / Tổng số bít được truyền •  : 10-5 đến 10-8 • 88% : sai lệch một bit • 10% : sai lệch 2 bit kề nhau Đại Học Cần Thơ - Khoa CNTT&TT
  16. Bộ mã phát hiện lỗi  Bên cạnh các thơng tin hữu ích cần truyền đi, ta thêm vào các thơng tin điều khiển. Bên nhận thực hiện việc giải mã các thơng tin điều khiển này để phân tích xem thơng tin nhận được là chính xác hay cĩ lỗI. Thơng tin Thơng tin hữu Thơng tin hữu ích ích hữu ích Thiết bị Bộ Bộ Thiết bị mã hĩa giải mã nhận gởi + Thơng tin điều khiển Đại Học Cần Thơ - Khoa CNTT&TT
  17. Bộ mã phát hiện lỗi  Bộ mã sửa lỗi (Error-correcting codes): • Cho phép bên nhận cĩ thể tính tốn và suy ra được các thơng tin bị lỗi (sửa dữ liệu bị lỗi)  Bộ mã phát hiện lỗi (Error-detecting codes): • Cho phép bên nhận phát hiện ra dữ liệu cĩ lỗi hay khơng • Nếu cĩ lỗi bên nhận sẽ yêu cầu bên gởi gởi lại thơng tin  Các hệ thống mạng ngày nay cĩ xu hướng chọn bộ mã phát hiện lỗi. Đại Học Cần Thơ - Khoa CNTT&TT
  18. Phương pháp Kiểm tra chẵn lẽ (Parity Check)  xxxxxxx: chuỗi bits dữ liệu cần truyền  Thêm vào 1 bit chẵn-lẽ p  Chuỗi bit truyền là: xxxxxxxp  p được tính để đảm bảo: • Phương pháp kiểm tra chẵn: xxxxxxxp cĩ một số chẵn các bit 1 • Phương pháp kiểm tra lẽ: xxxxxxxp cĩ một số lẽ các bit 1  Bên nhận nhận được chuỗi xxxxxxxp: • Phương pháp kiểm tra chẵn: • Nếu cĩ 1 số chẵn các bit 1: Dữ liệu xxxxxxx khơng cĩ lỗi • Ngược lại là cĩ lỗi • Phương pháp kiểm tra lẽ: • Nếu cĩ 1 số lẽ các bit 1: Dữ liệu xxxxxxx khơng cĩ lỗi • Ngược lại là cĩ lỗi Đại Học Cần Thơ - Khoa CNTT&TT
  19. Phương pháp Kiểm tra chẵn lẽ (Parity Check)  Ví dụ: Cần truyền ký tự G = 1110001  Sử dụng phương pháp kiểm tra chẵn: • p=0 • Chuỗi truyền đi là: 11100010  Bên nhận nhận được chuỗi: • 11100010: 4 bit 1=> khơng cĩ lỗi • 11000010: 3 bit 1=> dữ liệu cĩ lỗi • 11000110: 4 bit 1=> khơng cĩ lỗi ??? Đại Học Cần Thơ - Khoa CNTT&TT
  20. Kiểm tra thêm theo chiều dọc (Longitudinal Redundancy Check or Checksum) Parity bits 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 Data bits 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 LRC bits 0 1 1 1 1 1 1 0 Đại Học Cần Thơ - Khoa CNTT&TT
  21. Kiểm tra phần dư tuần hồn (Cyclic Redundancy Check)  Một số phương pháp cài đặt khác nhau như: • Modulo 2, • Đa thức, • Thanh ghi dịch với các cổng Exclusive-or Đại Học Cần Thơ - Khoa CNTT&TT
  22. Kiểm tra phần dư tuần hồn Modulo 2  Giả sử ta cĩ: • M: Thơng điệp k bit cần gởi sang bên nhận. • F : Chuỗi kiểm tra khung FCS gồm r bit là thơng tin điều khiển được gởi theo M để giúp bên nhận cĩ thể phát hiện được lỗi. • T =MF là khung (k + r) bit, được hình thành bằng cách nối M và F lại với nhau. T sẽ được truyền sang bên nhận, với r < k  Với M (k bit) , P (r+1 bit), F (r bit), T (k+r bit), thủ tục tiến hành để xác định checksum F và tạo khung truyền như sau: • Nối r bit 0 vào cuối M, hay thực hiện phép nhân M với 2r • Dùng phép chia modulo 2 chia chuỗi bit M*2r cho P. • Phần dư của phép chia sẽ được cộng với M*2r tạo thành khung T truyền đi. • Trong đĩ P được chọn dài hơn F một bit, và cả hai bit cao nhất và thấp nhất phải là 1  Bên nhận thực hiện phép chia T cho P: • Chia hết: T khơng cĩ lỗi, Dữ liệu M từ T – k bits trọng số cao • Chia khơng hết: T cĩ lỗi Đại Học Cần Thơ - Khoa CNTT&TT
  23. Kiểm tra phần dư tuần hồn Modulo 2  Giả sử ta cĩ: • M = 1010001101 (10 bit) • P = 110101 (6 bit) • FCS cần phải tính tốn ( 5 bit)  Lần lượt thực hiện các bước sau: • Tính M*25 = 101000110100000. • Thực hiện phép chia modulo M*25 cho P ta được phần dư F = 01110 • Tạo khung gởi đi là T = M*2r + F = 101000110101110 Đại Học Cần Thơ - Khoa CNTT&TT
  24. Đại Học Cần Thơ - Khoa CNTT&TT
  25. Kiểm tra phần dư tuần hồn Phương pháp đa thức  Giả sử ta cĩ M=110011và P = 11001, khi đĩ M và P được biểu diễn lại bằng 2 đa thức sau: • M(x) = x5 + x4 + x + 1 • P(x) = x4 + x3 + 1  Quá trình tính CRC được mơ tả dưới dạng các biểu thức sau: X n M( X ) R( X ) Q( X ) P( X ) P( X ) T(X) X n M(X) R(X) Đại Học Cần Thơ - Khoa CNTT&TT
  26. Kiểm tra phần dư tuần hồn Phương pháp đa thức Đại Học Cần Thơ - Khoa CNTT&TT
  27. Kiểm tra phần dư tuần hồn Phương pháp đa thức Đại Học Cần Thơ - Khoa CNTT&TT
  28. TÝnh FCS sư dơng thanh ghi dÞch vµ cỉng XOR Thí dụ: M=1010001101, P=110101 101000110100000 A B C D E + + + Step A B C D E Input 7 0 1 1 1 0 1 8 1 1 1 0 1 1 Step A B C D E Input 9 0 1 1 1 1 0 Thanh ghi dÞch bit 0 0 0 0 0 0 10 1 1 1 1 1 1 + M¹ch XOR 1 0 0 0 0 1 1 11 0 1 0 1 1 0 2 0 0 0 1 0 0 12 1 0 1 1 0 0 3 0 0 1 0 1 1 13 1 1 0 0 1 0 4 0 1 0 1 0 0 14 0 0 1 1 1 0 5 1 0 1 0 0 0 15 0 1 1 1 0 0 6 1 1 1 0 1 0 Đại Học Cần Thơ - Khoa CNTT&TT
  29. VẤN ĐỀ ĐIỀU KHIỂN LỖI (Error Control)
  30. Điều khiển lỗi Đại Học Cần Thơ - Khoa CNTT&TT
  31. Stop and Wait - Diagram  Người gởi khơng biết được khung cĩ đến nơi nhận tốt hay khơng. • Giải pháp: Khung báo nhận.  Các khung báo nhận cĩ thể bị mất. • Giải pháp: • Timer. • Time-out • Gởi lại  Bên nhận khơng phân biệt được các khung trùng lắp do bên gởi gởi lại. • Giải pháp: Mỗi khung sẽ cĩ một số thứ tự Đại Học Cần Thơ - Khoa CNTT&TT
  32. Vấn đề truyền tải thơng tin theo hai chiều (Duplex)  Stop and Wait: truyền đơn cơng (Simplex)  Mong muốn việc truyền tải thơng tin theo chế độ song cơng (Duplex) để khai thác tối đa năng lực kênh truyền. Nguyên tắc thực hiện như sau: • Vẫn thực hiện việc truyền tải khung, • Phân loại khung: DATA, ACK, NACK • Sử dụng kỹ thuật piggyback. Đại Học Cần Thơ - Khoa CNTT&TT
  33. Giao thức cửa sổ trượt (Sliding windows)  Thay vì chỉ truyền đi một khung tại một thời điểm (simplex), giao thức cửa sổ trượt cho phép bên gởi cĩ thể gởi đi nhiều khung.  Cửa sổ gởi (Sending Windows): Bên gởi theo dõi các khung mà nĩ được phép gởi đi và các khung mà nĩ đang chờ báo nhận  Cửa sổ nhận (Receiving Windows): Bên nhận theo dõi các khung mà nĩ được phép nhận Đại Học Cần Thơ - Khoa CNTT&TT
  34. Cửa sổ trượt (Sliding Windows)  Cửa sổ gồm cĩ cửa trước và cửa sau cùng di chuyển theo một chiều.  Kích thước của cửa sổ là chiều của cung giới hạn từ cửa sau đến cửa trước.  Kích thước của cửa sổ cĩ thể thay đổi: • Khi cửa trước di chuyển, cửa sổ được mở rộng ra. • Khi cửa sau di chuyển, kích thước của cửa sổ bị thu hẹp lại và nĩ làm cho cửa sổ thay đổi vị trí, trượt / quay quanh một tâm của vịng Đại Học Cần Thơ - Khoa CNTT&TT
  35. Cửa sổ trượt (Sliding Windows)  Kích thước nhỏ nhất của cửa số là 0  Kích thước tối đa của cửa sổ là n-1  k bit để đánh số thứ tự khung [0- (2k-1)] => Khi đĩ cửa sổ trượt sẽ được chia thành 2k vị trí tương ứng với 2k khung.  Đối với cửa sổ gởi, các vị trí nằm trong cửa sổ trượt biểu hiện số thứ tự của các khung mà bên gởi đang chờ bên nhận báo nhận. Phần bên ngồi cửa sổ là các khung cĩ thể gởi tiếp. Tuy nhiên phải đảm bảo rằng, cửa sổ gởi khơng được vượt quá kích thước tối đa của cửa sổ. Đại Học Cần Thơ - Khoa CNTT&TT
  36. Cửa sổ trượt (Sliding Windows)  Đối với bên nhận, các vị trí nằm trong cửa sổ biểu hiện số thứ tự các khung mà nĩ đang sẵn sàng chờ nhận.  Kích thước tối đa của cửa sổ biểu thị dung lượng bộ nhớ đệm của bên nhận cĩ thể lưu tạm thời các gĩi tin nhận được trước khi xử lý chúng.  Giả sử bên nhận cĩ một vùng bộ nhớ đệm cĩ khả năng lưu trữ 4 khung nhận được. Khi đĩ, kích thước tối đa của cửa sổ sẽ là 4 Đại Học Cần Thơ - Khoa CNTT&TT
  37. Họat động cửa sổ trượt Đại Học Cần Thơ - Khoa CNTT&TT
  38. Ví dụ giao thức cửa sổ trượt với kích thước là 1 Chú ý: • A send (seq, ack, packet number) • Dấu (*) khung đã nhận tốt (a): Việc gởi nhận diễn ra bình thường theo đúng tuần tự (b): Việc gởi nhận diễn ra theo một trình tự bất kỳ Đại Học Cần Thơ - Khoa CNTT&TT
  39. Giao thức Go-Back-N  Khi một khung bị lỗi. Bên nhận bỏ qua khung. Vì khơng một báo nhận nào gởi về cho bên nhận nên sự kiện quá thời gian xảy ra, bên gởi phải gởi lại khung bị lỗi và tồn bộ các khung phía sau nĩ. Đại Học Cần Thơ - Khoa CNTT&TT
  40. Giao thức Go-Back-N Đại Học Cần Thơ - Khoa CNTT&TT
  41. Giao thức Selective Repeat Đại Học Cần Thơ - Khoa CNTT&TT
  42. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Receiver Đã gởi và chờ bào nhận các khung 0,1,2,3,4,5,6 Đang sẵn sàng chờ nhận các khung 0,1,2,3,4,5,6 Đại Học Cần Thơ - Khoa CNTT&TT
  43. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Receiver Đã gởi và chờ bào nhận các khung 0,1,2,3,4,5,6 Nhận các 0,1,2,3,4,5,6, Kiểm tra lỗi Đại Học Cần Thơ - Khoa CNTT&TT
  44. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Receiver Đã gởi và chờ báo nhận các khung 0,1,2,3,4,5,6 Khung 0,1,2,3,4,5,6 khơng cĩ lỗi, Gởi báo nhận cho các khung 0,1,2,3,4,5,6 Sẵn sàng chờ nhận các khung 7,0,1,2,3,4,5 Đại Học Cần Thơ - Khoa CNTT&TT
  45. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Đường truyền bị lỗi Khung báo nhận khơng đến nơi X Receiver Đã gởi và chờ bào nhận các khung 0,1,2,3,4,5,6 Khung 0,1,2,3,4,5,6 khơng cĩ lỗi, Gởi báo nhận cho các khung 0,1,2,3,4,5,6 Sẵn sàng chờ nhận các khung 7,0,1,2,3,4,5 Đại Học Cần Thơ - Khoa CNTT&TT
  46. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Receiver Quá thời hạn Gởi lại khung 0 Chờ báo nhận các khung 0,1,2,3,4,5,6 Đang sẵn sàng chờ nhận các khung 7,0,1,2,3,4,5 Đại Học Cần Thơ - Khoa CNTT&TT
  47. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Receiver Quá thời hạn Gởi lại khung 0 Chờ báo nhận các khung 0,1,2,3,4,5,6 Khung 0 đến nơi, điều gì xảy ra tại bên nhận? Đại Học Cần Thơ - Khoa CNTT&TT
  48. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Receiver Quá thời hạn Gởi lại khung 0 Khung 0 đến nơi, Chờ báo nhận Nếu giao thức xử lý lỗi Go-Back-N các khung 0,1,2,3,4,5,6 Sẽ báo lỗi vì khung đang chờ để nhận theo thứ tự là khung số 7, rồi mới đến 0 Đại Học Cần Thơ - Khoa CNTT&TT
  49. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 7 Sender Receiver Quá thời hạn Gởi lại khung 0 Khung 0 đến nơi, Chờ bào nhận Nếu giao thức xử lý lỗi Selective-Repeat các khung 0,1,2,3,4,5,6 Khung 0 là khung đang chờ để nhận, => chuyển lên tầng mạng, nhận khung 0 hai lần!! Đại Học Cần Thơ - Khoa CNTT&TT
  50. Xác định kích thước cửa sổ trượt  Trong Go-Back-N: • Kích thước cửa sổ trượt tối đa 2k-1  Trong Selective-Repeat • Phải đảm bảo rằng cửa sổ nhận mới khơng đè chồng lên cửa sổ trước đĩ. • Kích thước tối đa của của sổ nhận bằng một nửa khoảng đánh số thứ tự của khung: 2k-1 • Ví dụ: • Nếu dùng 3 bit để đánh số thứ tự khung từ 0 đến 7 thì kích thước tối đa cửa sổ nhận là (7-0+1)/2 =4. • Nếu dùng 4 bit để đánh số thứ tự khung từ 0 đến 15 thì kích thước tối đa cửa sổ nhận là (15-0+1)/2 =8. Đại Học Cần Thơ - Khoa CNTT&TT
  51. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung, cơ chế xử lý lỗi là Selective- Repeat => Kích thước cửa sổ là 4 Sender Receiver Đã gởi và chờ báo nhận các khung 0,1,2,3, Đang sẵn sàng chờ nhận các khung 0,1,2,3 Đại Học Cần Thơ - Khoa CNTT&TT
  52. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 4 Sender Receiver Đã gởi và chờ báo nhận các khung 0,1,2,3 Nhận các 0,1,2,3 Kiểm tra lỗi Đại Học Cần Thơ - Khoa CNTT&TT
  53. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 4 Sender Receiver Đã gởi và chờ báo nhận các khung 0,1,2,3 Khung 0,1,2,3 khơng cĩ lỗi, Gởi báo nhận cho các khung 0,1,2,3 Sẵn sàng chờ nhận các khung 4,5,6,7 Đại Học Cần Thơ - Khoa CNTT&TT
  54. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 4 Sender Đường truỳên bị lỗi Khung báo nhận khơng đến nơi X Receiver Đã gởi và chờ báo nhận các khung 0,1,2,3 Khung 0,1,2,3 khơng cĩ lỗi, Gởi báo nhận cho các khung 0,1,2,3 Sẵn sàng chờ nhận các khung 4,5,6,7 Đại Học Cần Thơ - Khoa CNTT&TT
  55. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 4 Sender Receiver Quá thời hạn Gởi lại khung 0 Chờ bào nhận các khung 0,1,2,3 Đang sẵn sàng chờ nhận các khung 4,5,6,7 Đại Học Cần Thơ - Khoa CNTT&TT
  56. Xác định kích thước cửa sổ trượt  Xét cửa sổ trượt sử dụng 3 bits để đánh chỉ số khung => Kích thước cửa sổ là 4 Sender Receiver Quá thời hạn Gởi lại khung 0 Chờ bào nhận các khung 0,1,2,3 Khung 0 đến nơi, Là khung đã nhận => khơng đưa lên tầng mạng Đại Học Cần Thơ - Khoa CNTT&TT
  57. Kích thước vùng đệm dữ liệu (buffer)  Số lượng buffer chỉ cần bằng kích thước tối đa của cửa sổ nhận, khơng cần thiết phải bằng số lượng khung.  Ví dụ: Nếu dùng 3 bit để đánh số thứ tự khung từ 0 đến 7 thì kích thước tối đa cửa sổ nhận là (7-0+1)/2 =4 và số lượng buffer cần thiết cũng là 4. Đại Học Cần Thơ - Khoa CNTT&TT
  58. Thời điểm gởi báo nhận  Piggy-back: Gĩi báo nhận vào khung dữ liệu của bên nhận  Bên nhận khơng cịn dữ liệu để gởi đi? • Mỗi lần khung đến khởi động một timer • Time – out mà bên nhận khơng cĩ dữ liệu để gởi => Gởi một khung báo nhận riêng Đại Học Cần Thơ - Khoa CNTT&TT
  59. GIAO THỨC HDLC (High Level Data Link Control)
  60. Các loại trạm (HDLC Station Types)  Primary station • Điều khiển đường nối kết • Khung gởi đi là các lệnh • Duy trì nhiều nối kết luận lý đến các secondary station  Secondary station • Chịu sự điều khiển của primary station • Các khung gởi đi là các trả lời  Combined station • Cĩ đặc tính của cả Primary station và Secondary station • Cĩ thể gởi lệnh và trả lời Đại Học Cần Thơ - Khoa CNTT&TT
  61. Các cấu hình đường nối kết (HDLC Link Configurations)  Khơng cân bằng (Unbalanced) • Một Primary station và một hoặc nhiều secondary stations • Hỗ trợ full duplex và half duplex  Cân bằng (Balanced) • Gồm hai combined stations • Hỗ trợ full duplex và half duplex Đại Học Cần Thơ - Khoa CNTT&TT
  62. Các chế độ truyền tải (HDLC Transfer Modes )  Normal Response Mode (NRM)  Asynchronous Balanced Mode (ABM)  Asynchronous Response Mode (ARM) Đại Học Cần Thơ - Khoa CNTT&TT
  63. Các chế độ truyền tải (HDLC Transfer Modes )  Normal Response Mode (NRM) • Cấu hình khơng cân bằng • Primary khởi động cuộc truyền tải tới secondary • Secondary chỉ cĩ thể truyền dữ liệu dưới dạng các trả lời cho các yêu cầu của primary • Được sử dụng trên các loại cáp nhiều sợi • Máy tính đĩng vai trị primary • Terminals đĩng vai trị secondary Đại Học Cần Thơ - Khoa CNTT&TT
  64. Các chế độ truyền tải (HDLC Transfer Modes )  Asynchronous Balanced Mode (ABM) • Cấu hình cân bằng • Các trạm đều cĩ thể khởi động một cuộc truyền tải mà khơng cần cĩ phép • Được sử dụng rộng rãi Đại Học Cần Thơ - Khoa CNTT&TT
  65. HDLC Transfer Modes (3)  Asynchronous Response Mode (ARM) • Cấu hình khơng cân bằng • Secondary cĩ thể khởi động một cuộc truyền tải mà khơng cần xin phép từ primary • Primary đảm bảo về đường truyền • Ít được dùng Đại Học Cần Thơ - Khoa CNTT&TT
  66. Cấu trúc khung  Truyền tải đồng bộ (Synchronous transmission)  Tất cả các cuộc truyền tải đều sử dụng khung  Một dạng khung cho tất cả các loại dữ liệu và điều khiển Đại Học Cần Thơ - Khoa CNTT&TT
  67. Cấu trúc khung  Flag (8 bit): 01111110 , Sử dụng kỹ thuật bít độn  Address (8 bit): Vùng ghi địa chỉ để xác định máy phụ được phép truyền hay nhận khung.  Control (8bit): Được dùng để xác định loại khung: • Thơng tin (Information), • Điều khiển (Supervisory ) • Khơng đánh số (Unnumbered).  Information(128-1024 bytes): Vùng chứa dữ liệu cần truyền.  FCS (Frame Check Sequence- 8 bit) • CRC-CCITT = X16 + X12 + X5 +1 Đại Học Cần Thơ - Khoa CNTT&TT
  68. Control Field  Khác nhau tùy thuộc vào kiểu khung • Information : • Khung chứa dữ liệu được truyền đi • Đồng thời chứa thơng tin báo nhận (piggy-back) • Supervisory: Khung báo nhận khi khơng cịn dữ liệu để gởi ngược lại • Unnumbered: Dùng để điều khiển nối kết Đại Học Cần Thơ - Khoa CNTT&TT
  69. Control Field Diagram Đại Học Cần Thơ - Khoa CNTT&TT
  70. Poll/Final Bit  Được sử dụng tùy thuộc vào ngữ cảnh  Nếu là khung lệnh • Cĩ ý nghĩa là Poll • Giá trị 1 để yêu cầu bên kia trả lời  Nếu là khung trả lời • Cĩ ý nghĩa là Final • Giá trị 1 để biểu thị rằng nĩ kết thúc việc gởi Đại Học Cần Thơ - Khoa CNTT&TT
  71. Supervisory function bits SS=00 RR (Receive Ready), là khung báo nhận, thơng báo sẵn sàng nhận dữ liệu, đã nhận tốt đến khung Next-1, và đang đợi nhận khung Next. Được dùng đến khi khơng cịn dữ liệu gởi từ chiều ngược lại để vừa làm báo nhận (piggyback) SS=01 REJ (Reject): đây là một khung báo khơng nhận (negative acknowledge), yêu cầu gởi lại các khung, từ khung Next. SS=10 RNR (Receive Not Ready): thơng báo khơng sẵn sàng nhận tin, đã nhận đến đến khung thứ Next-1, chưa sẵn sàng nhận khung Next SS=11 SREJ (Selective Reject): yêu cầu gởi lại một khung cĩ số thức tự là Next Đại Học Cần Thơ - Khoa CNTT&TT
  72. Unumbered Function Bits 1111P100 Lệnh này dùng để thiết lập chế độ truyền tải SABM (Set Asynchronous Balanced Mode). 1100P001 Lệnh này dùng để thiết lập chế độ truyền tải SNRM (Set Normal Response Mode). 1111P000 Lệnh này dùng để thiết lập chế độ truyền tải SARM (Set Asynchronous Response Mode). 1100P010 Lệnh này để yêu cầu xĩa nối kết DISC (Disconnect). 1100F110 UA (Unumbered Acknowledgment). Được dùng bởi các trạm phụ để báo với trạm chính rằng nĩ đã nhận và chấp nhận các lệnh loại U ở trên. 1100F001 CMDR/FRMR (Command Reject/Frame Reject). Được dùng bởi trạm phụ để báo rằng nĩ khơng chấp nhận một lệnh mà nĩ đã nhận chính xác. Đại Học Cần Thơ - Khoa CNTT&TT
  73. Một số kịch bản Đại Học Cần Thơ - Khoa CNTT&TT
  74. Một số kịch bản Đại Học Cần Thơ - Khoa CNTT&TT
  75. Giao thức Điểm nối điểm (PPP- Point-to-Point Protocol)  Cho phép truyền tải thơng tin giữa các router trên mạng hay để cho phép nối các máy tính người dùng vào mạng của nhà cung cấp dịch vụ Internet (ISP)  Giao thức điều khiển đường truyền LCP ( Link Control Protocol).  Giao thức thương lượng về các tùy chọn tầng mạng NCP (Network Control Protocol) Đại Học Cần Thơ - Khoa CNTT&TT