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

Nghiên cứu các phương pháp điều khiển tắc nghẽn trong mạng NGN

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 (781.79 KB, 68 trang )

1

MỤC LỤC

DANH MỤC TỪ, THUẬT NGỮ VIẾT TẮT
Từ viết tắt

Tiếng Anh

Tiếng Việt
Đường truyền thuê bao số bất
đồng bộ

API

Asymmetric Digital Subcriber
Line
Additive Increase Additive
Decrease
Additive Increase Multiplicate
Decrease
Application Program Interface

AGC

Access Gateway Controller

Bộ điều khiển cổng truy cập

ARWND


Advertised Receiver Window

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

ATM

Asynchronoú Transfer Mode

Mode truyền dị bộ

CATV

Community Antenna Television

Truyền hình cáp

ADSL
AIAD
AIMD

Tăng cộng giảm cộng
Tăng cộng giảm nhân
Giao diện ứng dụng


2

CAVT

Congestion – Avoidance

Visulization Tool

CSFQ

Core-Stateless Fair Queueing

CWND

Congestion Window

Công cụ mô phỏng tránh tắc
nghẽn
Xếp hàng bình đẳng không trạng
thái ở router lõi
Cửa sổ tắc nghẽn

EC

Efficiency Controller

Bộ điều khiển hiệu quả

ETCP

Enhanced TCP

TCP tăng cường

EWA


Explicit Window Adaptation
Fair Bandwidth Allocation for
TCP
Fairness Controller

IAD

Sự tương thích cửa sổ rõ
Phân bố băng thông hợp lý cho
TCP
Bộ điều khiển bình đẳng
Tiện ích liên lạc không dây theo
General System for Radio Service
gói
Global System for Mobile
Hệ thống thông tin di động toàn
Telecom
cầu
Integrated Access Decice
Thiết bị truy cập tích hợp

IP

Internet Protocol

Ipv6

Internet Protocol Version 6
Giao thức Internet phiên bản 6
Intergrated Service Digital

Mạng số tích hợp đa dịch vụ
Network
International Telecommunication
Hiệp hội viễn thông quốc tế
Union

FBA-TCP
FC
GPRS
GSM

ISDN
ITU

Từ viết tắt
MGW
MIAD
MIMD
MSS
NGN
PABX

Tiếng Anh

Giao thức Internet

Tiếng việt

Media Gateway
Multiplicate Increase Additive

Decrease
Multiplicate Increase Multiplicate
Decrease
Maximum Segment Size

Cổng truyền thông

Next Generation Network
Private Automatic Branch
Exchange

Mạng thế hệ sau

PLMN

Public Land Mobile Network

POTS

Plain Old Telephone Service

Tăng nhân giảm cộng
Tăng nhân giảm nhân
Kích cỡ đoạn lớn nhất
Tổng đài nhánh riêng tự động
Mạng thông tin di động mặt đất
công cộng
Mạng điện thoại công cộng



3

QoS

Public Switched Telephone
Network
Quality of Service

Mạng chuyển mạch dữ liệu công
cộng
Mạng thoại chuyển mạch công
cộng
Chất lượng dịch vụ

QSR

Quick-Start Request

Yêu cầu bắt đầu nhanh

QS-TCP

TCP Quick-Start

TCP khởi đầu nhanh

RED

Random Early Detection


Phát hiện sớm ngẫu nhiên

RTT

Round Trip Time

Thời gian vòng truyền

SVC

Signalling Virtual Channel

Kênh ảo cho báo hiệu

TCP

Transmission Control Protocol

TDM

Time Divison Multiplexing

TFRC

TCP-Friendly Rate Control

Giao thức điều khiển truyền tải
Ghép kênh phân chia theo thời
gian
Điều khiển tốc độ thân thiện

TCP

PSDN
PSTN

Public Switched Data Network

TTL

Telecommunications Management
Mạng giám sát viễn thông
Network
Time – To –Live
Thời gian tồn tại

UDP

User Datagram Protocol

Giao thức gói người dùng

VoIP

Voice over IP

Thoại trên IP

XCP

Explicit Control Protocol


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

TMN


4

DANH SÁCH HÌNH VẼ
Hình 1.1 Quá trình diễn ra tắc nghẽn

2

Hình 1.2 Độ nhạy (responsiveness) và độ mịn (smoothness)
Hình 2.1 Cửa sổ tắc nghẽn

7
12

Hình 2.2 Header chống tắc nghẽn trong gói dữ liệu/xác nhận XCP

16

Hình 2.3 Vùng router biên (E) và lõi (C) với khả năng CSFQ

21

Hình 2.4 Kết nối TCP đơn đi qua vùng router có khả năng CSFQ

24


Hình 3. 1 Hiện tượng xảy ra tắc nghẽn

28

Hình 3.2 Hiệu quả của việc điều khiển tắc nghẽn

29

Hình 3.3 Môi trường mạng hỗn tạp trong NGN

29

Hình 3.4 Hệ thống gồm n người dùng chia sẻ 1 mạng

34

Hình 3.5 AIDM hội tụ đến điểm tối ưu

39

Hình 3.6 AIAD không hội tụ

39

Hình 4.1 Tổng quan về NS dưới góc độ người dùng

41

Hình 4.2 Sơ đồ thuật toán tăng giảm


44

Hình 4.3 Giao diện công cụ mô phỏng thuật toán tăng giảm

45

Hình 4.4 Biểu đồ vector của thuật toán AIMD

46

Hình 4.5 Đồ thị biểu diễn theo thời gian

47

Hình 4.6 Biểu đồ theo vector thuật toán MIAD

47

Hình 4.7 Đồ thị biểu diễn tốc độ theo thời gian

48

