Tải bản đầy đủ (.doc) (42 trang)

ĐIỀU KHIỂN LUỒNG và CHỐNG tắc NGHẼN TRONG MẠNG VIỄN THÔNG

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 (2.45 MB, 42 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Khoa Viễn Thông I
---------o0o---------

BÁO CÁO CHUYÊN ĐỀ

KỸ THUẬT CHUYỂN MẠCH
Đề tài:
ĐIỀU KHIỂN LUỒNG VÀ CHỐNG TẮC NGHẼN
TRONG MẠNG VIỄN THÔNG

Giáo viên hướng dẫn: TS. Lê Nhật Thăng
Thực hiện: Nhóm 14 – Lớp H10 VT1
1. Nguyễn Thị Hồng Hạnh (nhóm trưởng)
2. Trần Minh Đức
3. Đặng Đức Phú
4. Lê Thanh Tùng
5. Nguyễn Văn Hiệu

Hà Nội 11/2011


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

MỤC LỤC
Trang
Lời nói đầu ……………………………………………...……………………………………………....

3



Các thuật ngữ viết tắt ……………………………………………………………….……………...

4

Danh mục các hình vẽ ………………………………….…………..................................................

6

Danh mục các công thức....................................................................................................................

6

Chương 1: Tổng quan về điều khiển luồng và chống tắc nghẽn
trong mạng viễn thông ……………………………………………..…………...
1.1.
1.2.
1.3.

Vấn đề về điều khiển luồng và chống tắc nghẽn
trong viễn thông ……………...……………………………………………………..
Mục tiêu đặt ra đối với điều khiển luồng
và chống tắc nghẽn ……………………….……………….…………..……...........
Kết luận chương 1 ….………………………………………………………………

8
8
11

Chương 2: Điều khiển luồng trong mạng viễn thông ………….………………........... 12

2.1. Định nghĩa ………………….…………………………………………..……………. 13
2.2.

Các kỹ thuật điều khiển luồng …………………………….……………………

13

2.2.1. Cơ bản ………………………….…...………………….……………………

13

2.2.2. Điều khiển luồng kết hợp ARQ - Stop and Wait ………….……

13

2.2.2.1. Hoạt động ……………………………...…………….………….

14

2.2.2.2. Hiệu suất ………………………………………….……………..

14

2.2.3. Điều khiển luồng kết hợp ARQ - Go back - N ……………….….

15

2.2.3.1. Nguyên tắc …………………….………………………………..

17


2.2.3.2. Hoạt động …………………………….…………………………

17

2.2.3.3. Khi có lỗi trên khung thông tin …………………….…….

18

2.2.3.4. Hiệu suất của cơ chế Go-back-N ………………………...

19

2.2.4. Điều khiển luồng kết hợp ARQ - Selective repeat ………...…..

20

2.2.4.1. Nguyên tắc hoạt động ………..…….………………………..

21

2.2.4.2. Hiệu suất …………………………………….…………………..

21

2.2.4.3. So sánh hoạt động của Go-back-N

22

và Selective repeat ………………………………..…………..

2.2.5. Điều khiển luồng theo phương pháp cửa sổ ………………...…….

23

2.2.5.1. Cửa sổ End to End ………………………………………...….

23

2.2.5.2. Điều khiển luồng Hop by hop ……………………………

23

2.2.5.3. Phương thức Isarithmi ……………………………………...

27

Nhóm 14 – Lớp H10VT1

Page 2


Chuyên đề kỹ thuật chuyển mạch

2.3.

GV: TS. Lê Nhật Thăng

Kết luận chương 2 ………………………….………………………………………

28


Chương 3: Chống tắc nghẽn trong mạng viễn thông ………………………….……..

29

Khái niệm chung điều khiển tắc nghẽn …………….………………………..

30

3.1.1.

Mô hình tổng quan điều khiển chống tắc nghẽn ………………..

30

3.1.2.

Nguyên nhân gây tắc nghẽn …………….……………………………..

30

3.1.3.

Nguyên lý điều khiển tắc nghẽn ……………………………………...

31

Một số phương pháp chống tắc nghẽn ………………………….……………

32


3.2.1.

Phương pháp DEC bit ………………….………………………………..

32

3.2.2.

Phương pháp điều khiển tắc nghẽn trong TCP …………………..

32

3.2.3.

Phương pháp EWA và FEWA ……………………………………….

33

3.2.4.

Phương pháp ETCP ……………………………………………………..

35

3.2.5.

Phương pháp XCP ……………….………………………………………

35


3.2.6.

Phương pháp FBA - TCP ……………………………………………...

35

3.2.7.

Phương pháp QS - TCP ……………………..…………………………..

36

Kết luận chương 3 ……………………………………….…………………………

37

Kết luận …………………………………………………….……………………………………………

38

Tài liệu tham khảo …………………………………………………….…………………………….

39

3.1.

3.2.

3.3.


40

Nhóm 14 – Lớp H10VT1

Page 3


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

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

-

Chương I: Tổng quan về mạng viễn thông.

-

Chương II: Điều khiển luồng trong mạng viễn thông.

-

Chương III: Điều khiển chống tắc nghẽn trong mạng NGN.

Khi mạng viễn thông ngày càng phát triển rộng lớn, dịch vụ mới càng gia tăng, yêu
cầu về sử dụng cao,… nên điều khiển luồng và chống tắc nghẽn là một vấn đề phức
tạp. Được sự giúp đỡ của thầy giáo bộ môn Kỹ thuật chuyển mạch TS. Lê Nhật Thăng,
cùng sự nỗ lực tìm hiểu của nhóm em đã hoàn thành chuyên đề được giao. Nhưng với
thời gian tìm hiểu có hạn và tầm hiểu biết hạn chế nên không tránh khỏi những thiếu
sót. Rất mong sự góp ý của thầy cô.
Nhóm sinh viên thực hiện
1. Nguyễn Thị Hồng Hạnh
2. Trần Minh Đức
3. Đặng Đức Phú
4. Lê Thanh Tùng
5. Nguyễn Xuân Hiệu
Nhóm 14 – Lớp H10VT1

Page 4


Chuyên đề kỹ thuật chuyển mạch


GV: TS. Lê Nhật Thăng

CÁC THUẬT NGỮ VIẾT TẮT

ARQ

Automatic Repeat Request

Yêu cầu lặp lại tự động

ACK

ACK – Acknowledgement

Thừa nhận

AIMD

Additive increase multipicate decrease

Tăng cộng giảm nhân

ARWND Advertised receiver window

Cửa sổ nhận quảng bá

CSFQ

Xếp hàng bình đẳng không trạng


Core stateless fair queueing

thái ở router lõi
ETCP

Enhanced TCP

TCP tăng cường

EWA

Explicit window adaptation

Sự tương thích cửa sổ rõ

FBATC

Fair bandwidth allocation for TCP

Phân bổ băng thông hợp lý cho

P

TCP

MSS

Muximum segment size


Kích cỡ đoạn lớn nhất

NGN

Next generation network

Mạng thế hệ sau

NACK

Negative acknowledgement

Tiêu cực thừa nhận

IP

Internet protocol

Giao thức mạng

QS TCP

Quick start TCP

Khởi đầu nhanh TCP

QoS

Quanlity of service


Chất lượng dịch vụ

RTT

Round trip time

Thời gian vòng truyền

RN

Request number

Yêu cầu số

SN

Seqence number

Số thứ tự

TCP

Transmission control protocol

Giao thức điều khiển truyền tải

VoIP

Void over IP


Thoại trên IP

XCP

Exolictit control protocol

Giao thức điều khiển rõ

Nhóm 14 – Lớp H10VT1

Page 5


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

DANH MỤC HÌNH VẼ
Hình 1.1: Hoạt động của mạng khi không có sự kiểm soát
Hình 1.2: Hiệu quả của việc có điều khiển
Hình 2.1: Phát lại theo cơ chế dừng và đợi
Hình 2.2: Stop-and-Wait ARQ có dùng SN/RN
Hình 2.3: Giản đồ thời gian khi truyền từ phát sang thu không có lỗi
Nhóm 14 – Lớp H10VT1

Page 6


Chuyên đề kỹ thuật chuyển mạch


GV: TS. Lê Nhật Thăng

Hình 2.4: Nguyên tắc hoạt động của cơ chế cửa sổ trượt
Hình 2.5: Minh hoạ cơ chế Go-back-N ARQ
Hình 2.6: Nguyên tắc hoạt động của Selective repeat
Hình 2.7: Ví dụ phía phát truyền tin không liên tục khi W = 3
Hình 2.8 Quan hệ giữa tố độ truyền dẫn và round –trip delay trong điều khiển luồng
Hình 2.9 Cơ chế Backpressure trong điều khiển luồng hop-by-hop
Hình 3.1 Mô hình tổng quát cho điều khiển chống tắc nghẽn
Hình 3.2 Quá trình xảy ra tắc nghẽn
Hình 3.3 Cửa sổ tắc nghẽn
Hình 3.4 Kết nối TCP đơn đi qua vùng có khả năng CSFQ

CÁC CÔNG THỨC

[5]
STT
[1]
[6]
[7]
[2]
[8]
[3]
[9]
[4]
[10]

η

2.5


η window = 1

2.6 2.1

CôngW
thức
=
2a +
1
TF
1
η=
=
TF + 2TD 1 + 2a
window

ideal
ηη
η
'
=
η
reality=

N RN R

K
1 − p + Kp
N R = 1 − K + ∞ =i −1

N R = 1 − ip
(1
p
1 −−p p ) =


i =1

1− p
+2ap
= 1ideal
=

ηGo −back −N =η

ηreality

NR

1
1− p

1− p
1 + 2a

W(1-p)
=
(2a+1)(1-p+Wp)

ηGo −back − N


2.7

window

Go −
back −N

2.2

2.8
2.3
2.9
2.4
2.10

[11]

η window =

2.11

[12]

η window = 1

2.12

[13]


η
ηselective −repeat = window

2.13

W
2a + 1

NR

[14]

Nhóm 14 – Lớp H10VT1

[15]

W (1 −p )
2a +1

ηselective −repeat =

η selective− repeat = 1 − p

2.14
Page 7

2.15


Chuyên đề kỹ thuật chuyển mạch


GV: TS. Lê Nhật Thăng

CHƯƠNG I: TỔNG QUAN VỀ ĐIỀU KHIỂN LUỒNG VÀ CHỐNG TẮC
NGHẼN TRONG MẠNG VIỄN THÔNG

1.1 Vấn đề điều khiển luồng và chống tắc nghẽn trong viễn thông
Thực trạng hiện nay cho thấy yêu cầu của việc trao đổi thông tin ở mọi lúc mọi
nơi là rất lớn, trong khi đó tài nguyên mạng chỉ ở mức độ giới hạn nhất định, do đó
việc gây ra hiện tượng tắc nghẽn là điều không tránh khỏi. Vì vậy cần phải có biện
pháp để chống tắc nghẽn xảy ra.
Điều khiển luồng là phương pháp kiểm soát thông tin giữa hai thiết bị đầu cuối
cụ thể, nó là một trong những biện pháp giúp cho lưu thông lưu lượng giữa các thiết bị
thu và phát.
Để hiểu được việc xảy ra tắc nghẽn như thế nào và nguyên nhân ra sao ta xét
bài toán về hoạt động của mạng khi không có sự kiểm soát:

Hình 1.1 Hoạt động của mạng khi không có sự kiểm soát

Nhóm 14 – Lớp H10VT1

Page 8


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Với các số trên hình thể hiện tốc độ truyền dữ liệu trên các đường. Ký hiệu tốc
độ truyền từ A đến B là λBA , từ C đến D là λCD .

Bài toán đặt ra ta xét các trường hợp với tốc độ truyền giữa các điểm:
Trường hợp 1: λBA = 7 Kbps và λCD = 0 . Lưu lượng từ B đến A sẽ được mạng trung
chuyển hết, và trong trường hợp này không xảy ra tắc nghẽn. Tốc độ thông tin đến nút A
chính bằng tốc độ thông tin nút B đưa vào mạng, các đường B-Y, Y-X và X-A đều có tốc
độ 7 Kbp.
Trường hợp 2: λBA = 8 + δ Kbps (δ > 0) và λCD = 0 . Ở trường hợp này tốc độ thông
tin từ B đến A lớn hơn tốc độ hoạt động của đường từ X đến A. Do đó tốc độ thông tin từ
Y đến X lớn hơn từ X đến A, lượng thông tin dư thừa sẽ phải được lưu trong bộ đệm của
X, dẫn đến bị đầy và tràn do đó các gói thông tin từ Y đến sẽ không được lưu và bị huỷ. Vì
bộ đệm của Y lưu lại các gói tin chưa được báo nhận (để truyền lại) nên bộ đệm của Y
cũng dần bị đầy và tràn. Nút X có thể chuyển 8 Kbps khi lưu lượng đầu vào của nó là 8+δ
Kbps (X hủy δ Kbps). Lúc này, đường Y-X sẽ có tốc độ 8+2δ Kbps (trong đó 8+δ Kbps là
thông tin từ B đến và δ Kbps là thông tin phát lại). Nhưng vì nút X chỉ có thể truyền 8
Kbps nên nó hủy 2δ Kbps và Y lại phải truyền lại lượng thông tin này. Quá trình này cứ
tiếp diễn và cuối cùng đường nối Y-X sẽ hoạt động với tốc độ 56 Kbps. Cũng như vậy
đường liên kết từ B đến Y cũng sẽ hoạt động với tốc độ 16 Kbps (bao gồm cả các gói mới
và các gói được phát lại).
Ở đây để giải quyết vấn đề thì người ta đưa ra hai cách giải quyết:
Thứ nhất là xây dựng hệ thống mạng có khả năng đáp ứng tốc độ của thông tin
từ X đến A (8+δ Kbps) nhằm đáp ứng với yêu cầu về tốc độ của B – giải pháp này chỉ
thực sự khả thi và hiệu quả khi tốc độ phát tin của B là ổn định trong một thời gian dài,
nếu không hiệu quả sử dụng tài nguyên rất thấp nếu xây dựng hệ thống mạng có khả
năng đáp ứng lưu lượng lớn nhưng lại chỉ hoạt động với các yêu cầu trao đổi lưu lượng
nhỏ.
Thứ hai là giới hạn tốc độ truyền tin của B xuống còn 8 Kbps – phương án này
khả thi khi yêu cầu truyền tin của B trong phần lớn thời gian < 8 Kbps và tốc độ vượt
8 Kbps chỉ diễn ra trong thời gian ngắn.
Nhóm 14 – Lớp H10VT1

Page 9



Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Trường hợp 3: λBA = 7 Kbps và λCD = 7 Kbps , trường hợp này không xảy ra tắc
nghẽn trong mạng. Thông tin được chuyển đến A và D với tốc độ 7Kbps cho mỗi nút. Mỗi
một liên kết trong mạng sẽ hoạt động với tốc độ 7Kbps.
Trường hợp 4: λBA = 8 + δ Kbps và λCD = 7 Kbps (δ > 0). Trong trường hợp này,
đường đi từ C đến D có đủ dung lượng để đáp ứng yêu cầu cho kết nối C-D, tuy nhiên yêu
cầu truyền thông tin trên đường B-A vượt quá khả năng xử lý của tuyến truyền này. Trong
trường hợp này, hai kết nối B-A và C-D chia sẻ bộ đệm của nút X. Như đã xét trong
trường hợp 2, lưu lượng thông tin từ B đến A làm tràn bộ đệm của X, điều này dẫn đến
thông tin từ B và C khi đến X đều bị hủy. Hiện tượng này xảy ra đối với tất cả các gói tin
cho dù nguyên nhân gây ra là do B. Hệ quả là nút Y và Z cũng bị tràn bộ đệm và tất cả các
đường liên kết sẽ hoạt động với tốc độ cực đại của chúng.
Do trước khi chuyển gói tin từ B và C đến A và D tương ứng, nút X phải lưu các
gói tin này vào bộ đệm để xử lý nên trong trường hợp bộ đệm X bị tràn, X sẽ phải hủy các
gói tin này. Do tốc độ thông tin Y-X gấp đôi tốc độ thông tin Z-X (khi các liên kết này hoạt
động với tốc độc đỉnh) nên số lượng gói tin từ Y đến X sẽ gấp đôi từ Z đến X. Nói một
cách khác, X sẽ hủy (hay chấp nhận) các gói tin từ Y và Z đến theo tỷ lệ 2:1 Lúc này thông
tin từ B đến A hoạt động với tốc độ 8 Kbps trong khi thông tin từ C đến D chỉ hoạt động
với tốc độ 4 Kbps.
Ở trường hợp này ta so sánh với trường hợp 3 ta thấy:
- Thông lượng tổng cộng của mạng giảm từ 14Kbps xuống còn 12Kbps.
- Tại nút C, tốc độ truyền thông tin của nó đến D bị giàm tử 7KBps xuống còn
4KBps trong khi nút B là nơi gây ra tắc nghẽn lại không bị ảnh hưởng nhiều, chỉ giảm từ
8+δ Kbps xuống còn 8Kbps. Để giải quyết vấn đề này, người ta có thể dành một phần
dung lượng bộ đệm tại X cho các gói tin từ C đi đến. Việc này trái với nguyên tắc chuyển

mạch gói khi tài nguyên trong mạng được chia sẻ bởi tất cả các nút và người dùng.

Nhóm 14 – Lớp H10VT1

Page 10


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Hình 1.2 Hiệu quả của việc có điều khiển
Trong trường hợp thực tế, nếu hệ thống mạng không được kiểm soát và có các cơ
chế điều khiển, mạng sẽ thực hiện chuyển tất cả các gói tin khi lưu lượng nhỏ hơn một
ngưỡng nào đó. Khi lưu lượng vượt quá giá trị ngưỡng thì thông lượng bắt đầu giảm. Lưu
lượng đến càng nhiều thì thông lượng càng giảm. Trong một số trường hợp dẫn đến tình
trạng deadlock(bế tắc) nghĩa là mạng hầu như không chuyển được gói tin nào nữa.
Trong trường hợp có thực hiện điều khiển luồng và điều khiển tắc nghẽn, hệ thống
mạng sẽ được kiểm soát và có khả năng hoạt động tốt ngay cả khi có trường hợp quá tải
xảy ra (lưu lượng đi vào mạng lớn hơn thông lượng của mạng). Tuy nhiên, do việc thực
hiện điều khiển luồng và tắc nghẽn đòi hỏi phải có các thông tin điều khiển nên thông
lượng thực tế (trong trường hợp mạng chưa quá tải) sẽ nhỏ hơn trường hợp lý tưởng, thậm
chí nhỏ hơn so với trường hợp không có điều khiển.
1.2 Mục tiêu đặt ra đối với điều khiển luồng và chống tắc nghẽn
Điều khiển luồng và chống tắc nghẽn được sử dụng khi có sự giới hạn về tài
nguyên giữa người sử dụng với điểm truy nhập mạng, hay giữa hai thiết bị mạng để kiểm
soát thông tin trên mạng. Điều khiển luồng và chống tắc nghẽn được sử dụng nhiều nhất tại
các lớp liên kết dữ liệu(data link), lớp mạng(network), và lớp giao vận(transport).
Do đó mục đích sử dụng của điều khiển luồng và chống tắc nghẽn được nêu ra:
- Tối ưu hóa thông lượng sử dụng của mạng: trong trường hợp thông tin chỉ truyền

giữa hai ngừời dùng thì việc tối ưu hóa tốc độ truyền tin không cần đặt ra. Tuy nhiên trong
hệ thống mạng sự tham gia trao đổi thông tin của nhiều nút mạng, viêc tối ưu hóa thông
lượng của hệ thống mạng phức tạp hơn nhiều.

Nhóm 14 – Lớp H10VT1

Page 11


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

- Giảm trễ gói khi đi qua mạng: Trên phương diện người sử dụng, trễ gói từ đầu
cuối đến đầu cuối càng nhỏ càng tốt. Tuy nhiên điều khiển luồng ở lớp mạng không nhằm
thực hiện điều đó. Điều khiển luồng chỉ đảm bảo trễ của gói tin khi đi qua mạng nằm ở
một mức chấp nhận được thông qua việc giới hạn gói tin đi vào mạng. Vì lý do đó điều
khiển luồng không có tác dụng với những ứng dụng đòi hỏi trễ nhỏ khi truyền trên hệ
thống hạ tầng tốc độ thấp. Mục đích chính của việc giảm trễ gói ở đây là để giảm sự lãng
phí tài nguyên khi phải truyền lại gói.
- Đảm bảo tính công bằng cho việc trao đổi thông tin trên mạng: Đây là một yếu tố
tiên quyết trong kỹ thuật mạng, việc đảm bảo tính công bằng đảm bảo cho người sử dụng
có cơ hội sử dụng mạng như nhau.
- Đảm bảo tránh tắc nghẽn trong mạng: Tắc nghẽn là hiện tượng mà lưu lượng của
mạng giảm và trễ tăng lên khi lượng thông tin đi vào mạng tăng. Điều khiển luồng cung
cấp cơ chế giới hạn lượng thông tin đi vào mạng nhằm tránh hiện tượng tắc nghẽn.
1.3 Kết luận chương 1
Mạng viễn thông của nước ta cũng như trên thế giới ngày càng phát triển, nhu
cầu dịch vụ mạng ngày càng đa dạng, phong phú đòi hỏi nhiều mức độ dịch vụ khác
nhau. Xu hướng phát triển là tiến tới hội tụ về mạng, về dịch vụ. Tài nguyên của mạng

thì có giới hạn trong khi nhu cầu truyền thông tin ngày càng tăng, chính vì vậy mà
hiện tượng tắc nghẽn là khó tránh khỏi. Do đó cần phải có cơ chế điều khiển chống tắc
nghẽn phù hợp kết hợp với điều khiển luồng để kiểm soát được thông tin trên mạng.

Nhóm 14 – Lớp H10VT1

Page 12


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

CHƯƠNG II: ĐIỀU KHIỂN LUỒNG

2.1 Định nghĩa
Điều khiển luồng là cơ chế nhằm đảm bảo việc truyền thông tin của phía phát
không vượt quá khả năng xử lý của phía thu.
Cơ chế điều khiển luồng được thiết kế để điều khiển luồng dữ liệu giữa người
nhận và người gửi sao cho vùng đệm của người nhận không bị tràn. Nếu bị tràn, các
khung hoặc gói dữ liệu bị mất. Điều khiển luồng được dùng trong tầng liên kết dữ liệu
để điều khiển các liên kết điểm-điểm và trong tầng chuyển tải để điều khiển luồng endto-end trên mạng có định tuyến.
2.2 Các kỹ thuật điều khiển luồng
2.2.1 Cơ bản
Khi truyền thông tin trong mạng, thông tin truyền từ phía phát sang phía thu có
thể bị sai lỗi hoặc mất. Việc thông tin bị mất thì cần phải thực hiện truyền lại thông tin.
Còn Việc thông tin bị sai thì cần phải tìm hiểu nguyên nhân để sửa sai. Có hai cách để
sửa sai.
Sai do bên thu và sửa lỗi trực tiếp bên thu với điều kiện là thông tin trước khi
truyền phải được cài các mã sửa lỗi. Như vậy số lượng bít thông tin có thể sửa sai phụ

thuộc vào số lượng mã sửa sai và số bít thông tin thêm vào cho mục đích sửa sai. Số
bít thông tin thêm vào càng lớn thì số bít có thể sửa sai càng nhiều, tuy nhiên hiệu suất
thông tin lại thấp.

Nhóm 14 – Lớp H10VT1

Page 13


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Sửa sai bằng cầu bên phát truyền lại thông tin. Với phương pháp này thì chỉ cần
thêm các bít thông tin phục vụ cho mục đích phát hiện lỗi, do đó hiệu suất truyền
thông tin cao hơn so với trường hợp trên. Tuy nhiên khi có lỗi xảy ra với khung thông
tin thì toàn bộ khung thông tin phải được truyền lại.
Cơ chế điều khiển luồng và điều khiển tắc nghẽn theo phương pháp cửa sổ
được hoạt động tương tự như các cơ chế phát lại ARQ(Automatic Repeat Request –
yêu cầu lặp lại tự động). Cơ chế phát lại này được chia làm 3 loại với những đặc điểm
và hoạt động khác nhau.
2.2.2 Điều khiển luồng kết hợp ARQ – Stop-and- wait (dừng và đợi)
Stop - and -wait là một dạng của điều khiển dòng truyền dừng và đợi đã mở
rộng để chứa các chức năng truyền lại dữ liệu trong trường hợp dữ liệu bị mất hoặc bị
hư hỏng.
Hình vẽ mô tả nguyên tắc hoạt động cơ bản của cơ chế phát lại dừng và đợi:

Hình 2.1: Phát lại theo cơ chế dừng và đợi
2.2.2.1 Hoạt động
Phía phát sẽ thực hiện phát một khung thông tin sau đó dừng lại chờ phía thu

báo nhận. Phía thu khi nhận đúng khung thông tin và xử lý xong sẽ gửi báo nhận lại
cho phía phát(ACK – Acknowledgement - thừa nhận).Phía phát sau khi nhận được báo
nhận sẽ phát khung thông tin tiếp theo.

Nhóm 14 – Lớp H10VT1

Page 14


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Phía thu khi nhận khung thông tin và phát hiện sai sẽ gửi báo sai lại cho phía
phát(NACK –Negative Acknowledgement – tiêu cực thừa nhận). Phía phát sau khi
nhận được báo sai sẽ thực hiện phát lại khung thông tin. Phía phát sử dụng cơ chế
timeout để phát lại khi không nhận được hồi âm từ phía thu.
Để phân biệt được các khung thông tin với nhau, cần đánh số khác khung.
Dùng một bít để đánh số khung(bít 0 hoặc 1). Số thứ tự khung thông tin từ phía phát
sang phía thu nằm trong trường SN(Sequence number), số thứ tự của báo nhận từ phía
thu sang phía phát nằm trong trường RN(Request number- yêu cầu số).
Hoạt động của cơ chế Stop- anh- wait ARQ khi sử dụng SN và RN:
Khi phía phát tại thời điểm ban đầu SN = 0.
1. Nhận gói tin từ lớp phía trên và gán SN cho gói tin này.
2. Gửi gói tin SN này trong khung thông tin có số thứ tự là SN.
3. Chờ khung thông tin(không có lỗi, đóng vai trò là khung báo nhận) từ phía thu.Khi
khung nhận được không có lỗi, và trong trường hợp Request có RN>SN thì đặt giá trị
SN = RN và quay lại bước 1. Khi không nhận được khung thông tin trong khoảng thời
gian định trước(time out) thì thực hiện bước 2.
Tại đầu thu: ban đầu RN = 0

4. Khi nhận được một khung thông tin( không có lỗi) từ phía phát, chuyển khung này
lên lớp phía trên và tăng RN lên 1.
5. Khi nhận được khung thông tin có lỗi, gửi lại một khung thông tin cho phía phát với
RN được giữ nguyên ( khung báo sai- NAK). Khung được gửi từ phía thu này có thể
chứa cả thông tin từ phía thu sang phía phát chứ không đơn thuần chỉ dùng cho mục
đích báo sai.
Hình mô tả nguyên tắc hoạt động của cơ chế Stop- and- Wait:

Nhóm 14 – Lớp H10VT1

Page 15


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Hình 2.2: Stop-and-Wait ARQ có dùng SN/RN
2.2.2.2 Hiệu suất
Trong quá trình hoạt động thì hiệu suất của phương pháp là rất quan trọng, nó
đánh giá khả năng hoạt động của phương pháp đó.
Hiệu suất của việc truyền tin giữa phía phát và thu là tỷ lệ giữa thời gian phía phát cần
để phát xong lượng thông tin đó trên tổng thời gian cần thiết để truyền lượng thông tin
đó.
Tổng thời gian truyền bao gồm thời gian trễ khi truyền tín hiệu từ phát sang
thu(và ngược lại) và thời gian xử lý thông tin và thời gian chờ báo nhận từ phía thu.

Hình 2.3: Giản đồ thời gian khi truyền từ phát sang thu, không có lỗi
Trong đó:
F


T = thời gian phát khung thông tin
D

T = trễ truyền sóng giữa phía phát và phía thu
Nhóm 14 – Lớp H10VT1

Page 16


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

P

T = thời gian xử lý khung thông tin ở phía thu
ACK

T

= thời gian phát khung ACK

P’

T = thời gian xử lý khung ACK ở phía phát
Bỏ qua các khoảng thời gian rất nhỏ hiệu suất được tính:
η=
Với :


TD =

d
v

;

TF =

TF
1
=
(2.1)
TF + 2TD 1 + 2a

L
R ;

a=

Rd
vL

Xét trường hợp đường truyền có lỗi: Xác suất lỗi p (0 ≤ p ≤ 1) là xác suất phía thu
nhận được bit 0 khi phía phát truyền đi bit 1(hoặc ngược lại).

Khi 0,5 < p < 1 tức là khả năng phía thu nhận được thông tin có lỗi sẽ lớn hơn nhận
được thông tin đúng, trong trường hợp này chỉ cần đảo bít luồng thông tin thu được là ta có
thể chuyển thành trường hợp 0 < p < 0,5. Vì thế chỉ xét 0 < p < 0,5.
R


R

Gọi N là số khung thông tin phải truyền cho đến khi đúng (1 ≤ N ≤ ∞), khi ấy
hiệu suất của trường hợp không lý tưởng sẽ là:

η'reality

η
ideal

=

NR

(2.2)

Giả thiết ACK và NCK không bị lỗi(kích thước gói nhỏ), với p là xác suất lỗi thì:

Xác suất để truyền khung thành công ngay lần đầu là: 1- p ;
Nhóm 14 – Lớp H10VT1

Page 17


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Xác suất để truyền khung đến lần thứ 2 mới thành công là: p(1-p);

i–1

Do đó xác suất để truyền khung đến lần thứ i mới thành công là p (1-p);

Suy ra :


N R = ∑ip i −1 (1 − p ) =
i =1

1
1− p

(2.3)

Do đó hiệu suất của phương pháp dừng và đợi ARQ trong thực tế :

ηreality =

ηideal
NR

=

1− p
1 + 2a

(2.4)

Ta có:

a=

Rd
vL

Ta thấy khi a càng nhỏ thì hiệu suất càng lớn, nhưng ta thấy a gần như không thể thay
đổi, do đó phương pháp truyền lại theo cơ chế dừng và đợi không được sử dụng phổ biến
do hiệu quả sử dụng đường truyền không cao. Do đó cần có cơ chế mới nhằm đảm bảo
phía phát có thể tận dụng được thời gian rảnh rỗi trong khi chờ báo nhận từ phía thu.
Người ta đã dựa trên cơ chê này để tạo ra các cơ chế mới cho hiệu quả truyền cao hơn, đó
là truyền lại theo nhóm (Go-back-N) và cơ chế phát lại theo yêu cầu (Selective Repeat
ARQ).

2.2.3 Phương pháp điều khiển luồng Go back – N

Nhóm 14 – Lớp H10VT1

Page 18


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

2.2.3.1 Nguyên tắc

Phía phát sẽ được phát nhiềư hơn một khung thông tin trước khi nhận được báo
nhận từ phía thu. Số khung cực đaị mà phía phát có thể phát là W, được gọi là kích thước
cửa sổ. Với cơ chế hoạt động này Go-back-N được gọi là cơ chế cửa sổ trượt(sliding
window).


Mỗi khi phát xong một khung thông tin, phía phát giảm kích thước của sổ đi 1, khi
kích thước cửa sổ bằng 0, phía phát sẽ không được phát thêm khung thông tin nào nữa.
Điều này đảm bảo phía thu kịp xử lý.

Mỗi khi phía thu nhận được một khung thông tin đúng và xử lý xong sẽ gửi lại một
báo nhận ACK cho phía phát. Khi đó phía phát sẽ tăng kích thước cửa sổ W lên 1.Như vậy
tổng số khung mà phía thu phải xử lý tại một thời điểm vẫn không vượt quá W.
Để phân biệt các khung, cần đánh số thứ tự. Nếu dùng k bit để đánh số thì tổng
số khung được đánh số sẽ là 2k (từ 0 đến 2k – 1) và do đó, kích thước cửa sổ tối đa
WMax = 2K
ACK có thể được đính vào gói phát theo chiều ngược (piggy back).

2.2.3.2 Hoạt động

Nhóm 14 – Lớp H10VT1

Page 19


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Khi sử dụng 3 bit để đánh số thứ tự cho các khung thông tin. Lúc này kích thước
cửa sổ cực đại sẽ là 7. Ban đầu cả phía phát và phía thu đều có kích thước cửa sổ là 7 (từ
F0, …, F7).

Sau khi phía phát đã phát được 3 khung (F0, F1, F2) và chưa nhận ACK, phía phát
giảm kích thước cửa sổ xuống 4 (gồm các khung F3,…, F6).


Phía thu sau khi đã nhận đúng và xử lý xong 3 khung F0, F1, F2 thì sẽ gửi ACK3
lại cho phía phát. Phía thu đồng thời tăng kích thước cửa sổ lên 7 (gồm từ F3,…, F1). Phía
phát sau khi đã nhận được ACK3 sẽ tăng kích thước cửa sổ lên 3 (W =7, gồm F3,…, F1).

Khi phía phát thực hiện phát các khung từ F3 đến F6, sau khi phát phía phát sẽ
giảm cửa sổ đi 4, khung chỉ còn từ F7,F0,F1. Phía thu gửi lại ACK4 cho bên phát. Vì bên
phát đã phát đi khung F4,F5,F6 nên khi nhận được ACK4 từ phía thu chỉ còn phát được tối
đa 4 khung bắt đầu từ F7.

Nhóm 14 – Lớp H10VT1

Page 20


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Hình 2.4: Nguyên tắc hoạt động của cơ chế cứa sổ trượt
Trong trường hợp lý tưởng (không có lỗi xảy ra) thì cơ chế cửa sổ trượt đảm
bảo số khung thông tin từ phía phát đến phía thu không vượt quá kích thước cửa sổ.
Trong trường hợp này, không có sự phân biệt giữa Go- back-N và selective repeat.
Khi có lỗi xảy ra, việc truyền lại các khung lỗi của cơ chế cửa sổ trượt được
thực hiện theo hai cách khác nhau: Go-back-N hoặc selective repeat.
2.2.3.3 Khi khung thông tin bị lỗi
Hình trình bày nguyên tắc phát lại của ARQ Go-back-N khi có lỗi xảy ra với khung
thông tin:

Nhóm 14 – Lớp H10VT1


Page 21


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Hình 2.5: Minh họa cơ chế của Go – back- N ARQ
Khung thông tin bị lỗi – có thể xảy ra một trong ba trường hợp:
Phía phát đã phát khung i, phía thu đã thu đúng các khung từ i – 1 trở về trước.
Lúc này phía thu sẽ gửi NAK i (RN = i). Khi phía phát nhận được NAK i, nó sẽ thực
hiện phát lại khung i và tất cả các khung sau i (trường hợp khung 2).
Khung thông tin i bị mất trên đường truyền, giả sử phía thu nhận được khung
i+1, lúc này phía thu thấy các khung đến không theo thứ tự (nhận được i+1 trước khi
nhận được i) và hiểu rằng khung i đã mất. Phía thu sẽ gửi lại NAK i cho phía phát.
Khung thông tin i bị mất trên đường truyền và phía phát không gửi thêm khung
thông tin nào nữa. Lúc này phía thu không nhận được gì và không gửi lại ACK hay
NAK. Phía phát chờ đến timeout của khung thông tin i và thực hiện truyền lại khung
này.
Trường hợp khung ACK bị lỗi – ACK bị lỗi có thể xảy ra một trong hai trường
hợp:
- Phía thu nhận được khung i và gửi ACK(i+1) về phía phát và bị mất. Giả sử
trước khi timeout của khung i xảy ra, phía phát nhận được ACK(i+2) (hoặc ACK(i+n)
với n > 1) thì phía phát hiểu rằng khung i đã được nhận đúng. Kết luận này được giải
thích như sau: khi phía thu gửi ACK(i+2) nghĩa là phía thu đa nhận đúng (và chấp
nhận) khung i+1, điều đó cũng đồng nghĩa với việc phía thu đa nhận đúng khung i.
Người ta nói cơ chế của GobackN sử dụng cummulative ACK (nghĩa là các ACK sau
cũng đồng thời báo nhận cho các khung trước đó).
- Nếu trong khoảng thời gian timeout của khung i, phía phát không nhận được

ACK(i+n) nào cả thì sau timeout, phía phát sẽ phải phát lại khung i (và tất cả các
khung sau đó).
Trường hợp khung NAK bị lỗi – trong trường hợp NAK bị lỗi, nghĩa là khung i
bị lỗi, lúc này phía thu sẽ không nhận thêm một khung nào sau khung i (và cũng sẽ
không gửi báo nhận).Với trường hợp này phía phát bắt buộc phải chờ đến timeout và
thực hiện phát lại khung thông tin i.
2.2.3.4 Hiệu suất của cơ chế Go-back-N
Nhóm 14 – Lớp H10VT1

Page 22


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

Ta biết với kỹ thuật Stop-and-wait, nếu không có lỗi đường truyền thì:
1
; với
1 +2a

η=

a=

TD
TF

Có thể hiểu rằng (1+2a) chính là số gói có thể phát đi trong khoảng thời gian
tính từ lúc phát đi gói đầu tiên cho đến khi nhận xong gói ACK đầu tiên.

Hiệu suất không lỗi:
Với Go-back- N có W < 1+2a thì: ηwindow =
Với Go-back-N có W ≥ 1+2a thì:
Hiệu suất thực tế: ηGo −back − N =

W
2a +1

η window = 1

ηwindow
NR

(2.5)
(2.6)

(2.7)

Với NR là số lần trung bình phát lại cho đến khi nhận đúng.
Trong Go –back-N khi có lỗi xảy ra, phía phát sẽ phải phát lại K khung, xác suất để
khung thông tin được truyền đến lần thứ i đúng sẽ là: p(i) = pi-1(1-p).
Tổng số khung phải truyền lại sẽ là: f(i) = 1 + (i-1)K.
Số khung cần truyền cho đến khi thành công : N R = 1 − K +

K
1 − p + Kp
=
1− p
1− p


(2.8)

Cuối cùng hiệu suất được tính:
ηGo −back − N =

1− p
; khi W ≥ 2a+1
1 + 2ap

ηGo −back − N =

W(1-p)
; khi W < 2a+1
(2a+1)(1-p+Wp)

(2.9)

Và :
(2.10)

Như vậy:
Ưu điểm của phương pháp ARQ Go- back- N là hiệu suất cao hơn so với
phương pháp ARQ dừng và đợi. Cơ chế xử lý thông tin ở phía thu khá đơn giản và
không cần bộ đệm. Tuy nhiên, có thể phải truyền lại quá nhiều khung thông tin trong

Nhóm 14 – Lớp H10VT1

Page 23



Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

trường hợp bị lỗi. Để khắc phục nhược điểm này, người ta đề xuất sử dụng cơ chế
ARQ phát lại theo yêu cầu (Selective repeat ARQ).
2.2.4 Điều khiển luồng kết hợp ARQ – Selective repeat
2.2.4.1 Nguyên tắc hoạt động
Kỹ thuật Go-back-N nâng cao hiệu suất so với Stop- and- wait, tuy nhiên hiệu
suất kệnh truyền vẫn chưa được tối đa hóa do bên phát vẫn có thể phải phát lại gói đa
được nhận đúng trong trường hợp gói trước đó bị lỗi. Còn ở Selective repeat cũng sử
dụng kỹ thuật cửa sổ trượt. Nếu không có lỗi xảy ra, quá trình diễn ra giống với Goback-N. Nếu có lỗi xảy ra, chỉ những gói lỗi được phát lại. Cơ chế này giúp tăng hiệu
quả sử dụng đường truyền so với cơ chế Go-back-N.
Hình miêu tả hoạt động của cơ chế Selective repaet:

Hình 2.6: Nguyên tắc hoạt động Selective repeat
Do chỉ những gói lỗi được phát lại, trình tự nhận được các gói không đúng như phía
phát cần có bộ đệm giúp sắp xếp lại gói. Phía phát phải thực hiện báo nhận cho tất cả các
khung thông tin mà nó nhận đúng. Các khung thông tin không được báo nhận trong khoảng
thời gian timeout tương ứng sẽ được coi là bị mất.
2.2.4.2 Hiệu suất

Nếu không có lỗi xảy ra thì hiệu suất của Selective repeat giống như của Go-backN:
Với W <2a + 1

η window =

W
2a + 1


(2.11)

Với W ≥2a + 1
Nhóm 14 – Lớp H10VT1

Page 24


Chuyên đề kỹ thuật chuyển mạch

GV: TS. Lê Nhật Thăng

η window = 1
Khi kênh truyền không lý tưởng:
Hiệu suất là:

Khi W ≥ 2a+1

1

η
ηselective −repeat = window

Với N R = 1 − p

NR

Khi W< 2a + 1
ηselective −repeat


(2.12)

W (1 − p )
=
2a +1

(2.13)

(2.14)

:

η selective− repeat = 1 − p

(2.15)

2.2.4.3 So sánh hoạt động giữa Go-back-N và Selective repeat
Cơ chế selective repeat cho hiệu suất hoạt động trên đường truyền cao hơn so
với Go-back-N do cơ chế này sử dụng đường truyền hiệu quả hơn. Tuy nhiên, cơ chế
selective repeat hoạt động phức tạp hơn do nó yêu cầu phía thu phải có khả năng xử lý
các khung thông tin đến phía thu không theo thứ tự. Ngoài ra, phía thu cần phải có bộ
đệm để có thể lưu tạm thời các khung thông tin này.
Cả hai kỹ thuật đều được sử dụng phổ biến. Ngoài chức năng điều khiển luồng,
chúng cũng chống tắc nghẽn một cách hiệu quả.
2.2.5 Điều khiển luồng theo phương pháp cửa sổ (Window Flow Control)
Cơ chế điều khiển luồng và chống tắc nghẽn dựa trên phương pháp cửa sổ được
thực hiện bởi việc giới hạn số lượng gói tin được truyền ở phía phát nhằm đảm bảo thông
tin này không vượt quá khả năng xử lý của phía thu.
Theo cơ chế này, phía phát sẽ không thực hiện phát tin chừng nào phía thu còn
chưa xử lý xong gói tin (hoặc một số gói tin) trước đó. Khi phía thu xử lý xong thông tin

do phía phát gửi đến thì nó sẽ báo cho phía phát biết và lúc này, phía phát sẽ tiếp tục gửi
các gói tin tiếp theo. Cơ chế này đả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.
• Phương pháp điều khiển luồng theo cửa sổ trượt là phương pháp được sử dụng phổ
biến nhất:
Nhóm 14 – Lớp H10VT1

Page 25


×