Tải bản đầy đủ (.pdf) (77 trang)

Nguyên tắc và hiệu suất hoạt động của một số cơ chế điều khiển lưu lượng trong môi trường không đối xứ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 (24.58 MB, 77 trang )

ĐẠI HỌC QUỐC (ỈIA HÀ NỘI
K H O A C Ô N G N G I ịỆ

____000____

H O À N G ANH TU Ấ N

NGUYÊN TẮC VÀ HIỆU SUẤT HOẠT t)ỘN<; CỦA MỘT
SỐ cơ CHẾ ĐIỂU KHIỂN Lưu LƯỢNG TRONG MÔI
TRƯỜNG KHÔNG ĐỐI XỨNG

C H U Y ỀN NGÀN H: C Ô N G N G H Ệ TH ÔN G TIN
MÃ S Ố : .......................

LUẬN VĂN THẠC S Ỹ KHOA HỤC

N gười hướng dần k h o a h ọ c : T S \ H D u y L ọ i

Hà N ội , năm 2 0 0 1


-2-

MỤC LỤC

I.

T ỗ N < ; QUAN c ơ CHẾ ĐIỂU KH1ÍỈN

Lưu U Í Ợ N G


1.1 Vấn dề diều khiổn lưu lượng và tắc nghẽn tiên

1.2 Cơ c h ế

mạng

điều khiển lưu lượng

4
5

! .2.1 Một số khái niệm cư bản
] .2.2 Điều khiển lưu lượng trong TC P

6

1.3 Thuật toán điểu khiển lưu lượng
1.3.1

Chuẩn diều khiển lưu lượng

19

1.3.2