Hình 4.8 Thuật toán MIMD hội tụ nhanh đến đường hiệu quả

48

Hinh 4.9 Thuật toán AIMD khi RTT1 = 2

×


RTT2

Hình 4.10 Topo mạng sử dụng trong quá trình mô phỏng

49
50


5

Hình 4.11 Hiệu quả sử dụng đường truyền cao

51

Hình 4.12 Hiệu quả vẫn bảo đảm khi 1 luồng ngừng truyền đột ngột.

52

Hình 4.13 cwnd hội tụ nhanh đến lượng chia sẻ hợp lý

52

Hình 4.14 Số gói tại hàng đợi nhỏ.

53

Hình 4.15 Biểu diễn cwnd của 2 loại lưu lượng TCP và XCP.

54


Hình 4.16 Hiệu quả khi có 1 luồng TCP

54

Hình 4.17 Trạng thái hàng XCP.

55


6

LỜI NÓI ĐẦU

Cùng với sự phát triển của đất nước, những năm gần đây, các ngành công
nghiệp đều phát triển mạnh mẽ và ngành công nghiệp viễn thông cũng không là
ngoại lệ. Ngày càng có nhiều các dịch vụ mới và chất lượng dịch vụ cũng được yêu
cầu cao hơn: Internet nhanh chóng được phổ biến, những đòi hỏi về dịch vụ IP (IP
VPN...), xu thế tích hợp IP/ATM/MPLS cho mạng thông tin trục... đã dẫn đến sự
cần thiết phải thay đổi công nghệ mạng. Đứng trước xu hướng đó, việc phát triển
theo cấu trúc mạng thế hệ sau (NGN) với các công nghệ phù hợp là bước đi tất yếu
của viễn thông thế giới và mạng viễn thông Việt Nam. NGN không phải là một
mạng có cơ sở hạ tầng được xây dựng hoàn toàn mới mà nó được hình thành và
phát triển trên nền tảng của các mạng thế hệ trước đó kết hợp với kỹ thuật chuyển
mạch gói theo giao thức IP.
Mạng viễn thông của các nước trên thế giới cũng như ở Việt Nam đang
chuyển dần đến mạng thế hệ sau NGN và tiến tới IP hóa (all-IP) với mục tiêu: mọi
lúc – mọi nơi và bằng mọi phương tiện. Nhu cầu về các dịch vụ mạng ngày càng đa
dạng, phong phú và đòi hỏi nhiều mức độ chất lượng 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à hội tụ về dịch vụ. Tài nguyên 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 hiện tượng
tắc nghẽn mạng là khó tránh khỏi. Để giải quyết vấn đề này có hai hướng giải quyết
tổng quát nhất, đó là:


Tăng tài nguyên của mạng (mở rộng nút mạng, tăng các tuyến truyền dẫn,

tăng băng thông của mạng…)
• Điều khiển chống tắc nghẽn mạng.
Với cách thứ nhất chi phí đầu tư lớn, làm thay đổi phần cứng của mạng và
không thể thực hiện thường xuyên được.
Cách thứ hai sử dụng các thuật toán, các giao thức để điều khiển chống tắc
nghẽn mạng. Cách này đầu tư nhỏ, không ảnh hưởng đến phần cứng của mạng và


7

rất mềm dẻo linh hoạt và đây cũng là phương án khả thi, thích hợp với điều kiện ở
Việt Nam.
Sau một thời gian nghiên cứu và tìm hiểu, được sự giúp đỡ và hướng dẫn của
thầy giáo Ts. Nguyễn Chiến Trinh em đã nắm bắt được những kiến thức cơ bản về
mạng NGN nói chung và vấn đề tắc nghẽn trong NGN nói riêng.Đến nay, em đã
hoàn thành đồ án với đề tài “Nghiên cứu các phương pháp điều khiển tắc nghẽn
trong mạng NGN”. Nội dung của bài được chia làm 4 phần chính:
Chương 1 : Tổng quan về tắc nghẽn trong mạng
Chương 2 : Các phương pháp điều khiển tắc nghẽn
Chương 3 : Phương pháp điều khiển tắc nghẽn trong mạng NGN
Chương 4: Mô phỏng phương pháp điều khiển tắc nghẽn
Do đây là một đề tài phức tạp và trình độ hiểu biết còn nhiều hạn chế nên bài
làm của em không tránh khỏi những sai sót. Em rất mong nhận được sự chỉ dẫn và

góp ý của các thầy cô giáo để bài làm được hoàn thiện hơn.
Hà Nội, tháng 8 năm 2015
Học viên

Phùng Việt Phú


8

CHƯƠNG 1
TỔNG QUAN VỀ TẮC NGHẼN TRONG MẠNG
Nhu cầu về các dịch vụ mạng ngày càng đa dạng, phong phú và đòi hỏi nhiều
mức độ chất lượng 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à hội tụ về dịch vụ. Tài nguyên của mạng 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 mạng là khó
tránh khỏi. Chương 1 trình bày về vấn đề tắc nghẽn, nguyên nhân phân loại cũng
như các tiêu chí đánh giá phương pháp điều khiển tắc nghẽn.

1.1 Hiện tượng tắc nghẽn trong mạng
1.1.1 Nguyên nhân xảy ra tắc nghẽn
Tắc nghẽn xảy ra do 1 số nguyên nhân sau:
1. Tràn bộ đệm: thường nút mạng được thiết kế với 1 bộ đệm lưu trữ có hạn.
Nếu tình trạng nghẽn mạng kéo đủ dài, bộ đệm bị tràn, các gói sẽ bị mất hoặc trễ
quá thời gian cho phép. Đây cũng là nguyên nhân giống như trong mạng truyền
thống.
2. Lỗi do đường truyền vô tuyến. Các hiệu ứng môi trường như di động, che
chắn, phading…gây ra mất gói, ảnh hưởng đến tắc nghẽn mạng.
3. Do nghẽn cổ chai: tại điểm đấu nối từ các mạng tốc độ thấp vào các mạng
tốc độ cao. Đây là 1 trong những đặc điểm nổi bật của môi trường hỗn tạp NGN.
4. Nhu cầu băng thông cao của các dịch vụ đa phương tiện và các loại hình

