TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO TÓM TẮT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƢỜNG
NGHIÊN CỨU ĐIỀU KHIỂN TẮC NGHẼN ĐA ĐƢỜNG
CHO CÁC ỨNG DỤNG ĐA PHƢƠNG TIỆN TRÊN INTERNET
Mã số:
Chủ nhiệm đề tài: TS. Lê Tuấn Anh
Bình Dƣơng, 2015
1
TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO TÓM TẮT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƢỜNG
NGHIÊN CỨU ĐIỀU KHIỂN TẮC NGHẼN ĐA ĐƢỜNG
CHO CÁC ỨNG DỤNG ĐA PHƢƠNG TIỆN TRÊN INTERNET
Mã số:
Xác nhận của đơn vị chủ trì đề tài
(chữ ký, họ và tên)
Chủ nhiệm đề tài
(chữ ký, họ và tên)
Bình Dƣơng, 2015
2
DANH SÁCH THÀNH VIÊN VÀ ĐƠN VỊ PHỐI HỢP
Họ và tên
Lê Phong Dũ
Đơn vị công tác và
lĩnh vực chuyên môn
ĐH Trà Vinh, Giảng viên
Nội dung nghiên cứu
cụ thể đƣợc giao
Lý thuyết và mô phỏng
i
MỤC LỤC
DANH SÁCH THÀNH VIÊN VÀ ĐƠN VỊ PHỐI HỢP ........................................... i
MỤC LỤC .................................................................................................................. ii
THÔNG TIN KẾT QUẢ NGHIÊN CỨU ................................................................. iv
LỜI MỞ ĐẦU .............................................................................................................1
CHƢƠNG 1 - CƠ SỞ LÝ THUYẾT ..........................................................................2
1.1.
Giao thức TCP ...............................................................................................2
1.1.1.
Điều khiển tắc nghẽn của TCP ...............................................................2
1.1.2.
Tín hiệu hồi đáp TCP ..............................................................................2
1.1.3.
Cửa sổ tắc nghẽn ....................................................................................2
1.1.4.
Tín hiệu tránh tắc nghẽn .........................................................................2
1.1.5.
Thuật toán truyền lại nhanh ...................................................................2
1.2.
Giao thức UDP ..............................................................................................2
1.3.
Giao thức điều khiển tắc nghẽn TFRC ..........................................................2
1.3.1.
Giao thức TFRC......................................................................................2
1.3.2.
Kỹ thuật điều khiển tắc nghẽn của TFRC ...............................................2
1.3.3.
Gói tin báo cáo .......................................................................................2
1.3.4.
Công Thức TFRC ....................................................................................2
1.3.5.
Chức năng bên gửi dữ liệu......................................................................3
1.3.6.
Chức năng bên nhận dữ liệu ...................................................................3
1.4.
Giao thức Multipath TCP ..............................................................................3
1.4.1.
Một số khái niệm trong Multipath TCP ..................................................3
1.4.2.
Hoạt động Multipath TCP ......................................................................3
1.4.3.
Thiết lập kết nối trong Multipath TCP ...................................................3
1.4.4.
Điều khiển lưu lượng ..............................................................................3
1.4.5.
Điều khiển luồng .....................................................................................4
1.4.6.
Quản lý tín hiệu hồi đáp .........................................................................4
1.4.7.
Phục hồi gói tin bị mất ............................................................................4
1.4.8.
Điều khiển tắc nghẽn trong Multipath TCP (MPTCP) ...........................4
1.4.9.
Đóng kết nối ............................................................................................4
1.5.
Các nghiên cứu gần đây.................................................................................4
1.5.1.
Giao thức MulTFRC ...............................................................................4
ii
1.5.2.
Các nghiên cứu cho ứng dụng multimedia khác ....................................4
CHƢƠNG 2 - THIẾT KẾ THUẬT TOÁN MULTIPATH TFRC .............................5
2.1.
Tính tốc độ truyền trên mỗi đƣờng ................................................................5
2.1.1.
Phát hiện mất gói tin theo cơ chế dupACK ............................................5
2.1.2.
Phát hiện mất gói tin bằng dupACK và Time-out...................................6
2.2.
Thuật toán MPTFRC .....................................................................................8
CHƢƠNG 3 - ĐÁNH GIÁ HIỆU NĂNG ................................................................12
3.1.
Mô phỏng .....................................................................................................12
3.2.
Đánh giá giao thức theo các tiêu chí............................................................12
3.2.1.
Tăng thông lượng ..................................................................................12
3.2.2.
Chia sẻ công bằng.................................................................................13
3.2.3.
Cân bằng tắc nghẽn ..............................................................................14
3.2.4.
Tốc độ dữ liệu truyền mượt ...................................................................15
KẾT LUẬN VÀ KIẾN NGHỊ...................................................................................18
TÀI LIỆU THAM KHẢO .........................................................................................19
iii
TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
Đơn vị: KHOA CÔNG NGHỆ THÔNG THIN
THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1. Thông tin chung:
Tên đề tài: NGHIÊN CỨU ĐIỀU KHIỂN TẮC NGHẼN ĐA ĐƢỜNG
CHO CÁC ỨNG DỤNG ĐA PHƢƠNG TIỆN TRÊN INTERNET
-
Mã số:
-
Chủ nhiệm: TS. Lê Tuấn Anh
-
Đơn vị chủ trì: Khoa Công nghệ Thông tin
- Thời gian thực hiện: tháng
2. Mục tiêu:
đến tháng
Trong đề tài này, chúng tôi sẽ mở rộng thuật toán TFRC đơn đƣờng, đƣợc đặt tên là
MPTFRC, để hỗ trợ truyền dữ liệu đồng thời trên đa đƣờng trên Internet.
3. Tính mới và sáng tạo:
Thuật toán mở rộng của TFRC đơn đƣờng, đƣợc đặt tên là MPTFRC, đƣợc thiết kế
xuất phát từ mô hình phân tích của TCP Reno gốc tại mức luồng và kỹ thuật tránh
đánh võng giữa các đƣờng ở mức gói.
4. Kết quả nghiên cứu:
Các kết quả mô phỏng đã chứng tỏ rằng thuật toán đề xuất MPTFRC không những
đảm bảo ba tiêu chí thiết kế thuật toán đa đƣờng mà còn cung cấp tốc độ dữ liệu
mƣợt hơn MPTCP trong khi vẫn duy trì đƣợc sự chia sẻ công bằng với các luồng
TCP Reno và MPTCP hiện có. Bằng cách mô phỏng bởi nhiều mô hình mạng với
các thông số mạng khác nhau, chúng tôi đã đánh giá giao thức đề xuất theo 4 tiêu
chí nêu trên. Đồng thời chúng tôi so sánh sự chia sẻ công bằng và cùng tồn tại với
các giao thức khác hiện có nhƣ TCP Reno, TFRC, MPTCP.
5. Sản phẩm:
- Báo cáo phân tích.
iv
- 01 bài báo khoa họ đăng trên Tạp chí Khoa học Trƣờng Đại học Cần Thơ, Số
chuyên đề: Công nghệ Thông tin (2013): 180-189.
- Hƣớng dẫn 01 Học viên cao học.
6. Hiệu quả, phƣơng thức chuyển giao kết quả nghiên cứu và khả năng áp
dụng:
- Thuật toán MPTFRC mang lại hiệu quả cao so với TFRC đơn đƣờng.
Đơn vị chủ trì
(chữ ký, họ và tên)
Ngày
tháng
năm
Chủ nhiệm đề tài
(chữ ký, họ và tên)
v
INFORMATION ON RESEARCH RESULTS
1. General information:
Project title: Congestion control in multipath protocol for multimedia
applications
Code number:
Coordinator: Le Tuan Anh, PhD
Implementing institution:
Duration: from
to
2. Objective(s):
We propose an extension algorithm of single path TFRC, named MPTFRC,
designed from both the analytical model of TCP Reno at flow level and the
technique of flappiness prevention between paths at packet level.
3. Creativeness and innovativeness:
Current coupled multipath congestion control (MPTCP) was designed for backcompatibility with single-path TCP Reno and for general applications
4. Research results:
The simulation results demonstrate that the proposed MPTFRC algorithm not only
satisfies the three design goals of multipath congestion control algorithm but also
provides data rate smoother than that of MPTCP while preservingfair sharing to the
existing TCP Reno and MPTCP flows.
5. Products:
-
Document
-
The 01 article was published at Can Tho University Journal, Information of
Technology 2013, 180-189.
-
01 master student was supperviced.
6. Effects, transfer alternatives of reserach results and applicability:
vi
LỜI MỞ ĐẦU
Kiến trúc Multipath TCP [4] hay TCP đa đƣờng là giao thức mở rộng thêm
các đặc điểm từ giao thức TCP, cho phép một kết nối TCP phân chia thành nhiều
đƣờng con và dữ liệu đƣợc truyền trên các đƣờng này đồng thời. Thuật toán điều
khiển tắc nghẽn của Multipath TCP (MPTCP) phải thỏa mãn ba tiêu chí là (i) nâng
cao thông lượng truyền, (ii) đảm bảo tính công bằng đối với các luồng TCP hiện có
và (iii) có khả năng cân bằng tắc nghẽn: chuyển dữ liệu từ đƣờng có tắc nghẽn
nhiều sang đƣờng có tắc nghẽn ít hơn. Tuy nhiên, tốc độ truyền dữ liệu của
Multipath TCP biến thiên lớn, không phù hợp cho các ứng dụng multimedia mà
chúng yêu cầu tốc độ dữ liệu truyền mƣợt. Để khắc phục khuyết điểm này,
MulTFRC đã đƣợc đề xuất. Nó là phiên bản mở rộng của TCP Friendly Rate
Control (TFRC) vốn là giao thức đơn đƣờng và đƣợc thiết kế cho các ứng dụng
multimedia. Do MulTFRC đƣợc thiết kế với giả định rằng các đƣờng có cùng round
trip time (RTT) mà thực tế rất hiếm xảy ra điều này, cho nên MulTFRC không đảm
bảo thỏa mãn các tiêu chí, do nó không có khả năng bù khác biệt RTT.
Trong nghiên cứu này này, sẽ đề xuất một thuật toán mở rộng của TFRC đơn
đƣờng, đƣợc đặt tên là MPTFRC, xuất phát từ mô hình phân tích của TFRC và một
sự cải tiến để tránh đánh võng giữa các đƣờng ở mức gói. Các kết quả mô phỏng đã
chứng tỏ rằng, thuật toán đề xuất MPTFRC không những đảm bảo ba tiêu chí ở trên
mà còn cung cấp tốc độ dữ liệu mƣợt hơn MPTCP trong khi vẫn duy trì đƣợc sự
chia sẻ công bằng với TCP và MPTCP hiện có.
1
CHƢƠNG 1 - CƠ SỞ LÝ THUYẾT
Giao thức TCP
1.1.1. Điều khiển tắc nghẽn của TCP
Điều khiển tắc nghẽn của TCP dựa vào kích thƣớc cửa sổ. Bên gửi dữ liệu sử
dụng kích thƣớc cửa sổ gửi ( ) để giới hạn số lƣợng gói tin thêm vào mạng trƣớc
khi nhận đƣợc ACK. Bên nhận dữ liệu cung cấp thông tin về kích thƣớc cửa sổ của
nó (
) về bên gửi dữ liệu để giới hạn số lƣợng dữ liệu sẽ gửi tiếp theo. Số
lƣợng gói tin gửi đƣợc tính bằng
). Cụ thể là mỗi khi nhận đƣợc
ACK, tăng kích thƣớc cửa sổ
bởi
(
), mỗi khi phát hiện mất gói tin
kích thƣớc cửa sổ giảm
(
).
Mỗi khi bên gửi dữ liệu nhận ACK xác nhận gói tin đã đƣợc gởi đến bên
nhận dữ liệu thì bên gửi dữ liệu sẽ tăng kích thƣớc cửa sổ của nó nhƣ sau
,
khi bên gửi dữ liệu nhận dupACK (3 ACK) thì bên gửi dữ liệu sẽ giảm kích thƣớc
cửa sổ của nó nhƣ sau
.
1.1.2. Tín hiệu hồi đáp TCP
1.1.3. Cửa sổ tắc nghẽn
1.1.4. Tín hiệu tránh tắc nghẽn
1.1.5. Thuật toán truyền lại nhanh
1.2. Giao thức UDP
1.3. Giao thức điều khiển tắc nghẽn TFRC
1.3.1. Giao thức TFRC
Tốc độ truyền dữ liệu của TCP thay đổi lớn nên không phù hợp cho các ứng
dụng multimedia. Một biến thể của nó đƣợc thiết kế và cạnh tranh công bằng với
các luồng TCP là TFRC [17].
Mục tiêu thiết kế TFRC cũng khác so với TCP đó là: (i) không tích cực
chiếm băng thông mạng, tăng tốc độ gửi dữ liệu chậm để ít thay đổi tốc độ trong khi
mất gói tin; (ii) không giảm tốc độ gửi một nửa khi phát hiện mất gói tin như trong
TCP.
1.3.2. Kỹ thuật điều khiển tắc nghẽn của TFRC
Bên nhận dữ liệu xác định tỉ lệ mất gói tin và gửi thông tin về bên gửi dữ liệu
thông qua gói tin báo cáo.
Bên gửi dữ liệu sử dụng thông tin phản hồi từ bên nhận dữ liệu để đo
.
Tỉ lệ mất gói tin và
sẽ đƣợc đƣa vào phƣơng trình TFRC để tính.
Bên gửi dữ liệu sau đó sẽ điều chỉnh tốc độ truyền của nó cho phù hợp.
1.3.3. Gói tin báo cáo
1.3.4. Công Thức TFRC
Thông lƣợng
đƣợc đề xuất cho TFRC [17] trong điều kiện mạng ổn
định là
1.1.
2
trong đó, công thức tính thông lƣợng
đƣợc tính bằng gói tin/giây,
là
round-trip-time, tỉ lệ mất gói tin là , là số gói tin đƣợc xác nhận bởi một ACK
(
), thời gian truyền lại hết thời gian chờ (
). Giá trị
1.3.5. Chức năng bên gửi dữ liệu
1.3.6. Chức năng bên nhận dữ liệu
1.4. Giao thức Multipath TCP
Giao thức Multipath TCP hay giao thức TCP đa đƣờng [3],[4],[9] là giao
thức mở rộng thêm các đặc điểm từ giao thức TCP, cho phép một kết nối phân chia
thành nhiều đƣờng con và dữ liệu đƣợc truyền trên các đƣờng con này đồng thời.
Multipath TCP hoạt động giống nhƣ TCP và mở rộng các API cung cấp thêm chức
năng điều khiển cho các ứng dụng Multipath TCP.
1.4.1. Một số khái niệm trong Multipath TCP
1.4.2. Hoạt động Multipath TCP
Để Multipath TCP hoạt động hiệu quả trong quá trình tạo kết nối, quản lý kết
nối, truyền dữ liệu cũng nhƣ đóng kết nối trên tất cả các Subflow. Ngoài việc sử
dụng các tùy chọn có sẵn trên TCP, Multipath TCP sử dụng một số tùy chọn nhƣ
sau:
Giá trị
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
Bảng 1.1 Các tùy chọn trong Multipath TCP.
Ký hiệu
Mô tả
MP_CAPABLE
Thiết lập kết nối MPTCP
MP_JOIN
Thêm một Subflow
DATA_SEQUENCE_SIGNAL
Đóng kết nối thông thƣờng
ADD_ADDR
Thêm địa chỉ
REMOVE_ADDR
Loại bỏ địa chỉ
MP_PRIO
Thay đổi mức độ ƣu tiên
MP_FAIL
Dự phòng
MP_FASTCLOSE
Đóng kết nối nhanh
1.4.3. Thiết lập kết nối trong Multipath TCP
Multipath TCP khởi tạo kết nối bắt đầu với các thông tin SYN, SYN/ACK,
ACK đƣợc trao đổi trên một đƣờng đơn tƣơng tự nhƣ TCP. Tuy nhiên, trong
Multipath TCP sử dụng tùy chọn MP_CAPABLE đƣợc khai báo ở phía bên gửi dữ
liệu để thực thi Multipath TCP và mong đợi đƣợc sử dụng giao thức này trong kết
nối.
1.4.4. Điều khiển lưu lượng
Multipath TCP đã điều chỉnh một số kỹ thuật trong TCP cho phù hợp với
hoạt động của nó. Việc điều khiển thông lƣợng đƣợc thực hiện tại các Subflow và
3
mỗi đƣờng có cửa sổ điều khiển riêng biệt nhằm làm nâng cao khả năng thực thi
[1],[6]. Tuy nhiên bên nhận dữ liệu chỉ có một cửa sổ đƣợc chia sẻ với tất cả các
Subflow đã đƣợc thiết lập, với mục tiêu không làm giới hạn tốc độ của các Subflow
trong kết nối.
1.4.5. Điều khiển luồng
Điều khiển luồng trong Multipath TCP là điều chỉnh cơ bản luồng TCP [1].
Bên nhận dữ liệu quản lý một cửa sổ độc lập chia sẻ cho tất cả các Subflow để
không giới hạn tốc độ.
1.4.6. Quản lý tín hiệu hồi đáp
1.4.7. Phục hồi gói tin bị mất
1.4.8. Điều khiển tắc nghẽn trong Multipath TCP (MPTCP)
Ba tiêu chí khi thiết kế thuật toán điều khiển tắc nghẽn của Multipath TCP
[3],[6] là:
Tiêu chí 1: tăng thông lượng nghĩa là tổng thông lƣợng của tất cả các Subflow
của một kết nối trong giao thức đa đƣờng ít nhất bằng với đƣờng tốt nhất trên giao thức
đơn đƣờng.
Tiêu chí 2: chia sẻ công bằng với các luồng đơn đường nghĩa là một kết nối
trong giao thức đa đƣờng chia sẻ công bằng với kết nối trong giao thức đơn đƣờng khi
nhiều Subflow của giao thức đa đƣờng cạnh tranh công bằng với luồng đơn đƣờng
cùng một nút mạng.
Tiêu chí 3: cân bằng tắc nghẽn nghĩa là một kết nối trong giao thức đa đƣờng
thì dịch chuyển dữ liệu từ đƣờng có tắc nghẽn nhiều sang đƣờng có tắc nghẽn ít hơn
trong khi vẫn đảm bảo hai tiêu chí 1 và 2.
1.4.9. Đóng kết nối
1.5. Các nghiên cứu gần đây
1.5.1. Giao thức MulTFRC
Gần đây, một nghiên cứu về giao thức đa đƣờng ứng dụng cho multimedia là
MulTFRC [5]. MulTFRC là giao thức dựa vào TCP Friendly Rate Control (TFRC)
[17], điều khiển tốc độ sử dụng công thức để tính tốc độ truyền của các luồng tùy
thuộc vào điều kiện mạng (xác suất mất gói tin và RTT). Nó phân chia dữ liệu của
một kết nối thành các luồng ảo song song và duy trì tốc độ truyền mƣợt.
Tuy nhiên, luồng MulTFRC có luồng con ảo sẽ có thông lƣợng gấp lần so
với TFRC đơn luồng. Rõ ràng, đều này không đảm bảo thỏa mãn tiêu chí thứ hai về
chia sẻ công bằng với các đơn luồng hiện đang tồn tại.
1.5.2. Các nghiên cứu cho ứng dụng multimedia khác
4
CHƢƠNG 2 - THIẾT KẾ THUẬT TOÁN MULTIPATH TFRC
Tính tốc độ truyền trên mỗi đƣờng
Để cải tiến công thức truyền tốc độ từ thuật toán TFRC gốc [17], việc chứng
minh công thức dựa vào giao thức TCP đa đƣờng.
Xuất phát từ công thức điều khiển tốc độ trong TFRC gốc đƣợc đề xuất trong
[17]
2.1.
chúng tôi giả sử rằng là tập hợp tất cả các đƣờng,
là một đƣờng cụ thể.
Trọng số đề xuất điều chỉnh phối hợp tốc độ truyền dữ liệu đƣa vào giao thức
MPTFRC ở trạng thái ổn định là
trong đó là tốc độ truyền dữ liệu ở trạng thái ổn định, gọi
là số gói tin đƣợc
xác nhận bởi một ACK trên đƣờng .
Trên mỗi đƣờng , giả sử
là kích thƣớc cửa sổ tránh tắc nghẽn và tăng
kích thƣớc cửa sổ
mỗi khi nhận đƣợc một ACK. Cơ chế điều khiển tránh tắc
nghẽn của các đƣờng đƣợc thực hiện theo các vòng truyền tin, một vòng bắt đầu
bằng việc gửi
gói tin trong cửa sổ tắc nghẽn và trong quá trình các gói tin đƣợc
gửi đi sẽ không có bất kỳ gói tin nào đƣợc gửi, trƣớc khi ACK đầu tiên đƣợc gửi về.
Khi ACK đầu tiên đƣợc nhận, đánh dấu vòng đầu tiên kết thúc và chuyển sang vòng
thứ 2. Kích thƣớc cửa sổ ở vòng thứ 2
, kích thƣớc cửa sổ sẽ tăng
tuyến tính với chu kỳ
trên một vòng hay
trong giai đoạn tránh tắc nghẽn và
không mất gói tin. Khoảng thời gian của một vòng bằng với
và gói tin bị mất
trong một vòng thì độc lập với các vòng khác.
2.1.1. Phát hiện mất gói tin theo cơ chế dupACK
Xét trên mỗi đƣờng , chúng tôi định nghĩa thông lƣợng
đƣợc xác
định số gói tin đƣợc truyền đi trong khoảng thời gian nhất định và TDP r là khoảng
giữa hai lần xảy ra mất gói tin trong cơ chế dupACK.
Trong một TDPr thứ , thì
là số gói tin đƣợc gửi đi,
là khoảng thời
gian và
là kích thƣớc cửa sổ. Mối quan hệ giữa thông lƣợng và xác suất mất gói
tin đƣợc tính nhƣ sau
(1)
Giả sử hệ số
là gói tin bị mất đầu tiên trong TDPr thứ tại vòng
. Tổng
gói tin sẽ đƣợc thêm vào vòng
theo công thức sau
5
Do
trong vòng độc lập với các gói tin trong các vòng khác, vì thế
là một chuỗi các biến ngẫu nhiên độc lập và phân phối giống nhau. Xác suất
tức là
gói tin đã gửi thành công trƣớc khi gói tin bị mất xảy ra.
Tức là
đƣợc xác định là
Từ (2) và (4), ta có
Đặt
là khoảng thời gian của vòng thứ trong TDPr thứ . Khi đó, thời
gian của một TDPr thứ là
.
là biến ngẫu nhiên và độc lập với
kích thƣớc cửa sổ, vì thế nó độc lập với vòng thứ .
(6)
,
trong đó biểu diễn
=
.
Cuối cùng, tính biểu thức cho
, xem xét
nhƣ là tập hợp của số
vòng nhƣ Hình 2.2. kích thƣớc cửa sổ tăng giữa
đến
với chu kỳ
.
Từ (6), (11), và (13), ta có
(15)
(16)
Từ (1) và (5), chúng tôi có:
(20)
2.1.2. Phát hiện mất gói tin bằng dupACK và Time-out
Đặt
là khoảng thời gian trong trƣờng hợp mất gói tin dƣới dạng time-out
và
khoảng thời gian trong trƣờng hợp mất gói tin dƣới dạng dupACK.
là
tổng thời gian đƣợc định nghĩa nhƣ sau
Đặt
là số gói tin đã truyền trong khoảng thời gian , khi đó {
một chuỗi các biến ngẫu nhiên. Thông lƣợng đƣợc tính nhƣ sau:
} là
6
Đặt
là số TDPr trong khoảng thời gian
. Trong TDPr thứ , xác định
các giá trị
là số gói tin đƣợc gửi,
là khoảng thời gian,
là số vòng và
là kích thƣớc cửa sổ. Tƣơng tự,
là số gói tin gửi trong khoảng thời gian
.
.
Xét trong khoảng thời gian
có
TDPr thì có
TDPr kết thúc dƣới
dạng dupACK và TDPr cuối cùng kết thúc dƣới dạng time-out. Vì xác suất
mà
một gói tin ở TDPr cuối dạng time-out, nên
.
(21)
Khi
và
không phụ thuộc vào time-out, có nghĩa là nó sử dụng lại (4)
và (16). Để tính thông lƣợng của (21) cần phải xác định ,
và
.
Đặt
là số gói tin đã gửi thành công trong vòng cuối cùng đƣợc xác nhận
bởi ACK cho các gói tin
. Giả sử
là xác suất mà
gói tin đầu tiên
nhận đƣợc ACK trong một vòng của
gói tin thì:
Giả sử
là xác suất mà
gói tin nhận đƣợc ACK trong vòng cuối
cùng ( là gói tin đƣợc gửi) và phần còn lại của những gói tin trong vòng. Nếu có
bị mất gói tin thì
Đặt
là xác suất mất gói tin trên cửa sổ với kích thƣớc
dƣới dạng
time-out.
Xác suất có gói tin
bị mất trong vòng kế cuối và gói tin bị mất
trong vòng cuối cùng bằng
và (22).
Sau khi tính toán, ta có:
(24)
Có xấp xỉ nhƣ sau:
(25)
Tiếp theo, xem xét khi một gói tin đƣợc truyền giữa hai chuỗi time-out liên
tiếp. Một chuỗi dạng time-out xảy thì có
liên tiếp mất gói tin. Do đó:
đƣợc tính nhƣ sau:
(26)
7
Khoảng thời gian trung bình của chuỗi time-out bao gồm cả việc truyền lại.
Thấy rằng 6 time-out đầu tiên kết thúc trong 1 chuỗi có chiều dài là
với time-out trung bình theo sau có chiều dài
[12]. Khoảng
thời gian của một chuỗi với time-out kết thúc đƣợc tính nhƣ sau:
Tính
Thế các giá trị
,
,
vào phƣơng trình (21).
và
(30)
Thuật toán MPTFRC
Trong quá trình thiết kế MPTFRC, chúng tôi nhận thấy rằng, tốc độ truyền
dữ liệu của MPTFRC nếu chỉ cập nhật tăng, giảm theo công thức (30) thì xảy ra
hiện tƣợng đánh võng. Hiện tƣợng này đƣợc mô tả nhƣ sau:
Giả sử rằng MPTFRC truyền dữ liệu trên hai đƣờng độc lập có cùng băng
thông, độ trễ và cùng mức độ nghẽn mạng thì sự đánh võng đƣợc mô tả là: dữ liệu
gần nhƣ chỉ truyền trên một đƣờng trong khoảng thời gian ngẫu nhiên và sau đó chỉ
truyền trên đƣờng còn lại, và lặp lại nhƣ thế. Hiện tƣợng này cũng xuất hiện trong
thiết kế MPTCP [6]. Để tránh hiện tƣợng này, chúng tôi sử dụng kỹ thuật đƣợc đề
xuất trong [5] là thêm tham số
trên đƣờng . Thuật toán tăng tốc độ truyền trên
đƣờng đƣợc trình bày trong thuật toán .
Thuật toán 1: Thuật toán điều khiển tăng tốc độ trên đƣờng trong giao
thức MPTFRC
2.2.
(
<
)
/
/
+
;
8
Thuật toán điều khiển tăng tốc độ trên đƣờng r đƣợc thực hiện khi tốc độ
hiện hành (
) nhỏ hơn tốc độ cần đạt (
) thì thuật toán đƣợc
mô tả nhƣ sau:
Bên nhận dữ liệu trên đƣờng sẽ thu nhận các số liệu, tính toán tỉ lệ mất gói
tin
trên đƣờng và sao chép nhãn thời gian (timestamp) của bên gửi dữ liệu (để
bên gửi dữ liệu xác định
). Sau đó nó gửi về cho bên gửi dữ liệu thông qua gói
tin báo cáo.
Tại bên gửi dữ liệu, Subflow trên đƣờng dựa vào thông tin báo cáo của đầu
nhận sẽ tính
và ƣớc lƣợng tốc độ
đƣợc tính theo công thức
(30),
là tốc độ hiện hành của đƣờng .
Tham số
đƣợc thêm vào công thức (30) để tránh đánh võng đƣợc thực
hiện nhƣ sau:
Đặt
và
là round-trip-time và kích thƣớc cửa sổ trên đƣờng . Tiếp
theo cần xác định đƣờng có kích thƣớc cửa sổ lớn nhất và đƣờng tốt nhất. Công
thức xác định đƣợc định nghĩa nhƣ sau:
là tập hợp những đƣờng với kích thƣớc cửa sổ lớn nhất,
là tập hợp
những đƣờng mà đƣợc xem xét là đƣờng tốt nhất. Để đảm bảo không đánh võng
trong quá trình truyền dữ liệu, sử dụng tham số tránh đánh võng trên từng đƣờng
nhƣ sau:
Trong đó,
là tập hợp những phần tử có trong nhƣng không có trong
, là phần tử rỗng và
là tổng số đƣờng truyền dữ liệu. Khi đó
.
Nếu đƣờng tốt nhất có kích thƣớc cửa sổ lớn nhất, thì
bất kỳ với
. Tuy nhiên, nếu đƣờng tốt nhất có kích thƣớc cửa sổ nhỏ, tức là nếu
thì là một số dƣơng nếu
, là số âm nếu
.
Sau đây, chúng tôi sẽ mô phỏng sự đánh võng khi không có tham số
và
tránh đánh võng bằng tham số . Mô phỏng đƣợc thực hiện nhƣ Hình 2.5. Ở đó có
5 luồng TCP Reno trên các link 1 và 2 để tạo lƣu lƣợng nền (background traffic).
9
Hình 2.5 Mô hình mạng kiểm tra sự đánh võng .
3.0
Throughput (Mbps)
2.5
Path 1
Path 2
2.0
Path 1
1.5
1.0
0.5
Path 2
0.0
0
3.0
20
40
60
80
100
Time (s)
Throughput (Mbps)
Hình 2.62.5Thông lƣợng truyền dữ liệu không sử dụng tham số
Path1
Path2
2.0
Path 1
1.5
1.0
0.5
Path 2
0.0
0
20
40
60
80
100
Time(s)
Hình 2.7 Thông lƣợng truyền dữ liệu sử dụng tham số
.
Trong Hình 2.6 khi truyền dữ liệu chúng tôi không sử dụng tham số tránh
đánh võng
. Thông lƣợng truyền trên hai đƣờng thay đổi. Đầu tiên thông lƣợng
tăng nhanh trên đƣờng truyền thứ 2 (path 2) sau đó bắt đầu giảm tốc độ, thông
lƣợng truyền thay đổi chỉ truyền trên đƣờng 1 (path 1) và gần nhƣ chỉ truyền trên
một đƣờng trong khoảng thời gian ngẫu nhiên, tốc độ truyền trên hai đƣờng luân
phiên thay đổi, hiện tƣợng đánh võng xảy ra trên hai đƣờng. Khi sử dụng tham số
10
.
tránh đánh võng thì không xuất hiện sự đánh võng nhƣ trong Hình 2.7, ở đó tốc
độ trên hai đƣờng truyền (path 1 và path 2) gần nhƣ bằng nhau trong suốt 100 giây
mô phỏng.
11
CHƢƠNG 3 - ĐÁNH GIÁ HIỆU NĂNG
Mô phỏng
Để đánh giá thuật toán MPTFRC đã đề xuất trong chƣơng 2, chúng tôi tiến
hành mô phỏng bằng bộ công cụ mô phỏng mạng NS2-31 [15], chạy trong môi
trƣờng hệ điều hành Ubuntu 10.4. Với các tham số mô phỏng nhƣ sau: kích thƣớc
gói dữ liệu là 576 byte, sử dụng cơ chế hàng đợi active RED, tốc độ lấy mẫu sau
mỗi 500ms, kích thƣớc bộ đệm bằng băng thông nhân với độ trễ.
3.2. Đánh giá giao thức theo các tiêu chí
3.2.1. Tăng thông lượng
Để đánh giá tiêu chí tăng thông lƣợng của MPTFRC, đầu tiên chúng tôi mô
phỏng hai đƣờng MPTFRC qua hai link nhƣ Hình 3.1(a), sau đó chúng tôi tiếp tục
mô phỏng riêng biệt một luồng TFRC qua 1 link nhƣ Hình 3.1(b).
3.1.
(a)
(b)
Hình 3.1 Mô hình mạng đánh giá tiêu chí tăng thông lƣợng.
2.5
Path 1
Sum
Path 2
Single-path TFRC
Throughput (Mbps)
2.0
Sum MPTFRC
1.5
Single-path TFRC
1.0
0.5
0
20
40
60
80
100
Time (s)
Hình 3.2. Tăng thông lƣợng của MPTFRC.
Kết quả Hình 3.2 cho thấy, thông lƣợng tổng hai đƣờng của MPTFRC là gần
gấp đôi so với TFRC đơn đƣờng, tăng thông lƣợng đạt đƣợc nhƣ trong thuật toán
điều khiển tắc nghẽn giao thức truyền đa đƣờng. Việc tăng thông lƣợng của
MPTFRC so với TFRC đơn đƣờng phụ thuộc vào số lƣợng Subflow trong một kết
nối MPTFRC.
12
- Xem thêm -