KHOA HỌC CÔNG NGHỆ<br />
<br />
ĐO LƢỜNG, PHÂN TÍCH VÀ ĐÁNH GIÁ BĂNG THÔNG CỦA GIAO THỨC ĐA<br />
ĐƢỜNG TCP<br />
Phạm Nguyễn Huy Phƣơng1, Đặng Lê Nam1, Từ Minh Mận2, Nguyễn Thị Mai Trang3<br />
1Khoa CNTT – Tr ờng ĐH Công nghiệp Thực phẩm TP.HCM<br />
2Đại học quốc gia TP.Hồ Chí Minh<br />
3Đại học Pierre and Marie Curie (Paris 6)<br />
TÓM TẮT<br />
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 ố<br />
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<br />
giải pháp ể giải quyết v n ề truyền dữ liệu l tăng tố<br />
ờng truyền mạng, tăng tố<br />
x l ủ á CPU<br />
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<br />
wifi, rd wifi v<br />
rd 3G v v…), nh ng hỉ<br />
m t rd mạng ợ họn v s dụng ể truyền dữ liệu ho t t<br />
ả á ứng dụng Nếu á<br />
rd mạng n y<br />
thể s dụng ồng thời, tố<br />
ủ việ truyền tải sẽ ợ tăng l n<br />
C m t giải pháp m i ể tăng tố<br />
truyền tải nữ<br />
l : Multip th TCP (MPTCP) - m t huẩn mở r ng ủ<br />
Transmission Control Protocol (TCP) - ợ thiết lập ởi nh m nghi n ứu Internet Engineering T sk For e<br />
(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 ủ<br />
MPTCP.<br />
Từ khóa:Đa giao thức TCP tổng hợp băng thông thông lượng.<br />
<br />
MPTCP BANDWIDTH AGGREGATION EVALUATION AND ANALYSIS<br />
ABSTRACT<br />
Today, the Internet has become one of the most convenient means of communication for both fixed and<br />
mobile users. The requirements of data transfer and transmission speed are increasing. There are many solutions<br />
to solve this problem such as: increase the speed of network, increase speed of CPU's server... Although most<br />
terminals are usually equipped with at least two interfaces (e.g. Ethernet and Wi-Fi, Wi-Fi and 3G, etc.), only<br />
one interface is selected and used for data transmission of all applications. If these interfaces could be used<br />
concurrently, the transmission speed would be increased. Has a new solution to solve this problem, there is<br />
Multipath TCP (MPTCP), an extension of Transmission Control Protocol (TCP), has been defined by the<br />
Internet Engineering Task Force (IETF) for this purpose. In this paper, we evaluate and analyze the bandwidth<br />
aggregation feature of MPTCP.<br />
Keywords: Multipath TCP, bandwidth aggregation, thoughput.<br />
<br />
1. Giới thiệu<br />
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ổ<br />
iến nh t trong mọi lĩnh vự ủ ời sống x h i V i á thiết<br />
dạng v sự r ời ủ á<br />
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<br />
hết á thiết<br />
ầu uối ợ tr ng ít nh t l 2 rd mạng (ví dụ: mạng Ethernet và Wifi,<br />
Wifi v 3G, ) v hỉ m t rd mạng ợ họn s dụng ho t t ả á ứng dụng Nếu á<br />
rd mạng<br />
ợ s dụng ồng thời, tố<br />
truyền tải sẽ ợ tăng l n Transmission<br />
Control Protocol (TCP) l m t gi o thứ<br />
ợ s dụng r ng r i tr n Internet v trong hầu hết<br />
á 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<br />
tải tập tin v hệ thống<br />
ph ơng tiện ều s dụng TCP ho việ truyền tải Để ho ph p s<br />
dụng á<br />
rd mạng ồng thời sẵn, IETF ề xu t gi o thứ Multip th TCP, nh l m t gi o<br />
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<br />
thông tổng hợp ủ MPTCP Ch ng tôi s dụng phi n ản thự thi ủ MPTCP ợ phát<br />
triển ởi tr ờng ại họ Catholique de Louvain [3]. Tổng hợp throughput ủ MPTCP ũng<br />
nh throughput ủ từng ờng ri ng lẻ (subflow) ợ ánh giá v so sánh v i throughput<br />
ủ TCP<br />
<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ & THỰC PHẨM – SỐ 03/2014<br />
<br />
46<br />
<br />
KHOA HỌC CÔNG NGHỆ<br />
<br />
Phần còn lại củ<br />
i áo ợc tổ chứ nh s u: phần 2 tổng hợp chi tiết của c u trúc<br />
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<br />
tôi. Trong phần 4, o l ờng throughput và những trạng thái khá<br />
ợc trình bày và phân tích;<br />
cuối cùng, phần 5 ánh giá kết quả ạt ợc của bài báo.<br />
2. Giao thức đa đƣờng TCP<br />
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<br />
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à:<br />
Để 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.<br />
Để 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<br />
nhiều ờng.<br />
Khả năng t ơng thí h kiểu backward v i TCP và những ứng dụng Internet kiểu legacy<br />
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<br />
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<br />
các mô hình d ch vụ TCP,<br />
l<br />
thứ tự(in order),<br />
tin cậy (reli le), v h ng ối<br />
t ợng theo dạng byte (byte-oriented delivery) Để t ơng thí h v i Internet và các ứng dụng<br />
kiểu legacy, MPTCP sẽ giữ nguyên giao diện lập trình ừng dụng (API-Application<br />
Programming Interfaces) nh ủa TCP, có thể qu<br />
ợc các thiết b trung gian (middle<br />
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ự<br />
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<br />
ờ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<br />
hơn so v i s dụng TCP ơn trong việc chia sẻ thắt nút cổ chai.<br />
Mô hình tham chiếu củ MPTCP<br />
<br />
ợc trình bày trong Hình 1.<br />
<br />
Hình 1. So sánh giữa giao thức TCP chuẩn và giao thức MPTCP.<br />
Kiến trúc giao thứ TCP IP<br />
ợc minh họa nh hình tr n ho h ng t th y tầng<br />
tr nsport ợc chia ra thành 2 tầng nhỏ. Mỗi ờng con trong MPTCP là m t ờng ơn ủa<br />
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<br />
ũng nh dữ liệu qu á<br />
ờng on Để t ơng thí h v i TCP và Internet kiểu legacy,<br />
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<br />
dụng kiểu bắt t y<br />
c (three-way handshake), giống nh thiết l p kết nối của giao thức<br />
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<br />
giao thức này hỗ trợ MPTCP G i SYNACK ũng s dụng tùy chọn MP_CAPABLE ể chi ra<br />
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<br />
<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ & THỰC PHẨM – SỐ 03/2014<br />
<br />
47<br />
<br />
KHOA HỌC CÔNG NGHỆ<br />
<br />
thí h Khi á<br />
ờng con thiết l p kết nối thì á<br />
ờng on n y ầu phải hỗ trợ MPTCP,<br />
th m v o<br />
gi o thức MPCTP khi kết nối còn khia báo thêm tùy chọn MP_JOINT TCP.<br />
L p con của MPTCP chia các ứng dụng nhận ợc vào nhiều segment theo dạng byte.<br />
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<br />
ờng TCP khác khi có sự thắt nút cổ chai xảy ra, MPTCP s dụng couple congestion control<br />
[4] ể ảm bảo r ng tổng số ăng thông l không ổi.<br />
3. Các đánh giá MPTCP<br />
Để 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<br />
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à<br />
WiFi. Cả hai kết nối trực tiếp v i nhau (ho c kết nối qu<br />
ess point) v trong môi tr ờng<br />
mạng LAN. Mụ í h ủa việ ánh giá l hiểu ợc những thành phần của MPTCP thông<br />
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<br />
kernel ợc phát triển bởi nhóm nghiên cứu củ tr ờng Đại học Catholique de Louvain [3],<br />
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<br />
[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<br />
throuhput-thông l ợng- ợc tổng hợp b ng h ơng trình Wireshark [6]. Việ ánh giá<br />
tắc<br />
nghẽn (congestion windows) và round-trip times (RTT) ợc tổng hợp b ng h ơng trình<br />
Tcptrace [7] phổ biến.<br />
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<br />
tích v ánh giá ăng thông tổng hợp khác nhau củ môi tr ờng MPTCP.<br />
A. Ngữ cảnh 1<br />
192.168.2.0<br />
<br />
Server<br />
<br />
Client<br />
192.168.3.0<br />
<br />
Hình 2. Ngữ cảnh kết nối giữa các máy tính trong mạng Ethernet<br />
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<br />
interface Ethernet có cùng thu c tính v i nhau, chúng tôi mong chờ MPTCP sẽ có throuhput<br />
g p ôi so v i giao thức TCP.<br />
B. Ngữ cảnh 2<br />
192.168.2.0<br />
<br />
Server<br />
<br />
192.168.<br />
1.0<br />
<br />
1.0<br />
192.168.<br />
<br />
Client<br />
<br />
AP<br />
<br />
Hình 3. Ngữ cảnh 2 kết nối với thiết bị không dây<br />
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<br />
ờng kết nối qua wifi access point. V i interface Ethernet và wifi sẽ có thu c tính khác nhau<br />
về<br />
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<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ & THỰC PHẨM – SỐ 03/2014<br />
<br />
48<br />
<br />
KHOA HỌC CÔNG NGHỆ<br />
<br />
nh u tr n h i ờng khá nh u ể tổng throughput thì không tệ hơn so v i throughput ạt<br />
ợc khi g i dữ liệu v i ờng TCP thông qu<br />
ờng Ethernet tốt nh t.<br />
C. Ngữ cảnh 3<br />
10.20.21.0<br />
<br />
10.20.21.0<br />
<br />
Switch<br />
<br />
10.20.2<br />
<br />
Server<br />
<br />
.0<br />
10.20.26<br />
<br />
6.0<br />
<br />
Client<br />
<br />
AP<br />
<br />
Hình 4. Ngữ cảnh 3 mô phỏng mạng Ethernet LAN và Wi-Fi LAN<br />
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<br />
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<br />
thành phố Hồ Chí Minh (Viet Nam National University). Việ ánh giá hiệu su t ợc thực<br />
hiện ở những thời iểm khá nh u trong ng y ể th y ợc MPTCP s dụng nhiều ờng<br />
khá nh u trong iều kiện khác nhau của mạng n i b .<br />
4. Phân tích hiệu suất làm việc<br />
4.1.Ngữ cảnh 1<br />
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<br />
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.<br />
Throughput của MPCTP thì b ng g p ôi throughput ủ<br />
ờng ơn TCP Throughput ủa<br />
từng ờng con hầu nh l giống v i throughput thu ợc từ ờng ơn TCP, trong<br />
tải<br />
trọng ợc chia sẻ khá ều giữ h i ờng và thời gian truyền ợc giảm m t n a.<br />
<br />
Hình 5. Đo lường hiệu suất băng thông giữa TCP và MPTCP<br />
<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ & THỰC PHẨM – SỐ 03/2014<br />
<br />
49<br />
<br />
KHOA HỌC CÔNG NGHỆ<br />
<br />
Hình 6. Tải trọng chia sẻ và thời gian truyền trong ngữ cảnh 1.<br />
Chi tiết ồ họa về throughput trên mỗi<br />
hiện ở hình 7 và 8.<br />
<br />
ờng con trong lần ánh giá ầu ti n<br />
<br />
ợc thể<br />
<br />
Hình 7. Sơ đồ throughput của đường con thứ nhất<br />
<br />
TẠP CHÍ KHOA HỌC CÔNG NGHỆ & THỰC PHẨM – SỐ 03/2014<br />
<br />
50<br />
<br />