Chuyên đề Điều khiển luồng và chống tắc nghẽn trong mạng viễn thông

Cùng với sự phát triển mạnh mẽ của các giải pháp công nghệ hạ tầng mạng truyền thông, hàng loạt các yêu cầu mới được đặt ra đối với các vấn đề khai thác và triển khai hệ thống trong môi trường mạng thực tiễn. Bài toán quản lý mạng viễn thông luôn là mối quan tâm hàng đầu và là một trong những vấn đề quan trọng nhất cần giải quyết của các nhà khai thác viễn thông. Tuỳ thuộc vào các giải pháp công nghệ và các ứng dụng triển khai mà các nhà khai thác lựa chọn và xây dựng các hệ thống quản lý, điều khiển một cách thích hợp để nâng cao quả vận hành và khai thác mạng. Hiện nay với sự phát triển không ngừng của khoa học công nghệ đã đáp ứng được yêu cầu phần cứng của hệ thống, tuy nhiên các thuật toán nhằm đạt được sự tối ưu luôn là một bài toán khó, đòi hỏi phải có sự nghiên cứu chuyên sâu và hiểu biết sâu sắc các vấn đề liên quan đến hệ thống mạng. Vì vậy, các phương pháp điều khiển luồng và chống tắc nghẽn trong viễn thông là một bài toán khó và được quan tâm. Do vậy với đề tài tìm hiểu về “Điều khiển luồng và chống tắc nghẽn trong mạng viễn thông” chúng em sẽ trình bày các phương thức điều khiển luồng và các biện pháp kỹ thuật chống tắc nghẽn trong viễn thông đã và đang được sử dụng trong viễn thông. Đề tài được chia làm ba chương với nội dung các chương như sau: - Chương I: Tổng quan về mạng viễn thông. - Chương II: Điều khiển luồng trong mạng viễn thông. - Chương III: Điều khiển chống tắc nghẽn trong mạng NGN.

