Tải bản đầy đủ (.docx) (46 trang)

TRUYỀN số LIỆU TRONG MẠNG CHUYỂN MẠCH gói

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (534.16 KB, 46 trang )

1.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
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
1



ả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ợ
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.
2



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ớ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à được
truyề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ác
trườ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ể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ể đượ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.

3


b. Đặ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.
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ể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 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úa
trì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
4


Qú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ạ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ì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 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ớ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ạ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
5


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ằm tạ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ập tớ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à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.


6


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 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ức
YMODEM, 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ự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ú
7


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ạ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 đ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. Nnguyên lý chung là mỗi khi có một gói tin đến một nút mạng
8


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.
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ể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.
9


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 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ẽ đượ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 đế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ông
xảy ra hiện tượng mất gói như phương pháp leaky bucket không có bộ đệm.

10


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

mà nguồn có thể phát ở tốc độ K > r là:

Smax = 1 +

B.K
K −r

Phương pháp này có ưu điểm là có thể san bằng tốc độ luồng gói tin đi
vào mạng thông qua bộ đệm nhưng nhược điểm là việc sử dụng bộ đệm để lưu
tạm thời sẽ làm tăng trễ truyền gói tin trong mạng.
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ộ đệm
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)
11


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 bởi 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ượ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 được
thì 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ệc
truyề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=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.

12


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 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 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ư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.

13


Ở 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.
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ộ đệm có 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ạ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.

14


Hì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à
r=


1
Tix mà không bị hạn chế, điều khiển luồng sẽ không có ý nghĩa trong trường

hợp này.

Hình 9: Cửa sổ End to End với phía phát truyền tin không liên tục.
15


Trong 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à
r=

1
Tix . Đ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
trung bình là d

(gói/s). Như vậy tốc độ phát r sẽ nhận giá trị biến thiên trong

 1 K
, 

T
ix
d  , khi trễ thì đường truyền d sẽ tăng cao và khi đó điều khiển


khoảng

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. 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 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ới
tắ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.
16


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ì 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à
n

∑ β .K
i =1

i

i

trong đó nhận giá trị trong khoảng 0 → 1 phụ 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à
n

T=

∑ β .K
i =1

i

λ

i


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
17


kế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 trong
tì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ả. Trong
thự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. Trong
trườ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ông
tin 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
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ô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 xảy ra tắc nghẽn, nếu trên một đường truyền có nhiều kết nối cùng
hoạ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ệ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 dùng 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 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
18


