Nội dung bài viết trình bày đo lường, phân tích và đánh giá băng thông của giao thức đa đường TCP. Để hiểu rõ hơn, mời các bạn tham khảo chi tiết nội dung bài viết.
Trang 1ĐO LƯỜNG, PHÂN TÍCH VÀ ĐÁNH GIÁ BĂNG THÔNG CỦA GIAO THỨC ĐA
ĐƯỜNG TCP Phạm Nguyễn Huy Phương 1 , Đặng Lê Nam 1 , Từ Minh Mận 2 , Nguyễn Thị Mai Trang 3
1Khoa CNTT – Tr ờng ĐH Công nghiệp Thực phẩm TP.HCM
2Đại học quốc gia TP.Hồ Chí Minh 3Đại học Pierre and Marie Curie (Paris 6)
TÓM TẮT
Ng y n y mạng Internet trở th nh m t trong những ph ơng tiện gi o tiếp tiện lợi ho ả ng ời dùng ố
nh v không dây Y u ầu về truyền dữ liệu ũng nh ải thiện h t l ợng truyền tải ợ tăng l n C nhiều giải pháp ể giải quyết v n ề truyền dữ liệu l tăng tố ờng truyền mạng, tăng tố x l ủ á CPU
l u trữ M dù, hầu hết á thiết th ờng ợ tr ng ít nh t h i rd mạng (ví dụ: ard ethernet và card wifi, rd wifi v rd 3G v v…), nh ng hỉ m t rd mạng ợ họn v s dụng ể truyền dữ liệu ho t t
ả á ứng dụng Nếu á rd mạng n y thể s dụng ồng thời, tố ủ việ truyền tải sẽ ợ tăng l n
C m t giải pháp m i ể tăng tố truyền tải nữ l : Multip th TCP (MPTCP) - m t huẩn mở r ng ủ Transmission Control Protocol (TCP) - ợ thiết lập ởi nh m nghi n ứu Internet Engineering T sk For e (IETF) ho mụ í h n y Trong i áo n y, h ng tôi o l ờng v phân tí h tổng hợp tính năng hi tiết ủ MPTCP
Từ khóa:Đa giao thức TCP tổng hợp băng thông thông lượng
MPTCP BANDWIDTH AGGREGATION EVALUATION AND ANALYSIS
ABSTRACT
Today, the Internet has become one of the most convenient means of communication for both fixed and mobile users The requirements of data transfer and transmission speed are increasing There are many solutions
to solve this problem such as: increase the speed of network, increase speed of CPU's server Although most terminals are usually equipped with at least two interfaces (e.g Ethernet and Wi-Fi, Wi-Fi and 3G, etc.), only one interface is selected and used for data transmission of all applications If these interfaces could be used concurrently, the transmission speed would be increased Has a new solution to solve this problem, there is Multipath TCP (MPTCP), an extension of Transmission Control Protocol (TCP), has been defined by the Internet Engineering Task Force (IETF) for this purpose In this paper, we evaluate and analyze the bandwidth aggregation feature of MPTCP
Keywords: Multipath TCP, bandwidth aggregation, thoughput
1 Giới thiệu
Ng y n y mạng máy tính n i hung v mạng Internet n i ri ng ng ợ s dụng phổ iến nh t trong mọi lĩnh vự ủ ời sống x h i V i á thiết dạng v sự r ời ủ á thiết di ng, số l ợng ng ời dùng v nh ầu về l u l ợng ng y ng tăng M dù hầu hết á thiết ầu uối ợ tr ng ít nh t l 2 rd mạng (ví dụ: mạng Ethernet và Wifi, Wifi v 3G, ) v hỉ m t rd mạng ợ họn s dụng ho t t ả á ứng dụng Nếu á
rd mạng ợ s dụng ồng thời, tố truyền tải sẽ ợ tăng l n Transmission Control Protocol (TCP) l m t gi o thứ ợ s dụng r ng r i tr n Internet v trong hầu hết
á mạng máy tính tr n thế gi i Hầu hết á ứng dụng nh d h vụ world wide we , truyền tải tập tin v hệ thống ph ơng tiện ều s dụng TCP ho việ truyền tải Để ho ph p s dụng á rd mạng ồng thời sẵn, IETF ề xu t gi o thứ Multip th TCP, nh l m t gi o thứ mở r ng ủ TCP [1,2] Trong i áo n y, h ng tôi o l ờng v phân tính hi tiết ăng thông tổng hợp ủ MPTCP Ch ng tôi s dụng phi n ản thự thi ủ MPTCP ợ phát triển ởi tr ờng ại họ Catholique de Louvain [3] Tổng hợp throughput ủ MPTCP ũng
nh throughput ủ từng ờng ri ng lẻ (subflow) ợ ánh giá v so sánh v i throughput
ủ TCP
Trang 2Phần còn lại củ i áo ợc tổ chứ nh s u: phần 2 tổng hợp chi tiết của c u trúc MPTCP và những x lý của giao thức MPTCP, phần 3 trình bày những th nghiệm của chúng tôi Trong phần 4, o l ờng throughput và những trạng thái khá ợc trình bày và phân tích; cuối cùng, phần 5 ánh giá kết quả ạt ợc của bài báo
2 Giao thức đa đường TCP
MPTCP [1] là m t chuẩn ơ ản của giao thức truyền tải, nó cho phép m t phiên làm việc của TCP s dụng ồng thời nhiều ờng truyền sẵn có Các lợi ích của giao thức MPTCP là:
Để tăng khả năng phục hồi của các kết nối qua việ tr o ổi việc s dụng nhiều ờng
Để tăng hiệu quả của việc s dụng nguồn tài nguyên b ng á h ồng thời s dụng nhiều ờng
Khả năng t ơng thí h kiểu backward v i TCP và những ứng dụng Internet kiểu legacy
là m t trong những tính năng m i của MPTCP, ta nên phân biệt giao thức này v i giao thức multi-homing candidate MPTCP là phần mở r ng của giao thức TCP vì vậy nó phải tuân theo các mô hình d ch vụ TCP, l thứ tự(in order), tin cậy (reli le), v h ng ối
t ợng theo dạng byte (byte-oriented delivery) Để t ơng thí h v i Internet và các ứng dụng kiểu legacy, MPTCP sẽ giữ nguyên giao diện lập trình ừng dụng (API-Application Programming Interfaces) nh ủa TCP, có thể qu ợc các thiết b trung gian (middle boxes), làm việc v i cả IPv4 và IPv6, và có thể trở về dạng TCP nh ình th ờng khi có sự không t ơng thí h xảy ra trên m t ờng TCP MPTCP phải chia sẻ ăng thông v i m t ờng ơn TCP trong tr ởng hợp thắt nút cổ chai, và nó sẽ không tiêu thụ nhiều ăng thông hơn so v i s dụng TCP ơn trong việc chia sẻ thắt nút cổ chai
Mô hình tham chiếu củ MPTCP ợc trình bày trong Hình 1
Hình 1 So sánh giữa giao thức TCP chuẩn và giao thức MPTCP
Kiến trúc giao thứ TCP IP ợc minh họa nh hình tr n ho h ng t th y tầng
tr nsport ợc chia ra thành 2 tầng nhỏ Mỗi ờng con trong MPTCP là m t ờng ơn ủa TCP L p con của MPTCP thì n m trong ờng con và kiểm soát việc thiết l p ờng con ũng nh dữ liệu qu á ờng on Để t ơng thí h v i TCP và Internet kiểu legacy, MPTCP kết nối n ầu v i chỉ m t ờng con [2] MPTCP khởi tạo kết nối b ng cách s dụng kiểu bắt t y c (three-way handshake), giống nh thiết l p kết nối của giao thức TCP Tuy nhiên, gói SYN mang m t tùy chọn m i (tùy chọn MP_CAPABLE), nó chỉ ra r ng giao thức này hỗ trợ MPTCP G i SYNACK ũng s dụng tùy chọn MP_CAPABLE ể chi ra
nó có hỗ trợ MPTCP MPTCP sẽ trở về dạng giao thức TCP khi phát hiện ra sự không t ơng
Trang 3thí h Khi á ờng con thiết l p kết nối thì á ờng on n y ầu phải hỗ trợ MPTCP,
th m v o gi o thức MPCTP khi kết nối còn khia báo thêm tùy chọn MP_JOINT TCP
L p con của MPTCP chia các ứng dụng nhận ợc vào nhiều segment theo dạng byte
l p l ch và truyền tải chúng trên từng ờng on Để chia sẻ tài nguyên v i cân b ng v i các ờng TCP khác khi có sự thắt nút cổ chai xảy ra, MPTCP s dụng couple congestion control [4] ể ảm bảo r ng tổng số ăng thông l không ổi
3 Các đánh giá MPTCP
Để o l ờng và phân tích chi tiết tổng hợp ăng thông ủa MPTCP, chúng tôi xây dựng
m t quá trình ánh giá v i các PC, laptop v i hai công nghệ truy cập là mạng Ethernet và WiFi Cả hai kết nối trực tiếp v i nhau (ho c kết nối qu ess point) v trong môi tr ờng mạng LAN Mụ í h ủa việ ánh giá l hiểu ợc những thành phần của MPTCP thông qua chia sẻ và tổng hợp ăng thông Ch ng tôi s dụng những thiết l p MPTCP trên Linux kernel ợc phát triển bởi nhóm nghiên cứu củ tr ờng Đại học Catholique de Louvain [3], phiên bản 0.5 T t cả các máy s dụng Ubuntu 9.10 v i kernel Linux phiên bản 2.6.36 Iperf [5] ợc s dụng ể truyền tải l u l ợng và tổng hợp ăng thông Chi tiết các biểu ồ của throuhput-thông l ợng- ợc tổng hợp b ng h ơng trình Wireshark [6] Việ ánh giá tắc nghẽn (congestion windows) và round-trip times (RTT) ợc tổng hợp b ng h ơng trình Tcptrace [7] phổ biến
Dựa trên mô hình mạng thực tế, h ng tôi ề xu t ba ngữ cảnh ợ kh i áo ể phân tích v ánh giá ăng thông tổng hợp khác nhau củ môi tr ờng MPTCP
A Ngữ cảnh 1
192.168.2.0
192.168.3.0
Hình 2 Ngữ cảnh kết nối giữa các máy tính trong mạng Ethernet
Trong ngữ cảnh này, có 2 PC kết nối trực tiếp v i nhau thông qua 2 cáp ethernet V i 2 interface Ethernet có cùng thu c tính v i nhau, chúng tôi mong chờ MPTCP sẽ có throuhput
g p ôi so v i giao thức TCP
B Ngữ cảnh 2
192.168.2.0
AP
192.168.1.0
Hình 3 Ngữ cảnh 2 kết nối với thiết bị không dây
Trong ngữ cảnh thứ 2 này, các thiết b l ptop ợc kết nối qua m t cáp Ethernet và m t ờng kết nối qua wifi access point V i interface Ethernet và wifi sẽ có thu c tính khác nhau
về trễ ăng thông v số bit lỗi, chúng ta mong chờ MPTCP g i l u l ợng không giống
Trang 4nh u tr n h i ờng khá nh u ể tổng throughput thì không tệ hơn so v i throughput ạt
ợc khi g i dữ liệu v i ờng TCP thông qu ờng Ethernet tốt nh t
C Ngữ cảnh 3
Switch 10.20.21.0
AP
Server
Client
10.20.21.0
Hình 4 Ngữ cảnh 3 mô phỏng mạng Ethernet LAN và Wi-Fi LAN
Trong ngữ cảnh này, card giao tiếp mạng Ethernet và WiFi của mỗi l ptop ợc kết nối
v i nhau thông qua mạng cục b và mạng WiFi củ T nh iều h nh Đại học Quốc gia thành phố Hồ Chí Minh (Viet Nam National University) Việ ánh giá hiệu su t ợc thực hiện ở những thời iểm khá nh u trong ng y ể th y ợc MPTCP s dụng nhiều ờng khá nh u trong iều kiện khác nhau của mạng n i b
4 Phân tích hiệu suất làm việc
4.1.Ngữ cảnh 1
Trong ngữ cảnh này, chúng tôi s dụng Iperf ể g i 100 MB dữ liệu tr n ờng ơn TCP và MPTCP v i 2 cáp Ethernet 100 Mbps Thực hiện 3 lần test - xem biểu ồ ở hình 5 Throughput của MPCTP thì b ng g p ôi throughput ủ ờng ơn TCP Throughput ủa từng ờng con hầu nh l giống v i throughput thu ợc từ ờng ơn TCP, trong tải trọng ợc chia sẻ khá ều giữ h i ờng và thời gian truyền ợc giảm m t n a
Hình 5 Đo lường hiệu suất băng thông giữa TCP và MPTCP
Trang 5Hình 6 Tải trọng chia sẻ và thời gian truyền trong ngữ cảnh 1
Chi tiết ồ họa về throughput trên mỗi ờng con trong lần ánh giá ầu ti n ợc thể hiện ở hình 7 và 8
Hình 7 Sơ đồ throughput của đường con thứ nhất
Trang 6Hình 8 Sơ đồ throughput của đường con thứ hai
Chúng ta có thể th y r ng tổng throughput o ợc trong ngữ cảnh 1 g p ôi so v i ờng ơn TCP do 2 ờng Ethernet có cùng tốt v ùng dài dây d n ũng nh ùng thu c tính Bởi vì không có cách trực tiếp ể xá nh tắc nghẽn của việc truyền tải TCP,dữ liệu không ợc thừa nhận ợc s dụng ể c tínhtắc nghẽn[7] Số liệu thống kêtắc nghẽn
n c tínhcho th ycác tắc nghẽncủahai ờng conl hơi khá nh u(hình 9).Số liệu thống
k tr nRTT otr nh i ờngcon cho th yh i on ờng gần nh ùng m tRTTl không áng
kể (~0ms)
Hình 9 Tắc nghẽn trên 2 đường con (ngữ cảnh 1)
4.2.Ngữ cảnh 2
Trong ngữ cảnh 2, chúng tôi s dụng công cụ Iperf ể g i 100 MB dữ liệu trên m t ờng ơn TCP thông qu mạng Ethernet và s dụng MPTCP tr n ờng Ethernet và WiFi Quá trình này l p lại 3 lần ánh giá Hình 10 ho th y tổng throughput o ợc của MPTCP
l ít hơn so v i throughput ạt ợc từ TCP Throughput củ ờng con thứ h i ( ờng kết nối b ng WiFi) th p hơn so v i ờng con thứ nh t do sự khác biệt l n củ trễ trên hai ờng con khác nhau Hình 10 cho chúng ta th y chỉ m t phần nhỏ củadữ liệu ợcg i
qu ờngWi-Fi vàthời gian truyền ợcgiảm nhẹkhi s dụngMPTCP
Trang 7Hình 10 Trạng thái throughput của ngữ cảnh 2
Hình 11 Chia tải vàsố liệu thống kêthời gian truyền của ngữ cảnh 2
Chi tiết sơ ồ throughput củ ờng on ợc thể hiện trên hình 12 và 13
Hình 12 Sơ đồ throughput của đường con 1
Trang 8Hình 13 Sơ đồ throughput của đường con 2
Trung ình tắc nghẽn củ ờng con 1 có thể th y l n hơn so v i ờng con 2, nó
ợc thể hiện ở hình 14 Trung bình RTT củ ờng con 1 nhỏ hơn ờng on 2 v ợc thể hiện tr n hình 15, v l l do tại sao throughput củ ờng con 2 thì th p hơn so v i ờng con 1
Hình 14 Trạng thái tắc nghẽn của ngữ cảnh 2
Hình 15 Trạng thái RTT của ngữ cảnh 2
Trang 94.3 Ngữ cảnh 3
Trong ngữ ảnh n y, h ng tôi tiếp tụ s dụng ông ụ Iperf ể g i 100 MB dữ liệu
tr n ờng ơn TCP thông qu Ethernet LAN v s dụng MPTCP tr n Ethernet L n v mạng WiFi ủ t nh Đại họ Quố gi Th nh phố Hồ Chí Minh Thự hiện 2 lần test: lần ầu
ti n l l 3:00 p m (thời gi n ng l m việ ), lần test thứ 2 l l 4:00 p m (thời gi n ng ng
l m việ ) Hình 16 thể hiện throughput thu ợ từ ờng ơn TCP thông qu Ethernet v từ MPTCP thông qu Ethernet v wifi Nh hình 16, tổng throughput thu ợ ủ lần test l 4:00 p.m thì gần giống v i TCP Throughput ủ ờng on thứ 2 thì không ợ x t ể so sánh v i ờng on thứ 1 Hình 17 thể hiện hỉ m t phần nhỏ dữ liệu truyền tải ợ g i tr n ờng wifi v thời gi n truyền tải s dụng MPTCP thì không tốt hơn tr ờng hợp s dụng TCP tr n ờng Ethernet
Hình 16 Trạng thái throughput của ngữ cảnh 3
Hình 17 Trạng thái chia tải và thời gian truyền của ngữ cảnh 3
Sơ ồ chi tiết của throughput của mỗi ờng con trong lần test thứ 2 ợc thể hiện ở hình 18 và 19
Trang 10Hình 18 Sơ đồ throughput của đường con 1
Hình 19 Sơ đồ throughput của đường con 2
Nh h ng t th y trong hình 20 thể hiện trung bình tắc nghẽn củ ờng con 1 nhỏ hơn
so v i ờng con 2 Và trung bình RTT củ ờng con 1 nhỏ hơn ờng on 2 v ợc thể hiện ở hình 21 nh ng sự khác nhau giữ chúng (0,1 ms và 0,3 ms) là nhỏ hơn so v i sự khác nhau về RTT giữ 2 ờng trong ngữ cảnh 2 (l n hơn 30ms)
Trang 11Hình 20 Trạng thái tắc nghẽn của ngữ cảnh 3
Hình 21 Trạng thái RTT của ngữ cảnh 3
Lý do chủ yếu của throuhput th p ở ờng con thứ 2 l li n qu n ế khả năng h u tải
củ ờng kết nối wireless v ũng li n qu n ến môi tr ờng, nó tồn tại nhiều h ng ngại vật do vật cản t ờng, bảng,
5 Kết luận
Có thể nói ngày hôm nay, giao thức MPTCP là phần mở r ng của giao thức TCP, nó cung c p m t giải pháp ể tăng throughput ủa truyền tải dữ liệu b ng cách s dụng nhiều ờng giữ á máy Trong i áo n y, h ng tôi o l ờng v ánh giá tổng hợp chi tiết ăng thông ủa MPTCP Thực hiện test dành riêng cho Ethernet/wifi và Ethernet/wifi Lan thể hiện r ng MPTCP có thể tăng g p ôi throughput so v i TCP trong tr ờng hợp s dụng 2 ờng Ethernet có cùng thu c tính (ngữ cảnh 1) Trong tr ờng hợp s dụng cả mạng Ethernet
v WiFi thì throughput ạt ợc từ MPTCP có thể th y tốt hơn khi s dụng m t ờng Ethernet trong tr ờng hợp ánh giá l t ởng khi s dụng mạng cục b và access point chuyên biệt nh ng th p hơn so v i tr ờng hợp s dụng mạng Ethernet và WiFi LAN
TÀI LIỆU THAM KHẢO
[1] A Ford, C Raiciu, M Handley, S Barre, J Iyengar,Architectural Guidelines for
Multipath TCP Development, IETF RFC 6182, March 2011
[2] A Ford, C Raiciu, M Handley, O Bonaventure,TCP Extensions for Multipath Operation
with Multiple Addresses, Internet-Draft, work in progress, March 2011
[3] S Barré, C Paasch and O Bonaventure, MultiPath TCP: From Theory to Practice, IFIP
Networking, Valencia, Spain, May 2011