dịch vụ mới : dữ liệu, âm thanh và hình ảnh được tích hợp truyền trên 1 mạng duy
nhất gây ra tắc nghẽn tại các đường truyền dẫn băng thông nhỏ.
5. Lưu lượng lớn, thay đổi đột biến và biến đổi động.


9

6. Tính biến động của mạng, topo mạng: Đây là một đặc tính mới của mạng
NGN so với mạng truyền thống. Các nút mạng có thể dịch chuyển làm topo mạng
thay đổi gây ra những biến đổi về phân chia lưu lượng trên mạng.

1.1.2 Nguyên lý chung của điều khiển tắc nghẽn
Điểm gãy

(knee)

Điểm vách
(cliff)

Thông lượng
(Throughput)

Lưu lượng đầu vào (offered load)

Hình 1.1 Quá trình diễn ra tắc nghẽn

Quá tải làm thông lượng (throughput) suy biến như được chỉ ra trên hình 1.4.
Đồ thị biểu diễn mối quan hệ giữa thông lượng với lưu lượng đưa vào (offered
load). Ở mức lưu lượng đưa vào nhỏ (phía trái của điểm gãy - Knee), thông lượng
tăng tuyến tính với lưu lượng đưa vào. Đó là lúc băng thông chưa sử dụng hết.

Thông lượng lớn nhất khi lưu lượng đưa vào gần với băng thông thắt cổ chai
(bottleneck bandwidth) và thông lượng tăng chậm tương ứng với kích thước dữ liệu
trong bộ đệm. Khi lưu lượng đưa vào tiếp tục tăng, thông lượng giảm đột ngột từ
điểm vách (Cliff) xuống một giá trị rất nhỏ, đó là lúc tất cả các luồng cùng gửi dữ
liệu nhưng dữ liệu không được truyền đến phía nhận. Lúc đó, hầu hết các gói bị mất
và hiện tượng tắc nghẽn xảy ra .
Nguyên lý chung để điều khiển tắc nghẽn là:


10

- Duy trì điểm hoạt động của mạng luôn ở mức lưu lượng đưa vào nhỏ.
- Đảm bảo cho các bộ đệm của bộ định tuyến không bị tràn.
- Đảm bảo phía gửi dữ liệu nhanh mà phía nhận vẫn có thể xử lý, giúp sử
dụng tài nguyên một cách hiệu quả nhất.

1.2 Các phương pháp điều khiển tắc nghẽn
1.2.1 Các đặc điểm chung
Các phương pháp điều khiển chống tắc nghẽn có thể được phân loại dựa trên
các đặc điểm chung như sau:


Điều khiển tiếp nhận (Admission control): cho phép một kết nối mới chỉ khi
mạng có thể đáp ứng một cách thích hợp. Trong pha thiết lập kết nối có chứa một
tập các mô tả về lưu lượng (tốc độ truyền dẫn cực đại, tốc độ truyền dẫn trung bình,
trễ cực đại cho phép…). Mạng chỉ cho phép người sử dụng truy nhập đến chỉ khi
nào có đủ tài nguyên sẵn sàng trên mạng. Ngược lại, yêu cầu kết nối bị từ chối.
Mạng giám sát, kiểm soát các luồng lưu lượng để xem liệu người dùng có tuân theo
các mô tả về lưu lượng không.




Kiểm soát (Policing): Kiểm tra kết nối nào vi phạm các mô tả về lưu lượng
để đưa ra xử lý trừng phạt bằng cách:
1) Xóa các gói vi phạm mô tả
2) Gán cho chúng quyền ưu tiên thấp hơn



Điều khiển luồng lưu lượng (Flow control) là những hoạt động của mạng để
tránh xảy ra tắc nghẽn. Ngoài ra điều khiển lưu lượng còn nhằm sử dụng tối ưu tài
nguyên mạng để đạt được một hiệu suất mạng thực sự.

1.2.2 Phân loại
Theo các đặc điểm chung nêu trên, các phương pháp điều khiển tắc nghẽn có
thể được phân loại như sau:


11

Điều khiển tắc nghẽn vòng hở (Open-loop congestion control) là sự kết hợp
của điều khiển tiếp nhận, kiểm soát và nguyên lý thùng rò (leaky bucket). Trong đó
không có thông tin phản hồi từ mạng hoặc phía nhận.
Điều khiển chống tắc nghẽn vòng kín (Close-loop congestion control) là dựa
trên trạng thái của mạng với sự giám sát tắc nghẽn và điều khiển lưu lượng dựa trên
thông tin phản hồi. Trong đó, thông tin phản hồi có thể là:


Phản hồi ẩn (implicit feedback) nguồn phát sử dụng thời gian chờ (time-out)
để xác định liệu có xảy ra tắc nghẽn hay không. Ví dụ: điều khiển chống tắc nghẽn

trong TCP thực hiện theo kiểu này.



Phản hồi rõ (explixit feedback) một số bản tin tường minh được gửi đến
nguồn phát.
Điều khiển theo tốc độ: điều khiển một cách trực tiếp tốc độ truyền tại phía
gửi (nguồn gửi tin).
Điều khiển theo kích thước cửa sổ: điều khiển gián tiếp tốc độ truyền thông
qua việc thay đổi kích thước cửa sổ (số gói tin hoặc số byte tồn tại ở đó).