khô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 xa
nê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ông
tin.
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ển
tiế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 đích
chí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ả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 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 tin
trong 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à (i1, 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.

19



Hì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ậ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.

20


Để 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ướ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ê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
21


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 gói
tin 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
22


phù 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í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 sẽ giảm kích thước cực đại của cửa sổ xuống nhằm giảm lưu lượng
và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ợp
vớ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ước
cử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 khi
lư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ùng
kí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ưu
lượ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ển
tắ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ưu
lượng mạng được gọi là cơ chế cửa sổ thích ứng. Điều khiển tắc nghẽn theo
23



phương pháp cửa sổ thích ứng chính là việc tăng hay giảm kích thước cửa sổ.
Để có thể làm được điều này thì phía phát dựa vào các thông tin phản hồi được
truyền tới từ phía thu hoặc từ các thiết bị trên đường truyền để tiến hành việc
điều chỉnh kích thước cửa sổ.Người ta chia thiết bị mạng trung gian giữa phía
phát và phía thu thành 2 loại:
+ Thiết bị mạng thông minh: Các thiết bị này có khả năng phát hiện tắc
nghẽn có thể hoặc đang xảy ra và có khả năng thông báo tới phía phát.
+ Thiết bị mạng không thông minh: Các thiết bị này không có khả năng
phát hiện được tắc nghẽn và việc xác định tắc nghẽn hoàn toàn do phía phát xác
định.
Hoạt động của kỹ thuật điều khiển tắc nghẽn sử dụng thiết bị mạng thông
minh được trình bày như sau: Thiết bị mạng tiến hành phân tích để phát hiện
tình trạng tắc nghẽn đang hoặc sắp xảy ra. Khi phát hiện xảy ra tắc nghẽn thì
thiết bị mạng tiến hành thông báo cho các nút nguồn bên phía phát thực hiện hạn
chế việc phát thông tin qua thiết bị này. Khi đó các nút nguồn lập tức giảm kích
thước cửa sổ để giảm tắc nghẽn. Khi đã giải quyết xong tình trạng tắc nghẽn thì
kích thước cửa sổ có thể tăng dần để nâng cao hiệu quả truyền tin.
Các tham số quyết định tình trạng tắc nghẽn tại các nút mạng bao gồm
dung lượng bộ đệm còn trống, khả năng hoạt động của CPU là nhiều hay ít và
mức độ sử dụng băng thông của đường truyền. Dựa vào các thông số trên phía
thu, các thiết bị mạng thông minh trung gian có thể cảnh báo cho phía phát theo
một trong hai cơ chế sau:
+ Sử dụng một gói tin cảnh báo độc lập: với phương pháp này thì phía
phát nhanh chóng nhận được thông tin tắc nghẽn và như vậy sẽ phản ứng được
kíp thời. Tuy nhiên phương pháp này cũng có hạn chế là phải sử dụng một gói
tin độc lập, điều đó sẽ gây ra sự lãng phí băng thông và phức tạp hóa trong quản
lý.

24



+ Sử dụng một bit chỉ thị tắc nghẽn: trong phương pháp này người ta sử
dụng một bít chỉ thị tắc nghẽn nằm trong trường điều khiển của gói tin mang dữ
liệu từ phía thu sang phía phát. Nếu bit này bằng 0 có nghĩa không xảy ra tắc
nghẽn, còn nếu bằng 1 thì xảy ra tắc nghẽn. Phía phát sẽ dựa trên thông tin cảnh
báo để quyết định tăng hay giảm kích thước cửa sổ.
Nếu việc thay đổi kích thước cửa sổ chỉ dựa trên một gói tin phản hồi thì
có thể sẽ làm cho hệ thống hoạt động không hiệu quả. Do vậy trên thực tế phía
phát sẽ dựa trên một số lượng thông báo nhất định từ phía nút mạng để đưa ra
quyết định về tình trạng tắc nghẽn như nào. Thông thường nếu số lượng gói tin
cảnh báo tắc nghẽn vượt quá một giới hạn nào đó thì phía phát sẽ coi là đã xảy
ra tắc nghẽn và tiến hành giảm kích thước cửa sổ để giảm tăc nghẽn. Ngược lại
nếu số lượng gói tin cảnh báo tắc nghẽn chưa vượt quá giới hạn cho phép thì
phía phát coi như không xảy ra tắc nghẽn và sẽ tăng kích thước cửa sổ.
Việc tăng hoặc giảm kích thước cửa sổ tuân theo một trong hai quy tắc là
phép cộng và phép nhân:
+ Phép cộng: = + I với và là kích thước cửa sổ mới và cũ, I là hệ số
tăng giảm. Nếu tăng kích thước cửa sổ thì I > 0, giảm kích thước cửa sổ thì I <
0.
+ Phép nhân: = x α và có quy ước tương tự như trên. Nếu tăng kích
thước cửa sổ thì α > 1, giảm kích thước cửa sổ thì α < 1. Trong trường hợp kích
thước cửa sổ không phải là số nguyên thì kích thước đó sẽ được chọn là số
nguyên gần nhất.
Trong ứng dụng cụ thể thì khi tăng người ta dùng phép cộng còn giảm thì
dùng phép nhân hay còn gọi là thuật tăng cộng giảm nhân. Hình 13 trình bày
nguyên tắc tăng giảm kích thước cửa sổ dựa trên bit chỉ thị tắc nghẽn được gửi
đi từ nút mạng xảy ra tắc nghẽn. Trong ví dụ này thì kích thước ban đầu của cửa
sổ là K=4, việc kết luận về tình trạng tắc nghẽn được dựa trên các nhóm 7 báo
nhận gửi về. Trong 7 báo nhận đó nếu có từ 4 báo nhận trở lên có bit chỉ thị tắc
25



×