Đại hc Nguyn Tt Thành
Tp chí Khoa hc & Công ngh Vol 7, No 2
22
Kho sát các thut toán kim soát tc nghn và lp lch vn chuyn
gói tin trong giao thc MPTCP
Nguyễn Văn Thành*, Nguyễn Kim Quốc**, Dương Minh Tuấn
Khoa Công ngh Thông tin - Trường Đại hc Nguyn Tt Thành
*thanhnv@ntt.edu.vn, **nkquoc@ntt.edu.vn
Tóm tt
Giao thc MPTCP một đề xut ci tiến t giao thc kim soát đường truyn truyn
thng. MPTCP h tr cho các ng dng nâng cao hiu sut truyn d liu trên mng
bng cách s dng nhiều đường truyn vật lý. Cho đến nay, MPTCP vẫn chưa được ph
biến rộng rãi cho dù đã có nhiều gii pháp kim soát tc nghn và lp lch vn chuyn
gói tin đã đưc nghiên cu. Bài báo này thc hin kho sát các nghiên cứu đã công bố
liên quan đến kim soát tc nghn và lp lch các lung d liu trong giao thc MPTCP.
Kho sát này phân loi kim soát tc nghn và lp lịch gói tin theo hướng tiếp cn truyn
thống và hưng tiếp cn hc máy. Vi mi nghiên cứu đã khảo sát s có đánh giá ngắn
gn, nhm h tr cho nhng nghiên cu áp dng hc máy vào ci thin hiệu năng ca
giao thc mạng MPTCP trong tương lai.
® 2024 Journal of Science and Technology - NTTU
Nhn 10/03/2024
Đưc duyt 26/04/2024
Công b 20/06/2024
T khóa
giao thức TCP đa
đường, kim soát tc
nghn, lp lch gói tin,
MPTCP da trên hc
máy
1 Gii thiu
K t khi mạng máy tính ra đời ln mnh thành h
thng Internet như ngày nay, giao thức IP đã chiếm v
trí độc tôn trong truyn thông d liu gia các máy tính
thiết b trên mng. H tr cho các ng dng vn
chuyn d liu cho nhau trên mng 2 giao thc gm:
“giao thức gói d liệu người dùng” (User Datagram
Protocol - UDP) “giao thức kiểm soát đường truyền”
(Transmission Control Protocol - TCP). Giao thc
UDP [1] truyn d liu theo kiu phi kết ni: bên gi
s đẩy d liệu đi không cn biết bên nhn sn
sàng hay không Điều này giúp cho giao thc UDP x
nhanh nhưng là giao thức không tin cy. Giao thc
còn li TCP [2] truyn d liu kiểu hướng kết ni:
bên gi liên lc vi bên nhận trước khi truyn d liu,
đảm bảo độ tin cy, tính chính xác cho d liu truyn.
Đây cũng là lý do mà TCP được s dng ph biến trên
các ng dụng có trao đổi thông tin trên mng hin nay.
Ngày nay, vi s bùng n ca công ngh thông tin, các
ng dng nhu cầu gia tăng tốc độ truyn thông tin
trên mạng. Trong khi đó, giao thức TCP ch h tr vn
chuyn d liu t các ng dụng đến mt thiết b giao
tiếp mng duy nht ti mt thời điểm. Do vy, ci tiến
giao thc TCP là nhu cu tt yếu.
Gii quyết cho vấn đề này, mt giao thc mi vi tên
gọi “giao thức TCP đa đường” (Multipath TCP -
MPTCP) [3] đã được đề xut. MPTCP h tr cho ng
dng vn chuyn d liu lên mng bng nhiu lung
con khác nhau, vi mi luồng con được thiết lp trên
mt giao tiếp mng ca thiết bị. Điều này giúp tăng
băng thông mạng, ci thin hiệu năng truyền d liu
gia các ng dng trên mng một cách đáng kể.
Tuy vy, nhng vấn đề mà giao thc TCP truyn thng
đã từng gp phải như: mất gói, tr gói, thi gian hồi đáp
tr nên phc tạp hơn đối vi giao thc MPTCP do vic
truyn d liu trên nhiu lung con của nó. Đặc bit là
nhng thách thc trong kim soát tc nghn trên nhiu
lung con. Kim soát tc nghn đa đường là cơ sở cho
vic lp lch vn chuyển gói tin đến các lung con sao
cho đạt hiu qu cao nht có th.
https://doi.org/10.55401/jdfygj55
Đại hc Nguyn Tt Thành
Tp chí Khoa hc & Công ngh Vol 7, No 2
Trước tiên, xin gii thiu vn tt mt s kiến thc nn
tng v giao thc TCP MPTCP nhng bài toán
cn gii quyết ca 2 giao thc này. Sau đó, da trên
nhng nghiên cứu đã thực hin kho sát, bài báo s tóm
tt li nhng thut toán kim soát tc nghn c thut
toán lp lch gói tin ca giao thc MPTCP. C hai vn
đề này, bài báo s trình bày theo 2 dạng: theo hướng
tiếp cn truyn thng và theo hướng tiếp cn hc máy.
Vi mi ni dung kho sát smt s đánh giá nhằm
cung cp góc nhìn tng quan v tình trng ca giao thc
MPTCP hin nay.
2 Nn tng v TCP và MPTCP
Phn này, s trình bày ngn gn mt s kiến thc liên
quan đến giao thc TCP và MPTCP. Nhng kiến thc
nn này s giúp nhìn rõ hơn những thách thc mà giao
thc TCP MPTCP gp phi. Ngày nay, các gii pháp
cho TCP đã đạt được s tin cậy, còn MPTCP thì chưa.
2.1 Tng quan v giao thc TCP
TCP giao thc dạng hướng kết ni: các th tc, qui
trình của TCP hướng đến việc đảm bảo độ tin cy, tính
chính xác, tính đầy đủ cho d liu truyn nhn. Giao
thc này yêu cu bên gi phi thc hin qui trình tha
hiệp “bắt tay 3 bước” với bên nhận trước khi truyn d
liệu đi. Dữ liu ch được truyền đi khi qui trình thỏa
hiệp thành công, đảm bo bên nhn s nhận được d
liệu đó. Trong quá trình truyn, bên gi s chia d liu
thành các gói tin, đánh s th t cho các gói tin, lưu giữ
bn sao của gói tin cho đến khi nhận được thông báo
xác nhn (Acknowledgment - ACK) ca bên nhn.
Hình 1 cho thy quy trình bắt tay 3 bước” (three-way
handshake) do phía máy khách (client) - nơi nhu cu
trao đổi d liu - ch động thc hin.
Hình 1 Qui trình “bắt tay 3 bước” của TCP
2.2 Tổng quan về giao thức MPTCP
Hình 2 Kiến trúc MPTCP
Giao thức MPTCP được phát triển từ hình
“Transport thế hệ mới” (TNG) [4]. Hình 2 tả kiến
trúc của MPTCP, theo đó, mỗi giao tiếp mạng vật
trên thiết bị được MPTCP xây dựng thành một luồng
con (subflow). Dữ liệu từ ứng dụng sẽ được MPTCP
chia thành các gói tin lập lịch vận chuyển vào các
luồng con để truyền ra ngoài. Tương tự, các gói tin t
ngoài vào các luồng con sẽ được MPTCP đưa vào ứng
dụng.
Hình 3 Qui trình “bắt tay 3 bước” của MPTCP
Không phi thiết b nào cũng sử dng MPTCP thay thế
cho TCP. Chính vy, qui trình “bắt tay 3 bước” của
MPTCP được thc hiện qua 2 giai đoạn đưc mô t ti
Đại hc Nguyn Tt Thành
Tp chí Khoa hc & Công ngh Vol 7, No 2
24
Hình 3. Theo đó: giai đoạn (1): bên gi (Sender)
dùng MPTCP thc hiện “bắt tay 3 bước” với bên nhn
(Receiver) như TCP truyền thống. Giai đoạn (2): bên
gi s gi gói SYN (MP_Join) gi ý mi kết ni
MPTCP. Nếu bên nhn có dùng MPTCP thì các lung
con s hình thành [5].
2.3 Gii pháp của TCP MPTCP đối vi các thách
thc trong truyn thông mng
Truyn thông mng s gp phi nhiu vấn đề. Bài báo
này trình bày mt s vấn đ lớn đối mà giao thc TCP
và MPTCP cn phi gii quyết.
2.3.1 Vấn đề mt gói tin.
Mt gói tin (packet loss)là tình trạng gói tin không đến
được bên nhn. Vi TCP, khi xy ra mt gói, TCP s
xem đó là dấu hiu tc nghn mng phn ng bng
các gim giá tr ca ca s tc nghn (Congestion
Window - CWND) và ngưỡng bắt đầu chm (Slow
Start Threshold - SST) cho nhng gói tin tiếp theo. Do
đó, băng thông truyền đi sẽ gim ngay lp tc. Vi
MPTCP, s gim CWND SST ca lung con b
tc nghn. các lung con khác vẫn bình thường. Vấn đề
này đã được thc nghiệm trên điển thoi thông minh
wifi LTE [6]. Kết qu cho thy vi d liu nh thì
TCP ít b mất gói hơn, nhưng với d liu ln thì
MPTCP ít mất gói hơn, cho hiệu sut tốt hơn.
2.3.2 Vấn đề v độ tr gói tin.
Độ tr gói tin (packet delay) là khong thi gian gói tin
đi t nơi phát đến nơi nhận. Độ tr b ảnh hưởng bi
các b định tuyến trên đường truyn, chất lượng đường
truyn nht tình trng tc nghn mạng. Đường
truyn không dây thường có độ tr cao hơn với đường
dây. chế hoạt động ca giao thc MPTCP cho
phép linh động trong vic la chọn đường truyn.
Trong thc nghiệm đo hiệu năng của TCP MPTCP
dựa trên đ tr của gói tin trong môi trưng mng
liên kết hn hp, kết qu cho thấy MPTCP độ tr
thấp hơn sử dụng băng thông tốt hơn so với TCP [7].
2.3.3 Vn đ v mt th t gói tin.
Trong giao thc TCP, d liu cn truyn s được chia
thành nhiu gói tin (Segment - SEG) và đánh số th t
cho gói tin trước khi gửi đi. Bên nhận sng s th t
này để sp xếp lại các SEG cho đúng với d liu gc.
Vi TCP, các SEG lần lượt gửi đi trên một lung duy
nhất theo đúng thứ t ca nó. Còn vi MPTCP, các
SEG gửi đi trên nhiều lung con nên có th xy ra tình
trng sai lch th t (Out-of-Order Packets). S sai lch
th t này cũng nguyên nhân gây ra hiện tượng các
gói tin truyn mật độ không đồng đều, lúc quá nhiu,
lúc quá it, gi là hiện tượng git gói tin (jitter).
Do vy, lp lch vn chuyn gói tin là mt trong nhng
nhim v khó khăn nhất trong MPTCP. Mt gii pháp
lp lịch đa đường tên “kỹ thut lp lch gói tin theo
độ trễ” đã được đề xut nhm gii quyết hiện tượng git
gói tin trong MPTCP [8]. Nhm hn chế sai lch th t
trong mạng di động, mt gii pháp khác s dng hàng
đợi để lp lịch đa đường cũng đã được đề xut [9].
2.3.4 Thi gian quay v.
Thi gian quay v (Round-Trip Time - RTT) là khong
thi gian tính t lúc gói tin được gửi đi cho đến khi bên
gi nhận được ACK gói tin đó. RTT càng ngn chng
t hiu sut truyn thông mng càng cao. Gim RTT
cũng là mục tiêu quan trng ca MPTCP.
3 Kim soát tc nghn trong MPTCP
Trong thc tế, tốc độ phát ra lung d liu truyn ca
bên gi tốc độ nhn lung d liu đó của bên nhn
thường không đồng b nhau. Tc nghn xy ra khi tc
độ nhn chậm hơn tốc độ phát hoc tốc độ vn chuyn
d liu của đường truyn chậm hơn tốc độ phát.
Kim soát tc nghn (Congestion Control - CC) là kh
năng mà bên phát dữ liu nhn biết hoc d đoán được
trng thái ca bên nhn hoc của đường truyền để điu
chnh li tốc độ phát, kích thước gói tin sao cho s dng
hiu qu h tng mng dùng chung ci thin tình
trng tc nghn cho bên nhn.
CC trong giao thc TCP gm 3 pha:
- Pha “khởi đầu chậm” (Slow Start - SS): pha này được
bên gi s dụng để xác định ngưỡng tối đa bên nhận
th tiếp nhn lung d liệu. Để xác định giá tr
ngưỡng, bên gi s truyền gói tin có kích thước nh để
bên nhn phn hi lại thông tin “kích thước ti đa” của
gói th nhận được; nếu bên gi nhận được
ACK, nó s gia tăng kích thước ca gói tin và tiếp tc
gi cho bên nhn; quá trình này tiếp din cho ti khi
bên gi không còn nhận được ACK; giá tr kích thước
ca gói tin ca gói cuối cùng chính là ngưỡng SST.
- Pha “tránh tắc nghẽn” (Congestion Avoidance - CA):
đây giai đoạn bên gi truyn d liu cho bên nhn.
Bên gi s gia tăng kích thước gói tin truyn theo cp
s cộng cho đến khi đạt đến ngưỡng đã xác định pha
SS.
- Pha “nhận dng tc nghẽn” (Congestion Detection -
CD): trong quá trình truyn d liu, nếu xy ra tc
Đại hc Nguyn Tt Thành
Tp chí Khoa hc & Công ngh Vol 7, No 2
nghn, bên gi s gim kích thước gói tin truyn theo
cp s nhân.
Quá trình kim soát tc nghn 2 pha CA và CD theo
quy luật tăng kích thước gói tin truyn theo cp s cng
và gim theo cp s nhân được gi là AIMD.
Vi giao thức TCP, đã nhiều thut toán kim soát
tc nghẽn được đề xut áp dng như: TCP Reno ,
TCP Vegas [10] TCP Cubic [11]. Vi MPTCP,
nhng thut toán kim soát tc nghn ca TCP ch
th áp dng khi MPTCP chy trên mt lung con, còn
khi chạy đa đường thì các thut toán trên không mang
li hiu qu. Vì vậy, đã có nhiều nghiên cu kim soát
tc nghn khi vn chuyn d liệu đồng thi trên nhiu
lung con. Bài báo s chia các nghiên cu kim soát tc
nghn cho MPTCP thành 2 nhóm, gm nhóm dùng
hướng tiếp cn truyn thng và nhóm s dng k thut
hc máy.
3.1 Các phương pháp kim soát tc nghn cho MPTCP
theo hướng tiếp cn truyn thng
Một phương pháp kiểm soát tc nghẽn tên “kết
hợp điều chỉnh kích thước gói linh động (Dynamic
Window Coupling - DWC) đã được đ xut [12]. DWC
dùng đồ theo dõi các thông s mất gói đ tr để
phát hin tc nghẽn. Phương pháp này xây dng mt
“tp luồng con” tp hợp c đường truyn mng
trên thiết b để chia s băng thông hoặc hoạt động độc
lp theo s điu khin của sơ đồ kim soát tc nghn
trên. Trong nghiên cu này, các tác gi đã triển khai
thc nghim trên phn mm phng NS-2. Kết qu
cho thấy thông lượng đạt cao hơn trên mỗi lung con
so vi thuật toán “điều khin tc nghn kết hợp”
(Coupled Congestion Control - CCC) đã được công b
ti RFC-6356 [13]. Nhóm tác gi trong nghiên cu này
còn đề xut s dng b nh cho phương pháp của h
để nhn dng s dng lại các “tp luồng con” đã
thành lập trước đó.
Mt nhóm nghiên cứu khác đã phát triển thut toán có
tên gọi “điều khin tc nghẽn cho TCP đa đường da
trên mức tiêu hao năng lượng” (energy-aware
congestion control for multipath TCP - ecMTCP) [14].
ecMTCP s dụng phương pháp phân bổ lưu lượng gia
các lung con dựa vào các tiêu chí như: mật độ lưu
ng truyn tải, chi phí năng lượng của đường truyn
để đạt tính cân bng ti tiết kiệm năng lượng.
Phương pháp y được thc nghim trên phn mm
phng NS-2, tham s mật độ lưu lượng, chi phí năng
ợng được cài đặt trên phn mm. Kết qu thông
ng mạng đạt khá cao trên c lung TCP và MPTCP.
Nghiên cu này chưa thực nghiệm trên môi trường
mng tht, nhiu biến động.
Thuật toán “VEGAS có trọng số” (weighted VEGAS -
wVEGAS) ci tiến t thut toán VEGAS dùng cho TCP
để kim soát tc nghn cho MPTCP [15]. wVEGAS
kim soát thông s độ tr ca các gói tin trên các lung
con, t đó làm sở để chuyn gói tin trong hàng đợi
ca luồng con đ tr cao sang hàng đợi ca lung
con độ tr thp. Vic chuyển đổi lưu lượng ca
wVEGAS giúp gim thiu s c mt gói mang li
cân bằng lưu lượng tốt hơn cho các luồng con. Nhóm
tác gi đã thực nghim trên phn mm phng NS-
3, tối ưu hóa các tham s để đạt được mc tiêu kim
soát tc nghn.
Một phương pháp kiểm soát tc nghẽn khác được đề
xuất vào năm 2013 [16] bằng cách kết hp thut toán
DWC và “thuật toán tăng liên kết cơ hội” (OLIA) [17].
Phương pháp này dùng kiểm soát độ tr để sp xếp gói
tin trong hàng đợi, kết hp vi vic s dụng “kích thước
b nh đệm” phía bên nhận để kim soát tc nghn
đa đường. Phương pháp này đạt hiu sut tt trong các
các môi trường mng mà tc nghn luôn biến động.
Trong MPTCP, nếu tăng băng thông ca các liên kết
mạng để đạt được thông lượng cao hơn sẽ không th
hin thực được nếu các đường mng không chia s s
c tht c chai cho nhau [18]. H đã triển khai thut
toán “phát hiện s c tht c chai chia sẻ” (Shared
Bottleneck Detection - SBD) cho MPTCP. Thut toán
này hướng ti s cân bng gia tc nghn thông
ng mng. Thc nghim ca h cũng đã cho thấy có
mt s trưng hp xy ra tình trng tc nghẽn nhưng
không chia s. Tuy vậy, thông lượng mng tối đa thể
đạt được ti 40 % khi s dng 2 lung con. Mc thông
ợng đạt đến 100 % khi s dng 5 lung con. Thc
nghim ca h được trin khai trên Linux kết hp vi
phn mm mô phng mng CORE.
Kho sát qua mt s thut toán trên, th thy các
thut toán kim soát tc nghn trong MPTCP đa phần
tp trung vào pha CA và pha CD. Kim soát tc nghn
các pha này giúp mng không xy ra s c tràn d
liu dẫn đến hủy các gói đ ưu tiên thấp. Điều này
giải được nguyên nhân MPTCP thường ch
hiu qu vi vic truyn d liu ln. Kim soát tc
nghn giai đoạn này d gp s c tràn b đệm (buffer
overflow).
Đại hc Nguyn Tt Thành
Tp chí Khoa hc & Công ngh Vol 7, No 2
26
Thuật toán “kiểm soát tc nghn nht quán thông
ợng” (Throughput Consistency Congestion Control -
TCCC) mt giải pháp dùng hướng tiếp cn ti pha
SS [19], TCCC đề xut s dụng phương pháp “khởi đầu
chm kết hợp” (Coupled SlowStart - CSS) phương
pháp “tránh tắc nghn tích cực” (Aggressive
Congestion Avoidance - ACA). Nhóm tác gi s dng
CSS để ngăn ngừa s c mt gói do s d liệu gia tăng
dùng ACA đ kiểm soát băng thông chia s hp
hơn. Trong thực nghim, TCCC nâng cao hiu sut
truyn ti d liu. Tuy nhiên, trong MPTCP, các lung
con thường hoạt động các giai đoạn khác nhau trong
khi CSS ch vai trò trong pha SS. Thut toán CSS
cần được xem xét nghiên cu ci thin thêm.
Thc nghim cho thy: các thut toán kim soát tc
nghẽn đa đường hin ti không th nhanh chóng điều
chỉnh lưu lượng mng cho các h thng s dng chính
sách “chất lượng dch vụ” (Quality of Service - QoS)
không đồng nhất. Điều đó dẫn đến hiu sut kém trong
mt s môi trường mng biến động [20]. Nhóm tác gi
đề xut thut toán tên gi ACCeSS. Thut toán này s
dụng phương pháp “Hồi quy rng ngẫu nhiên”
(Random Forest Regressing) đ thc hin tối ưu hóa
hiu sut QoS theo các ch s đã chọn. Qua thc nghim
cho thy thut toán này thích ng nhanh vi nhng thay
đổi ca mạng, đáp ng tốt các chính sách QoS đặt
trưc. Trong nghiên cu này, nhóm tác gi đã triển khai
gii pháp trên Linux cho kết qu t trội hơn hầu
hết các phương pháp kiểm soát tc nghẽn đa đường như
wVegas, OLIA, BALIA [21].
3.2 Các phương pháp kim soát tc nghn cho MPTCP
theo hướng tiếp cn hc máy
Có khá nhiều phương pháp và thuật toán kim soát tc
nghẽn cho MPTCP, nhưng c hướng tiếp cn kiu
truyn thng chú trng vào các ch báo đ nhn dng
tc nghẽn như: mất gói, độ tr, ACK RTT… Trong
thc tế, nhng ch báo này thường giá tr bất thường,
không ổn định. Chính vì thế mà các phương pháp kiểm
soát tc nghn truyn thống đạt hiu sut cao trong mô
phỏng nhưng khi thc nghim thc tế li cho hiu sut
thấp hơn kỳ vọng. Trong khi đó, các phương pháp kim
soát tc nghn với hướng tiếp cn da trên hc máy
(ML) đưa ra quyết định da trên kinh nghim t d liu
hun luyn. Vì thế, chúng có th thích ng tt vi mi
tình hung mng.
MPCC một phương pháp kiểm soát tc nghẽn đa
đường da vào hc máy trc tuyến [22]. Phương pháp
này s dụng cơ chế AIMD truyn thng cho tng lung
con nhưng đáp ng nhanh vi nhng biến động mng
nh vào hc máy trc tuyến. cho phn ng nhanh
hơn nhằm giúp kim soát tc nghn phn ng nhanh
vi nhng biến động trong môi trường mng. Nhóm tác
gi đã thc nghim MPCC trên Linux kernel vi các
môi trường mng nhiu liên kết mng khác nhau,
Kết qu cho hiu sut truyền cao, đạt tính công bng
cho các luồng con trong môi trường mng nhiu biến
động. Tuy nhiên, khi nghiên cứu đến việc tăng hiệu sut
cho các lung ngn gii quyết các vấn đề sai lch
băng thông trên đường truyn mạng thì phương pháp
MPCC cho hiu sut kém trong các tình hung trng
thái mạng thay đổi.
Như đã bàn luận, hoạt động ca mng máy tính trong
thc tế luôn biến động, MPTCP ng cần phi thích
ng nhanh vi trng thái mi. Một đề xut s dng
công ngh “Học tăng cường” (Reinforcement Learning
- RL) ra quyết định la chn đường định tuyến để gi
các gói TCP sao cho thông lượng mạng được ti đa hóa
[23]. Vi vấn đề kim soát tc nghẽn đa đường, nhóm
tác gi áp dng thut toán trong ML gọi “học trc
tuyến dựa trên đa trang bị” [24]. Thuật toán điều khin
tc nghẽn này cho phép MPTCP điều chnh tốc độ
truyn linh hot thích ng cho tng lung con vi
hiu sut tt.
SmartCC mt thut toán s dng RL vào kim soát
tc nghẽn đa đường trong môi trường mạng không đồng
nht [25]. Nhóm nghiên cứu đã huấn luyn mô hình t
b quy tc tc nghẽn để giám sát môi trường mng
thc hiện các hành động để điều chnh CWND ca mi
lung con. Nhóm tác gi đã triển khai phương pháp ca
h trên phn mm mô phng NS-3.
Với hình “Kiểm soát tc nghn s dng học tăng
ng sâu” (Deep Reinforcement Learning Congestion
Control - DRL-CC) [26], Nhóm tác gi s dng mt
DRL Agent để kim soát tc nghn cho tt c các lung
con ca MPTCP nhm tối đa hóa tổng tin ích. H s
dng mạng nơ ron dựa trên LTSM để biu din li hot
động ca các lung con, hun luyn cho DRL
framework nhn dng nhanh tc nghn trên các lung
con. Nhóm đã triển khai thc nghim gii pháp trên
Linux.
Mt hình kim soát tc nghẽn khác cũng dựa trên
DRL có tên gi là DeepCC [27]. Khác vi DRL-CC
trên, DeepCC s dng nhiu DRL agent. Mi DRL
agent s điều khin CWND ca mt lung con.