ả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ểnmạch cho từng kênh ảo hoặc cả luồng ảo mà không cần phải chuyển mạch chotừng gói tin riêng biệt, do đó sẽ nâng
Trang 11.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ụngthông qua hạ tầng mạng viễn thông Chuyển mạng trong mạng viễn thông baogồm chức năng định tuyến thông tin và chuyển tiếp thông tin Do đó khái niệmchuyể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 OSIcủ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áiniệ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útchuyển mạch trong chuyển mạch kênh được gọi là hệ thống chuyển mạch haycò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ểnmạ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ướckhi quá trình thông tin thực hiện Do đó ta thấy quá trình chuyển mạch gồm bagiai đoạn là thiết lập, truyền và giải phóng Để thiết lập, giải phóng và điềukhiể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ưulượng dữ liệu thành các gói và truyền đi trên mạng chia sẻ Trong mạng chuyểnmạ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ứacá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ênhthông tin giữa các thiết bị mạng không phụ thuộc vào logic thời gian mà chúngchỉ 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
Trang 2ả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ểnmạch cho từng kênh ảo hoặc cả luồng ảo mà không cần phải chuyển mạch chotừ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ữngvấ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ạngbằ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ủangườ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 ưunguồn tài nguyên của mạng bằng phương pháp kỹ thuật để định hướng cácluồ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ồmcá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ênmạ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ánliê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ínhiệu để điều khiển truyền thông Trong mạng viễn thông báo hiệu là sự trao đổithô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ếtlậ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áohiệ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ểnmạ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ạngtớ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ợ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útmạ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
Trang 3Cá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ôngtin 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 duynhấ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ôngqua 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ểmtớ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ànhtrướ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 đaphươ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à theocấu hình đơn hướng hoặc đa hướng B-ISDN có một loạt các đặc tính mới cả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.
a 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à đượctruyền cùng các tiếp đầu và tiếp cuối của gói, các tiếp đầu và tiếp cuối đó là cáctrường điều khiển để hướng dẫn các node của mạng đưa các gói tới đích, kiểmsoá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 theophương thức phi kết nối (Connectionless) Như thế các gói của một bản tin cóthể được truyền theo cùng một tuyến qua các nút mạng hoặc cũng có thể đượctruyề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ếplại các gói để khôi phục lại bản tin tại đầu cuối thu
Trang 4b Đặ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ạchbản tin do đó giảm được lượng thông tin cần truyền lai , giảm tắc nghẽn và tăngtố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 theocác thủ tục khác nhau
c 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ói là ở 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ểnmạ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 qua 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úatrình đó được mô tả như trong hình dưới đây:
Hình 1: Đóng gói dữ liệu theo mô hình OSI
Trang 5Qúa trình phân mảnh và tạo gói theo các lớp của mô hình OSI bao 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ạchcho 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àinguyê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ềncác gói tin và có thể chuyển gói trên nhiều đường dẫn khác nhau Có hai kiểuchuyển mạch gói cơ bản là chuyển mạch datagra DG (datagram) và chuyểnmạ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ình 2: Chuyển mạch Datagram và chuyển mạch kênh ảo
Chuyển mạch Datagram cung cấp các dịch vụ không yêu cầu thời gianthực Nó không cần giai đoạn thiết lập kết nối và thích hợp với dạ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ạchDatagram các thông tin về trễ sẽ không được đảm bảo, cùng với đó các hiệntượ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 chophép lựa chọn các con đường tới đích nhanh nhất để đáp ứng được các thay đổinhanh 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
Trang 6tuyến hiện ngay trong quá trình định tuyến và kênh ảo được nhận dạng thôngqua trường nhận dạng kênh ảo VCI nằm tại tiêu đề gói tin Khi kênh ảo đượcthiế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ập tới các thông tin lưu trữ tại các nútchuyển mạch Các trường nhận dạng kênh ảo phải là duy nhất để phân biệtthô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ấtlớ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ành luồ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 7
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 chiathành các gói tin và đều được truyền trên cùng một đường truyền Do đó ta thấynế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ăngthông hay còn gọi là phương pháp chậu rò (Leaky bucket) Phương pháp nàydự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 Tuynhiê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ápcủ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êncùng một kênh truyền như phương pháp hạn chế băng thông Do đó nó sẽ khắcphụ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 giaothứ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 người
ta sử dụng giao thức thiên hướng bit cho tất cả các giao thức liên kết số liệu mới
Ở đây ta sẽ tìm hiểu về các giao thức cụ thể là giao thức XMODEM, giao thứcYMODEM, giao thức Kermit và giao thức HDLC
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áp cửa sổ trượt trễ gói sẽ tăng tỷ lệ số lượng kết nối cần thựchiệ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ú
Trang 8ngắ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ềukhiể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ểmsoá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ạng trong 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)
Hình 3: 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 đivà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àirồi thì dừng lại Nnguyên lý chung là mỗi khi có một gói tin đến một nút mạng
Trang 9thì 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àigó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 đivà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útmạ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 badạ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
a Leaky bucket không có buffer
Hình 4: 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ểmtra 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épgói tin có thể vào mạng
Trang 10Gọ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 rthì 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ơntố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 5: Hoạt động của Leaky bucket có một bộ đệm dữ liệu
Những hạn chế của phương pháp leaky bucket không có bộ đệm sẽ đượcgiả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 tintớ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ớitố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 đến thờ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ôngxảy ra hiện tượng mất gói như phương pháp leaky bucket không có bộ đệm
Trang 11Nế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 6: Hoạt động của Leaky bucket có hai bộ đệmKhi 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 rathì người ta sử dụng một bộ đệm (token pool) để chứa các thẻ bài chưa đượcdù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átgó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)
Trang 12a 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 bởi việc giới hạn số lượng gói tin được truyền đi ở phíaphát nhằm đảm bảo lượng thông tin đi vào mạng không vượt quá khả năng xử lýcủa phía thu Ở thuật toán này khi phía thu xử lý xong các gói tin đã nhận đượcthì phía phát mới phát tiếp các gói tin khác Cơ chế này nhằm đảm bảo việctruyền tin không bao giờ vượt quá khả năng xử lý của phía thu
Hình 7: 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=1thì 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ệusuất sử dụng liên kết thấp
Trang 13Ta thấy mỗi gói tin đều mang một chỉ số để phân biệt với nhau Các góitin đã đượ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ộtgó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ượtqua 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 bộ đệmnen 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ướicủ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ướccửa sổ bị thu hẹp lại Khi kích thước cửa sổ bằng 0 thì phía phát sẽ không phát
đi gói tin nào Tới đây chúng ta thấy rõ được hiệu quả của cửa sổ trượt Lưulượ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ớithự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àmcho 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ượngnhằm tránh tắc nghẽn trong mạng diễn ra ngay trong quá trình kích thước tứcthờ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ừ đếnK=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
Trang 14Ở 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êntrê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íathu 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 đimộ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ậnmộ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íathu sẽ lần lượt trượt qua các gói tin được nhận theo thứ tự nhận
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ềnluôn nằm trong giới hạn nhất định Nếu phía thu có bộ đệm có dung lượng lớnhơ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ườnghợ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ại ARQ
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
Trang 15Hình 8: Cửa sổ End to End với phía phát truyền tin liên tục.
Tix: Thời gian phát đi một gói thông tin.
K: Kích thước cửa sổ.
d: Tổng trễ từ phía phát đến phía thu và ngược lại
Khi d ≤ K.Tix, lúc này phía phát có thể truyền tin với tốc độ lớn nhất là
Trang 16Trong trường hợp d ≥ K.Tix, phía phát sẽ phát đi K gói tin và sau đó nó dừng lại để chờ báo nhận từ phía thu do kích thước cửa sổ giảm xuống K=0.
Như vậy 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à
Đ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 độ
K
T d
, khi trễ thì đường truyền d sẽ tăng cao và khi đó điều khiển
luồng sẽ thực hiện giới hạn lượng gói tin đi vào mạng làm giảm tốc độ phát Khimạ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 10: 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 Ngoài ra phương pháp cửa sổ trượt còn phản ứng khá nhanh vớitắc nghẽn, kết hợp với thông tin điều khiển ít chính là ưu điểm của cơ chế cửa sổ
so với các cơ chế khác
Trang 17Nguyên tắc chọn kích thước cửa sổ:
Nếu không xảy ra tắc nghẽn thì kích thước cửa sổ được chọn phải đủ lớn
để đảm bảo tốc độ truyền thông tin đạt r = 1/Tix (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úc bên phát phát đi gói thông tin 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.
d’ = 2.N + 2.D
Để đảm bảo tốc độ truyền thông tin đạt tối đa (không có tắc nghẽn) ta cần
đảm bảo K.Tix ≥ d’ hay K ≥ 2.N + 2.D/Tix Ta nhận thấy rằng:
+ Khi D < Tix thì K ≈ 2.N → kích thước cửa sổ không phụ thuộc vào trễ truyền
sóng
+ Khi D >> Tix thì K ≈ 2.D/Tix → kích thước cửa sổ không phụ thuộc vào chiều
dài liên kết
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 Giả sử trong mạng có n tiến trình điều khiển luồng với kích thước cửa sổ tương ứng là K1, K2, … Kn Lúc này trong mạng có tổng cộng là
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
Trang 18kết, do vậy là giá trị không đổi và giá trị này phụ thuộc vào mạng Khi đó giá trị
trễ T sẽ tăng tỷ lệ với số lượng tiến trình được đ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 không đảm bảo giữ được giá trị T
nằm trong giới hạn nhất định và có thể xảy ra tắc nghẽn Lúc đó ta có thể sửdụng giải pháp là giảm kích thước cửa sổ để giảm trễ khi mạng hoạt động trongtình trạng 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 hiệu quả Trongthực tế người ta sử dụng cửa sổ thích ứng để truyền tin Trong 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 mạng Trongtrường hợp ít tải thì kích thước cửa sổ vẫn có thể lớn để cho phép truyền thôngtin 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ánhtắ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 đảmbảo công bằng cho người dùng trong tất cả các trường hợp Để đảm bảo thôngtin đượ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 xảy ra tắc nghẽn, nếu trên một đường truyền có nhiều kết nối cùnghoạt động, kết nối nào có khoảng cách từ nguồn đến đích lớn thì sẽ được sửdụng tài nguyên nhiều hơn do 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ệcthự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ạngliên tiếp nhau trên đường truyền Mỗi nút mạng có các cửa sổ riêng dùng chocá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 tương
tự như điều khiển luồng kiểu End-to-End nhưng chỉ áp dụng cho một chặng, tức
là hai nút liên tiếp nhau Ttrong phần lớn các cơ chế truyền thông tin với cự ly
Trang 19không quá xa thì người ta thường chọn kích thước cửa sổ là K=2 hoặc K=3.
Riêng đối với thông tin vệ tinh do đặc điểm là truyền thông tin với cự ly rất xanên kích thước cửa sổ được chọn cũng lớn hơn để tăng hiệu quả truyền thôngtin
Trong cấu trúc của mạng, các nút đảm nhận nhiệm vụ tiếp nhận và chuyểntiếp các gói tin nên khái niệm nguồn và đích chỉ mang tính tương đối Nút cóthông tin cần truyền gọi là nú nguồn, nút nhận thông in gọi là nú đích Mục đíchchính của phương pháp này là đảm bảo bộ đệm của nút đích không bị quá tải khi
có quá nhiều gói tin đến Điều này được thực hiện bằng việc nút đích sẽ giảmtốc độ gửi gói báo nhận ACK về nút nguồn Trong trường hợp tổng quát bộ đệm
của nút đích có dung lượng 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 trong bộ đệm còn chỗ trống Sau đó nút đích sẽ xóa gói tintrong bộ đệm nếu nó đã được truyền đi thành công đến nút tiếp theo trên đường
truyền hay đã đi ra khỏi mạng Gỉa sử có ba nút liên tiếp trên đường truyền là
(i-1, i, i+1) và bộ đệm của nút i đã có đầy K gói tin Khi đó nút i sẽ gửi gói ACK
cho nút i-1 nếu nó đã gửi thành công một gói tin cho nút i+1 Nút i sẽ hực hiện điều này nếu nó nhận được một ACK từ nút i+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ởi K 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 20Hình 11: 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ậydung 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ấtnhiều
+ Phương pháp Hop-by-Hop cho phép thực hiện tính công bằng Vớiviệ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 điqua, 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ồntớ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ợpHop-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ốigiữa hai nút dùng cho truyền thông tin vệ tinh Trong trường hợp đó, do truyềndẫ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ơnkí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
Trang 21Để làm rõ nguyên lý hoạt động của phương pháp cửa sổ ta xét hoạt độngcủa phương pháp cửa sổ với kích thước W=7.
Hình 12: 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êncử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 7gó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óitin 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óitin 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
Trang 22tớ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 thutố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 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íaphá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ảmxuố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ẽ đượcloạ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ệctă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ểnmạ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êntụ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ưulượng biến đổi lớn thì người ta dùng phương pháp cửa sổ thích ứng (adaptivewindown) Phương pháp này cũng áp dụng nguyên lý cửa sổ trượt để điều chỉnhlư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ươngxuyê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íchthướ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ứcthờ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 đượckhả 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
Trang 23phù hợp và sẽ xảy ra tắc nghẽn nếu không có các biện pháp điều chỉnh thíchhợ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 sẽ giảm kích thước cực đại của cửa sổ xuống nhằm giảm lưu lượngvào mạng xuống để tránh xảy ra tắc nghẽn Như vậy kích thước của sổ chính lànhân tố quyết định tốc độ thông tin đi vào mạng Việc thay đổi kích thước cựcđại của cửa sổ chính là việc điều chỉnh thô lưu lượng đi vào mạng, nó kết hợpvới nguyên lý cửa sổ trượt như là việc điều chỉnh tinh lưu lượng vào mạng thì sẽgiải quyết được vấn đề lưu lượng mạng tăng đột ngột.
Hình 13: Biểu đồ thể hiện sự ảnh hưởng việc lựa chọn kích thước cửa sổ
Từ hình vẽ trên ta có thể thấy khi lưu lượng vào mạng nhỏ thì kích thướccửa sổ lớn sẽ tỏ ra tối ưu do tận dụng được thời gian truyền gói tin, tuy nhiên khilưu lượng vào mạng tăng lên thì kích thước cửa sổ lớn lại không phù hợp vì nó
sẽ gây ra tình trạng tắc nghẽn do có quá nhiều gói tin được gửi đi cùng một lúc.Trong trường hợp này thay vì sử dụng kích thước cửa sổ lớn thì người ta sẽ dùngkích thước cửa sổ nhỏ để đáp ứng và phù hợp với tình trạng của mạng Việc thayđởi kích thước cửa sổ một cách linh hoạt sao cho phù hợp với tình trạng lưulượng của mạng chính là cách thức mà các thiết bị đầu cuối dùng để điều khiểntắc nghẽn Cơ chế thay đổi kích thước cửa sổ cho phù hợp với tình trạng lưulượng mạng được gọi là cơ chế cửa sổ thích ứng Điều khiển tắc nghẽn theo