Kênh thông tin giữa các thiết bị mạng không phụ thuộc vào logic thời gian mà chúng chỉ có ý nghĩa khi có lưu lượng truyền qua gọi là câc kênh ảo, tập hợp các kênh ảo có cùng đặc tính tạo
Trang 1i
LỜI CẢM ƠN
Sau khoảng 2 tháng nghiên cứu và tìm hiểu em đã hoàn thành xong đồ án tốt nghiệp của mình Đây là những kiến thức em đã học hỏi và tích lũy trong những năm học trên Đại học Hàng Hải Việt Nam Qua đây em xin chân thành cảm ơn các thầy – cô giáo trong trường tử nói chung và các thầy – cô trong bộ môn Điện tử viễn thông nói riêng, những người đã tận tâm, nhiệt tình giảng dạy kiến thức cho em trong những năm học vừa qua và tạo điều kiện cho em để em
có thể hoàn thành được quyển đồ án này
Qua đây em cũng gửi lời cảm ơn đến thầy giáo VŨ VĂN RỰC, người đã trực tiếp hướng dẫn em làm đồ án tốt nghiệp này
Cuối cùng là lời cảm ơn của em đến gia đình, tất cả các bạn bè trong lớp ĐTV52 - ĐH1 cũng như các anh chị đã giúp đỡ, chia sẻ và động viên em trong suốt quá trình học tập tại trường
Hải Phòng, ngày 30 tháng 5năm 2016
Sinh viên Hoàng Hồng Sơn
Trang 2ii
LỜI CAM ĐOAN
Kính gửi: Hội đồng bảo vệ bộ môn Điện tử - Viễn thông, trường Đại học Hàng Hải Việt Nam
Em tên là : Hoàng Hồng Sơn
Sinh viên lớp : ĐTV52 – ĐH1
Mã sinh viên : 44601
Đồ án tốt nghiệp em đã làm có tên như sau:
“Kỹ thuật truyền số liệu trong mạng chuyển mạch gói”
Em xin cam đoan đồ án này không giống hoàn toàn với các đồ án hoặc công trình trước đây đã có
Hải Phòng, ngày 30 tháng 5 năm 2016
Sinh viên Hoàng Hồng Sơn
Trang 3iii
MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1: KHÁI NIỆM CHUYỂN MẠCH TRONG THÔNG TIN 1
1.1 Khái niệm chung 1
1.2 Khái niệm và đặc điểm của mạng chuyển mạch gói 3
1.2.1 Khái niệm mạng chuyển mạch gói 3
1.2.2 Đặc điểm của mạng chuyển mạch gói 4
1.2.3 Nguyên tắc cơ bản của chuyển mạch gói 4
CHƯƠNG 2: TRUYỀN SỐ LIỆU TRONG MẠNG CHUYỂN MẠCH GÓI 7
2.1 Vấn đề tắc nghẽn trong mạng chuyển mạch gói 7
2.2 Xây dựng các phương pháp điều khiển tắc nghẽn 8
2.2.1 Thuật toán Leaky bucket 8
2.2.2 Thuật toán cửa sổ trượt (sliding windown) 12
CHƯƠNG 3: MỘT SỐ GIAO THỨC TRUYỀN SỐ LIỆU TRONG MẠNG CHUYỂN MẠCH GÓI 32
3.1 Các giao thức thiên hướng kí tự 32
3.1.1 Giao thức XMODEM 32
3.1.2 Giao thức YMODEM 33
3.1.3 Giao thức Kermit 33
3.2 Các giao thức thiên hướng bit 35
CHƯƠNG 4: HIỆU SUẤT SỬ DỤNG LIÊN KẾT CỦA ĐƯỜNG TRUYỀN 40
4.1 Hiệu suất sử dụng liên kết của RQ dừng và đợi 40
4.2 Hiệu suất của cơ chế Go-back-N ARQ 44
4.2.1 Trường hợp trong điều kiện lý tưởng 44
4.2.2 Trường hợp trong điều kiện không lý tưởng 46
KẾT LUẬN 48
TÀI LIỆU THAM KHẢO 49
Trang 4Hình 2.8 Biểu đồ mối quan hệ giũa trễ truyền dẫn và tốc độ thông tin
Trang 51
LỜI MỞ ĐẦU
Ngày nay, với sự tiến bộ vượt bậc của công nghệ khoa học kỹ thuật hiện đại không chỉở trên thế giới mà ngay cả tại Việt Nam, việc cập nhật kịp thời mọithông tin cần yêu cầu có độ chính xác cao và đặc biệt là phải với tốc độ xử
lý thật nhanh Chính vì thế mà kỹ thuật truyền số liệuđang giữ một vai trò quan trọng trong sự phát triển của khoa học – công nghệ, vànó cũng trở thành một nội dung cơ bản trong việcđào tạo các kỹ sư trẻ
Các mạng truyền số liệu hiện nay vẫn đang phát triển rất đa dạng, tuy nhiên có 3 dạng kỹ thuật chuyển mạch được sử dụng rộng rãi nhất đó là: kỹ thuật chuyển mạch kênh, kỹ thuật chuyển mạch gói và kỹ thuật chuyển mạch tin Trong đó, kỹ thuật chuyển mạch gói đượcứng dụng chủ yếu trong các dịch vụ truyền số liệu.Ưu điểm của nó là tốc độ truyền dữ liệu được nâng cao vàđáp ứng được nhiều dịch vụ truyền số liệu với giá thành tương đối rẻ
Nhận thấy được sự nổi bật của kỹ thuật chuyển mạch gói nên em đã lựa
chọn nghiên cứu đề tài“KỸ THUẬT TRUYỀN SỐ LIỆU TRONG MẠNG CHUYỂNMẠCH GÓI” dưới sự hướng dẫn tận tình của thầy giáo VŨ VĂN
RỰC Trong đồán em đã tập trung vào việc phân tích các phương pháp để tránh tắc nghẽn, các giao thức truyền số liệu và tiến hành đánh giá hiệu suất của các giao thức đó trong mạng chuyển mạch gói
Trang 61
CHƯƠNG 1: KHÁI NIỆM CHUYỂN MẠCH TRONG
THÔNG TIN1.1 Khái niệm chung
Chuyển mạch là quá trình đấu nối và truyền thông tin cho người sử dụng thông qua hạ tầng mạng viễn thông Chuyển mạng trong mạng viễn thông bao gồm chức năng định tuyến thông tin và chuyển tiếp thông tin Do đó khái niệm chuyển mạch gắn liền với lớp mạng và lớp liên kết dữ liệu trong mô hình OSI của tổ chức tiêu chuẩn quốc tế ISO Trong một số trường hợp mở rộng thì khái niệm chuyển mạch được hình thành theo mô hình phân lớp và trải dải từ lớp 2 đến 7 của mô hình OSI
Quá trình chuyển mạch được thực hiện tại các nút chuyển mạch Các nút chuyển mạch trong chuyển mạch kênh được gọi là hệ thống chuyển mạch hay còn gọi là tổng đài, còn trong chuyển mạch gói là thiết bị định tuyến hay còn gọi
là bộ định tuyến Trong một số trường hợp đặc biệt, phần tử làm nhiệm vụ chuyển mạch có thể đồng thời làm hai vai trò là thiết bị đầu cuối và chuyển mạch và chuyển tiếp thông tin
Về phân loại chuyển mạch, ta có hai dạng mạng chuyển mạch cơ bản là mạng chuyển mạch kênh và mạng chuyển mạch gói Mặt khác dưới góc độ truyền và xử lý thông tin thì chuyển mạch được chia thành bốn kiểu, đó là: chuyển mạch kênh, chuyển mạch bản tin, chuyển mạch gói và chuyển mạch tế bào Mạng chuyển mạch kênh thiết lập các mạch chỉ định riêng cho kết nối trước khi quá trình thông tin thực hiện Do đó ta thấy quá trình chuyển mạch gồm ba giai đoạn là thiết lập, truyền và giải phóng Để thiết lập, giải phóng và điều khiển cuộc gọi thì mạng chuyển mạch kênh sử dụng các kĩ thuật báo hiệu
Đối lập với mạng chuyển mạch kênh là mạng chuyển mạch gói, chia lưu lượng dữ liệu thành các gói và truyền đi trên mạng chia sẻ Trong mạng chuyển mạch gói thì mỗi gói tin là một thực thể riêng biệt và độc lập, trong đó nó chứa
Trang 72
các thông tin cần thiết phục vụ cho quá trình xử lý thông tin trên mạng Kênh thông tin giữa các thiết bị mạng không phụ thuộc vào logic thời gian mà chúng chỉ có ý nghĩa khi có lưu lượng truyền qua gọi là câc kênh ảo, tập hợp các kênh
ảo có cùng đặc tính tạo thành luồng ảo.Các nút mạng có thể thực hiện chuyển mạch cho từng kênh ảo hoặc cả luồng ảo mà không cần phải chuyển mạch cho từng gói tin riêng biệt, do đó sẽ nâng cao hiệu năng truyền thông toàn mạng nhờ giảm bớt một số quy trình xử lý
Kỹ thuật lưu lượng TE (Traffic Engineering) được coi là một trong những vấn đề quan trọng nhất trong khung làm việc của hạ tầng mạng viễn thông Mục đích của nó là để năng cao hiệu năng và độ tin cậy của các hoạt động của mạng bằng các giải pháp tối ưu nguồn tài nguyên và lưu lượng mạng cũng như của người sử dụng Nói cách khác kỹ thuật TE là một công cụ sử dụng để tối ưu nguồn tài nguyên của mạng bằng phương pháp kỹ thuật để định hướng các luồng lưu lượng phù hợp với các tham số ràng buộc tĩnh hoặc động, bao gồm các tham số mạng và tham số yêu cầu của người sử dụng Mục tiêu cơ bản của
kỹ thuật TE là hướng tới cân bằng và tối ưu các điều khiển của tải và tài nguyên mạng thông qua các thuật toán và giải pháp kỹ thuật Đối với các nhà thiết kế và khai thác mạng thì kỹ thuật lưu lượng đóng vai trò quyết định trong các bài toán liên quan tới hiệu năng mạng Do đó kỹ thuật TE luôn luôn được coi là vấn đề
có độ phức tạp cao, đặc biệt là trong các công nghệ mạng chồng lấn và tổ hợp
Báo hiệu là một phần của cơ chế điều khiển mạng Nó sử dụng các tín hiệu để điều khiển truyền thông Trong mạng viễn thông báo hiệu là sự trao đổi thông tin giữa các phần tử trong mạng liên qua tới các vấn đề điều khiển, thiết lập các kết nối và thực hiện quản lý mạng Trong mạng chuyển mạch kênh, báo hiệu là một thành phần cơ bản của quá trình kết nối, nhờ đó mà hệ thống chuyển mạch có thể thực hiện chuyển mạch, thông qua thông tin báo hiệu từ nút mạng tới các thiết bị đầu cuối của người sử dụng để xác định các yêu cầu và quản lý kết nối từ người sử dụng tớ nút mạng, báo hiệu mạng được thực hiện để hỗ trợ
Trang 83
trực tiếp cho quá trình định tuyến, chọn kênh và quản lý kết nối giữa các nút mạng Trong mạng chuyển mạch gói thì hệ thống báo hiệu hướng tới mục tiêu điều khiển thiết bị và quản lý mạng nhiều hơn là mục tiêu gắn kết với quy trình định tuyến để thiết lập kênh như là ở trong mạng chuyển mạch kênh
Các hệ thống báo hiệu có thể phân loại theo đặc tính và nguyên tắc hoạt động bao gồm: báo hiệu trong băng và báo hiệu ngoài băng, báo hiệu đường và báo hiệu thanh ghi, báo hiệu kênh liên kết và báo hiệu kênh chung,… Các thông tin báo hiệu được truyền dưới dạng tín hiệuđiện, quang hoặc bản tin
Xu hướng phát triển của mạng viễn thông luôn hướng tới một hạ tầng duy nhất nhằmđápứng tốt nhất các loại hình dịch vụ trên cơ sở băng thông rộng Mạng tích hợp dịch vụ số băng rộng có nhiệm vụ cung cấp các cuộc nối thông qua chuyển mạch, các cuộc nối cốđịnh hoặc bán cốđịnh, các cuộc nối từđiểm tớiđiểm hoặc từđiểm tớiđa điểm và các dịch vụ yêu cầu, các dịch vụ dành trước hoặc các dịch vụ yêu cầu cốđịnh Cuộc nối trong B-ISDN phục vụ cho cả hai loại chuyển mạch là chuyển mạch kênh và chuyển mạch gói theo kiểuđa phương tiện, đơn phương tiện, theo kiểu hướng liên kết hoặc phi liên kết và theo cấu hìnhđơn hướng hoặcđa hướng B-ISDN có một loạt các đặc tính mớicả trong khía cạnh kết nối và các khía cạnh khác như quản lý, điều khiển và dịch vụ Do vậy tên gọi chung thường được sử dụng là hạ tầng mạng viễn thông
1.2 Khái niệm và đặc điểm của mạng chuyển mạch gói
1.2.1 Khái niệm mạng chuyển mạch gói
Trong mạng chuyển mạch gói bản tin được chia thành các gói và được truyền cùng các tiếp đầu và tiếp cuối của gói, đó là các trườngđiều khiển có nhiệm vụhướng dẫn các node của mạng đểđưa đượccác gói tớiđích, kiểm soát lỗi vàđiều khiển lưu lượng Một bản tin có thể có nhiều gói, chúng có thể được truyền tớiđích theo phương thức liên kết (Connection-oriented) hoặc theo phương thức phi kết nối (Connectionless) Như thế các gói của một bản tin cóthể
Trang 94
được truyền theo cùng một tuyến qua các nút mạng hoặc cũng có thể được truyền trên các tuyến khác nhau Mặt khác trong quá trình truyền các gói có thể
có lỗi, có một vài gói phải truyền lại nên các gói có thể đếnđích không theo thứ
tự, các thiết bị mạng và thiết bị đầu cuối phải có khả năng kiểm soát và sắp xếp lại các gói để khôi phục lại bản tin tại đầu cuối thu
1.2.2 Đặc điểm của mạng chuyển mạch gói
- Giảm được trễ tại các node và trong mạng
- Xử lý lỗi và sửa lỗi hoặc truyền lại gói nhanh hơn so với chuyển mạch bản tin do đó giảm được lượng thông tin cần truyền lai , giảm tắc nghẽn và tăng tốc độ truyền tin cũng như khả năng phục vụ của mạng
- Có thểđịnh tuyến cho từng gói hoặc cho tất cả các gói của cuộc gọi theo các thủ tục khác nhau
1.2.3 Nguyên tắc cơ bản của chuyển mạch gói
Sự khác biệt giữa chuyển mạch bản tin và chuyển mạch góilàở quá trình
xử lý bản tin Chuyển mạch gói phân chia bản tin thành các thực thể phù hợp với đường truyền và cấu hình mạng, kích thước của các gói có thể cốđịnh hoặc thay đối, phương pháp chuyển mạch với các gói có kích thước cốđịnh gọi là chuyển mạch tế bào Sau khi kết thúc quá trình chuyển mạch các gói sẽ được tái hợp và sắp xếp lại để hoàn nguyên lại thông tin người sử dụng
Để có được các gói tin chuyển mạch một quá trình phân mảnh vào tạo gói
từ dữ liệu người sử dụng được thực hiện tại các lớp cao phía người sử dụng Qúa trìnhđó được mô tả như trong hình dướiđây:
Trang 105
Hình 1.1: Đóng gói dữ liệu theo mô hình OSI
Quá trình phân mảnh và tạo gói theo các lớp của mô hìnhOSIbao gồm mô hìnhđóng gói dữ liệu và khôn dạng dữ liệuứng dụng Kỹ thuật chuyển mạch cho phép kết nối thông tin từ đầu cuối tới đầu cuối qua quá trình chia sẻ tài nguyên,
sử dụng các tập thủ tục và các liên kết có tốc độ khác nhau để truyền các gói tin
và có thể chuyển gói trên nhiềuđường dẫn khác nhau Có hai kiểu chuyển mạch gói cơ bản là chuyển mạch datagra DG (datagram) và chuyển mạch kênh ảo VC (Virtual Circuit) Hai kiểu chuyển mạch này được mô tả như trong hình dướiđây:
Hình1.2: Chuyển mạch Datagram và chuyển mạch kênh ảo
Trang 116
Chuyển mạch Datagram cung cấp các dịch vụ không yêu cầu thời gian thực Nó không cần giai đoạn thiết lập kết nối và thích hợp vớidạng dữ liệu có lưu lượng thấp và tồn tại trong khoảng thời gian ngắn Trong chuyển mạch Datagram các thông tin về trễ sẽ không đượcđảm bảo, cùng với đó các hiện tượng lặp và mất gói cũng dễ dàng xảy ra Tuy vậy kiểu chuyển mạch này cho phép lựa chọn các con đường tớiđích nhanh nhất đểđápứng được các thay đổi nhanh của mạng
Chuyển mạch kênh ảo VC yêu cầu giai đoạn thiết lập tuyến giữa thiết bị gửi và thiết bị nhận thông tin Một kênh ảo được hình thành giữa các thiết bị trong đường dẫn chuyển mạch và chỉ được xácđịnh khi có dữ liệu truyền qua mà không phụ thuộc vào logic thời gian Chuyển mạch kênh ảo yêu cầu một tuyến hiện ngay trong quá trìnhđịnh tuyến và kênh ảo được nhận dạng thông qua trường nhận dạng kênh ảo VCI nằmtại tiêu đề gói tin Khi kênh ảo được thiết lập thì kênh được sử dụng để truyền các gói tin Các gói có VCI trong tiêu đề được
sử dụng như con trỏ để truy nhậptới các thông tin lưu trữ tại các nút chuyển mạch Các trường nhận dạng kênh ảo phải là duy nhất để phân biệt thông tin của người sử dụng và tái sử dụng vì nếu không thìsố lượng VCI sẽ rất lớn và tăng lên theo kích cỡ mạng Nhận dạng kênh ảo trên các liên kết đầu vào và đầu ra không nhất thiết phải giống nhau Các kênh ảo có cùng đặc tính có thể ghép lại với nhau tạo thànhluồngảo và được thể hiện qua trường chức năng VPI (Virtual Path Identifier) Sau đó thiết bị chuyển mạch nhận dạng thông tin luồngảo và thực hiện chuyển mạch toàn bộ luồngảo
Trang 127
CHƯƠNG 2: TRUYỀN SỐ LIỆU TRONG MẠNG
CHUYỂN MẠCH GÓI 2.1 Vấn đề tắc nghẽn trong mạng chuyển mạch gói
Nhưđã nêu ở trên trong mạng chuyển mạch gói thì dữ liệu được chia thành các gói tin và đều được truyền trên cùng một đường truyền Do đó ta thấy nếu như có quá nhiều gói tin trên đường truyền và dung lượng kênh truyền bị giới hạn thì sẽ xảy ra hiện tượng tắc nghẽn Sự tắc nghẽn có thể xảy ra cục bộở một thờiđiểm nàođó Khi đó ta phảiáp dụng các phương pháp để giải quyết được bài toán tắc nghẽn Phương pháp đầu tiên là phương pháp hạn chế băng thông hay còn gọi là phương pháp chậu rò (Leaky bucket) Phương pháp này dựa trên nguyên tắc hạn chế băng thông vào mạng đểđiều khiển tắc nghẽn Tuy nhiên đây
là phương pháp cổđiển, đơn giản và có nhượcđiểm như làm tăng sự trễ truyền của gói tin trong mạng, chưa đề cập tới dung lượng kênh truyền,… cho nên phương pháp nàyít được sử dụng Phương pháp thứ hai là phương pháp của sổ Phương pháp này sẽ ước lượng để chia các gói tin theo các chuẩn nhấtđịnh rồi truyền trên các kênh truyền riêng cho từng gói chứ không truyền trên cùng một kênh truyền nhưphương pháp hạn chế băng thông Do đó nó sẽ khắc phục được những nhượcđiểm của phương pháp hạn chế băng thông
Sau khi đã có được những phương phápđiều khiển tắc nghẽn thì người ta đưa ra các giao thứcđiều khiển để thực hiện việc truyền số liệu Có hai loại giao thứcđiều khiển là giao thức thiên hướng bit và giao thức thiên hướng kí tự Trong đó giao thức thiên hướng kí tự là phương pháp cổđiển và ngày nay tất cả các giao thức liên kết số liệu mới đềusử dụng giao thức thiên hướng bit Ởđây ta
sẽ tìm hiểu về các giao thức cụ thể là giao thức XMODEM, giao thức YMODEM, giao thức Kermit và giao thức HDLC
Trang 138
2.2 Xây dựng các phương pháp điều khiển tắc nghẽn
2.2.1 Thuật toán Leaky bucket
Phương phápcửa sổ trượt trễ gói sẽ tăng tỷ lệ số lượng kết nối cần thực hiện đểđiều khiển luồng Mặc dù ta có thể giảm kích thước cửa sổ để có thể rú ngắn trễ gói nhưng phương pháp này không dễ dàng thực hiện Để có thểđápứng được yêu cầu củađiều khiển luồng, người ta đưa ra các phương phápđiều khiển luồng và tránh tắc nghẽn dựa trên việc hạn chế băng thông Cơ chế kiểm soát băng thông sẽđảm bảo lượng thông tin đượcđưa vào mạng không vượt quá một mức nàođó và như vậy sẽ tránh được tắc nghẽn xảy ra trong mạng
Cơ chế kiểm soát băng thông được chia làm hai loại:
+ Kiểm soát chặt: Nếu gọi tốc độ thông tin vào mạng trung bình làr (gói/s) thì hệ thống kiểm soát sẽ chỉ cho một gói vào sau mỗi 1/r giây
+ Kiểm soát lỏng: Nếu gọi tốc độ thông tin vào mạng trung bình làr
(gói/s) thì hệ thống kiểm soát sẽ cho K gói vào mạngtrong một khoảng thời gian
là K/r giây Trong phương pháp này tốc độ dữ liệ trung bình là không đổi nhưng
mạng cho phép nhận tốiđa là K gói tin trong một thờiđiểm Cơ chế này hoạt động dựa trên nguyên lý của phương pháp chậu rò ( leaky bucket)
Trang 149
Hình 2.1: Nguyên lý hoạt động của thuật toán chậu rò
Nút mạng được trang bị một chậu rò dùng để kiểm soát lượng thông tin đi vào mạng Chậu rò là một bộ đệm lưu trữ được tốiđa là B thẻ bài Các thẻ bài đượcđưa vào chậu rò với tốc độ r (thẻ bài/s) cho đến khi chậu ròcó đầy thẻ bài rồi thì dừng lại Nguyên lý chung là mỗi khi có một gói tin đến một nút mạng thì gói tin đó phải nhận được một thẻ bài Như vậy tốc độ trung bình của gói tin đi vào mạng là r (gói/s) vàđúng bằng tốc độ tạo thẻ bài Khi chậu rò đầy thẻ bài gói tin có thể được truyềnđi với tốc độ tốiđa là r (gói tin/s)
Như vậy ta thầy rằng khi sử dụng chậu rò thì tốc độ của luồng thông tin đi vào mạng không vượt quá r (gói/s) Nếu mạng có nhiều nút mạng và mỗi nút mạng có một chậu rò thì cho dù tốc độ của thông tin đến các nút thay đổi thì tốc
độ thông tin trong mạng vẫn kháổnđịnh
Dựa trên nguyên tắc hạn chế băng thông vào mạng người ta đưa ra ba dạng của thuật toán leaky bucket:
+ Leaky bucket không có buffer
+ Leaky bucket có một bộ đệm: data buffer
+ Leaky bucket có hai bộ đệm: data buffer và token pool
Trang 1510
a Leaky bucket không có buffer
Hình 2.2: Hoạt động của Leaky bucket không có bộ đệm
Các gói tin đƣợcđƣa tới sẽ đƣợcđƣa trực tiếp đến bộ kiểm soát để kiểm tra
sự hợp pháp của gói tin Mỗi gói tin phảiđi kèm với một thẻ bài thì mới đƣợcđƣa vào mạng Thẻ bài (token) đóng vai trò nhƣ một giấy thông hành cho phép gói tin có thể vào mạng
Gọi tốc độ tạo thẻ bài là r, nếu nguồn phát các gói tin với tốc độ lớn hơn r thì chỉ có một phần các gói tin đƣợc dƣa vào mạng với tốc độ r ( gói tin/s) Nhƣ vậy các gói tin còn lại sẽ bị mất do số lƣợng thẻ bài không đủ Do đótốc độ cựcđại của các gói tin vào mạng bằng với tốc độ tạo thẻ bài r (gói tin/s)
Do có nhƣợcđiểm là bị mất gói tin và tốc độ bị giới hạn không lớn hơn tốc
độ tạo thẻ bài nên Leaky bucket không có bộ đệmít đƣợc sử dụng cho việcđiều khiển luồng và tránh tắc nghẽn
b Leaky bucket có một bộ đệm (data buffer)
Hình 2.3: Hoạt động của Leaky bucket có một bộ đệm dữ liệu
Trang 1611
Những hạn chế của phương pháp leaky bucket không có bộ đệm sẽ được giải quyết khi sử dụng một bộ đệm có kích thước phù hợp để chứa các gói tin đến chưa có thẻ bài vào mạng Khi tốc độ gói tin nhỏ hơn tốc độ tạo thẻ bài thì các gói tin đượcđưa vào mạng thông qua bộ đệm Trong trường hợp các gói tin tới lớn hơn tốc độ tạo thẻ bài thì một phần các gói tin đượcđưa vào mạng với tốc
độ tạo thẻ bài, phần còn lại được lưu vào bộ đệm dữ liệu (data buffer) để chờ xử
lý Sau đó khi đếnthờiđiểm mà tốc độ gói tin nhỏ hơn tốc độ tạo thẻ bài thì các gói tin lưu trữở trong bộ đệm sẽ được đưa vào mạng Như vậy sẽ không xảy ra hiện tượng mất gói như phương pháp leaky bucket không có bộ đệm
Nếu B là dung lượng bộđệm, r là tốc độ tạo thẻ bài thì số gói tin cực đại
c Leaky bucket có hai bộ đệm: Data buffer và token pool
Hình 2.4: Hoạt động của Leaky bucket có hai bộ đệm
Trang 1712
Khi một nguồn phát các gói tín với tốc độ nhỏ hơn tốc độ tạo thẻ bài thì chỉ có nột phần các thẻ bài được sử dụng bằng cách gán 1:1 cho các gói tin, số còn lại sẽ không được sử dụng Như vậy để sử dụng hết số thẻ bài được tạo ra thì người ta sử dụng một bộ đệm (token pool) để chứa các thẻ bài chưa được dùng Khi nguồn phát phát các gói tin với tốc độ lớn hơn tốc độ tạo thẻ bài thì các thẻ bài trong token pool sẽ được sử dụng Do đó ta thấy việc thêm bộ đệm
để lưu Token thì tốc độ phát của nguồn phát tại một thờiđiểm có thể lớn hơn tốc
độ tạo thẻ bài Xét trong thời gian dài thì phương pháp này giúp cho tốc độ phát gói tin của nguồn phát tiến gần về tốc độ tạo Token
2.2.2 Thuật toán cửa sổ trượt (sliding windown)
a Nguyên lý hoạt động của cửa sổ trượt
Cơ chếđiều khiển luồng và tránh tắc nghẽn dựa trên thuật toán cửa sổ trượt được thực hiện thông qua việc giới hạn số lượng gói tin được truyềnđi ở phía phát nhằmđảm bảo lưu lượng thông tin đi vào mạng vẫn nằm trong khả năng xử lý của phía thu Ở thuật toán nàykhi phía thu xử lý xong các gói tin đã nhận được thì phía phát mới phát tiếp các gói tin khác Khi đã xử lý xong thì phía thu sẽ báo cho phía phát biết để phía phát thực hiện phát các gói tin tiếp theo Cơ chế này nhằmđảm bảo việc truyền tin luôn luôn nằm trong khả năng xử
lý của phía thu
Trang 1813
Hình 2.5: Nguyên lý hoạt động của phương pháp cửa sổ trượt
Số lượng gói tin có thể đợi báo nhận bị giới hạn bởi một con số tốiđa, giới hạn này gọi là kích thước cửa sổ (send windown), ký hiệu là K Nếu K=1 thì phương pháp này hoàn toàn giống với phương pháp RQ dừng và đợi với hiệu suất sử dụng liên kết thấp
Ta thấy mỗi gói tin đều mang một chỉ số để phân biệt với nhau Các gói tin đã được báo nhận sẽ được xóa khỏi bộ đệm truyền nhằm giải phóng bộ đệm Gói tin cuối cùngđược báo nhận sẽ được xóa khỏi bộ đệm và khi đó trong bộ đệm sẽ có một vị trí trống làm cho biên trên cửa sổ tăng lên mộtđơn vị và một gói tin khác sẽ được nằm trong cửa sổ trượt Hay nói cách khác khi cửa sổ trượt qua gói tin nào thì gói tin đó sẽ được truyềnđi mà không cần chờ báo nhận
Trong hình 7 ta thấy kích thước cựcđại của cửa sổ là =7, hai gói tin số 6 và 7 đã được gửi tới phía phát nhưng chưa được báo nhận để xóa khỏi
Trang 1914
bộđệm nen vẫn nằm trong bộ đệm Khi một gói tin nằm trong cửa sổ được phátđi thì biên dưới cửa sổ tăng lên mộtđơn vị và khi đó kích thước tức thời của cửa sổ sẽ giảmđi mộtđơn vị
Trong trường hợp xảy ra tắc nghẽn thì gói in cuối cùng nằm trong cửa sổ phátđi chưa có bất cứ báo nhận nào sẽ quay trở lại phía phát Khi đó biên dưới của cửa sổ tăng dần trong khi biên trên vẫn giữ nguyên vị trí làm cho kích thước cửa sổ bị thu hẹp lại Khi cửa sổ có kích thước bằng 0 thì sẽ không có gói tin nào được phátđi Tớiđây chúng ta thấy rõ được hiệu quả của cửa sổ trượt Lưu lượng đầu vào của mạngđã được giới hạn bằng việc dừng phát gói tin tiếp theo Thực
ra việcđiều khiển lưu lượng đầu vào của mạng không chỉ tới khi K=0 mới thực hiện mà lúc K=0 là khi mạngđãở trong tình trạng tăc nghẽn kéo dài làm cho thông lượng của mạng giảm xuống bằng 0 Quá trìnhđiều khiển lưu lượng nhằm tránh tắc nghẽn trong mạng diễn ra ngay trong quá trình kích thước tức thời của cửa sổ thay đổi Khi thông lượng của mạng lớn thì kích thước cửa sổ sẽ tăng dần đến cựcđại Khi xảy ra tắc nghẽn thì kích thước cửa sổ thay đổi từ đến K=0 và khi đó phía phát sẽ dừng hẳn quá trình phát Như vậy khi mạng hoạt động tốt và không có sự tắc nghẽn thì cửa sổ K sẽđược tăng lên và giảmđi mộtđơn vị, kích thước của cửa sổ không thay đổi mà nó trượtđi một đơn vị theo thứ tự truyền lần lượt qua các gói tin cần phát
Ở phía phát cũng sử dụng một cửa sổ tương tự, kích thước lớn nhất của bộ đệm gói tin tại phía thu gọi là kích thước cửa sổ thu ( Receive Windown) Hoạtđộng của cửa sổ thu và phát là tương tự nhau Khi nhận được một gói tin thì biên trên cửa sổ sẽ tăng lên mộtđơn vị, sau quá trình xử lý và chuyển tiếp gói tin phía thu sẽ phátđi một báo nhận cho phía phát để thông báo rằng gói tin tương ứngđã được nhận tốt và phía phát xóa gói tin đó ra khỏi bộ đệm Khi phía thu gửiđi một gói tin báo nhận thì biên dưới của cửa sổ thu tăng lên mộtđơn vị, khi nhận một gói tin thì biên trên cửa sổ thu tăng lên mộtđơn vị Và cứ như vậy thì phía thu sẽ lần lượt trượt qua các gói tin được nhận theo thứ tự nhận
Trang 2015
Với việc phía phát và phía thu hoạt động nhịp nhàng với nhau bằng việc
sử dụng báo nhận, số lượng gói tin cùng đồng thời tồn tại trên đường truyền luôn nằm trong giới hạn nhấtđịnh Nếu phía thu có bộ đệmcó dung lượng lớn hơn tổng kích thước các gói tin nằm trong giới hạn thì khó có thể xảy ra trường hợp tràn bộ đệm tại phía thu Việcđiều khiển luồng có thể tác động tới các kênh
ảo, một nhóm kênh ảo hay toàn bộ luồng thông tin từ nút này tới nút khác, từ đầu cuối này đến đầu cuối khác Các phương phápđiều khiển luồng cũng tương
tự như các phương phápđiều khiển lỗi và phát lạiARQ
b Điều khiển luồng giữa hai nút đầu cuối ( end-to-end)
Cửa sổ End to End: Dùng đểđiều khiển luồng giữađiểm phát vàđiểm thu,
nhằmđảm bảo nút nguồn thục hiện truyền thông tin không vượt quá khả năng xử
lý của nútđích
Hình 2.6: Cửa sổ End to End với phía phát truyền tin liên tục
: Thời gian phát đi một gói thông tin
K: Kích thước cửa sổ
Trang 2116
d: Tổng trễ từ phía phát đến phía thu và ngược lại
Khi d K T ix, lúc này phía phát có thể truyền tin với tốc độ lớn nhất
Hình 2.7: Cửa sổ End to End với phía phát truyền tin không liên tục
Trong trường hợpd K T ix, phía phát sẽ phátđi K gói tin rồi nó dừng lại
để chờ phía thu báo nhận do kích thước cửa sổ giảm xuốngK=0 Như vậy số
lượng gói tin đi vào mạngđã bị hạn chế nhỏ hơn tốc độ phát cực đại là
ix
1
r T
Điều này xảy ra do thời gian trễ đường truyền lớn nên khi phía phát phát xong K
gói tin trong cửa sổthì vẫn chưa nhận được bất kỳ một báo nhận nào từ phía thu Nếu phía phát luôn có thông tin để phát thì sẽ phátđi với tốc độ trung bình
Trang 22 , khi trễ trên đường truyềndtăng cao thì khi đóđiều khiển luồng
sẽ thực hiện giới hạn số lượng gói tin đi vàomạng, qua đó sẽgiảm được tốc độ phát Khi mạng không còn tình trạng tắc nghẽn nữa thì tốc độ phát sẽ tăng lên và
có thểđạt cựcđại
Hình 2.8: Biểu đồ mối quan hệ giũa trễ truyền dẫn và tốc độ thông tin phát
Từ biểu đồ trên ta thấy khi xảy ra tắc nghẽn ( trễ tăng) thì tốcđộ truyền tin
sẽ bị giảmđi Mặt khác phương pháp cửa sổ trượt còn cóưu điểm so với các phương pháp khác là nó phảnứng khá nhanh với hiện tượng tắc nghẽn và có thông tin điều khiểnít
Trang 2318
Nguyên tắc chọn kích thước cửa sổ:
Nếu không xảy ra tắc nghẽn thì ta phải chọn kích thước cửa sổ phảiđủ
lớnđểđảm bảo được tốc độ truyền tin đạt
ix
1
r T
(gói/s)
d’ = Round-trip delay khi trễ hàng đợi xấp xỉ 0 (trường hợp không xảy ra
tắc nghẽn) – đây là trễ tính từ lúcphátđi gói thông tinở bên phát vànhận ACK từ phía thu
N:Là số nút mạng dọc theo đường truyền từ phía phát đến phía thu
D: Trễ truyền sóng dọc theo đường truyền
Nếu xảy ra tắc nghẽn thì trễ round-trip d > d’
Ngoài ra phương pháp cửa sổ cũng có những nhượcđiểm sau:
+ Khóđảm bảo trễ nằm trong giới hạn cho phép khi lượng thông tin vào
mạng tăng Nếucón tiến trìnhđiều khiển luồng với kích thước cửa sổ lần lượt
làK1, K2, … Kn thì lúc này trong mạng có tổng cộng là
1
n
i i i
K
gói tin trong
đó nhận giá trị trong khoảng 0 → 1, hệ số nàyphụ thuộc vào thời gian trễ của
ACK Vậy các gói tin trong mạng sẽ có thời gian trễ trung bình là 1
n
i i i
K T
Trang 2419
trong đó𝜆là thông lượng Khi số lượng các tiến trìnhđiều khiển luồng tăng lên (n tăng) thì𝜆đạt đến tốc độ cựcđại là tốc độ của các đường liên kết, do vậy là giá trị
không đổi vàphụ thuộc vào mạng Khi đó giá trị trễT sẽ tăng theo tỷ lệ với số
lượng tiến trìnhđiều khiển luồng Như vậy nếu số lượng tiến trình là rất lớn thì
hệ thống mạng sẽ không có khả nănggiữ được giá trịT nằm trong giới hạn cho
phép và có thể xảy ra tắc nghẽn Lúcđógiải pháp ta có thể sử dụng là thực hiện giảm kích thước cửa sổ để giảm độ trễ khi mạng hoạt động trong trạng thái tải nặng Tuy nhiên giải pháp này chỉáp dụng với mức độ phù hợp vì nếu giá trị quá nhỏ thì khả năng truyền tải thông tin sẽ không được hiệu quả Trong thực tế thìcửa sổ thíchứng được sử dụng nhiều để truyền tin Ở phương pháp này ta có thể thay đổi kích thước cựcđại của cửa sổ tùy theo tình trạng hiện thời của mạng Trong trường hợp tảiít thì kích thước cửa sổ vẫn có thể lớn để cho phépthông tin được truyềnđi với tốc độ cao Khi tải trên mạng tăng thì kích thước cửa sổ giảmđi để tránh xảy ra tắc nghẽn Như vậy phương pháp này sẽ tăng hiệu quả truyền thông đáng kể phù hợp với các mạng thực tế
+ Hạn chế thứ hai của phương pháp cửa sổ End-to-End là chưa đảm bảo được tính công bằng cho người dùng trong tất cả các trường hợp Đểđảm bảo thông tin được truyền tốt nhất, kích thước của mỗi cửa sổ tỷ lệ với số nút mạng trên đườngđi từ nguồn đếnđích và tỷ lệ với trễ truyền sóng dọc theo đường truyền Như vậy khi tắc nghẽn xảy ra, nếucó nhiều kết nối cùng hoạt động trên một đường truyền, kết nối nào có khoảng cách từ nguồn đếnđích lớn thì sẽ được
sử dụng nhiều tài nguyên hơn do có kích thước cửa sổ lớn hơn
c Điều khiển luồng giữa 2 nút liên tiếp trong mạng (hop-by-hop)
Điều khiển luồng giữa 2 nút liên tiếp trong mạng (hop-by-hop) là việc thực hiệnđiều khiển luồng giữa 2 nút liên tiếp trên đườngđi từ nguồn tớiđích
Trong cơ chế này việcđiều khiển luồng được thực hiện giữa hai nút mạng liên tiếp nhau trên đường truyền Mỗi nút mạng có các cửa sổ riêng để phục vụcho các kênh làm việc khác nhau Nguyên tắc hoạt động của cơ chế này cũng
Trang 25có quá nhiều gói tin đến Mụcđích này được thực hiện bằng việc nútđíchsẽ giảm tốc độ gửi gói báo nhận ACK về nút nguồn Trong trường hợp tổng quát nếu bộ
đệm của nútđích có dung lượng làK gói tin cho mỗi liên kết thì nútđích sẽ gửi
ACK cho nút nguồn nếu vẫn còn chỗ trống trong bộ đệm Sau đógói tin trong bộ đệm của nútđích sẽ được xóa nếu nóđã được truyềnđi thành công đến nút tiếp theo trên đường truyền hoặcđãđi ra khỏi mạng Giả sửtrên đường truyền có ba
nút liên tiếp(i-1, i, i+1) và bộ đệm của nútiđã có đầyK gói tin Khi đó nếu nútiđã gửi thành công một gói tin cho núti+1 thì nó sẽ gửi ACK cho núti-1 Nút i sẽ hực hiệnđiều này nếu nó nhận được một ACK từ núti+1 Trong trường hợp xảy
ra tắc nghẽn tại một nút nàođó bộ đệm của nút này được lấp đầy bởiK Nếu xảy
ra tắc nghẽn trong thời gian dài thì theo hệ quả, bộ đệm của các nút phía trước
nútđó cũng sẽ đầy Hiện tượng này được gọi làbackpressure
Trang 2621
Hình 2.9: Cơ chế backpressure trong điều khiển luồng Hop-by-Hop
Cácưu điểm của phương pháp Hop-by-Hop:
• Trong trường hợp xấu nhất, giả sử xảy ra tắc nghẽn tại đường nối cuối
cùng của tuyến truyền thì tổng số gói tin trong mạng sẽ làn.K Trong trường hợp
này các gói tin được phân bố đềuở bộ đệm của các nút và như vậy dung lượng
bộ đệm cần thiết của mỗi nút sẽ nhỏ hơn trường hợp End-to-End rất nhiều
• Phương pháp Hop-by-Hop cho phép thực hiện tính công bằng Với việc phân các gói tin của một kết nối dọc theo các nút mạng mà kết nối phảiđi qua, ta có thể tránh được tình trạng kết nối của một nút có khoảng cách nguồn tớiđích lớn sẽ chiếm hết tài nguyên của các kết nối khác Trong trường hợp Hop-by-Hop, cửa sổ của các kết nối có kích thước xấp xỉbằng nhau do đó tốc độ thông tin đến là không chênh lệch vàđảm bảo được tính công bằng khi sử dụng tài nguyên Tuy nhiên điều này không áp dụng trong trường hợp kết nối giữa hai nút dùng cho truyền thông tin vệ tinh Trong trường hợpđó, do truyền dẫn có độ trễ khá lớn nên cửa sổ của kết nối vệ tinh có thể có kích thước lớn hơn kích thước của các cửa sổ khác dẫn đến tình trạng không công bằng
Để làm rõ nguyên lý hoạt động của phương pháp cửa sổ ta xét hoạt động của phương pháp cửa sổ với kích thướcW=7
Trang 2722
Hình 2.10: Hoạt động của phương pháp cửa sổ trượt với K=7
Trong ví dụ này người ta dùng 3 bit đểđánh dấu chỉ số cho các gói tin nên cửa sổ có kích thước cựcđại là K=7, tức là phía phát (A) có thể phát liên tiếp 7 gói tin mà không cần chờ báo nhận bắt đầu từ gói tin (0) Sau khi phátđi 3 gói tin I(0), I(1), I(2) mà không cần báo nhận thì kích thước của cửa sổ phát bây giờ giảm xuống là K=4, đồng thời bộ đệm phát chưa được giải phóng do chưa nhận được báo nhận của các gói tin đã phátđi Lúc này phía phát có thể phátđi 4 gói tin còn lại trong cửa sổ hiện tại bắt đầu từ gói tin (3) Phia thu sau khi nhận được
3 gói tin thì kích thước bộ đệm thu tăng lên K(B)=7, phía thu phát xác nhận RR3 tới phía phát để phía phát biết rằng các gói tin (0), (1), (2) đã được phía thu thu tốt và sẵn sàng nhận các gói tin tiếp theo gói tin (3) đồng thời giải phóng 3
Trang 2823
góitin tương ứng ra khỏi bộ đệm thu Phía phát (A) sau khi nhận được xác nhận
từ phía thu sẽ tiến hành xóa các gói tin màđã được nhận bên phía thu ra khỏi bộ đệm làm kích thước cửa sổ lại tăng lên K=7 Như vậy ta thấy kích thước của cửa
sổ không thay đổi vàđã trượt qua 3 gói tin I(0), I(1), I(2) Phía phát tiếp tục phátđi các gói tin tiếp theo I(3), I(4), I(5), I(6) mà không cần chờ báo nhận từ phía phát và vẫn giữ bản copy của chúng trong bộ đệm, kích thước cửa sổ lại giảm xuống K=3 Phía thu sau khi xử lý xong gói tin I(3) thì sẽ gửi xác nhậ RR(4) để thông báo tới phía phát rằngđã nhận tốt gói tin I(3) Sau đó gói tin này
sẽ được loại bỏ ra khỏi bộ đệm phát và gói tin tiếp theo được chuyển vào trong cửa sổ để sẵn sàng gửiđi Lúc này kích thước cửa sổ tăng lên K=4
d Cửa sổ thích ứng
Cơ chế cửa sổ trượtđãđiều khiển hiệu quả lưu lượng đầu vào bằng việc tăng giảm kích thước cửa sổ một cách hợp lý Hiện nay trong các mạng chuyển mạch gói thì lưu lượng người dùng rất lớn và nó thường xuyên thay đổiở mức
độ rất cao Việc lựa chọn cửa sổ để phù hợp với lưu lượng lớn và thay đổi liên tục như thếlà một việc rất khó khăn Việc sử dụng cửa sổ trượt chỉ là giải phápđiều chỉnh lưu lượng mạng khi lưu lượng biến đổi nhỏ Còn đối với dải lưu lượng biến đổi lớn thì người ta dùng phương pháp cửa sổ thíchứng (adaptive windown) Phương pháp này cũngáp dụng nguyên lý cửa sổ trượt đểđiều chỉnh lưu lượng vào mạng nhưng nó phù hợp với mạng có lưu lượng lớn và thương xuyên thay đổi do nó có nhữngưu điểm so với cửa sổ trượt là:
+ Khi mạng có khả năng đápứng được lưu lượng tức thời thìkích thước cựcđại của cửa sổ sẽ đượcđiều chỉnh phù hợp Kích thước của cửa sổ tức thời sẽ không lớn hơn kích thước của cửa sổ được lựa chọn
+ Khi lưu lượng mạng đột ngột tăng thì mạng sẽ không đápứn được khả năng truyền thông do kích thước cựcđại của cửa sổ không đượcđiều chỉnh phù hợpvà sẽ xảy ra tắc nghẽn nếu không có các biện phápđiều chỉnh thích hợp Trong trường hợp này khi ta sử dụng phương pháp cửa sổ thíchứng thìphía phát