Giáo trình Thông tin dữ liệu và mạng máy tính - Chương 3: Cơ sở giao thức
Ở nội dung các chương trước đã đề cập đến các vấn đđề truyền khung thông tin từ phía
phát đến phía thu và các kỹ thuật để phía thu xác định xem có lỗi xảy ra trong quá
trình truyền dữ liệu hay không.
Nội dung chương này sẽ đề cập đến những nghi thức cơ sở làm nền tảng truyền dữ
liệu, và một phần giao thức điều khiển tuyến dữ liệu (data link control protocol)
Truyền dữ liệu được phân thành 2 kiểu: truyền thông không định hướng và truyền
thông có định hướng.
• Truyền thông không định hướng (connectionless mode transmission hay còn
gọi là best - try transmission). Với kiểu truyền này, nếu trong quá trình thu dữ
liệu mà phát hiện ra lỗi thì nội dung của cả khối dữ liệu sẽ bị bỏ qua.
• Truyền thông định hướng: còn gọi là truyền thông tin cậy (connection –
oriented hay reliable transmission). Với kiểu truyền này, sau khi phát hiện ra
lỗi thì cả hai phía thu và phát sẽ thực thi theo một qui luật thực hiện việc truyền
lại đảm bảo thông tin được thu một cách tin cậy. Để thực hiện điều này, thiết bị
điều khiển tại đích phải thông báo với máy phát khi phát hiện một lỗi truyền và
yêu cầu máy phát gởi lại một bản copy khác của khung bị lỗi. Chu kỳ phối hợp
phát hiện và sửa lỗi được gọi là kiểm soát lỗi.
Tóm tắt nội dung tài liệu: Giáo trình Thông tin dữ liệu và mạng máy tính - Chương 3: Cơ sở giao thức
Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ĐH Kỹ thuật Công nghệ Trang 60 Chương 3: CƠ SỞ GIAO THỨC (PROTOCOL BASICS) 3.1. Tổng quan: Ở nội dung các chương trước đã đề cập đến các vấn đđề truyền khung thông tin từ phía phát đến phía thu và các kỹ thuật để phía thu xác định xem có lỗi xảy ra trong quá trình truyền dữ liệu hay không. Nội dung chương này sẽ đề cập đến những nghi thức cơ sở làm nền tảng truyền dữ liệu, và một phần giao thức điều khiển tuyến dữ liệu (data link control protocol) Truyền dữ liệu được phân thành 2 kiểu: truyền thông không định hướng và truyền thông có định hướng. • Truyền thông không định hướng (connectionless mode transmission hay còn gọi là best - try transmission). Với kiểu truyền này, nếu trong quá trình thu dữ liệu mà phát hiện ra lỗi thì nội dung của cả khối dữ liệu sẽ bị bỏ qua. • Truyền thông định hướng: còn gọi là truyền thông tin cậy (connection – oriented hay reliable transmission). Với kiểu truyền này, sau khi phát hiện ra lỗi thì cả hai phía thu và phát sẽ thực thi theo một qui luật thực hiện việc truyền lại đảm bảo thông tin được thu một cách tin cậy. Để thực hiện điều này, thiết bị điều khiển tại đích phải thông báo với máy phát khi phát hiện một lỗi truyền và yêu cầu máy phát gởi lại một bản copy khác của khung bị lỗi. Chu kỳ phối hợp phát hiện và sửa lỗi được gọi là kiểm soát lỗi. 3.2. Kiểm soát lỗi: • Kiểm soát lỗi bằng tay: Khi nhập dữ liệu vào máy tính từ bàn phím, nếu ký tự hiện lên màn hình khác với ký tự đã ngõ. Khi đó, người dùng chỉ cần gõ vào một ký tự điều khiển xoá thích hợp thì chương trình điều khiển sẽ loại bỏ ký tự nhập vào và xoá khỏi màn hình. Chế độ kiểm soát lỗi này được gọi là kiểm soát lỗi bằng tay. • Kiểm tra dội lại ( echo checking): Khi một thiết bị đầu cuối kết nối đến máy tính ở xa thông qua mạng PSTN và một modem. Thay vì, mỗi ký tự được hiển thị một cách trực tiếp lên màn hình của thiết bị đầu cuối, trước tiên nó lại truyền đến máy tính đầu xa. Sau đó ký tự lại được máy tính đầu xa đọc, lưu giữ và truyền trở lại đầu cuối để hiển thị ra màn hình. Nếu ký tự hiện lên màn hình khác khác với ký tự đã gõ thì người dùng khởi động truyền một ký tự xóa thích hợp. Chế độ kiểm soát lỗi này được gọi là kiểm tra dội lại. • Kiểm soát lỗi tự động Đối với việc truyền dữ liệu, khi một thiết bị đầu cuối truyền các khối ký tự hay các khung dữ liệu qua một liên kết số liệu nối tiếp đến một thiết bị đầu cuối khác. Nếu thiết bị đầu cuối đích thực hiện việc kiểm soát lỗi một cách tự động mà không có sự can thiệp của người dùng thì được gọi là ARQ (Automatic Repeat Request). Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ARQ được phân làm 2 loại chính như sau: Hình 3.1: phân loại các kiểu RQ + Primary – P (phía sơ cấp): là phía phát các khung dữ liệu. + Secondary – S (phía thứ cấp): phía thu nhận các khung dữ liệu từ P. + I – frame (Information frame): khung thông tin là các khung chứa dữ liệu phía phát truyền cho phía thu. Trong mỗi khung thông tin chứa số thứ tự của khung thông tin đó – I(N). + ACK – frame (Acknowledge frame): là những khung được S truyền đến P để báo là đã nhận được dữ liệu tốt (không bị lỗi) + NAK – frame (Negative Acknowledge frame): là những khung được S truyền đến P để báo là nhận được khung dữ liệu bị lỗi Hình 3.2: chiều truyền tin của P và S 3.3. Idle RQ: 3.3.1 Đặc điểm: - Sử dụng trong kiểu truyền dữ liệu định hướng ký tự - Hoạt động theo chế độ bán song công, vì sau khi P gởi một I – frame, nó phải đợi cho đến khi nhận một thông báo từ phía S cho biết I - frame đó nhận được thành công hay không. Sau đó, P gởi I - frame kế tiếp nếu khung trước đó được nhận đúng hoặc truyền lại khung cũ nếu I - frame không được nhận thành công. Có 2 loại Idle RQ: + Truyền lại ngầm định (không tường minh – Implicit retransmission): S báoACK - frame nếu nhận được I - frame đúng và sẽ không báo ACK - frame nếu nhận sai. Do đó, nếu P không nhận được ACK - frame thì hiểu là I - frame đã bị lỗi và phải ĐH Kỹ thuật Công nghệ Trang 61 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức truyền lại. Thời gian chờ ACK - frame của P được xác định trước và không được lâu hơn thời gian quá hạn (time expires) + Truyền lại tường minh (yêu cầu rõ – Implicit retransmission) : S báoACK - frame nếu nhận I - frame đúng và báo NAK nếu nhận I - frame bị lỗi. 3.3.2 Idle ngầm định: a./ b./ c./ Hình 3.3: Idle RQ không tường minh a./ Truyền đúng ĐH Kỹ thuật Công nghệ Trang 62 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức b./ I – frame bị lỗi c./ ACK – frame bị lỗi - P chỉ có một I - frame đang chờ ACK - frame tại một thời điểm. - Khi nhận một I - frame không bị lỗi. S truyền về P một ACK - frame. Khi P nhận được ACK - frame của khung I(N), P sẽ tiếp tục truyền đi khung kế tiếp I(N+1). - Khi S nhận được một I – frame bị lỗi, S sẽ bỏ qua và không gởi lạiACK - frame. - Khi P bắt đầu truyền I- frame, nó sẽ khởi động bộ định thời, nếu quá khoảng thời gian giới hạn thì P sẽ truyền lại I – frame đó. - Nếu P không nhận được một ACK - frame trong khoảng thời gian định trước thì P sẽ truyền lại I – frame đó nhưng S sẽ loại bỏ bảng sao này do bị trùng lặp. Điều này thực hiện được là do trong mỗi I – frame P đều truyền kèm theo chỉ số tuần tự của khung. 3.3.3 Idle tường minh: - S sẽ trả về ACK – frame nếu nhận I – frame đúng. - Nếu P nhận được ACK – frame thì P sẽ dừng bộ định thời và khởi động lại đường truyền để truyền I – frame khác. - Nếu S nhận được một I – frame bị lỗi thì I – frame đó sẽ bị loại và S sẽ trả lời bằng một NAK – frame. - Nếu P không nhận được một ACK - frame (hoặc NAK - frame) trong khoảng thời gian định trước thì P sẽ truyền lại I – frame đó nhưng S sẽ loại bỏ bảng sao này do bị trùng lặp. a./ ĐH Kỹ thuật Công nghệ Trang 63 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức b./ c./ Hình 3.4: Idle RQ tường minh a./ Truyền đúng b./ I – frame bị lỗi c./ ACK – frame bị lỗi Nhận xét: Với kiểu truyền tường minh thì tăng hiệu quả về thời gian hơn so với kỹ thuật truyền không tường minh vì thời gian S truyền NAK – frame về P ngắn hơn nhiều so với thời gian quá hạn trong kiểu truyền không tường minh. Đặc điểm chung của Idle RQ là sau khi P gởi một I – frame, P phải chờ cho đến khi nhận được ACK – frame tương ứng từ S. Do đó, kiểu truyền này còn được gọi là dừng và chờ (stop and wait). 3.3.4 Cấu trúc khung của Idle RQ: Trong cả hai nguyên lý truyền trên (truyền lại ngầm định và yêu cầu rõ) đều có trường hợp S nhận được I – frame và bản sao đều tốt và S phải loại bỏ bớt một. Như vậy, để S có thể phân biệt hai I – frame nhận được là khác nhau thì cần có cơ chế đánh số. Chỉ số tuần tự trong mỗi I – frame được gọi là chỉ số tuần tự gởi N(S) (send sequence number) và chỉ số tuần tự trong mỗi ACK – frame hay NAK – frame được gọi là chỉ số tuần tự nhận N(R) (receive sequence number). Tương tự như cấu trúc khung truyền bất đồng bộ, các ký tự điều khiển vẫn được sử dụng là: SOH, STX, ETX. ĐH Kỹ thuật Công nghệ Trang 64 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức Mỗi I – frame phải chứa một chỉ số tuần tự tại sau SOH. Ký tự SOH được chèn vào đầu một khối hoàn chỉnh để báo hiệu bắt đầu một I – frame mới. Tiếp theo là cấu trúc thông thường như truyền bất đồng bộ với BCC dùng kiểm tra tổng khối để phía thu biết là nhận được khung đúng hay bị lỗi. Các khung ACK và NAK được dùng cho mục đích báo nhận, theo sau là chỉ số tuần tự thu. Các khung này cũng dùng phương pháp kiểm tra tổng khối BCC. Cả 3 loại khung: I – frame, ACK – frame, NAK – frame đều được gọi là đơn vị dữ liệu giao thức PDU (protocol data unit) của giao thức Idle RQ. Hình 3.5: Các cấu trúc khung của Idle RQ 3.3.5 Hiệu suất sử dụng liên kết: ĐH Kỹ thuật Công nghệ Trang 65 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức Hình 3.6: Các khoảng thời gian xử lý trong việc truyền dẫn Xét một khung thứ N được truyền từ P đến S và không bị lỗi. S sau khi xử lý và truyền ACK – frame về P. Các khoảng thời gian cần quan tâm như sau: + Tp (Propagation delay): thời gian sóng điện từ lan truyền từ P Ỉ S hoặc ngược lại + Tix(Transmission time): thời gian để truyền một khung từ P Ỉ S. + Tip: thời gian để xử lý khung tại S + Tax: thời gian truyền ACK – frame từ SỈ P + Tap: thời gian xử lý ACK – frame tại P a./ Trường hợp truyền dẫn là lý tưởng (tức không có lỗi xảy ra): Gọi Tt là thời gian tổng để hoàn thành việc truyền một I – frame và xử lý xong ACK – frame. Khi đó: 2.t ix p ap ipT T T T T T= + + + + ax p Thông thường, Tap, Tip và Tax rất nhỏ so với Tp và Tix. Do đó: 2.t ixT T T= + Lưu ý: Tix là thời gian truyền khung dữ liệu, phụ thuộc vào tốc độ truyền (bps) Tp là thời gian trễ do sóng điện từ lan truyền từ PỈS hoặc ngược lại, phụ thuộc vào tốc độ lan truyền sóng (m/s) và khoảng cách (m) giữa P và S. Khi đó, hiệu suất sử dụng đường truyền được định nghĩa là: 2. (1 2. ) = = =+ + ix ix ix pt ix p ix ix T T TU TT T T T T Đặt: 1 1 2. p ix T a U T a = ⇒ = + ĐH Kỹ thuật Công nghệ Trang 66 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức Nhận xét: - Với tuyến thông tin có tốc độ truyền tin thấp thì Tix rất lớn Ỉ a rất nhỏ Ỉ hiệu suất liên kết cao (≈ 100%). - Ngược lại, với tuyến thông tin có tốc độ truyền tin cao và khoảng cách xa thì Tix rất nhỏ, Tp rất lớn Ỉ a rất lớn Ỉ hiệu suất liên kết thấp. Vì vậy, giao thức Idle RQ phù hợp trong trường hợp tuyến liên kết có khoảng cách ngắn và tốc độ truyền thấp. b./ Trường hợp truyền dẫn là không lý tưởng (tức là có lỗi xảy ra), thì các khung bị lỗi phải thực hiện việc truyền lại. Giả sử, mỗi khung được truyền lại trung bình là Nr lần. Khi đó: ( 2. ). 2. .t ix p r r ix pT T T N N T T N= + = + r Hiệu suất sử dụng liên kết: 1 1 . 2. . .(1 2..(1 2. ) = = = =+ ++ ix ix pt r ix r p r r ix T TU TT N T N T N aN T ) Giá trị Nr có thể được tính từ tỉ lệ bit lỗi P của đường truyền. Gọi P là xác suất 1 bit bị lỗi. Khi đó, xác suất 1 bit đúng là 1 – P Ỉ Xác suất một khung đúng là (1 – P)Ni, với Ni là chiều dài khung. Nếu gọi Pf là xác suất một khung thu được bị lỗi thì: Pf = 1 - (1 – P)Ni ≈ Ni.P (nếu Ni.P<< 1) ⇒ Xác suất một khung đúng là:1 – Pf = (1 – P)Ni. Do vậy: 11r fN P= − Hiệu suất liên kết: 1 1 2. fPU a −= + Bài tập 1./ Một khung data dài 1000 bit được truyền qua một tuyến dữ liệu, kiểm soát lỗi theo giao thức stop & wait. Biết rằng vận tốc truyền là 3 x108 m/s. Xác định hiệu suất liên kết trong các trường hợp sau: a. Kênh truyền có chiều dài 10Km, tốc độ lỗi bit BER = 10-4 (xác suất một bit lỗi), tốc độ truyền dữ liệu là 9600bps. b. Kênh truyền vệ tinh có chiều dài 36000km, tốc độ lỗi bit BER = 10-6, tốc độ truyền dữ liệu là 10Mbps. 2./ Máy phát truyền liên tục 6 khung data đến máy thu sử dụng giao thức Stop & Wait, tường minh. Biết rằng khung dữ liệu thứ 2, 3 và ACK của khung thứ 4 bị lỗi. Giả sử thời gian Timeout gấp 2 lần thời gian truyền hịan chỉnh một khung. a. Hãy vẽ tiến trình truyền dữ liệu. Giải thích? b. Nếu là truyền không tường minh, hãy thực hiện lại yêu cầu câu a. c. So sánh hiệu quả của 2 trường hợp trên (truyền tường minh và tường minh). ĐH Kỹ thuật Công nghệ Trang 67 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ĐH Kỹ thuật Công nghệ Trang 68 3./ Một khung data dài 1000 bit được truyền đi sử dụng giao thức stop & wait. Biết rằng vận tốc truyền là 2 x108 m/s với đường truyền là cáp xoắn cĩ chiều dài 5Km, tốc độ lỗi bit BER = 10-4, tốc độ truyền dữ liệu là 20Kbps và thời gian cần thiết để xử lý ACK là 0.5ms. a. Hỏi thời gian timeout bằng 50.2ms hay 55ms là hợp lý? b. Tính hiệu suất sử dụng liên kết 3.4. Continuous RQ (RQ liên tục) : 3.4.1 Đặc điểm : - P truyền các I- frame tới S một cách liên tục mà không dừng lại để chờ ACK – frame truyền về từ S. - Vì có nhiều hơn một I – frame đang chờ xác nhận ACK nên P giữ lại một bản sao của mỗi I- frame trong danh sách truyền lại (hoạt động theo nguyên tắc FIFO) cho tới khi P nhận được ACK – frame tương ứng của khung đó truyền về từ S. Lúc đó, P sẽ loại bỏ I – frame tương ứng ra khỏi danh sách. - S trả về ACK – frame cho mỗi I – frame nhận đúng. - S thu giữ một danh sách thu, chứa đựng định danh của I – frame cuối cùng nhận đúng. Trong trường hợp có lỗi xảy ra trong quá trình truyền dẫn, có 2 cách truyền lại được áp dụng như sau: + S phát hiện và yêu cầu P truyền lại chỉ những khung bị lỗi. Kiểu truyền này được gọi là truyền lại có lựa chọn (Selective – Repeat) + S phát hiện và yêu cầu P truyền lại những khung chưa được trả lời ACK, nghĩa là tất cả các khung kể từ khung cuối cùng nhận đúng. Kiểu truyền này được gọi là truyền lặp lại N (Go – back - N) Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức Hình 3.7: Tuần tự khung của Continuous RQ 3.4.2 Truyền lại có lựa chọn: Giống như nguyên lý kiểm soát lỗi Idle RQ, truyền lại có lựa chọn có thể được thực hiện theo một trong 2 cách: + Truyền lại có lựa chọn không tường minh (S chỉ gởi về các ACK - frame) + Truyền lại có lựa chọn tường minh (S gởi về hoặc là ACK hoặc là NAK - frame) a./ Truyền lại có lựa chọn không tường minh: ¾ Nếu khung I bị lỗi: - Giả sử I – frame thứ N + 1 bị lỗi - S trả về ACK – frame cho các I – frame N, N + 2, N + 3, Khi P nhận được ACK(N+2), P phát hiện ACK của I – frame N + 1 chưa nhận được Ỉ nghĩa là bị lỗi Ỉ P vào trạng thái truyền lại. Ở trạng thái này, việc truyền lại một khung mới bị hoãn lại cho đến khi tất cả các khung không được báo nhận đều đã được truyền lại. - P xóa I – frame N + 2 ra khỏi bộ đệm và truyền lại I – frame N+1 trước khi truyền khung N + 5. - Khi nhận được I – frame N + 1, nội dung của các I – frame được xếp hàng trong danh sách liên kết nhận được S phân phối đến LS – user theo đúng tuần tự. (LS: link Service). ĐH Kỹ thuật Công nghệ Trang 69 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ĐH Kỹ thuật Công nghệ Trang 70 Hình 3.8: truyền lại có lựa chọn – không tường minh – I – frame bị lỗi ¾ Nếu ACK – frame bị lỗi: Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ĐH Kỹ thuật Công nghệ Trang 71 Hình 3.9: truyền lại có lựa chọn – không tường minh – ACK – frame bị lỗi - Giả sử ACK – frame N thứ N bị lỗi - Khi nhận được ACK – frame thứ N + 1, P phát hiện ACK(N) chưa nhận được Ỉ nghĩa là I – frame thứ N bị lỗi. Do đó, P truyền lại I – frame thứ N. - Khi P nhận được I(N) lần thứ 2, S xác định được sự trùng lặp và do đó sẽ bỏ qua. Tuy nhiên, S vẫn truyền trở về ACK – frame thứ N để đảm bảo P xóa I – frame thứ N ra khỏi bộ đệm. b./ Truyền lại có lựa chọn tường minh: S báo ACK – frame cho tất cả các khung nhận đúng ¾ Nếu khung I bị lỗi: - Giả sử I – frame thứ N + 1 bị lỗi - S trả về ACK về cho frame N. - Khi S nhận được I – frame thứ N+2, S sẽ hiểu rằng I – frame N + 1 bị lỗi Ỉ S sẽ gởi NAK – frame N + 1 về P (P xem như S vẫn còn đang đợi I – frame N + 1, do đó sẽ truyền lại khung này). Đồng thời S vào trạng thái truyền lại. Ở trạng thái này, S không gởi về ACK cho các khung nhận đúng. - Khi P nhận được NAK(N+1), P sẽ gởi lại I – frame thứ N + 1. - Khi S nhận được I – frame N + 1, S sẽ giải phóng trạng thái truyền lại và khi nhận được các khung đúng tiếp theo, S sẽ tiếp tục gởi về các ACK – frame. - ACK – frame thứ N + 1 sẽ báo đúng cho tất cả các khung có chỉ số tới N + 1. - Khi truyền về NAK(N+1) thì S sẽ khởi động timer, nếu quá một khỏang thời gian xác định thì S sẽ truyền lại. Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ĐH Kỹ thuật Công nghệ Trang 72 Hình 3.10: truyền lại có lựa chọn –tường minh – I – frame bị lỗi ¾ Nếu giả sử I – frame N + 1 lại bị lỗi một lần nữa và NAK(N+1) truyền về cũng bị lỗi - S gởi NAK – frame N + 1 về P nhưng lần này nó lại bị lỗi. - Khi nhận được ACK – frame thứ N + 3, điều này báo nhận tốt cho tất cả các khung từ N + 3 trở xuống, nghĩa là bao gồm cả khung N + 1. vì vậy, I – frame thứ N + 1 không được truyền lại Ỉ do đó, I(N+1) sẽ bị mất. Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức Hình 3.11: truyền lại có lựa chọn –tường minh – NAK – frame bị lỗi Tóm lại: - Mặc dù S nhận một bản sao tốt của mỗi I – frame do P gởi nhưng thứ tự nhận có thể không được duy trì. Ví dụ, S nhận I – frame thứ N + 2, N +3, N + 4 trước N + 1. Vì vậy, giao thức truyền lại có lựa chọn được dùng chủ yếu trong các trường hợp các I – frame đang được truyền là các thực thể độc lập, tức là thứ tự nhận không quan trọng hoặc được dùng khi tất cả các I – frame liên quan đến cùng một bản tin hay các bản tin được khôi phục lại hình dáng ban đầu bởi phía thu. - Trong nhiều ứng dụng, I – frame phải được phân phối theo tuần tự giống như khi được tạo ra. Do đó, I - frame nào được nhận không theo đúng tuần tự phải được giữ bởi S cho đến khi nhận được các I – frame bị mất. Thông thường, các khung này có kích thước lớn và số lương I – frame cần lưu giữ cũng có thể lớn Ỉ đòi hỏi hệ thống phần cứng phải có dung lượng lưu trữ lớn đến mức không thể chấp nhận được. Vì vậy, hầu hết các ứng dụng và trong hầu hết các mạng đều sử dụng giao thức truyền lại một nhóm (Go – Back - N). 3.4.3 Truyền lại một nhóm (Go – Back - N): - Với kiểu truyền này, khi S phát hiện một I – frame được nhận không đúng tuần tự (tức là bị lỗi), nó sẽ báo cho P biết để thực hiện việc truyền lại từ một khung xác định. ĐH Kỹ thuật Công nghệ Trang 73 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ¾ Trường hợp khung I bị lỗi: Nếu trong quá trình truyền giả sử I – frame thứ N + 1 bị lỗi. Khi đó: - S nhận I – frame N + 2 không đúng tuần tự. - Khi S nhận I – frame N + 2, S gởi NAK – frame N + 1 để báo cho P quay trở lại và bắt đầu truyền lại I – frame N + 1. - Khi nhận được NAK - frame N + 1, P vào trạng thái truyền lại - Khi ở trong trạng thái này, P tạm thời dừng truyền I – frame mới và bắt đầu truyền lại các I – frame đang đợi báo nhận trong danh sách truyền lại - S lọai bỏ các I – frame cho đến khi nhận được I – frame N + 1 - Khi nhận được I – frame N + 1, S trở lại trạng thái sẵn sàng nhận I – frame mới và gởi báo nhận cho P. - Khi gởi NAK - frame N + 1, S bắt đầu khởi động bộ định thời để chờ nhận I – frame N + 1, nếu quá một khỏang thời gian xác định thì S truyền lại NAK - frame N + 1 (đề phòng NAK - frame N + 1 bị lỗi) Hình 3.12: Go - back – N: I – frame bị lỗi ¾ Trường hợp ACK – frame bị lỗi: - S nhận tất cả các I – frame đều đúng - Giả sử ACK(N) và ACK(N+1) đều bị lỗi ĐH Kỹ thuật Công nghệ Trang 74 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức - Khi nhận được ACK(N+2), P phát hiện rằng ACK(N) và ACK(N+1) chưa nhận được - Tuy nhiên, do nhận ACK(N+2) chứ không phải nhận NAK(N+2) nên P hiểu rằng cả ACK(N) và ACK(N+1) đều bị lỗi. Do đó, ACK(N+2) xác nhận đúng cho I – frame N và N + 1. Hình 3.13: Go - back – N: ACK – frame bị lỗi o Với kiểu truyền này có ưu điểm là: các I – frame nhận đúng thứ tự nên phía thu không phải tốn nhiều bộ nhớ để lưu giữ các I – frame. o Tuy nhiên, kiểu truyền này cũng có nhược điểm là hiệu suất thấp vì có những trường hợp P phải truyền lại cả những I – frame đã được truyền đúng. 3.5. Điều khiển luồng (follow control): Điều khiển luồng là một thành phần trong giao thức liên kết dữ liệu (data link protocol). Nhiệm vụ của điều khiển luồng là điều khiển tốc độ truyền các ký tự hay các khung trên tuyến dữ liệu, đảm bảo phía thu còn đủ dung lượng bộ đệm để nhận dữ liệu truyền tới để xử lý. Trong điều khiển luồng, có 2 giải thuật điều khiển thông dụng là: X – ON/ X – OFF và Sliding Window (cửa sổ trượt) 3.5.1 Kiểu điều khiển X – ON/ X – OFF: - Trong kiểu điều khiển này sử dụng 2 ký tự điều khiển đặc biệt là X – ON và X – OFF để điều khiển việc ngừng hay tiếp tục truyền ký tự mới. ĐH Kỹ thuật Công nghệ Trang 75 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức - Khi xảy ra hiện tượng quá tải, máy tính gởi ký tự X – OFF đến thiết bị điều khiển bên trong thiết bị đầu cuối chỉ thị dừng việc truyền ký tự mới. Thiết bị đầu cuối khi nhận được ký tự X – OFF thì sẽ bỏ qua tất cả các ký tự được nhập vào từ bàn phím hoặc chuyển chúng vào bộ đệm và chờ đến khi tình trạng quá tải kết thúc. - Khi hiện tượng quá tải đã kết thúc, máy tính sẽ truyền ký tự X – ON đến thiết bị điều khiển tiếp tục truyền các ký tự tiếp theo. 3.5.2 Phương pháp cửa sổ trượt (Sliding window): - Trong kiểu truyền continuous RQ, P truyền liên tiếp các khung thông tin mà không dừng lại chờ nhận ACK giống như Idle RQ. - Nếu tốc độ xử lý tại S chậm, S sẽ chậm hoặc ngừng truyền về các ACK – frame Ỉ danh sách chờ truyền lại tại P tăng liên tục Ỉ đến lúc nào đó thì có thể tăng đến giới hạn, được xem là dấu hiệu để P ngừng gửi I –frame cho đến khi các báo nhận khởi động luồng trở lại. - Phương pháp cửa số trượt được thực hiện bằng cách thiết lập một giới hạn tối đa cửa sổ I – frame chờ truyền lại tại P. Giới hạn này được xem là cửa sổ truyền của tuyến dữ liệu, thường được ký hiệu là K - Giới hạn K được chọn lựa phụ thuộc vào: kích thứơc của khung, dung lượng bộ nhớ đệm, thời gian trễ do lan truyền sóng, tốc độ phát (bps). ĐH Kỹ thuật Công nghệ Trang 76 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức - Ở phía phát dùng 2 biến số LWE (Low Window Edge – biên dưới của cửa sổ) và UWE (Upper Window Edge – biên trên của cửa sổ) để thiết lập nên liên kết cửa sổ. Cửa sổ sẽ thay đổi theo nguyên tắc như sau: + Khi P truyền đi một I – frame thì UWE sẽ tăng lên một đơn vị + Khi P nhận về một lời hồi đáp ACK xác nhận I – frame đã nhận đúng thì LWE sẽ tăng lên một đơn vị. Hiệu số giữa UWE và LWE được gọi là độ rộng của cửa sổ. + Máy phát sử dụng độ rộng của cửa sổ để dự đóan khả năng tiếp nhận các khung tin ở phía máy thu. Nếu cửa sổ hẹp thì máy phát hiểu máy thu có thể đáp ứng kịp với tốc độ truyền. Nếu cửa sổ rộng thì máy phát hiểu máy thu có tốc độ tiếp nhận các khung tin chậm. Khi độ rộng của cửa sổ trượt đạt tới giá trị K thì máy phát hiểu máy thu không còn khả năng tiếp nhận các khung tin Ỉ máy phát ngừng phát. Trong thời gian này, máy thu có đủ thời gian để giải quyết các khung tin đã nhận và gửi các khung ACK xác nhận về phía máy phát. Khi máy phát nhận các khung ACK thì LWE sẽ tăng Ỉ độ rộng của cửa sổ < K Ỉ máy phát có thể tiếp tục phát lại các khung tin. 3.5.3 Hiệu suất sử dụng liên kết: - Một liên kết có kích thước cửa sổ K. Khi đó, nếu trong quá trình truyền không xảy ra lỗi thì hiệu suất liên kết là: ≥⎧⎪⎨⎪⎩ 1 nếu 1+ U = 1 nếu < 1+ 2.a 1+ 2.a K K 2.a - Nếu có lỗi xảy ra trong quá trình truyền dẫn: Gọi Pf là xác suất một khung thu được bị lỗi. Khi đó số lần truyền lại trung bình của mỗi khung là: r f 1N = 1- P + Với kiểu truyền lại có lựa chọn thì: ⎧ ≥⎪⎪⎨⎪⎪⎩ r r 1 nếu 1+ 2.a N U = 1 nếu < 1+ 2.a (1+ 2.a).N K K + Với kiểu truyền Go – back – N, hiệu suất liên kết sẽ giảm vì khi có một khung bị lỗi thì sẽ có những khung không bị lỗi phải truyền lại. ⎧ ≥⎪⎪⎨⎪⎪⎩ f f f f 1- P nếu 1+ 2.a 1+ P (K -1) U = K.(1- P ) nếu < 1+ 2.a (1+ 2.a)[1+ P (K -1)] K K Bài tập ĐH Kỹ thuật Công nghệ Trang 77 Bài giảng thơng tin dữ liệu và mạng máy tính Chương 3: Cơ sở giao thức ĐH Kỹ thuật Công nghệ Trang 78 1./ Một chuỗi khung dữ liệu liên tiếp với chiều dài trung bình là 1000 bit truyền qua kênh truyền có chiều dài 100km, tốc độ truyền dữ liệu là 20Mbps. Cho vận tốc truyền sóng là 2.108 m/s, tốc độ lỗi bit là 10-4. Hãy xác định hiệu suất trong các trường hợp sau: a. Idle RQ b. Selective repeat với k = 10 c. Go – back – N với k =10 2./ Vẽ sơ đồ truyền data dùng giao thức Continuous RQ Selective Repeat, tường minh, với các yêu cầu sau: khung dữ liệu thứ N+1 bị lỗi, NAK(N+1) trả về cũng bị lỗi. Giải thích. 3./ Máy phát cần truyền 6 khung data đến máy thu, số thứ tự bắt đầu từ 0, sử dụng nghi thức điều khiển lỗi là hỏi đáp liên tục, Go – Back – N, tường minh. Điều khiển luồng sử dụng cửa sổ trượt với kích thước K= 4. Hãy vẽ sơ đồ truyền data khi khung dữ liệu thứ 1 và ACK của khung thứ 3 bị lỗi. 4./ Một kênh thơng tin cĩ chiều dài 4500 Km, tốc độ truyền data 1.5Mbps, sử dụng khung dữ liệu cĩ chiều dài 1200 bits được truyền đi theo giao thức Continuous RQ Selective Repeat. Cho biết vận tốc truyền sĩng là 3x108m/s, kích thước cửa sổ K=15, xác suất lỗi bit BER là 10-4. a. Tính hiệu suất sử dụng liên kết. b. Tính thời gian mà timer cần phải đếm khi truyền một khung dữ liệu 5./ Máy phát cần truyền 6 khung data đến máy thu, số thứ tự bắt đầu từ 0, sử dụng nghi thức điều khiển lỗi là hỏi đáp liên tục, Go – Back – N, tường minh. Điều khiển luồng sử dụng cửa sổ trượt với kích thước K= 4. Hãy vẽ sơ đồ truyền data khi khung dữ liệu thứ 1, 3 và ACK của khung thứ 3, 5 bị lỗi.
File đính kèm:
- giao_trinh_thong_tin_du_lieu_va_mang_may_tinh_chuong_3_co_so.pdf