Thuật (oán khới động chậm và tránh tắc nghẽn.

19

1.3.3 Thuật toán phát và phục hổi nhanh


20

1.3.4

24

Tuyến lính hố q trình khởi dộng chậm trong ihuật loán

dieu khiển lưu lượng

2. HIỆU SUẤT MẠNG T R O N G MỎI TRƯỜNG KHƠ Níỉ ĐỎI
XÚNG

2. i Đặt vấn dề

29

2.2 Mơ hình cơ sớ

31

2.3 Hiệu suất mạng Hong mỏi trường có bãng thơng cư sở chenil lệch

32

2.4 Giải pháp nâng cao hiệu suất mạng

36


2 . 4 . 1- Kỹ thuật lọc gói xác nhận ACK (Ack Filter - AI )

36

2.4.2- Kỹ thuật điều khiển lắc nghẽn AC K (Ack Congestion

37

Control- ACC)
2.4.3- Kỹ thuẠt tái tạo gói xác nhận (Ack Reconstruction- A R )
2.5 Một số kết quả so sánh

40
43


-3-

3. ĐÁNH (ỈIÁ IIIỆU SUẤT MẠNCÌ TRONG MƠI T R Ư Ị M Ỉ
KHỔNíỉ ĐỐI XÚN(Ỉ TRÊN KỀNH K Ế T NỐI IIAI CHI i l l

3.1 Mơ hình cơ sơ

47

3.2 MO hình iru tiCn gói xác nhận ACK

50

3.3 Mơ hình giới hạn gói dữ liệu chờ phát


57

3.4 Mơ hình qn iý băng thơng mức kết nối

68

KÍ: I LUẬN

74

TÀI LIỆU THAM KHẢO

76


MỞ ĐẦU

Đặc thù phát (riển cua các mạng diện lộng ngày nay là phát nil'll trên nen tích hợp
cùa nhiều cơng nghệ và phương tiện khác nhau. Một l)ệ thịm.’ như vậy mang dặc
Irưng c ủ a m ột hệ t hống k h ô ng đối xứng,

sự c h ê nh

lệch giữa r á c kênh truyền ánh

hướng k h ơ n g nhó tiên toe độ c h u n g ciia họ thống. Đoi với các m ạ n g kêt uni Cịiiii vỌ

tinh hav các kênh riêng và mạng diện thoại, hăng thơng cơ S(í có thể chenil lệch
100 lần, đặc biệt khi trên cùng một kênh phải xử !ý thông Iin nhiều chiều nhơ


mạng diện

thoại,

mạng máy tính.

Mạng diện rộng là hệ lliống liên mạng với giao thức trao dổi (lu liệu cơ hán là TCP.
tmng đó băng (hơng cho mỗi kênh trao đổi dữ liệu chênh lộcli nhau đáng kế. Việc
nghiên cứu hiệu suất mạng gắn liền với việc điều khiển cá c gói xác nhẠn A('K

(lóng vai trị quan trọng trong việc phát triển các giao thức mới.

Dựa trên sự hướng (.lẫn cùa Tiên Sĩ Vũ Duy Lợi cùng mộl sô liii liệu tổng hợp khác,
lác giả dã đi sAu nghiên cứu một số giai pháp nâng cao hiệu suất mạng trong mõi
n ường không dối xúng cũtig như phương pháp (failli giá t’hú 11*1 . Lufln văn (lược clii.M
làm ba phẩn. Phán mộl trình bầ y tổng Cịiian vể c ơ chó điều khi ển lưu lượng trên

mạng. Phán hai di síUi nghiên cứu một số giải pháp nAne cao hiệu suấl mạng Irong
mõi trường không đối xúng. Phần ha lẠp trung phân lích, (failli giá ha gi;ti pháp cụ
thơ dó là : giải pháp ưu tiên gói xác nhạn ACK. giải pháp giới hạn gói (lữ liỌu chừ
phát và giải pháp Cíìp phát hăng thông mức kết nối.


-4-

CHƯƠNG 1
T ổ N ( ỉ Q U A N C O C H Ế Đ ĩ Ể l I K H I Ể N L ư u IƯƠN CỈ

I I . VÀN Đ Ể ĐIỂU KIHÍÌN L ư u LƯỢ.NC; V À r Ắ C N G H Ẽ N I R Ê N MẠ N (Ỉ.


'['rong các hệ thống mạng, điéu khiển thông lượng và diều khicn lắc nghẽn là hai
q trình có quan hệ mût ihiết với nhau. Tắc nghẽn là nguyên nhân, là lý do của
diều khiên lưu lượng. S ự t ắc n gh ẽ n x ả y ra khi (lữ liệu nhận ctiKú vượt q u á khá ruing

xứ lý. Trong các hệ thống mạng diện rộn ạ. sự tắc nghẽn làm í'iám hiệu suấl. lãng
thời gian truyền và xử lý, điều này đơi khi dẫn đến nglicn m;u li tồn bộ hệ thịng.
Điều đó có thể do một số ngun nhân sau :

- Thièl bị mạng không (láp ứng nhu cầu xử lý số liệu ( bộ đệm
-

Tấn suât dữ liệu dầu vào quá lớn so với

liln

I| u á

nhó..... ).

suất (lữ liệu xú lý lai đẩu ra.

- Thời gian chờ xứ lý, xếp hàng,... quá lớn.
- Tán suất lỗi mạng cao.

Viín dề là khi một trong các điểu kiện (rèn xay ra. nó có (hể kru theo các diều dieu
kiện cịn iại. Đê giái quvết vấn đề này, trong các hệ thông mạnii người ta phái clưa
vào các thù tục điều khiển tắc nghẽn.

Các kỹ thuật diều khiển tác nghẽn là mọt thành phần tạo nên giao thức. Sử dụng

rộng rãi trong các hệ thống mạng diện rộng hiện nay là k\ thuật cứa sổ Irượi
,GO_BACK_N, phát lại có lựa chọn,...và các kỹ thuật dựa til l) nguyên lý điếm da điểrr và có CÁU trúc, có c ơ ch ế trao i v phc hi,

vn lilt tuv biờn. Tronc

mng din rụnỗ, dieu khiển tác nghẽn (lưực chia thành nhiều Inp. Các lớp trao dổi
số liệu thịng qua các thơng điệp chuẩn liố. Bên cạnh đó Cỉk' kỹ thuật dieu khiển
lưu lượng ngày nay cịn kết hợp các plurơng pháp khác tilìư < <í c h ế phát hiện loi
ỉiCN. cơ ch ế loại bó ngầu nhiên và im tiên gói dữ liệu...


-5-

- Cơ ch ế cửa sổ trượt giới hạn sô' byle dược phát và quá trình phái lại và sưa lỗi
■được giới hạn ngay trong mỗi khung cửa sổ. Phương pháp nìiv dã và dang chứng
minh dược tính ưu việt của nó.

- Kỹ thuật hàng đợi có sự ưu tiên nhằm quản lý và cấp phát hăng thông cho các
kênh truyền theo các tiêu chí khác nhau, các kỹ thuật này lhư<kỹ thuật phát triển giao thức.

- Kỹ thuật diều khiển mức ứng dụng và tiến trình, phương ph;ÍỊ) này hồt) tồn tlựii
trên các thuật tốn và xử lý phẩn mềm. Vấn đề diều khiển lưu lượng được nhìn
nhộn như là vấn đề xứ lý của các chương trình tại hai dầu Ihiêl l'ị gửi và nhận.

Hiện nay có rất nhiều cơ chế điều khiển lưu lượng khác nhau. TCP/IP là một trong
số dó. Điềụ dó có thể thấy rõ hơn trong các phán dưới đây.

1.2. CO CHẾ ĐIỂU KHIỂN LƯU LƯỌNíĨ


1.2.ỉ Mội số khái niệm cơ bản
- Gỏi dữ liệu : dơn vị cơ bản trong kỹ thuật truyền số liệu giao thức TCP.
- Gói xác nhận ACK : Thông tin dùng để xác nhận một gói dữ liệu đã được truyền
đến đích.
- W(l) : (ối đa số gói dữ liệu cho phép phát tại thời điểm t hay độ lớn của sổ phát
thời điểm t.
- SMSS ( Sender maximum segment

size) : Độ IỚ11 tối đa cím gói dữ liệu có thê’

gửi. Giá trị này có thể dựa trên đơn vị truyền tối da của mạng. S M S S không bao
gồm dữ iiệu liêu đề TCP và các trường lựa chọn.
- RM SS (receiver maximum seqment size) : Độ lớn

tối

da

CIIÍI

gói

dữ

liệu mà

(hiêt

bị nhận có thể nhận. R M S S không bao gồm dữ liệu tiêu đề và các trường lựa chọn.
- RVVND (Received window): Giá trị W(t) tại thời điểm dang xét.

- CWND (Congestion window): Giá trị W(t) trong trường hợp c ó tắc nghẽn.


-6-

- Might Size : Số gỏi (lữ liệu đã gửi nhung chua nhện tkrợc xác nhận bới gói xác
nhạn ACK lương ứng.
- Time out : Thời gian chờ tối da trước khi (lược coi là có lỏi.
- R T Ỉ ' : Thời gian phát lồn phỉìn.
- Slow Start : Giai đoạn khời động châm trong cơ chê điều khiến lưu lượng
- Congestion Avoidance : Giai đoạn tránh tắc nghẽn trong cơ chế điểu khiển lưu
lượng
- Threshold : Ngưỡng chuyển đổi từ giai đoạn khỏi dộng chậm '.ang giai (loạn tránh
lắc nghẽn.

1.2.2 Điểu khiển lưu hrựng trong T C P

Đối với mỗi phiên làm việc, sự chênh lệch giữa kênh phát và krtih sir (lụng cho CỈÍC
gói xác nhận ACK ảnh lurởng rất lớn đèn hiệu suât Slicking In n các kênh phát (lú
liệu. Đơn vị cơ bán trong truyền số liệu của TCP là gói dữ liệu, với một hay nhiều
gói (lữ liệu sẽ tương ứng một hay nhiều gói xác Iiltân ACK.

Như vậy hãng thong

sử (lụng của mạng phải dựa trên các yếu tố : tốc độ. độ lớn gói dữ liộu, (lộ lớn gói
xác nhận ACK và thời gian phát (ồn phần. Băng Ihơng cơ sớ dura till dc (lam hao
mans đó đạt tốc độ cao.
TC P Cling cấp dịch vụ trao đổi số liệu tin cộy giữa các q trình Iron các máy tính
khác nliau. Một thành phán quan trọng của TCP là cơ chế dieu khiển lưu lượng.
TCP sử dụng cơ chế diều khiển lưu lượng Ihco ngun lý điếm - tiiổin chứ khơng

hồn tồn dựa trên cơ chê diều khiển tác nghẽn của mạng mức tluĩp. có (lược điều
này (lo tầng ỈP chí đíim bão định tuyến, truyền clữ liệu và klioiig tham gia vào quá
trình điều khiển lỏi.

Giao thức TCP điểu khiển liin suất truyền bang cách giới hạn S(I gói xác nhận ACK
(tược tmvền Trong mỏi phiên làm việc, độ lớn cứa sổ phái w là số gói (lữ liệu
chưa có gói xác nhạn ACK trả lời tương ứng. Một cách [ý tui'iig khi klióng có sư
mát mát dữ liệu do lác nghẽn trên dường truyền thì độ lớn e r a sổ phá! càng IỚỈ1


-7-

càng tôt. Khi một kô( nối ilưực thiết lập, độ Uni cùa sổ truyền k m đáu là (hấp, sau
dó tăng dán lên nhằm tránh tắc nghẽn. Quá trình sẽ láng lên lii ĩi tục cho (lên khi w
dạt đến giá trị tối da, tức là khi gặp lỗi hay khi nhận đưực gói xác nhận ACK yêu
cầu phát lại. hav quá thời gian chờ tối cho phép. Khi dó. độ lún của sổ phát sẽ được
giam và quá trình Im veil lại hắt đáu một chu kỳ mới.

Giả sử bộ đệm kênh nhận có kích cỡ đủ lớn sao cho la có the khơng cẩn quan !Ani
đến độ lớn cùa sổ nhận và kênh phái có bộ đệm rât lớn. Khi co mội kêl nói, (lữ liệu
dược ghi vào bộ đệm phát, thành các đơn vị có độ dài cao nhất S M SS tnrớc khi
dược truyền cho lớp mạng. Tại thời điểm đầu tiên W(t) = SMSS. độ lớn 11ÌỘI gói (lfr
liệu. TCP gửi gói dữ liệu đầu tiên sau đó chờ gói xác nhân A< 'K tương ứng. Nêu
gói ACK đến trước thời điểm cho phép (timeout), độ lớn cửỉi sổ phái lăng lên mội
với mỗi gói xác nhận ACK nhận được và quá trình lặp lại cho đến khi VV(t) bằng
giá trị ngưỡng hav gặp lỗi.

Trong pha khởi động châm , độ lớn cửa sổ phát tăng nhanh, llteo hàm núi. Khi (lộ
lớn cửa sổ phát lăng vượt quá giá trị ngưỡng threshold (lật 11 ước, giá In W(Ọ sẽ
táng luyến tính và theo cơng thức : W(t) = W(t) + l/W(t) và dmvển sang pha tránh

lỗi.

Như vây độ lớn cúa số phát tăng một sau khi phát hết các gói phát. Điều này có nghĩa khi giá trị W(l) càng lớn. Ihì (ốc (lộ I.ing càng chạm. Giai
(loạn nàv kéo dài cho đến khi gặp lỗi hay quá (hời gian chò lói đa mặc định cho
mỏi sói xác nhận ACK . Khi đó độ lớn cửa sổ phát được đặi U' một. giá trị ngưỡng
threshold hằng W(t)/2 ( theo chuẩn T C P Reno). Ta thây tron.!! giai đoạn này. cứa
sổ phát tăng rất chậm nhưng giam ríu nhanh - theo cấp so nhân
Ta xét một ví dụ sau :
Giả sử ngưỡng ban (tÀu hằng 8 gói dữ liệu, độ lớn cửa sổ plìiít bằng I, tang nhanh
và s;ui ba lần truyền giá trị này dạt ngưỡng đật truớc và chuyên sang giai đoạn tăng


-8-

Iuvén tínlì. Gui sir khi W(!) = 12 lỗi xáy ra, khi dó giá trị ngưỏĩig dược (lặt hàng 6
và W(t) = 1.
I

W(t)

Hình l- i : Biến dổi của W(1) trong diều kliiổn lưu

lư ợ n

a của TC Ỉ>

Cơ chê' điều khiển lưu lượng ở trên là nguyên lý chung của <■<< chế điều khiến lưu
lượng trong TCP. Hai chuÁn đang được ứng dung rộng rãi hicM nay là Ta hoe T ( T
và Reno TCP. Khác với chuẩn Tahoe TCP. Reno TCP có một so sửa đổi khi dữ liệu

bị mất hav thời gian chờ gói ACK quá lâu (timeout). Giốn.í! như Tahoc. chuẩn
Rcno - TCP đặt lại dộ lớn của sổ phát bằng mội klu quá thời gian chờ gói ACK.
trong chuẩn Reno TCP có sử dụng cơ chế phát lại nhanh sau khi nhận được ha lan
gói xác nhận ACK.

1liện nay chuẩn Renơ TCP dang được sử dụng rộng lãi. ngồi ra cịn có các eỉuiàn
khác nhu Vegas, một cải tiến cúa chuẩn Reno. Ỷ lường cơ hàn của thuật VegasTCP là đoán nhộn kha năng gáy ra tíie nghẽn trước khi 11Ĩ xày ra trong khi Viĩn
đám hảo thông lượng trên mạng và giảin độ lớn dĩa sổ phát một cách tuycn tính


-9-

khi phát hiện một gói dữ liệu có thể bị rnât. Một gói (lư liệu có thể bị mát có thế
đốn tnrớc (lưực bằng cách tính thời gian phát tồn phíin.

1.2.3 T í n h dộriỊ» (rong co c h ế điểu khiéu lắc nghẽn CIIỈI T ( T

Khi gửi một tệp rất lớn qua các kết nối TCP, ta khơng tạp trim li vào giai đoạn ihỉìm
dị ban dầu và thông lượng trong giai đoạn này timg lên rfiC nlmnh. Trong giai đoạn
tránh tắc nghẽn , độ lớn cửa sổ phát lăng tuyến tính VÌ1 thay đổi sau mỗi chu kỳ
phát tồn phíln và chu kv có tính lặp lại từ khi bắt đáu phát cho (ới khi gcỊp lỏi.

Tính động Iron g c ơ chế điều khiển tắc nghẽn cua TCI’ thổ lúọn ớ chỗ nó tư (lieu
chinh lán suAl phát dữ liệu thõng qua các c ơ ch ế tư xác (lịnh f i i o n s sơ cấn thiél tlí5
theo trạng thái kênh truyền, trong dó dặc biệt là băng lliỏng và tần sil xuất lúện
lỗi. Qua cló lự ihiếl lập các Ihơng số phục vụ cho việc trao (loi số liệu. Dieu này (•<>
thể thây rõ trong các Ihuạt toán điểu khiển done TCP : khởi (lọng chậm, phục hổi
nhanh và tranh tắc nghẽn.

a. Sử dụng killing cira sổ cớ định


Độ lớn cira sổ phát không thay đổi lừ lúc hắt đáu đôn khi kê! thúc phiên làm việc
giữa hai Ihực thể cần trao dổi số liệu được gọi ỉà phương phấp (lùng khung cửa sổ
cố dị nil.

Nhiều kết nối T C P truyền các tệp tương đối nhó từ máy lính này sang máy tính
khác. Đối với giao thức I U T P , mồi dối lượng trong trang Well dược truvển qua các
kết nối TC P riêng rẽ. tronụ chi nhiều dõi tưựng là các lộp ván Itán hay ánh cỏ kích
cữ nhỏ. Khi truyền một tệp cỡ nhỏ, kết nối được thiết lập và lĩini (loạn (hăm đị ciíiu
IƠ11 có ảnh hường nhất định. Trong phần này ta pMn tích mơ hình do độ ánh huờng
của việc thiết lập kết nối và giai đoạn thăm dị. Sự phím lích (V dây giá thiết lằng
mạng khơng bị tắc nghẽn, diều này có nghĩa các két nói TCP l.liõng phái phân chia


-10-

băng thơng, hơn nữa (lị lập trung vào việc phan lích vân (té tmng m la tiến hành
phân (ích (lựa trên mạng có một (lường liên kết (lơn như hình (iii(Vi đAy :

I Tình 1-2 : Kết nối trơn hanjz thơnji R
và có một số ràng buộc sau :
1. Sị byte mỗi thiết bị gửi eiới hạn bởi độ lớn cứíi sổ tắc nghẽn cil a thiết bị đó.
2. Gói dữ liệu khơng bị mất do đó sẽ khơng có gói ciữ liệu phíii gửi lại.
3. Tất các các liêu đổ cùa TCP, 1P và tổng liên kết là nhỏ và khơng đáng kể.
4. Mỗi đối tượng được truyền có kích Ihước clủ lớn. gồm mói số gói (lỡ liệu ( bội
của SMSS)
5. Các gói xác nhận ACK nhỏ và có thời gian Iruyền là kliơiiQ đáng ke.
6. Giá trị ngưỡng ban dầu đặt clú lớn đảm báo giá trị của cừii sổ tắc nghẽn không
bao giờ đạt được.


ữ đây :


Độ lớn ciui mỏi một dối tượng (tưực truyền là o bit.



Độ lớn tịi da một gói dữ liệu là s bít.



Tốc độ truyền trên dường liên kết là R bps.



E L T (elappse time) thời gian trỗ của một gói (lữ liệu trên (lường Iruycn,
bao gồm thời gian phát gói dữ liệu đó.

Mặc dù trong phần này ta giả sử rằng mạng là không xảy ra l;ic nghẽn với một kết
nối dơn TCP . diều dó khỏng ảnh lurớng đối với các mạng có nhiều dường lien kêl.
ĐỐI với m;mg có khá n;mg bị tắc nghẽn, gií) trị

R thè hiện 'In 1ỚI1 hăng thõng ớ

trạng thái 011 (lịnh trong mồi kết nối TCP, E L T phán ánh di) (IV liên mạng


-II-

'Inrớc khi cli vào phAn lích, ta Ciìn phíììi biệt hai khái niệm huyền và phái dược

tiling dưới d â y :

Khái niệm ‘thời gian phái một đối lượng' (tược hiểu như là thời gian càn
thiêt phát đ ối tượng (ló lên (ít rờn g tru n . g iíí trị này hdim lồn tín h (heo lý

thuyết, hàng tích (lộ lớn gói dữ liệu và tóc (ló phát trên kênh urơtiịỉ ling.

-

Khái niệm ‘thời gian Iruyền một đối tượng’ dược hiểu như là thời gian cần
thiết truvển đối tượng đó từ thiết bị gửi sang thiết bị nhfin, (ức là lính từ lúc
phát gói dữ liệu drill tiên đến khi nhân đủ gói xác nhận cuối cùng, ịìiá trị v
có tính đốn tính cliất giới hạn cua độ lớn cửa sổ phái. I Itời gian tniyền rnộl
cìói íượng bàng thời gian phát đơi tượng đó cõng tổng thui gian giữ chậm do
cơ chế truvền theo cứa sổ.

Có iliể coi RL T !à lliời gian lliiết lập một kết nơi vì (Itừi gian I'bấc gói dữ liệu cíiều
khiOn là khịng đáng kc. Do dó sau 2 * R L T là thời gian thực hiện thiết lập và bat
tay một kết nối. Một khoảng E L T là thời gian cho khới tạo kci nối. và moi HLT là
khoáng thời gian gửi u CÍỈ11. Nếu đối với mỗi phiơn làm việc khơng c ó hạn che về

thời gian kết thúc phiên làm việc đó ta thấy sau klioiíng (hời gi;m 2 * E L T . (|iiá Irình
phái mội đối tượng được hắ( đáu và kếl Ihúc sau ( )/R giây. Tổ Mí! thời gian phái mọt
(lối [uợug là 2 * E L T + O/R.
Gọi w > 0 độ lớn cúa sổ phát, không thav đổi trong quá trình phát tĩnh (static) tức
là tói da s ố g ói dữ liệu c h ờ đư ợc phát tại m ồ i thời đi ểm là \Y. K hi m ột m á y chu

nhạn dược yêu cầu phái. I1Ĩ phát cá w gói dữ liệu cho máy u cầu. Sail khi nhận
được một gói xác nhận ACK, máy chủ gửi tiếp mội gói ciữ liọu, q trình lặp lại
cho đến khi lất cả gói dữ liêu của đối (ương đó dược gửi đi. o đây có hai (rường

hợp xảy ra :

I. XV+S/R > E L T + S/R : máy chủ nhân được gói xác nhận A< K trước khi giri hét
w gói dữ liệu (lầu tien.


-12-

W*s/R < l i L'r + S/R : máy chu nhận được gói xác nhận ACK sau khi gửi hét

2.

w gói dữ liệu đầu tien.
*

Xct (rường hợp thứ nhất w *s /R > B L T + S/R với w = 4
in it ia te T C 'P

_

I lình 1-3 :1 Vường hợp W*s/R > HIT + S/R
Sau BLT giAy, kêì nối được khới tạo và dữ liệu được phát sau Í LT/2
Sau

2*R 'IT

máy. máy trạm sẽ

nhận


giây

tiếp theo.

được dữ liệu lù máy chủ. ( ác gói dữ liệu dược

phái cho máv trạm (heo chu kỳ S/R và máy trạm gứi các gói xác nhận A ( ’K tương
ứng khi nhận dược một gói dữ liệu. Vì máy chú

nhận dược Ịiỏi x ác nhộn ACK

dầu tiên trước k h i g ủ i c ả w g ó i dữ liệu ., máy chiì liếp lục phiil các gói c!ữ liệu còn
lại trong cửa sổ phát. Chú V rằng trong quá trình phát . tốc dụ Imvcn là khùng dổi
và duy trì ờ mức R. Tổng thời gian truyền trong trường hợp nà\ íà 2 * E L T + ( )/R.

*

Xót (lường hợp liai VV:|:S /R < E L T + S/R với w - 2


- 13-

initiate TCP v
connection '■*

request

object.

WS/R


Y
I Ft ack

returns

time
at client

time
server

I null I -4 : T r ư ờ n g hợp khi w *s /K < IU ;r I S/R
Theo như phan tích ở liên, sau 2 * E L T + O/R giAy, (lối tưựHỊ! C) (lược phát hết lừ
máy chủ sang máy Irạm, nhưng lúc này máy chủ không nh;Ịn (lược gói xác nhận
ACK (f;iu tiêu sau khi dã gửi tất cả w gói dữ liệu. Như vẠy niáv chủ phái chờ gói
xác nhộn ACK này Inrớc khi tiếp tục phái các gói dữ liệu liếp Ilico trong cứa số thứ
hai. Nêu (lạt K = c c i l ( 0 / W * S ) là s ố cửa sỏ cần thiết dê triiyrn (tối iưựm> c ỡ o . Vì

trong mỏi chu kỳ W *s/R < ELT + S/R nên Ihừi gian chờ phái không Cịuá ELT-(W1 )=Ỉ
o sẽ khơng vượt

C ỊU Ú

:

+ O/R + ( K - 1) [S/R + 1:L I - vv*s/l< I

Trong (ỉó ( K - l ) ỊvS/R + E L T - W * S / R J !à lổng thời gian chờ phát cùa các gói (Iff

liệu trong () và 2 * R L T + O/R là thời gian phát hốt các dối tilling Hong () (km frên
t ốc (tộ vật lý.


-14-

Kêt hợp hai Irường hợp trên ta có thời gian truyền một đoi tươnu là :

2

* HLT + O/R + ( K - l )*[S/R + E L T - w * S/RI ( * ) í ! .2.3. í )

với : Ị x ) ( * ) = max(x,0)

Dề so sánh sự khác nhau trong việc dùng cửa sổ dộng và cún sổ lình ta có phân
tích dưới <1Ay :

b. Sir dụng khung cửa sổ động

Với (tối lượng có () bít dữ liệu, khung cửa sổ pliai hail (lỉiu li'i I . sau khi gói dữ liệu
CỴÀU tiên dược phát và gói xác nhận ACK được Ira về. killing < ira sổ phái tăng lèn
một. Sau khi phát hốt 2 gói dữ liệu và nhân về gói xác nhận ACK tương ứng cho
hai gói dữ liệu này. khung cửa sổ phát tăng lên 4. Các gỏi (lu liệu dược phát lêu
mạng theo chu kỳ S/R giây. Như vậy sau mỗi chu kỳ HLT i’ iây. trong giai đoạn
khởi động chậm, dọ lớn cưa sổ phát lăng lên gấp đôi.

Chú ý rằng o/s là số gói dữ liệu trong một đối tượng được phát. Theo thuật

101)11


truyền ờ trên, cùa sổ phát thứ k chứa 2 k l gói (lữ liệu. Đặl l< = 0 / W * S bằng số
khung cửa sổ cần thiêt (lể phát các gói dữ liệu trong dơi tượng < ). ta có :

K - niin{£ : 2° + 2 1 4------ 4- 2'M >

s

= min{s
=

l o g 2( ^ + l ) }

l o & ( ^ + l)
o

(1.2.3.2)


-15

Trong mỏ hình đang xét, khoảng liìời gian lừ lúc phái gói cưa sổ th ứ k cho liến khi nó nhận dược gói xác nhận A C K (lỉiii tiên là vS/R + ELT.
tức là bằng thời gian phái vật lv cộng thời gian lan truyền. Ở cl.iy s là độ lớn gói (iff
liệu, dơn vị hit. R là tốc dọ truvền, đơn vị bit/giây. Thời gian I’hát 2 k' ! gói dữ liệu
là (S/R) 2 k

Nlur vậy Ihời gian chừ phát cùa tnộl (lọ lớn cửa N(i là :

[S/R + ELT - 2 k 1(S/R)J (*)


( 1.2.3.3)

lức là, nếu S/R + E L T < 2 k 1 (S/R), thời gian chờ phát bằng 0. Nêu S/R 4 HLT > 2
k 1 (S/R). thời gian chờ phát bằng S/R + E L T - 2 k 1 (S/R) . Khi dó lổng thời gian
truyền một đối tượng ( K cửa sổ ) là :

o

WAIT TIME = 2*ELT + _

R

K -\

+ V



o

+ ELT - 2

R

-1

R
(1.2.3.4)


So sánh với trường hợp dùng cửa sổ tĩnh ta thấy chí có sự khiíc nhau là hạng thức
\Y*S/R trong cửa sổ tình cỉưực thay bằng 2

M*s/R. Nhơ trên ta tliAy K là xác định

cân trên của sô khung cứa sổ phát cần thiết để phát hết đôi Uinng (). Tuy nhiên ta
có (hổ xác định giá trị cân trên bằng cách sau :

Với :


=

Uog2(l +

+1.
(1.2.3.5)



p := tnin( Q, K - l )

( 1 . 2 .3.6 )

Khi dó số cứa sổ cần thiết để truyền hết đôi urựng ( ) phái khũML’ vượt quá p và thời
gian để truyền hết dối tượng o ỉà :

o

WAIT TIME = 2*ELT + — + y

-

D

K

-t— i

k =1

s 4-

2m

ELT

£

R

R

Trong dó : O/R là íliời gian phác hế( dối tượng u , 2 :!:IiLT là [hói gian thiết lập kêl
nối, còn lại là lổng (hời gian chờ trên đường truyền. Rứt gọn lại la có tổng thời gian
truyền đối tượng o có tính đến tắc nghẽn là :

WAIT TIME =

o


2*ELT

h-------+

p



s

p

R

,s
lịR
(1.2.3.7)

Như vậy I 1 C ÏI khơng có (ắc nghẽn xảy ra, ỉhời gian phát một dối tượng (ối thiểu

MINIMUM WAIT T I M E là 2 * E L T + O/R Khi (IÓ ta CÓ :

WAIT_TIME

F

< 1 + F-—----------— — 1 —
MINIMUM_WAIT_TIME
1(0 Ỵ R) f e l t 1 1- 2



-17-

Từ công thức trên (a thày nếu E L T «

O/R tức là nêu thời gian trẻ I X T rat nhị thì

giai đoạn khởi động chậm sẽ chiêm thời gian khơng dáng kê. f)ê có một đánh giá
chi liêi khi truyền một trang siêu văn hán ta nghiên cứu ví dụ s;ui :

Giả sứ s = 53 6 bytes. E L T = 0.1 giây, la gửi một (lôi lượng () kích cỡ KM) Kbytes,
khi đó dựa trên các cóng thức (1.2.3.1), (1.2.3.2), (1.2.3.5), (1.2.3.6) và (1.2.3.7) số
cira sổ cn (liil d truyn di urỗmg ny l K = 8. Khi (ló vkhác nlum R ta có :

R

O/R

F

Thời gian truyền lối

Thoi gian Iruycn có

thiểu

tính đến tác nghẽn

( )/R + 2 * RI T

28 Kbps

28.57

(xcm ( 1.2.3.7))

1

28.8 giây

28.'» giây

gi a y
]{)() Kbps

8 giây

2

8.2 giây

8. 1 giíìy

1 Mbps

8 0 0 mi li

5

I giây


! . 5 giAv

7

0.28 giây

().<>K giAy

giAy
]() Mbps

80 miỉi giây

Từ biing trên la thấy đối với các đối tượng kích cỡ lớn. giai (loạn Iliãm (lị có thời

gian dáng kể chỉ khi tốc độ truyền lớn. Từ bảng (lòi chiếu irOn la thây khi R =100
Kbps thì p = 2 trong khi K = 8 như vậy máy chú (lừng iruvền c hí sau 2 trong 8 cửa
sổ đáu tiên.

Trường hợp khi gửi mội dối tượng nhỏ hơn : E L T = 0. ! giây. 0 = 5 Kbvtcs. Tương
tự trên ta có K = 4 và các thòng số khác như sau :

R

O/R

p

Thời gian truyền tối

thiển

1hời gian Imvền có
linh (lốn tát' nghẽn


-18-

O/R + 2 * IÌL.T

Ixcin (1.2.3.7))

28 Kbps

] .43 giây

1

1.63 giây

1.73 giây

100 Kbps

0.4 giâv

2

0.6 giAv


(1.757 giây

1 Mbps

4 0 mill gi Ay

3

0.2 4 giAv

<».52 giây

Ta thAv với tốc độ đường truyền là IMbps, thời gian truyền có tính đến lắc nghẽn
lớn gấp dôi thời gian truyền lý tưởng.

Trường hợp khi E L I ' lớn, B L T = I giûv. 0 = 5 Kbytes, khi loe độ truyền nhó thì
thịi gian chờ cũng đáng ké. Cùng từ các cơng íliức ( 1 . 2 . 3 . 1 ) , (1.2.3.2), (1.2.3.5),
( 1.2.3.6) và ( ! . 2 .3 . 7 ) la có :

R

O/R

p

Thời gian liuyển
lối thicúi
O/R + 2 * IỈLT

'ỉ'hời



gian
lính

truyền

đCn

liic

nghẽn
(xem ( 1.2.3.7))

28 Khps

1.43 giây

3.4 giây

5.8 giây

100 Khps

0. 4 giây

2.4 giiìy

5.2 giây


1 Mbps

4 0 giây

2.0 giày

5.0 giây

10 Mbps

4 giây

2.0 giíìy

5.0 giây

3

TVing kịl lại ta thây với dối lượng có kích cỡ nhị. (hời gian lie trên đường iniyOn
thì giai (loạn Ihãm dị diiu tiên sẽ có ý nghĩa nhất (lịnh. Điều Iiiiv (lúng với những gì
ta Ihấy liên mạng internet.

Trong plián này ta đi sâu nghiên cứu các thuật toán dieu khiên iiru lượng cơ hàn.
hợp thành cơ chế điều khiển lưu lượng đó ỉà : Khới động chạm ( Slow Start), tránh


-19-

tác nghẽn (Congeslion avoiceđance) . phát lại và phục hói nhanh (Fast Retransmit
và Fast Recovery).


1.3.1. Cluián dieu khiển lưu lượng TCP
Cơ chê điều khiến lưu lượng không ngừng phát iriến và cải tiến. Chuẩn nổi bật ià
Reno TCP ( tài liệu tham khảo |5Ị,[8|,[9]) và Vegas TCP. Cả hai chuẩn này đều cải

tiến từ chuẩn Tahoe TCP. Gọi W(t) là độ lớn cửa sổ kênh phát tai thời điểm t,
W(0) = I, Threshold là độ lớn ngưỡng điều khiển khi có ba gói ACK lặp lại.
Threshold = Constant. Chuẩn điều khiến kru lưựng Reno TCP (tài liệu f 11) có 3
bước như sau:

*

Khi nhận được «ói xác nhận ACK :
if W(t) < = Threshold then
W(t+At) := W(t) +1 ; // Giai đoạn khới động chậm

else
W(t+AO


\V(l) + I / W ( t ) ; //Giai đoạn tâng tuyên tính

Khi nhận được 3 gói xác nhận ACK :
Threshold := W ( 1 )/ 2;
W ( 0 := W(t)/2;
Thực hiện thuật phát và phục hồi nhanh



Khi quá thời gian chờ cho phép :

Threshold := W(t)/ 2;
W(t) := l;

1.3.2. Thuật toán khởi động chậm và tránh tác nghẽn

Đây là hai thuật tốn chính, để thực hiện cần dùng hai biên với mỗi một kết nối đó
là min (CWND, RW N D ) và ngưỡng Threshold. Trước khi thiết lập kết nối, thông
lượng irên mạne là không xác định, kết nối được thiết lạp với các thông sỗ ngầm
định trước. Nhăm tránh tắc nghẽn xảy ra khi phát dữ liệu lẽn mạng, giai đoạn khới


-20-

(tọng chậm thăm dò khá năng của mạng với độ lớn cửi) sổ phiít (lược đật ban (tÀit lir
S M S S tic’ll 4 * SMSS. (ìiií Irị Threshold xác (lịnh lnrức cỏ (hể nrơng dối lc'm nhưng
khi có lắc nghẽn xảy ra giá uị này sẽ giám theo cAp so nhân. ( ’liai đoạn khới dõng
châm (tược khi W(1) < Threshold và giai đoạn (1‘ỉínli lắc nghẽn dược áp (lụng khi
W(t) > Threshold.

Trong giai đoạn khởi (lộng chậm ta có W(t) := W(l) I I. Iront giai đoạn tránh lác
nghõn độ lớn cửa sổ phát lăng luyến lính theo cịng thức : W(l) = W(t) + l/VV(t).
Trong (ị trình truyền khi gặp lỏi thì giá trị ngưỡng thay đổi th'.'o công thức:

Threshold = max(F!ight Si/c/2. 2* SM SS )

Trong cơ chế diều khiển của TCP, số tu ẩn tự (lùng (lể Xiíc dị till gói xác nhộn ACK
cuối dược gửi thành cơng và số tuần tự của gói xác nhộn A( K sẽ dược' gửi ticp
ngay sau dó. Lỗi xảy ra khi gói xác nhận ACK bị mất. khi gói dữ liệu bị thay dúi
số Infill tự hay có sự lăị) lại cùa các gói dữ liệu. Điều này dẫn (lịn q trình pliál lại
và phục hổi các gói xác nhẠn ACK bị mất.


1.3.3 Thu ật toán phái và pliục hổi nhanh

Trường hợp mồi cứa số phát ch ỉ mất tối da một gói (lữ liệu

Thuật tốn phát lại được sử dụng sau khi thực thể phát nhận chrực một số nl! (lịnh
các gói xác nhận ACK lặp lại (giá trị ngiìm định là 3), khi (tó người ta đũng llutAl
toán phục hổi nhanh cho đốn khi nhân lại gói Xííc nhận ACK bị mût. Thuậl tối)
phát lại và phục hổi nhanh luôn dồng thời thực hiên tlieo các hitớc sau :

(i) Sau khi nhận được gói xác nhận ACK thứ 3.giá (lị nuưữni’ Threshold đưưc (iiil
về I lightSi/.c / 2.


-21-

(ii) Truyền lại gói dữ liệu bị mất và dặt W(t) = Threshold + } * SMSS
cíđy 3 gói

Xỉíc

nhằm lấp

nhận ACK lặp lại.

(ili) 'lĩing W(t) = W(t) + SMSS

mỗi khi nhộn (lược các gói xác nhận /\CK Ihlì

4 . 5 .....

(iv) ] 1LI yen gói dữ liệu mới nếu có thế.
(V)

Khi nhân (lược gói xác nliẠn ACK của gói bị mấl. Đậl W(t»

=

Threshold (bước

I ) và két thúc thuật toán.



W(t) (bytcs)

50000




Thời điểm lặp lại gói xác nhận

40000

30000
20000

'ĩhPẽsliokl = W(t)/2

1()()()()__


1



---------- 1— ----- i---------- ---------- 1----------t---------1----------1------- 1 --------- 1------------------------

0.8

I

1.2

1.4

1.6

Hình 1-5 : Quá trình phát lại và phục hổi nh.-nth

Trường hợp mồi cửa s ổ phát mất nhiều Ịịói dữ liệit

Tht lốn phát lại và phục hổi nhanh có hai nhược điểm sau :
Việc phát lại các gỏi dữ liệu bị lỗi tlÃn clến phát lại gói (lữ liệu đã được phái
thành cổng trước dỏ.


-

hiiìc(s)



-22-

-

Quá trình phát lại và phục hồi nhanh khổng thành cóng, khi dó phai chờ
theo cơ chế time out de phát lại và khi (ló độ lớn cứa so pliál bằng I .

Do đó một giải pháp dưa ra là sửa dổi Ihuậí tốn khới động nhỉinh như sail :
Thíiv dổi thuật tốn khới dộng nhanh theo hướng có thể phục hổi nhíéu gói Xík:
nhận ACK bị mất trong cùng mộl cửa sổ phái, ý lương ớ đín là thay vì chờ cho
đến Ihời gian timeout dể phát lại, la dùng ngay thuật loán phái lại giống như (rong
giai đoạn khởi dộng chậm và khơng khởi động lại thuỌt tốn “New Fast
Retransmit” một cách đệ qui khi gặp 3 gói xác nhận ACK lặp lại.


-23-

Tluiật loán “ New Pas I Retransmit” :
Khi nhiỊn (lược 3 gói /V K lập Ini.
Khởi dộng lliuột lốti New Fast
Retransmit”

Giai đoạn thiết Jập :
(i)
- save_w(t) = W(t)
- Threshold =: 1/2 * W(t)
- W(t) = 1
(ii)
- snd_high = SỐ tuần tự lớn nhất cua gót dữ liệu

đã được xác nhận.

Phát lại :

(iii) Phát (heo thuật giống Slow Start
(iv) W(t) = W(() + ] khi W(t) < save_w(!)
( V ) Không khơi dộng lại thuật toán “New Fast
Retransmit” một cách tlệ qui khi nhân dược 3 gói
ACK lặp lại
(vi) Phát gói (lữ liệu mới mỗi khi nhận dược hai gói x;ir

No

Két thúc thnẬl toán
“ New Fast Retransmit"


-24-

- BiKfcs ( i ) hoàn toàn g i ỏ n g như c ơ c h c điều k hi ến t ua thuật to.il) khới đ ộ n g nhanh.
- B ư ớc (i i) s i u l j l i g h là s ò luẩn tự c u ố i c ù n g c ù a gói (lữ liệu lia ' l ư ợ c gưi Ihành c o n g
t rước (ló.
- r á c gói (lữ liệu bị m:ĩt (lược phát lại t h e o c ơ c h ê khới (lõng (Il 1 1 1 1 Iron g hước (iii ).
- Bư ớc ( i v) (litni b á o (fộ lớn cúíi s ổ phá* k h ổ n g vươt (|i (lơ lớn rứii s ổ tại (ló liAv i;i

lỗi.
- Bước (v) tránh íỉọi tlniậl tốn một cách


đệ


qui khi nhận duọv 3 gói ACK lặp lại.

tịiiá của việc phát lại các gói tin bị mất.

- Bước (vi ) nhằm duy trì lính liên tục trong truyền số liệu.

Thuật toán dừng khi thiết bị phát nhận được gõi xác nhận A( K có sơ tuấn lự phát
lớn hơn s nd jiigh.

1. 3. 4. T u y ê n t í n h h o á g i a i đ o ạ n k i i o i
ỉượriị»

Nhu' l n'11 la lIiAy, (lộ lớn c ử a s ổ p hát W ( l ) ( ă n g l l i e o h à m 1Ì1ÍĨ ( t o n g g i a i ( l oạ n khới

dộng chậm vn dó là nguyên nhân gây lên sự thay dổi (tội hier» VÌ1 cúc lỗi co 1hổ xáy
ra. Giãi pháp (lưới

(hìy đám bảo sự tuyến lính khi Ihay đói (ló lớn cua Nổ pliỉít

trong giai doạn khỏi dộng chậm cũng như Iron g cơ ch ế plt.il hũ sau (hời giun
timeout. Đó là mục đích của cơ ch ế tuyến tính hố (lưới (lây.

Trong mạng internet . các kết nối có the chia làm hai loại : lo.ii có thời gian tổn lại
ngắn (loai I ) và (lài (loại 2) . Trong thực thố. dối với mạng internet, các kêt nối loai
! chiếm tí lệ lớn và lồi xay ta chủ vếu rơi vào các kêi nôi loại I . Các kết nơi loại ỉ
thường giải phóng kết nối khi nó chưa đạt tới (rạng Ihái ổn (tịnh. Điều này có nghía
ỉà giai đoạt) khơi d ộn g chậm c ó ảnh hương rất lớt) (lên các kêt Mối loại i.


Theo nguyên lắc của cơ chế diều khiển liru lượng trong T O ' , ta lliấv với nmrfmg
Threshold (lã hiêt. thời gian cần thiết (lể dó lớn cúíi sổ plrit lăng bàng ịiiíí tri