1.3 Các tiêu chí đánh giá phương pháp điều khiển tắc nghẽn
Trong phần này đề xuất một số tiêu chí đánh giá cơ bản nhất dựa trên cơ sở
những tiêu chí truyền thống, song có xem xét đến những đặc tính của môi trường
mạng mới NGN.
Những tiêu chí cơ bản nhất dùng cho phân tích, đánh giá các phương pháp
điều khiển chống tắc nghẽn bao gồm:

1.3.1 Tính hiệu quả (Efficient)
Tính hiệu quả được định nghĩa là tỉ số giữa tổng tài nguyên phân phối cho
các ứng dụng và tổng tài nguyên mong muốn tại điểm Knee của mạng [10], nghĩa là
trước thời điểm mạng xảy ra bão hòa. Nếu Xgoal biểu thị mức lưu lượng đưa vào


12

mong muốn tại điểm Knee, X(t) biểu thị tổng tài nguyên phân phối cho các ứng

dụng, nghĩa là


X (t ) = ∑ xi (t )

, thì tính hiệu quả được xác định bởi tỉ số:
η=

X (t )
X goal

(1.1)

( X (t ) < X )

( X (t ) > X )
goal

Quá tải

goal

hay dưới mức tải

đều không mong muốn

và được coi là không có hiệu quả như nhau. Thuật toán hiệu quả khi η tiến gần tới
1, nghĩa là X(t) tiến gần tới Xgoal.
Chú ý, tính hiệu quả chỉ có liên quan đến tổng lượng phân phối và do đó 2
lượng phân phối khác nhau có thể cả hai đều hiệu quả miễn là tổng lượng phân phối
là gần đến “goal”. Sự phân bố của tổng lượng phân phối giữa các người dùng được
đo bởi chỉ tiêu bình đẳng.


1.3.2 Tính bình đẳng (Fairness)
Khi nhiều người dùng chia sẻ tài nguyên, tất cả người dùng trong cùng một
lớp dịch vụ phải có chia sẻ như nhau về tài nguyên. Thường thì sự phân bổ không
bằng nhau một cách chính xác, mức độ bình đẳng được đo bởi chỉ số bình đẳng. Chỉ
số bình đẳng được định nghĩa khái quát trong như sau:

(∑ x )
F ( x) =
n(∑ x

2

i

i

2

)

(1.2)

Chỉ số này có các đặc tính sau đây:
0 ≤ F ( x) ≤ 1



. Lượng phân phối bình đẳng (với tất cả lượng

xi


bằng nhau)

có tính bình đẳng là 1 và lượng phân phối không bình đẳng (với tất cả các tài
nguyên chỉ dùng cho một người) có tính bình đẳng là 1/n đạt đến 0 khi n tiến tới vô
cùng.


13

Tính bình đẳng độc lập vào thang đo, tức là, đơn vị đo là không quan



trọng.
Tính bình đẳng là hàm liên tục. Một vài sự thay đổi nhỏ trong lượng phân



bố cũng thấy trong tính bình đẳng.
Nếu chỉ có k trong n người dùng chia sẻ tài nguyên như nhau với (n - k)



người dùng không nhận tài nguyên nào, thì tính bình đẳng là k/n.
Ta có các đặc tính khác:
Thuật toán bình đẳng khi F tiến gần tới 1. Tuy nhiên, chỉ số này chỉ biểu diễn
tính bình đẳng giữa các người dùng mạng nói chung mà chưa thể hiện được bản
chất đa dịch vụ trong mạng thế hệ mới. Trong mạng NGN sẽ có nhiều lớp dịch vụ
khác nhau, sử dụng nhiều hệ giao thức vận chuyển khác nhau. Vì vậy, cần thiết phải

đưa thêm hai chỉ số bình đẳng mới [2]:
− Chỉ số bình đẳng giữa các giao thức cùng họ:
F1 = θ i / θ j

(1.3)
trong đó θi và θj là thông lượng của các giao thức i và j cùng sử dụng cho một lớp
ứng dụng.
− Chỉ số bình đẳng giữa các giao thức khác họ:
F2 =

θi

ωj

(1.4)
trong đó θi và ωj là thông lượng của các giao thức i và j khác họ sử dụng cho các
lớp ứng dụng khác nhau.

1.3.3 Tính hội tụ (Convergence)
Sự hội tụ được đánh giá bởi thời gian cần để hệ thống đạt đến trạng thái
mong muốn từ một trạng thái xuất phát bất kỳ. Một cách lý tưởng, hệ thống đạt tới
trạng thái đích nhanh và có biên độ dao động rất nhỏ xung quanh nó [10].


14

Như vậy, tính hội tụ được đánh giá qua 3 yếu tố:


Trạng thái cân bằng tiệm cận với Xgoal .




Thời gian cần thiết để thuật toán hội tụ đến Xgoal .



Biên độ của dao động xung quanh giá trị Xgoal nhỏ dần.
Thời gian để đạt được trạng thái cân bằng (equilibrium) xác định độ nhạy

(responsiveness) và độ dao động xác định độ mịn (smoothness) của phương pháp
điều khiển. Một cách lý tưởng, chúng ta muốn thời gian cũng như sự dao động phải
nhỏ. Do đó, điều khiển với thời gian nhỏ và biên độ nhỏ của dao động gọi là nhạy
hơn và mịn hơn, như trong hình 1.5.

