Trang 1 NGÔ HẢI LINHBỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI--- Ngô Hải LinhCÔNG NGHỆ THÔNG TINNGHIÊN CỨU GIAO THỨC TCP THẾ HỆ MỚI TRÊN DI ĐỘNGLUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG
Trang 1NGHIÊN CỨU GIAO THỨC TCP THẾ HỆ MỚI TRÊN DI ĐỘNG
LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN
HàNội – Năm 2018
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Ngô Hải Linh
NGHIÊN CỨU GIAO THỨC TCP THẾ HỆ MỚI TRÊN DI ĐỘNG
Chuyênngành : Côngnghệthông tin
LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC :
1 PGS.TS NgôHồngSơn
HàNội – Năm 2018
Trang 3Danh m c
M U 7
NG QUAN V GIAO TH C TCP
1 Gi i thi u giao th c TCP 9
2 C u trúc gói tin TCP 10
3 Quá trình ho ng c a giao th c TCP 13
4 u khi n lu ng trong TCP 17
5 u khi n t c ngh n trong TCP 21
6.K t lu 23
NG QUAN V GIAO THC MULTIPATH TCP 24
1 i c a MP TCP
2 L i ích c a MP TCP 24
3 Nh ng m t ra khi thi t k MP TCP
4 Mô hình phân chia ch a MP TCP 27
5 Các thành ph n chính trong MP TCP 29
6 Các lo i b n tin trong MP TCP 30
7 Quá trình thi t l p k t n i 32
8 Kh i t o lu ng con m i 36
9 Qu ng d n 37
10 Quá trình truy n d li u 40
11 t n i 43
12 K t lu 45
3: XÂY D NG KI M TH GIAO TH C MPTCP
1 Gi i thi ng ki m th s d ng h u hành Android 45
2 K ch b n và k t qu th nghi m 56
K T LU N 62
TÀI LI U THAM KH O 64
Trang 5DANH M H M H M C H C H C HÌNH ÌNH ÌNH V V V
H nh 1: C ng trong ph n TCP header
H nh 2 C u trúc ph n d li u 12
H nh 3 Bi quá trình ho ng c a giao th c TCP 13
H nh 4 thi t l p k t n i 15
H nh 5 Quá trình thi t l p k t n i 2 phía 15
H nh 6 Quá trình k t thúc k t n i 16
H nh 7 C a s t 18
H nh 8 Giao th c Go-Back-N 20
H nh 9Giao th c Selective Repeat v i c a s t l 1 2
H nh 10 Các thu u khi n t c ngh n
H nh 11 Mô hình ki n trúc Internet truy n th ng 26
H nh 12 Mô hình th c t 27
H nh 13 Mô hình MPTCP 27
H nh 14 Thành ph n c a MPTCP 29
H nh 15 Ví d v m t k ch b n s d ng MPTCP 33
H nh 16 B n tin Multipath Capable 34
H nh 17 Quá trình kh i t u tiên c a k t n i trong giao th c MPTCP
H nh 18 Minh h a quá trình b u c a m t lu ng con m i trong giao th c MPTCP 36
H nh 19Ví d v s d ng Token 37
H nh 20 B n tin Join Connection 37
H nh 21 B n tin Add Address 39
H nh 22 B n tin Remove Address 40
H nh 23 B n tin Data Sequence Mapping 41
H nh 24 B n tin xác nh n c p k t n i 42
H nh 25 B n tin Data Finish 44
H nh 26 minh h a cách th c ho ng c m MPTCP 46
H nh 27 Thi t l p c u hình giao th c MPTCP 47
H nh 28 Các thi t l p c u hình trên router 48
H nh 29Các thi t l p c n tho i
H nh 30 Hình nh k t n i gi u khi n tho Nexus 5 và router TpLink 52
H nh 31 c ch a toàn b code c
Trang 6H nh 33 m tra tr n tho i và hi n th danh
ng m t k t n i cho c ng upload và download
Trang 7
TCP Transmission Control Protocol
IP Internet Protocol
UDP User Datagram Protocol
OSI Open Systems Interconnection
MPTCP MultipathTransmission Control Protocol
IETF Internet Engineering Task Force
Trang 8TÓ TÓM T M T M T T T T
tài này tôi s trình bày các nghiên cTCP trên thi t b ng s d ng h
ng truy n khi s d ng giao th
thu th c khi s d ng giao th c Multipath TCP và giao th c Single path TCP trên thi t b ng s d ng h u hành Android
AB ABSTR STR STRACT ACT ACT
In this dissertation I will show how the research on generation of Multipath TCP
on mobile phone using Android operating Given the information on the transmission
system using Multipath TCP protocol, single path TCP protocol And show evaluate
performance, speed, trust, flow network collected when using the Multipath TCP and
Single path TCP on the mobile phone using Android operating
Trang 9
M
M U U
i Khi giao th c c thi t k , các thi t b u cu i ch có m
k t n i(single interface) Ngày nay, h u h t các n có k t n i internet có nhi t giao di n k t n i và s ph bi n c a nh ng chi n tho i th
c trang b v i c 3G và Wifi s mang l i m t s máy ch multihomed(máy ch có nhi u giao di n k t n i) trên Internet.M t gi i pháp
t ra cho vi c truy c p Internet trên thi t b ng t n d ng nhi u giao di
d ng th i nhi u giao di n k t n i m ng Khi m t giao di n m ng b t c ngh
ho c m t k t n i, gi i pháp trên có th d dàng gi m t i giao thông m ng b ng cách
k t n i v i m t giao di n m ng khác mà không c n ph i phá v k t n i TCP hi n t i
v nh ng l i ích c a vi c s d ng MPTCP v i ng d ng này Trong báo cáo này, tôi s
2G/3G/4G Các ng d ng dùng trong vi c ki m th bao g m Facebook, Messenger,
Trang 10ch y các k ch b n th nghi m trên các ng d ng trên và thu th ng, t
Trang 11NG Q Q QUA UAN V UA N V GIAO N V GIAO GIAO TH TH TH C C C TCP TCP TCP
1. GiGiGi i thii thii thi u giu giao u giao ao thth ccccc TCP th TCP
TCP (Transmission Control Protocol
[4]
các p
-d li
Trang 12- D li u l i s c truy n l li
- D li nh s th t Các gói tin TCP
- u khi n lu ng(flow-control), bên g
- TCP s d ng c c thu t to u khi n t c ngh chia s ng m ng
gi a c i d ng
2. CCC u tu tu trúc rúc rúc gói gói tin Tgói tin Ttin TCP CP
: a) TCP header
ng c
ng c a a TCPa TCP heaTCP hea header:der:der:
- CCC nnnnng ngg nguuuuu n (Sog ng n (Son (Sourceurce pource po port) -rt) -rt) - 16 bi 16 bi 16 bitsts nh c ng c a máy g i dài 16 bits
- CC (D (Desesestinattinationtinationion port port port) - 16) - 16) - 16 bi bi bitsts nh c ng c a máy nh n dài 16
Trang 13- SSSSS ththth t t t t t (Seq (Seq (Sequenuenuence nce nce numumumber)ber) - 32ber) - 32 bit - 32 bitsssss: có hai vai trò: bit
c sinh ra b i h u hành) S th t c a byte d li u ti p theo b ng v
- DDD ccccch h ddddd h lili u u (Data (Data (Data offseoffsettttt -offse) ) 4 4 4 bitsbits
- DDD tr (R (Reserveserveservededed) 3 bi) 3 bits:) 3 bits: s d cthi
- CCC (Fla(Flags(Flags - 9gs) - 9- 9 bits bits: : : : : bits
Trang 14- ConConCon trtrtr kh nnnnn (U(U(Urgentrgentrgent poipoipointenterrrrr - nte) - 16 - 16 16 bibibits:ts: N u c URG b t thì giá tr ng này chính là s t 16 bít mà s th t gói tin (sequence number) c n d ch trá i.
- Tùy chTùy chTùy ch n (Optin (Optin (Options): ons): ng tùy ch n, n dài c
Trang 153. QuQuQuá trìá trìá trình hnh hnh hooooo ngng c c a gi c a gia giao thao thao th c TCPc TCPc TCP
Trang 16- SYN-RECEIVED: (máy ch ) trngj thái ch xác nh n yêu c u k t n i sau khi
c hai nh c và g i m t yêu c u k t n i
- FIN-WAIT-1: (c máy ch và máy khách) tr ng thái ch yêu c u ch m d t
Trang 171 Máy khách g i gói tin SYN (gói tin TCP) t i máy ch yêu c u thi t l p k t
t o ra t thu t toán c a riêng m i h u hành)
2 Máy ch h ng cách g i l i phía máy khách gói tin SYN-ACK, trong
c gán ng u nhiên m t giá tr Y (Y
c a máy ch )
Trang 183 hoàn t t quá trình b c, máy khách ti p t c g i t i m
- Ki m soát lu ng: gi i h n t bên g i truy n d li m b
cho d li u trong b c x lý
c) K t thúc k t n i
Hnh 6 Quá trình k t thúc k t n i
Trang 19k t thúc k t n i hai bên s d ng b t tay b c, m i bên c a k t n i k t
u kia xác nh n l i b ng gói ACK Vì v y, m t quá trình k t thúc tiêu bi
M t k t n i có th t n t i d ng "n a m ": m t thúc g i d li
ch nh n thông tin, bên kia v n ti p t c g i
4 u u khikhikhi n lun lu ng tn lu ng tng tronronrong Tg TCP g TCP
Trong giao ti pd li u, u khi n lu nglà quá trìnhqu n lý t l truy n t id
b quá t i v i cácd li ut node truy u khi n lu c phân bi t v
ra
4.1
4.1 StoStoStop-p-and-w-wait ait
thànhnhi u khung Bên g i m t ACK sau m i khung m t kho ng th i gian nh t nh(g i là th i gian ch - timeout) m b o r ng bên nh
1 Bên gBên gBên g iiiii: Truy nm tkhungduy nh t t im t th m
2 Bên nBên nBên nhhhhh nnnnn: Truy ntin báo nh n (ACK) khinó nh cm tframe
3 Bên gBên gBên g iiiii: nh nACKtrongth i gian ch
4 Tr l i c1
N um t khung hayACKb m ttrong quá trình truy nthì nó s c truy nl ib ibên g i Quá trìnhtruy n l c g i làARQ(yêu c u l p l it ng)
Trang 20V v i Stop-and wait là ch cóm t khung hìnhcó th ctruy i m
nh nc abên g i là không th truy n t ib t k gói tinm i Trong th i giannày, c bên
Trang 22nh n khi quá th i gian, nó s th c hi n g i l i các khung 2, 3, 4, 5, 6,
ph t l i c l a ch n(Selective repeat)
Trang 23Hnh 9Giao th c Selective Repeat v i c a s t l
khun
,
5 u u khikhikhi n tn t c nghn t c nghc ngh n n tronn trong Ttrong Tg TCP CP
Hi n t i TCP dùng 4 thu t toán liên k t ch t ch v i nhau là: Slow Start,
Trang 24Hnh 10 Các thu u khi n t c ngh n 5.1
5.1 SlowSlowSlow St St Start art
c gán b ng 1 MSS (maximum segment s
N u m t gói tin, thu t toán s t l ng slow start b ng 1 n a congestion
5.2 CongCongCongestiestion Aestion Aon Avoivoivoidancdancdance e
n tính congestion window 1 MSS sau m i RTT
N u nh c ACK thì cwnd = MSS2/cwnd
Trang 25N u nh n 3 gói ACK trùng thì gi m cwnd xu ng 1 n a thay vì gi m v ngssthresh s b ng v i cwnd lúc này, chuy n sang Fast Recovery
5.3
5.3 FastFastFast Rec Rec Recoveoveovery ry ry
Trong tr ng thái này, TCP s truy n l i các gói tin b m t và ch i ACK c a toàn
lúc này
c vào tr ng thái slow start
5.4
5.4 FastFastFast Ret Ret Retransransransmitmitmit
Khi bên g i nh c ba gói tin ACK trùng thì nó s chuy n sang tr ng thái Fast
Hi n nay, v i vi c tri n khai và phát tri n nhanh chóng c a các m ng d li u di
Trang 26NG G G QU QU QUAN V AN V AN V G G GIAO C M C MUL IAO IAO TH UL ULTIP TH TIP TIPAT AT ATH T H T H TCP CP
1 i ci c a Ma Ma MP TP TCP P TCP
Ngày nay, nh ng giao th c hi n t i ch y u u ch y trên n n t ng TCP/IP v n
ch dùng m ng duy nh truy n d n gi a hai máy tính u này d
Internet phát tri n kéo theo nhu c u v
ng các ngu n tài nguyên này (ch ng h
Trang 27C iiiii thithithi n n n thôthôthông ng ngng ccccc a a hhhhh a th ng ng (th(th(throurouroughpghput):ghput): MPTCP ho
Trang 28i s d ng các thu t tongh n riêng (s nói sau)
b) M c tiêu v s
Ngoài các m c tiêu ch c li t kê trên, giao th c TCP Multipath ph i
nay
g
g thícthích thích h vvvvv i i i i i nnnnng g g ddddd nnnnng:g: Kh ng d ng là s
end- -end to end- -end to
End Host
Host
Trang 29Application
IP
MPTCP Subflow ( TCP ) Subflow ( TCP )
end- -end to
End Host Router Firewall,NAT,
Proxy
End Host Transport
Trang 30i ng d ng, m r ngMPTCPl tqu n lýcácTC
ManManageManageagememement):nt):
d ng nhi ng d ngi a hai host
MPTCP có th t o m i m t k t n i ho c gia nh p các lu ng con này vào các k t n
có s n
L
L ppppp lllll ch ch (Schech (Sche(Schedulindulinduling):g): nàychia dòng bytenh ct t ng ng d ngthành
các gói tin
Chính vì MP TCP s d ng
ttttt c c nghc nghngh n:n:
Trang 315. CácCácCác thàn thành p thành phhhhh nnnnn chính p chín chính h h trongtrongtrong MP MP MP TCP TCP TCP
MPTCP n m hoàn toàn trong t ng v n chuy n, và có th chia làm 2 thành ph n
i :
H nh 14 Thành ph n c a MPTCP Mu
Multipltipathltipathath Sche Sche Scheduleduleduler:r:r: nh n bi ng d i d ng các s Nó ch nhìn m t c
là gi a bên A (address A, port A1) và bên B (address B, port B1), nên MPS s nh n bi t
k t n i này v i connection ID là <A1, B1, pA1, pB1>
Pat
MPS g n path ắ
id = 3 vào gói tin
A1, B1, pA1,pB1
path1 path2 path3
zzzz control plane data plane
Trang 326. CácCácCác lo lo iiiii b lo b nnnnn tin b tin tron tin tron trong Mg Mg MP TCP TCP P TCP
ng Options c a TCP header
Ký h
Ký hiiiii uuuuu b b b nnnnn tin tin tin TênTên b b nnnnn tin b tin tin
Trang 33hai không gian s th t nên c n m t ánh x chính xác gi a không gian chu i d li u
và không gian chu i lu ng con(chính là Data Sequence Mapping), ánh x c báo hi
ACK
s th t c p lu ng con, không báo nh n không gian th t m c d li u(m c k t n i
MP TCP)
DuDuplicatplicatplicate ACK:e ACK:e ACK: Khung ACK này
S
B ng 1 Các lo i b n tin trong giao th c MPTC
Trang 34C aaaaa sssss nh n n (Recei(Recei(Receive ve ve WindoWindow):Window): C a s nh n t n t i c p k t n i thích h
c a bên nh n Trong MP TCP, m i lu ng con ph i báo cáo cùng m t c a s nh n
FIN(F
con, không s d ng m c k t n báo hi u k t thúc m c k t n i, ta s d ngoption DATA_FIN
RST
có RST m c k t n i, vì không th phân bi t RST c a hai k t n i Ví d : n u m t máy
th i t t c lu ng con c a k t n
aaaaa chchch (A(A(Addddddrereressssss LiLiListst):st): ):Vi c qu a ch
u này cho phép ng d ng chính sách c c b trên m i k t n i Thêm m a ch vào
Trang 36TCP
Vi c kh i t o phiên k t n i b u b i m t b n tin SYN, các b n tin SYN và AC
i trên cùng m ng d n Trong hai lo i gói tin này s thêm vào b
B
H nh 16B n tin Multipath Capable
N u m t gói tin SYN bao g m m t b
Sender Token ( gồm 4 octet ) Initial Data Sequence Number
Initial Data Sequence Number ( g m 6 octet ) ồ
Trang 37l i SYN/ACK không có thì bên g i s gi thi t bên nh n không có kh
SYN + TokA + DSN
SYN/ACK + TokB + DSN
Trang 38thu c v k t n i nào Token trong b
mà lu ng con này mu n k t h p vào Token này là duy nh t cho m i k t n c
SYN + TokB + Address ID
SYN/ACK + TokA + Address ID
Trang 39Address A1 Address A2 Address B1 Address B2
SYN+OPT_MPC (token A) SYN/ACK+OPT_MPC (token B)
SYN+OPT_JOIN (token B) SYN/ACK+OPT_JOIN (token A)
i SYN trong m i lu ng con là không quan tr ng, và có th s d ng b t c giá tr nào,
mi n là m i host có m t 5 tuple duy nh t Th c t h u h t các lu ng con m i s k t
H nh 20B n tin Join Connection
Trang 41liên k t, và cho phép trong m t b n tin có th thông báo nhi u c p (ID, Address)
c có th g i nhi u gói tin TCP bao g m b n tin
thu cvào khi nào bên g i mong mu n th c hi n truy n qua nhi ng d n
Address ( IPv4 – 4 octet )
Address ID
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Trang 42Quá trình g i và nh n b n tin này kh i t o quá trình g i FIN c u cu i
bên trong chúng mà không c n ch kho ng th i gian timeout
v c yêu c u, bên nh n s t nhiên b qua các yêu c u này
H nh 22B n tin Remove Address
10. QuQuQuá trìá trìá trình trunh trunh truyyyyy n dn dn d lili u
10.1 Ánh Ánh xxxxx sÁnh s s ththth t t t t t d d d lilililili u(Du(Du(Data Sata Sequeata Sequeequencence Mance Ma Mappippipping) ng)
Thi t b u cu i khi tri n khai giao th c MP TCP s nh n dòng d li u t m t
ng d ng, phân chia nó vào m t hay nhi u lu ng con T t c dòng d li u này có th
c ráp l i t i bên nh n b ng cách s d ng b Data Sequence Mappingánh
ánh xxxxx sssss th ttttt c c p c p p ddddd lili u vu v i i i i i sssss th ttttt ccccc ppppp lululu nnnnng g g concon Nh b n tin này mà t ng ng
Subflow Sequence Number nh d li u thu c v lu ng con nào
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Trang 43xác nh n này v Data Sequence Number
n d li u trong m t lu ng con b m t thì bên nh n ph i báo cho bên g i
ACK các d li u nh c mà không theo th t )
H nh 23B n tin Data Sequence Mapping
gi a hai không gian chu i này v i chi
n tin này là tuy
10.2 Báo Báo nhBáo nhnh nnnnn d d d lilililili uuuuu
T trên th y r ng hoàn toàn có th xác nh n c p lu ng con N u x
h p mà d li u trong lu ng b lo i b c xác nh n (có th x yproxy middlebox b l i, hay b m m t máy b tràn), k t n i s t hoàn toàn vì bên g i cho r ng d li c nh n trong khi th c t l
Data Sequence Number ( dài 8 octet )
Data – level Length ( dài 2 octet ) Subflow Sequence Number ( dài 4 octet )