doc42 trang | Chia sẻ: tuandn | Lượt xem: 4964 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Chuyên đề Điều khiển luồng và chống tắc nghẽn trong mạng viễn thông, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Khoa Viễn Thông I ---------o0o---------  BÁO CÁO CHUYÊN ĐỀ KỸ THUẬT CHUYỂN MẠCH Đề tài: ĐIỀU KHIỂN LUỒNG VÀ CHỐNG TẮC NGHẼN TRONG MẠNG VIỄN THÔNG Giáo viên hướng dẫn: TS. Lê Nhật Thăng Thực hiện: Nhóm 14 – Lớp H10 VT1 1. Nguyễn Thị Hồng Hạnh (nhóm trưởng) 2. Trần Minh Đức 3. Đặng Đức Phú 4. Lê Thanh Tùng 5. Nguyễn Văn Hiệu Hà Nội 11/2011 MỤC LỤC  Trang   Lời nói đầu ……………………………………………...…………………………………………….... Các thuật ngữ viết tắt ……………………………………………………………….……………... Danh mục các hình vẽ ………………………………….………….................................................. Danh mục các công thức.................................................................................................................... Chương 1: Tổng quan về điều khiển luồng và chống tắc nghẽn trong mạng viễn thông ……………………………………………..…………... Vấn đề về điều khiển luồng và chống tắc nghẽn trong viễn thông ……………...…………………………………………………….. Mục tiêu đặt ra đối với điều khiển luồng và chống tắc nghẽn ……………………….……………….…………..……........... Kết luận chương 1 ….……………………………………………………………… Chương 2: Điều khiển luồng trong mạng viễn thông ………….………………........... 2.1. Định nghĩa ………………….…………………………………………..……………. 2.2. Các kỹ thuật điều khiển luồng …………………………….…………………… 2.2.1. Cơ bản ………………………….…...………………….…………………… 2.2.2. Điều khiển luồng kết hợp ARQ - Stop and Wait ………….…… 2.2.2.1. Hoạt động ……………………………...…………….…………. 2.2.2.2. Hiệu suất ………………………………………….…………….. 2.2.3. Điều khiển luồng kết hợp ARQ - Go back - N ……………….…. 2.2.3.1. Nguyên tắc …………………….……………………………….. 2.2.3.2. Hoạt động …………………………….………………………… 2.2.3.3. Khi có lỗi trên khung thông tin …………………….……. 2.2.3.4. Hiệu suất của cơ chế Go-back-N ………………………... 2.2.4. Điều khiển luồng kết hợp ARQ - Selective repeat ………...….. 2.2.4.1. Nguyên tắc hoạt động ………..…….……………………….. 2.2.4.2. Hiệu suất …………………………………….………………….. 2.2.4.3. So sánh hoạt động của Go-back-N và Selective repeat ………………………………..………….. 2.2.5. Điều khiển luồng theo phương pháp cửa sổ ………………...……. 2.2.5.1. Cửa sổ End to End ………………………………………...…. 2.2.5.2. Điều khiển luồng Hop by hop …………………………… 2.2.5.3. Phương thức Isarithmi ……………………………………... 2.3. Kết luận chương 2 ………………………….……………………………………… Chương 3: Chống tắc nghẽn trong mạng viễn thông ………………………….…….. Khái niệm chung điều khiển tắc nghẽn …………….……………………….. Mô hình tổng quan điều khiển chống tắc nghẽn ……………….. Nguyên nhân gây tắc nghẽn …………….…………………………….. Nguyên lý điều khiển tắc nghẽn ……………………………………... Một số phương pháp chống tắc nghẽn ………………………….…………… Phương pháp DEC bit ………………….……………………………….. Phương pháp điều khiển tắc nghẽn trong TCP ………………….. Phương pháp EWA và FEWA ………………………………………. Phương pháp ETCP …………………………………………………….. Phương pháp XCP ……………….……………………………………… Phương pháp FBA - TCP ……………………………………………... Phương pháp QS - TCP ……………………..………………………….. Kết luận chương 3 ……………………………………….………………………… Kết luận …………………………………………………….…………………………………………… Tài liệu tham khảo …………………………………………………….…………………………….  3 4 6 6 8 8 11 12 13 13 13 13 14 14 15 17 17 18 19 20 21 21 22 23 23 23 27 28 29 30 30 30 31 32 32 32 33 35 35 35 36 37 38 39 40   Lời nói đầu Cùng với sự phát triển mạnh mẽ của các giải pháp công nghệ hạ tầng mạng truyền thông, hàng loạt các yêu cầu mới được đặt ra đối với các vấn đề khai thác và triển khai hệ thống trong môi trường mạng thực tiễn. Bài toán quản lý mạng viễn thông luôn là mối quan tâm hàng đầu và là một trong những vấn đề quan trọng nhất cần giải quyết của các nhà khai thác viễn thông. Tuỳ thuộc vào các giải pháp công nghệ và các ứng dụng triển khai mà các nhà khai thác lựa chọn và xây dựng các hệ thống quản lý, điều khiển một cách thích hợp để nâng cao quả vận hành và khai thác mạng. Hiện nay với sự phát triển không ngừng của khoa học công nghệ đã đáp ứng được yêu cầu phần cứng của hệ thống, tuy nhiên các thuật toán nhằm đạt được sự tối ưu luôn là một bài toán khó, đòi hỏi phải có sự nghiên cứu chuyên sâu và hiểu biết sâu sắc các vấn đề liên quan đến hệ thống mạng. Vì vậy, các phương pháp điều khiển luồng và chống tắc nghẽn trong viễn thông là một bài toán khó và được quan tâm. Do vậy với đề tài tìm hiểu về “Điều khiển luồng và chống tắc nghẽn trong mạng viễn thông” chúng em sẽ trình bày các phương thức điều khiển luồng và các biện pháp kỹ thuật chống tắc nghẽn trong viễn thông đã và đang được sử dụng trong viễn thông. Đề tài được chia làm ba chương với nội dung các chương như sau: Chương I: Tổng quan về mạng viễn thông. Chương II: Điều khiển luồng trong mạng viễn thông. Chương III: Điều khiển chống tắc nghẽn trong mạng NGN. Khi mạng viễn thông ngày càng phát triển rộng lớn, dịch vụ mới càng gia tăng, yêu cầu về sử dụng cao,… nên điều khiển luồng và chống tắc nghẽn là một vấn đề phức tạp. Được sự giúp đỡ của thầy giáo bộ môn Kỹ thuật chuyển mạch TS. Lê Nhật Thăng, cùng sự nỗ lực tìm hiểu của nhóm em đã hoàn thành chuyên đề được giao. Nhưng với thời gian tìm hiểu có hạn và tầm hiểu biết hạn chế nên không tránh khỏi những thiếu sót. Rất mong sự góp ý của thầy cô. Nhóm sinh viên thực hiện Nguyễn Thị Hồng Hạnh Trần Minh Đức Đặng Đức Phú Lê Thanh Tùng Nguyễn Xuân Hiệu CÁC THUẬT NGỮ VIẾT TẮT ARQ  Automatic Repeat Request  Yêu cầu lặp lại tự động   ACK  ACK – Acknowledgement  Thừa nhận   AIMD  Additive increase multipicate decrease  Tăng cộng giảm nhân   ARWND  Advertised receiver window  Cửa sổ nhận quảng bá   CSFQ  Core stateless fair queueing  Xếp hàng bình đẳng không trạng thái ở router lõi   ETCP  Enhanced TCP  TCP tăng cường   EWA  Explicit window adaptation  Sự tương thích cửa sổ rõ   FBATCP  Fair bandwidth allocation for TCP  Phân bổ băng thông hợp lý cho TCP   MSS  Muximum segment size  Kích cỡ đoạn lớn nhất   NGN  Next generation network  Mạng thế hệ sau   NACK  Negative acknowledgement  Tiêu cực thừa nhận   IP  Internet protocol  Giao thức mạng   QS TCP  Quick start TCP  Khởi đầu nhanh TCP   QoS  Quanlity of service  Chất lượng dịch vụ   RTT  Round trip time  Thời gian vòng truyền   RN  Request number  Yêu cầu số   SN  Seqence number  Số thứ tự   TCP  Transmission control protocol  Giao thức điều khiển truyền tải   VoIP  Void over IP  Thoại trên IP   XCP  Exolictit control protocol  Giao thức điều khiển rõ   DANH MỤC HÌNH VẼ Hình 1.1: Hoạt động của mạng khi không có sự kiểm soát Hình 1.2: Hiệu quả của việc có điều khiển Hình 2.1: Phát lại theo cơ chế dừng và đợi Hình 2.2: Stop-and-Wait ARQ có dùng SN/RN Hình 2.3: Giản đồ thời gian khi truyền từ phát sang thu không có lỗi Hình 2.4: Nguyên tắc hoạt động của cơ chế cửa sổ trượt Hình 2.5: Minh hoạ cơ chế Go-back-N ARQ Hình 2.6: Nguyên tắc hoạt động của Selective repeat Hình 2.7: Ví dụ phía phát truyền tin không liên tục khi W = 3 Hình 2.8 Quan hệ giữa tố độ truyền dẫn và round –trip delay trong điều khiển luồng Hình 2.9 Cơ chế Backpressure trong điều khiển luồng hop-by-hop Hình 3.1 Mô hình tổng quát cho điều khiển chống tắc nghẽn Hình 3.2 Quá trình xảy ra tắc nghẽn Hình 3.3 Cửa sổ tắc nghẽn Hình 3.4 Kết nối TCP đơn đi qua vùng có khả năng CSFQ CÁC CÔNG THỨC STT  Công thức    [1]  =   2.1   [2]    2.2   [3]    2.3   [4]    2.4   [5]    2.5   [6]    2.6   [7]    2.7   [8]    2.8   [9]    2.9   [10]    2.10   [11]    2.11   [12]    2.12   [13]    2.13   [14]    2.14   [15]    2.15   CHƯƠNG I: TỔNG QUAN VỀ ĐIỀU KHIỂN LUỒNG VÀ CHỐNG TẮC NGHẼN TRONG MẠNG VIỄN THÔNG Vấn đề điều khiển luồng và chống tắc nghẽn trong viễn thông Thực trạng hiện nay cho thấy yêu cầu của việc trao đổi thông tin ở mọi lúc mọi nơi là rất lớn, trong khi đó tài nguyên mạng chỉ ở mức độ giới hạn nhất định, do đó việc gây ra hiện tượng tắc nghẽn là điều không tránh khỏi. Vì vậy cần phải có biện pháp để chống tắc nghẽn xảy ra. Điều khiển luồng là phương pháp kiểm soát thông tin giữa hai thiết bị đầu cuối cụ thể, nó là một trong những biện pháp giúp cho lưu thông lưu lượng giữa các thiết bị thu và phát. Để hiểu được việc xảy ra tắc nghẽn như thế nào và nguyên nhân ra sao ta xét bài toán về hoạt động của mạng khi không có sự kiểm soát:  Hình 1.1 Hoạt động của mạng khi không có sự kiểm soát Với các số trên hình thể hiện tốc độ truyền dữ liệu trên các đường. Ký hiệu tốc độ truyền từ A đến B là , từ C đến D là . Bài toán đặt ra ta xét các trường hợp với tốc độ truyền giữa các điểm: Trường hợp 1:  và . Lưu lượng từ B đến A sẽ được mạng trung chuyển hết, và trong trường hợp này không xảy ra tắc nghẽn. Tốc độ thông tin đến nút A chính bằng tốc độ thông tin nút B đưa vào mạng, các đường B-Y, Y-X và X-A đều có tốc độ 7 Kbp. Trường hợp 2:  Kbps (( > 0) và . Ở trường hợp này tốc độ thông tin từ B đến A lớn hơn tốc độ hoạt động của đường từ X đến A. Do đó tốc độ thông tin từ Y đến X lớn hơn từ X đến A, lượng thông tin dư thừa sẽ phải được lưu trong bộ đệm của X, dẫn đến bị đầy và tràn do đó các gói thông tin từ Y đến sẽ không được lưu và bị huỷ. Vì bộ đệm của Y lưu lại các gói tin chưa được báo nhận (để truyền lại) nên bộ đệm của Y cũng dần bị đầy và tràn. Nút X có thể chuyển 8 Kbps khi lưu lượng đầu vào của nó là 8+( Kbps (X hủy ( Kbps). Lúc này, đường Y-X sẽ có tốc độ 8+2( Kbps (trong đó 8+( Kbps là thông tin từ B đến và ( Kbps là thông tin phát lại). Nhưng vì nút X chỉ có thể truyền 8 Kbps nên nó hủy 2( Kbps và Y lại phải truyền lại lượng thông tin này. Quá trình này cứ tiếp diễn và cuối cùng đường nối Y-X sẽ hoạt động với tốc độ 56 Kbps. Cũng như vậy đường liên kết từ B đến Y cũng sẽ hoạt động với tốc độ 16 Kbps (bao gồm cả các gói mới và các gói được phát lại). Ở đây để giải quyết vấn đề thì người ta đưa ra hai cách giải quyết: Thứ nhất là xây dựng hệ thống mạng có khả năng đáp ứng tốc độ của thông tin từ X đến A (8+( Kbps) nhằm đáp ứng với yêu cầu về tốc độ của B – giải pháp này chỉ thực sự khả thi và hiệu quả khi tốc độ phát tin của B là ổn định trong một thời gian dài, nếu không hiệu quả sử dụng tài nguyên rất thấp nếu xây dựng hệ thống mạng có khả năng đáp ứng lưu lượng lớn nhưng lại chỉ hoạt động với các yêu cầu trao đổi lưu lượng nhỏ. Thứ hai là giới hạn tốc độ truyền tin của B xuống còn 8 Kbps – phương án này khả thi khi yêu cầu truyền tin của B trong phần lớn thời gian < 8 Kbps và tốc độ vượt 8 Kbps chỉ diễn ra trong thời gian ngắn. Trường hợp 3: và , trường hợp này không xảy ra tắc nghẽn trong mạng. Thông tin được chuyển đến A và D với tốc độ 7Kbps cho mỗi nút. Mỗi một liên kết trong mạng sẽ hoạt động với tốc độ 7Kbps. Trường hợp 4:  Kbps và  Kbps (( > 0). Trong trường hợp này, đường đi từ C đến D có đủ dung lượng để đáp ứng yêu cầu cho kết nối C-D, tuy nhiên yêu cầu truyền thông tin trên đường B-A vượt quá khả năng xử lý của tuyến truyền này. Trong trường hợp này, hai kết nối B-A và C-D chia sẻ bộ đệm của nút X. Như đã xét trong trường hợp 2, lưu lượng thông tin từ B đến A làm tràn bộ đệm của X, điều này dẫn đến thông tin từ B và C khi đến X đều bị hủy. Hiện tượng này xảy ra đối với tất cả các gói tin cho dù nguyên nhân gây ra là do B. Hệ quả là nút Y và Z cũng bị tràn bộ đệm và tất cả các đường liên kết sẽ hoạt động với tốc độ cực đại của chúng. Do trước khi chuyển gói tin từ B và C đến A và D tương ứng, nút X phải lưu các gói tin này vào bộ đệm để xử lý nên trong trường hợp bộ đệm X bị tràn, X sẽ phải hủy các gói tin này. Do tốc độ thông tin Y-X gấp đôi tốc độ thông tin Z-X (khi các liên kết này hoạt động với tốc độc đỉnh) nên số lượng gói tin từ Y đến X sẽ gấp đôi từ Z đến X. Nói một cách khác, X sẽ hủy (hay chấp nhận) các gói tin từ Y và Z đến theo tỷ lệ 2:1 Lúc này thông tin từ B đến A hoạt động với tốc độ 8 Kbps trong khi thông tin từ C đến D chỉ hoạt động với tốc độ 4 Kbps. Ở trường hợp này ta so sánh với trường hợp 3 ta thấy: - Thông lượng tổng cộng của mạng giảm từ 14Kbps xuống còn 12Kbps. - Tại nút C, tốc độ truyền thông tin của nó đến D bị giàm tử 7KBps xuống còn 4KBps trong khi nút B là nơi gây ra tắc nghẽn lại không bị ảnh hưởng nhiều, chỉ giảm từ 8+( Kbps xuống còn 8Kbps. Để giải quyết vấn đề này, người ta có thể dành một phần dung lượng bộ đệm tại X cho các gói tin từ C đi đến. Việc này trái với nguyên tắc chuyển mạch gói khi tài nguyên trong mạng được chia sẻ bởi tất cả các nút và người dùng.  Hình 1.2 Hiệu quả của việc có điều khiển Trong trường hợp thực tế, nếu hệ thống mạng không được kiểm soát và có các cơ chế điều khiển, mạng sẽ thực hiện chuyển tất cả các gói tin khi lưu lượng nhỏ hơn một ngưỡng nào đó. Khi lưu lượng vượt quá giá trị ngưỡng thì thông lượng bắt đầu giảm. Lưu lượng đến càng nhiều thì thông lượng càng giảm. Trong một số trường hợp dẫn đến tình trạng deadlock(bế tắc) nghĩa là mạng hầu như không chuyển được gói tin nào nữa. Trong trường hợp có thực hiện điều khiển luồng và điều khiển tắc nghẽn, hệ thống mạng sẽ được kiểm soát và có khả năng hoạt động tốt ngay cả khi có trường hợp quá tải xảy ra (lưu lượng đi vào mạng lớn hơn thông lượng của mạng). Tuy nhiên, do việc thực hiện điều khiển luồng và tắc nghẽn đòi hỏi phải có các thông tin điều khiển nên thông lượng thực tế (trong trường hợp mạng chưa quá tải) sẽ nhỏ hơn trường hợp lý tưởng, thậm chí nhỏ hơn so với trường hợp không có điều khiển. Mục tiêu đặt ra đối với điều khiển luồng và chống tắc nghẽn Điều khiển luồng và chống tắc nghẽn được sử dụng khi có sự giới hạn về tài nguyên giữa người sử dụng với điểm truy nhập mạng, hay giữa hai thiết bị mạng để kiểm soát thông tin trên mạng. Điều khiển luồng và chống tắc nghẽn được sử dụng nhiều nhất tại các lớp liên kết dữ liệu(data link), lớp mạng(network), và lớp giao vận(transport). Do đó mục đích sử dụng của điều khiển luồng và chống tắc nghẽn được nêu ra: - Tối ưu hóa thông lượng sử dụng của mạng: trong trường hợp thông tin chỉ truyền giữa hai ngừời dùng thì việc tối ưu hóa tốc độ truyền tin không cần đặt ra. Tuy nhiên trong hệ thống mạng sự tham gia trao đổi thông tin của nhiều nút mạng, viêc tối ưu hóa thông lượng của hệ thống mạng phức tạp hơn nhiều. - Giảm trễ gói khi đi qua mạng: Trên phương diện người sử dụng, trễ gói từ đầu cuối đến đầu cuối càng nhỏ càng tốt. Tuy nhiên điều khiển luồng ở lớp mạng không nhằm thực hiện điều đó. Điều khiển luồng chỉ đảm bảo trễ của gói tin khi đi qua mạng nằm ở một mức chấp nhận được thông qua việc giới hạn gói tin đi vào mạng. Vì lý do đó điều khiển luồng không có tác dụng với những ứng dụng đòi hỏi trễ nhỏ khi truyền trên hệ thống hạ tầng tốc độ thấp. Mục đích chính của việc giảm trễ gói ở đây là để giảm sự lãng phí tài nguyên khi phải truyền lại gói. - Đảm bảo tính công bằng cho việc trao đổi thông tin trên mạng: Đây là một yếu tố tiên quyết trong kỹ thuật mạng, việc đảm bảo tính công bằng đảm bảo cho người sử dụng có cơ hội sử dụng mạng như nhau. - Đảm bảo tránh tắc nghẽn trong mạng: Tắc nghẽn là hiện tượng mà lưu lượng của mạng giảm và trễ tăng lên khi lượng thông tin đi vào mạng tăng. Điều khiển luồng cung cấp cơ chế giới hạn lượng thông tin đi vào mạng nhằm tránh hiện tượng tắc nghẽn. 1.3 Kết luận chương 1 Mạng viễn thông của nước ta cũng như trên thế giới ngày càng phát triển, nhu cầu dịch vụ mạng ngày càng đa dạng, phong phú đòi hỏi nhiều mức độ dịch vụ khác nhau. Xu hướng phát triển là tiến tới hội tụ về mạng, về dịch vụ. Tài nguyên của mạng thì có giới hạn trong khi nhu cầu truyền thông tin ngày càng tăng, chính vì vậy mà hiện tượng tắc nghẽn là khó tránh khỏi. Do đó cần phải có cơ chế điều khiển chống tắc nghẽn phù hợp kết hợp với điều khiển luồng để kiểm soát được thông tin trên mạng. CHƯƠNG II: ĐIỀU KHIỂN LUỒNG 2.1 Định nghĩa Điều khiển luồng là cơ chế nhằm đảm bảo việc truyền thông tin của phía phát không vượt quá khả năng xử lý của phía thu. Cơ chế điều khiển luồng được thiết kế để điều khiển luồng dữ liệu giữa người nhận và người gửi sao cho vùng đệm của người nhận không bị tràn. Nếu bị tràn, các khung hoặc gói dữ liệu bị mất. Điều khiển luồng được dùng trong tầng liên kết dữ liệu để điều khiển các liên kết điểm-điểm và trong tầng chuyển tải để điều khiển luồng end-to-end trên mạng có định tuyến. 2.2 Các kỹ thuật điều khiển luồng 2.2.1 Cơ bản Khi truyền thông tin trong mạng, thông tin truyền từ phía phát sang phía thu có thể bị sai lỗi hoặc mất. Việc thông tin bị mất thì cần phải thực hiện truyền lại thông tin. Còn Việc thông tin bị sai thì cần phải tìm hiểu nguyên nhân để sửa sai. Có hai cách để sửa sai. Sai do bên thu và sửa lỗi trực tiếp bên thu với điều kiện là thông tin trước khi truyền phải được cài các mã sửa lỗi. Như vậy số lượng bít thông tin có thể sửa sai phụ thuộc vào số lượng mã sửa sai và số bít thông tin thêm vào cho mục đích sửa sai. Số bít thông tin thêm vào càng lớn thì số bít có thể sửa sai càng nhiều, tuy nhiên hiệu suất thông tin lại thấp. Sửa sai bằng cầu bên phát truyền lại thông tin. Với phương pháp này thì chỉ cần thêm các bít thông tin phục vụ cho mục đích phát hiện lỗi, do đó hiệu suất truyền thông tin cao hơn so với trường hợp trên. Tuy nhiên khi có lỗi xảy ra với khung thông tin thì toàn bộ khung thông tin phải được truyền lại. Cơ chế điều khiển luồng và điều khiển tắc nghẽn theo phương pháp cửa sổ được hoạt động tương tự như các cơ chế phát lại ARQ(Automatic Repeat Request – yêu cầu lặp lại tự động). Cơ chế phát lại này được chia làm 3 loại với những đặc điểm và hoạt động khác nhau. 2.2.2 Điều khiển luồng kết hợp ARQ – Stop-and- wait (dừng và đợi) Stop - and -wait là một dạng của điều khiển dòng truyền dừng và đợi đã mở rộng để chứa các chức năng truyền lại dữ liệu trong trường hợp dữ liệu bị mất hoặc bị hư hỏng. Hình vẽ mô tả nguyên tắc hoạt động cơ bản của cơ chế phát lại dừng và đợi:  Hình 2.1: Phát lại theo cơ chế dừng và đợi 2.2.2.1 Hoạt động Phía phát sẽ thực hiện phát một khung thông tin sau đó dừng lại chờ phía thu báo nhận. Phía thu khi nhận đúng khung thông tin và xử lý xong sẽ gửi báo nhận lại cho phía phát(ACK – Acknowledgement - thừa nhận).Phía phát sau khi nhận được báo nhận sẽ phát khung thông tin tiếp theo. Phía thu khi nhận khung thông tin và phát hiện sai sẽ gửi báo sai lại cho phía phát(NACK –Negative Acknowledgement – tiêu cực thừa nhận). Phía phát sau khi nhận được báo sai sẽ thực hiện phát lại khung thông tin. Phía phát sử dụng cơ chế timeout để phát lại khi không nhận được hồi âm từ phía thu. Để phân biệt được các khung thông tin với nhau, cần đánh số khác khung. Dùng một bít để đánh số khung(bít 0 hoặc 1). Số thứ tự khung thông tin từ phía phát sang phía thu nằm trong trường SN(Sequence number), số thứ tự của báo nhận từ phía thu sang phía phát nằm trong trường RN(Request number- yêu cầu số). Hoạt động của cơ chế Stop- anh- wait ARQ khi sử dụng SN và RN: Khi phía phát tại thời điểm ban đầu SN = 0. 1. Nhận gói tin từ lớp phía trên và gán SN cho gói tin này. 2. Gửi gói tin SN này trong khung thông tin có số thứ tự là SN. 3. Chờ khung thông tin(không có lỗi, đóng vai trò là khung báo nhận) từ phía thu.Khi khung nhận được không có lỗi, và trong trường hợp Request có RN>SN thì đặt giá trị SN = RN và quay lại bước 1. Khi không nhận được khung thông tin trong khoảng thời gian định trước(time out) thì thực hiện bước 2. Tại đầu thu: ban đầu RN = 0 4. Khi nhận được một khung thông tin( không có lỗi) từ phía phát, chuyển khung này lên lớp phía trên và tăng RN lên 1. 5. Khi nhận được khung thông tin có lỗi, gửi lại một khung thông tin cho phía phát với RN được giữ nguyên ( khung báo sai- NAK). Khung được gửi từ phía thu này có thể chứa cả thông tin từ phía