1.3.4 Thời gian đáp ứng nhanh (Small response time)
Thuật toán phải nhanh chóng phát hiện được tắc nghẽn và thời gian kể từ khi
phát hiện tắc nghẽn đến khi có tác động của điều khiển chống tắc nghẽn phải càng
nhanh càng tốt: Tresp ≤ Tgoal - trong đó Tgoal là cơ sở để so sánh các thuật toán điều
khiển.
Độ nhạy

“Goal”
Độ mịn

Tổng lưu lượng mạng

Thời gian

Hình 1.2 Độ nhạy (responsiveness) và độ mịn (smoothness).



15

1.3.5 Độ mịn trong điều khiển (Smoothness)
Trong thực tế, tác động của điều khiển không thể đưa hệ thống đến trạng thái
mong muốn ngay lập tức. Vì vậy, các thuật toán điều khiển chống tắc nghẽn phải
thiết kế sao cho tác động điều khiển có độ mịn cần thiết, tránh đưa hệ thống vào
trạng thái mất ổn định thêm. Đại lượng để đo độ mịn có thể là hiệu số giữa lưu
xi (t 2 ) − xi (t1 )

lượng tại 2 thời điểm điều khiển liên tiếp t1 và t2:

hoặc hiệu số giữa
X (t 2 ) − X (t1 )

tổng lưu lượng mạng tại 2 thời điểm điều khiển liên tiếp t1 và t2:

.

1.3.6 Tính phân tán (Distributedness)
Đây là điều cần thiết bởi vì một mô hình tập trung đòi hỏi thông tin đầy đủ
về trạng thái của mạng cũng như các luồng riêng lẻ, và điều này là không thể không
có đối với mạng cỡ lớn. Chẳng hạn, chúng ta muốn biết về các nhu cầu cá nhân hay
toàn bộ. Thông tin này có thể hữu dụng tại nguồn tài nguyên. Tuy nhiên, truyền đạt
thông tin này cho nhiều người dùng làm chúng ta quan tâm đến mào đầu
(overhead), đặc biệt khi một người dùng có thể dùng vài nguồn tài nguyên
(resource) tại cùng một thời điểm. Do đó, chúng ta phải quan tâm hàng đầu đến
phương pháp điều khiển có thể thực hiện trong hệ thống thực và giả sử rằng hệ
thống có lượng phản hồi ít nhất. Nó chỉ cho ta biết nơi nào là không đủ tải hay quá

tải thông qua bit phản hồi nhị phân. Thông tin khác như X goal và số lượng người
dùng cùng chia sẻ nguồn tài nguyên được giả thiết là không được biết bởi người
dùng. Điều này hạn chế phương pháp khả thi.
Như vậy, mô hình có thể xây dựng để đánh giá các phương pháp điều khiển
chống tắc nghẽn cho mạng NGN có thể được thiết kế dựa trên sáu tiêu chí cơ bản
nêu trên.


16

Kết luận chương
Hiện tượng tắc nghẽn xảy ra trong mạng là vấn đề khó tránh khỏi, do đó điều
khiển tắc nghẽn ngày càng trở nên cấp thiết. Chương 1 đã nêu tổng quan về nguyên
lý, phân loại các phương pháp điều khiển tắc nghẽn, tiêu chí đánh giá những
phương pháp điều khiển.


17

CHƯƠNG 2
CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN
Trong chương này, chúng ta sẽ hệ thống hóa lại một số phương pháp điều
khiển tắc nghẽn điển hình nhất, phân tích đánh giá chúng dựa trên cơ sở những
tiêu chí đã đề xuất trong chương 1. Đó là các phương pháp điều khiển tắc nghẽn
truyền thống như DECbit, và một vài phương pháp mới như EWA, ETCP, FBATCP, QS- TCP để cải thiện hiệu suất hoạt động mạng. Trong đó đặc biệt đi sâu vào
phương pháp điều khiển tắc nghẽn sử dụng TCP phổ biến hiện nay (đặc biệt là
trong mạng Internet) và XCP là ứng cử viên cho mạng dựa trên cơ sở IP sau này.

2.1 Một số phương pháp điều khiển tắc nghẽn truyền thống
2.1.1 DECbit

DECbit là một trong các mô hình điều khiển tắc nghẽn sớm nhất. Phương
pháp này sử dụng phản hồi ẩn. Trong DECbit, mạng cung cấp thông tin phản hồi
cho phép phía gửi điều chỉnh lưu lượng vào mạng. Các bộ định tuyến giám sát kích
thước trung bình của hàng đợi trong khoảng thời gian được định nghĩa. Nếu độ dài
trung bình của bộ đệm vượt quá ngưỡng (threshold) thì bộ định tuyến thiết lập một
bit chỉ dẫn chống tắc nghẽn (gọi là DECbit) trong các gói tin để thông báo sự tắc
nghẽn của mạng. Phía nhận gửi lại bit này trong thông báo nhận được đến phía gửi.
Phía gửi giám sát các bit chỉ dẫn chống tắc nghẽn này để điều chỉnh kích thước của
cửa sổ gửi như sau: Nếu xảy ra tắc nghẽn thì giảm đi theo phép nhân (nhân với


18

0,875), trong trường hợp ngược lại thì kích thước cửa sổ được tăng lên theo phép
cộng.
DECbit là phương pháp khá đơn giản và hữu hiệu. Tuy nhiên, căn cứ vào các
tiêu chí nêu trên thì thuật toán này không đạt được tính hiệu quả vì lưu lượng bị gạt
bỏ đáng kể (qua hệ số 0,875) dẫn đến thông lượng rất thấp. Ngoài ra, các tiêu chí về
tính bình đẳng, độ hội tụ, độ mịn điều khiển cũng không đạt được. Thuật toán
không phù hợp cho các ứng dụng mới trong NGN.

2.1.2 Điều khiển tắc nghẽn trong TCP
TCP (Transmission Control Protocol) [11] là giao thức phổ biến nhất hiện
nay cho truyền dữ liệu tin cậy trên Internet. Ngoài điều khiển chống tắc nghẽn ra,
nó còn thực hiện chức năng khôi phục dữ liệu đã mất và quản lý kết nối. Điều khiển
chống tắc nghẽn trong TCP thuộc loại điều khiển vòng kín phản hồi ẩn, TCP dựa
vào mất gói để phát hiện tắc nghẽn. Nó có 2 cơ cấu để phát hiện ra mất gói. Đầu
tiên, khi gói được gửi, phía gửi TCP khởi tạo bộ định thời. Nếu bộ định thời hết
hiệu lực trước khi gói được xác nhận, TCP xem như gói bị mất. Thứ 2, khi phía
nhận TCP nhận gói không đúng trật tự. Nó gửi xác nhận ACK cho gói mà nó nhận

gần nhất. Ví dụ, giả sử phía nhận nhận gói từ 1 đến 5, và gói 6 bị mất. Khi phía
nhận nhận gói 7, nó gửi dupack cho gói 5. Phía gửi TCP xét các sự tới của 3 bản sao
phúc đáp (3 dupack) như dấu hiệu của 1 gói mất.
Kết nối TCP qua 2 pha: khởi đầu chậm và pha AIMD. Hình 2.1 cho ta thấy
quỹ đạo điển hình của cửa sổ chống tắc nghẽn.


Khởi đầu chậm: TCP đi vào mô hình khởi đầu chậm khi bắt đầu kết nối.
Trong suốt quá trình khởi đầu chậm, phía gửi tăng tốc độ gửi theo hàm mũ. Cụ thể,
khi bắt đầu khởi đầu chậm cửa sổ tắc nghẽn thiết lập là 1 đoạn, là MSS khởi tạo bởi
phía gửi trong suốt giai đoạn thiết lập kết nối. Do đó, phía gửi gửi 1 đoạn và đợi cho
tới khi phía nhận xác nhận nó. Một khi ACK đến phía gửi, phía gửi tăng cửa sổ
chống tắc nghẽn của nó bởi 1, gửi 2 đoạn, và đợi ACK tương ứng. Mỗi khi ack đến,
phía gửi có thể gửi 2 đoạn, 4 đoạn, ... gấp đôi lên dẫn đến tăng theo hàm mũ của cửa


19

sổ chống tắc nghẽn. TCP thoát khỏi khởi đầu chậm khi đoạn bị mất. Khi đó phía
gửi giảm cửa sổ tắc nghẽn đi 1 nửa và đi vào giai đoạn AIMD.

Hình 2.1 Cửa sổ tắc nghẽn


AIMD: Trong mô hình này, miễn là không có đoạn nào bị mất, phía gửi TCP
tăng cửa sổ tắc nghẽn của nó bởi 1 MSS mỗi RTT. Khi gói bị mất, TCP giảm cửa sổ
tắc nghẽn đi một nửa. Như kết quả, thông lượng biểu thị 1 dãy tăng cộng theo sau
bởi giảm nhân. Trạng thái này thường được xem như “TCP sawtooth” hình 2.1.
Điều khiển chống tắc nghẽn trong TCP có những nhược điểm cơ bản là:




Thông tin phản hồi là ẩn và vì vậy cửa sổ gửi luôn giảm đi một nửa
khi xảy ra tắc nghẽn là không thực sự hiệu quả.



TCP không chia sẻ thông tin điều khiển, vì vậy các kết nối cùng một
thời điểm đến cùng một đích (một trường hợp thường xảy ra với lưu lượng web) sẽ
phải cạnh tranh, thay vì phối hợp để sử dụng băng thông mạng một cách hợp lý.



Đối với mạng đa dịch vụ, thuật toán điều khiển chống tắc nghẽn của
TCP không đem lại tính bình đẳng cần thiết cho các ứng dụng.


20



Đối với mạng có lưu lượng biến đổi động, biến đổi nhanh, điều khiển
tắc nghẽn của TCP tỏ ra bất ổn định và không hội tụ.

2.2 Một số phương pháp điều khiển tắc nghẽn mới
2.2.1 EWA (Explicit Windows Adaptation) và FEWA (Fuzzy EWA)
Phương pháp EWA (Explicit Window Adaptation) [2] dùng thông báo một
cách rõ ràng đến phía gửi về băng thông còn khả dụng của các đường ra bằng cách
sử dụng cơ chế điều khiển lưu lượng giống như trong TCP để truyền thông tin phản
hồi từ các bộ định tuyến đến phía gửi.

Sau mỗi khoảng đo i với thời gian tồn tại không đổi phụ thuộc vào băng
thông của tuyến mà router có khả năng EWA được nối, chẳng hạn, 10ms, router
với khả năng EWA đo độ dài hàng đợi hiện thời của nó Q i và tính toán độ dài hàng

trung bình hiện thời

Q i Qi , Q i

.

và độ dài hàng trung bình trước đó

Qi −1

được dùng

để tính toán cửa sổ gửi mới cho mỗi kết nối TCP đi qua router:
Cửa sổ gửi

= max{ MSS , α . log 2 ( B − Qi ).MSS }

(2.1)

Trong đó, B là độ dài hàng lớn nhất trong router (tức là, tại cùng 1 thời điểm
nhiều nhất B+1 gói có thể lưu trữ và được chuyển đi trong router), MSS là kích cỡ
đoạn của tất cả các kết nối TCP đi qua router, và

α

là hệ số động được tính toán như


trong phần sau. B và Qi được biểu diễn theo số gói và MSS được biểu diễn theo số
byte. Biểu thức thuật toán trong (2.1) được giới thiệu để phản ánh kết nối TCP với
khởi đầu chậm và có thể gửi nhiều hơn 2 lần số đoạn trong khoảng thời gian vòng
truyền kế tiếp (RTT- Round Trip Time).


21

α

Hệ số

có thể thay đổi trong đẳng thức (2.1) được giới thiệu để sử dụng tốt

đường truyền nếu chỉ 1 vài kết nối TCP được truyền đoạn qua router.
nhật mỗi milli giây như sau:
α + ω up

α = f α , Qi = α .ω down

(

)

α

được cập

<


Qi

>

Qi

(2.2)

với
Qi =

127
1
Q i −1 +
Qi
128
128

Giá trị khởi tạo của hệ số sử dụng
cộng) và

ω down

α

(2.3)
ωup

được thiết lập là 1, tham số


(để giảm bằng cách nhân với

α

( để tăng

) được thiết lập lần lượt là 1/8 và

31/32, độ dài hàng đợi ngưỡng dưới và ngưỡng trên trung bình được thiết lập đến
20% và 60% của độ dài hàng B.
Cửa sổ gửi đã tính toán được truyền đến mỗi TCP phía gửi bằng cách hiệu
chỉnh cửa sổ thông báo phía nhận trong xác nhận TCP. Router (có khả năng TCP)
chỉ giảm cửa sổ khi cần thiết, nhưng không tăng để duy trì điều khiển luồng điểm
nối điểm của TCP.
Cửa sổ gửi = min{cửa sổ gửi, cửa sổ thông báo phía nhận}

(2.4)

Với thông tin phản hồi tắc nghẽn rõ, TCP phía gửi có thể phản ứng lại thích
hợp với tải hiện thời trong router hơn nó có thể với cơ cấu khác, chẳng hạn, ECN
(Explicit Congestion Notigication) hay RED (Random Early Detection).
EWA cho thấy các kết quả hoạt động tốt trong các bộ định tuyến có tải lớn,
nhưng có một số vấn đề trong các bộ định tuyến hoạt động ở dưới mức tải trong hầu
hết thời gian. Lý do nằm ở việc tính toán α, nó đặt quá nhiều vào trọng tải trước đó


22

của bộ định tuyến, vì vậy không thể phản ứng lại đủ nhanh đối với những thay đổi

lớn của các điều kiện tải.
Chính vì hạn chế đó EWA mờ (FEWA – Fuzzy EWA) đã phát triển, khác
với EWA cũ chủ yếu ở việc tính toán α. FEWA sử dụng một bộ điều khiển mờ để
tính α dựa theo giá trị hiện tại và một giá trị gần nhất của bộ đệm bộ định tuyến. Với
các thay đổi này trong việc tính toán phản hồi bên trong bộ định tuyến, hiệu suất từ
đầu cuối đến đầu cuối có thể đạt được lớn hơn so với EWA.

2.2.2 ETCP (Enhanced TCP)
Ý tưởng của ETCP [5] là sử dụng phản hồi FEWA (dựa trên sự điều khiển
thích ứng lưu lượng-AWND) để tính cửa sổ gửi mới (SWND). ETCP phía gửi
không thực hiện chu trình bắt đầu chậm (slow start) và tránh tắc nghẽn (congestion
avoidance), mà bắt đầu với 1 cửa sổ gửi khởi tạo và cập nhật cửa sổ gửi theo các
cách sau:
- Nếu cửa sổ gửi hiện tại lớn hơn cửa sổ điều khiển lưu lượng thì cửa sổ gửi
mới được thiết lập bằng cửa sổ điều khiển lưu lượng:

SWND ← AWND

- Nếu cửa sổ gửi hiện tại nhỏ hơn cửa sổ điều khiển lưu lượng thì cửa sổ gửi
được tính như sau:

SWND ← SWND.( AWND / SWND )

1 / SWND

Với tính toán này cửa sổ của phía gửi ETCP được tăng theo hàm mũ để tiệm
cận với cửa sổ điều khiển lưu lượng. Với các thay đổi nhỏ này có thể thu được sự
cải thiện đáng kể về khả năng thực hiện.

2.2.3 XCP (Explicit Control Protocol)

XCP là giao thức truyền thông liên quan đến TCP. Không như TCP, XCP
cung cấp phản hồi chống tắc nghẽn rõ từ router có khả năng XCP đến XCP phía
gửi. Do đó, XCP phía gửi có thể điều khiển cửa sổ gửi thích hợp hơn để đạt được


23

tính hiệu quả, bình đẳng, điều khiển tắc nghẽn có thể mở rộng qui mô và ổn định
trong toàn mạng [7].

2.2.3.1 Mào đầu chống tắc nghẽn.
Mỗi gói dữ liệu của 1 kết nối XCP mang theo phần mào đầu chống tắc nghẽn
(CH) hình 2.2. Hai giá trị đầu tiên, H_cwnd và H_rtt, được thiết lập bởi XCP phía
gửi là cửa sổ chống tắc nghẽn hiện thời và RTT ước lượng hiện thời và giữ nó
không đổi trong suốt quá trình truyền thông. Giá trị thứ ba, H_feedback, được dùng
cho phản hồi chống tắc nghẽn của router. Nó được khởi tạo bởi XCP phía gửi đến
giá trị tăng theo yêu cầu cửa sổ chống tắc nghẽn và có thể được điều chỉnh bởi
router dựa vào 2 giá trị đầu và thuật toán điều khiển tính hiệu quả và bình đẳng thực
hiện trong router.

H_cwnd
H_rtt
H_feedback
Hình 2.2 Header chống tắc nghẽn trong gói dữ liệu/xác nhận XCP

Nếu XCP phía gửi có tốc độ gửi yêu cầu

γ

, giá trị khởi tạo cho H_feedback


trong mào đầu có thể tính toán như sau:
H _ feedback = ( γ .rtt − cwnd ) /
số gói trong cửa sổ tắc nghẽn

(2.5)

Trong gói đầu tiên của kết nối XCP, H_feedback được khởi tạo bằng 0, khi
XCP phía gửi có RTT ước lượng hiện thời không hợp lệ trong đường dẫn.
XCP phía nhận sao chép mào đầu chống tắc nghẽn của gói dữ liệu đến sang
xác nhận ACK và gửi xác nhận bao gồm mào đầu chống tắc nghẽn đến XCP phía
gửi. Sau khi xác nhận ACK đến nơi, XCP phía gửi sửa lại cửa sổ chống tắc nghẽn
mới theo phản hồi router chứa trong mào đầu chống tắc nghẽn:


24

cwnd = max{cwnd + H _ feedback , s}

(2.6)

với s là kích cỡ gói.

2.2.3.2 Bộ điều khiển chống tắc nghẽn.
Như đã đề cập, bộ điều khiển chống tắc nghẽn trong router có khả năng XCP
được chia thành điều khiển hiệu quả (EC) và điều khiển bình đẳng (FC) [8]. Nhiệm
vụ của bộ điều khiển hiệu quả là tận dụng kết nối lớn nhất, tốc độ mất gói nhỏ nhất
và hàng của đường dẫn ổn định. Chỉ đề cập đến EC khi lưu lượng đường truyền ổn
định và không quan tâm sự bình đẳng giữa các luồng có lưu lượng ổn định. Đây là
nhiệm vụ của bộ điều khiển bình đẳng. Dùng thông tin phản hồi chống tắc nghẽn

trên mỗi kết nối hiện thời được tính toán bởi EC, FC tính thông tin phản hồi chống
tắc nghẽn trên mỗi gói hiện thời cho mỗi luồng. Thông tin chống tắc nghẽn được
chứa trong trường H_feedback của mào đầu chống tắc nghẽn trong tất cả các gói và
truyền lại cho mỗi XCP phía gửi.
Với mỗi kết nối, router duy trì bộ định thời điều khiển được thiết lập xấp xỉ
đến giá trị RTT ước lượng trung bình của XCP phía gửi trên kết nối đó. Sau khi hết
thời gian chờ (time-out) của bộ định thời điều khiển mỗi luồng, EC và FC được
dùng để tính giá trị hiện thời của phản hồi điều khiển chống tắc nghẽn cho luồng
XCP đi qua đường dẫn này. Các thuật toán điều khiển chống tắc nghẽn và điều
khiển bình đẳng của bộ định tuyến XCP có đặc điểm là không đòi hỏi thông tin
trạng thái của mỗi luồng. Thay vào đó, bộ định tuyến khai thác thông tin lưu lượng
tổng bằng cách tích luỹ thông tin từ tất cả các gói truyền qua bộ định tuyến trong
một khoảng thời gian nhất định.
Trong phần sau, biểu thức toán học của phép tính EC và FC được trình bày.
 Bộ điều khiển hiệu quả (EC) [7]

Mục đích của bộ điều khiển hiệu quả là tăng tính sử dụng đường truyền trong
khi tối thiểu hóa tốc độ mất gói và hàng đợi ổn định. Nó chỉ xét lưu lượng tổng và
không chú ý đến tính hiệu quả cũng như luồng mà gói có liên quan.


25

EC tính số byte mà lưu lượng tổng tăng hay giảm theo mong muốn trong
khoảng thời gian điều khiển (RTT trung bình). Phản hồi tổng

φ

(tính theo byte)


được tính trong mỗi khoảng điều khiển:
φ = α .d .S − β .Q

(2.7)

Với d là RTT ước lượng trung bình cho kết nối, S là băng thông dự trữ (spare
bandwidth) của đường truyền được định nghĩa là hiệu số giữa tốc độ lưu lượng vào
và dung lượng đường truyền. Và Q là kích cỡ hàng ổn định của đường truyền (tính
theo bytes) với kích cỡ hàng không tiêu hao trong thời gian trễ truyền (đi và về). Q
được ước tính như là giá trị nhỏ nhất trong tất cả kích cỡ hàng bởi vài gói. α và β là
tham số hằng có giá trị lần lượt là
tắc nghẽn tổng

φ

α = 0 .4



β = 0.226

trong [6]. Phản hồi chống

phải tỉ lệ với S, bởi nếu đường truyền sử dụng khôg đúng mức

(S>0) hay tắc nghẽn (S<0), thông tin phản hồi dương hay âm phải được gửi đến
XCP phía gửi. Nhưng

φ


phải tỉ lệ với –Q để tiêu hao hàng. Chẳng hạn, nếu tốc độ

lưu lượng đầu vào bằng dung lượng đường truyền, tức là, S=0, phản hồi chống tắc
nghẽn tổng

φ

phải là giá trị âm để giảm số gói tại hàng. Đẳng thức (2.7) đảm bảo

rằng phản hồi chống tắc nghẽn tổng

φ

của đường truyền tỉ lệ với S và –Q.

Để đạt được tính hiệu quả, chúng ta phân bố phản hồi tổng đến từng gói qua
H_feedback. EC chỉ phân phối với trạng thái tổng, nó không quan tâm đến gói nào
có phản hồi và mỗi luồng riêng thay đổi cửa sổ chống tắc nghẽn bao nhiêu. Tất cả
các yêu cầu của EC là lưu lượng tổng phải thay đổi 1 lượng

φ

trong khoảng thời

gian điều khiển. Làm thế nào chúng ta chia phản hồi chính xác giữa các gói (và giữa


×