Xem mẫu
- Chương 4
Giao th c TCP
1
- N I DUNG
Ì T ng quan Giao th c truy n t i hư ng k t n i, TCP
H C u trúc segment
Ì Truy n t i s li u tin c y
i u khi n lu ng (flow control)
Ì
Ì Qu n lý liên k t
Ì Ki m soát ngh n
Ì Ki m soát ngh n TCP
Chương 4-Giao th c TCP 3-2
- T ng quan TCP
Ì RFCs: 793, 1122, 1323, 2018, Ì Song công hoàn toàn:
2581
H Lu ng s li u ch y trên c
Ì point-to-point: hai chi u c a cùng k t n i
H M t truy n và m t thu Ì K t n i có hư ng
(connection-oriented):
Ì Tin c y, gi úng th t
B t tay thông qua tra i
Ì C ơ ch ng d n (pipeline): H
thông i p i u khi n
H Ki m soát ngh n và i u
i u khi n lu ng:
khi n lu ng, cài t c a s Ì
Máy phát không làm tràn
S d ng b m truy n và H
Ì
b m máy thu
nh n
ng d ng Ưng d ng
ghi data c data
socket socket
door door
TCP TCP
b m thu
b m truy n
segment
Chương 4-Giao th c TCP 3-3
- C u trúc TCP segment
URG: urgent data,
32 bits
báo có data kh n
trong segment ư c ch
m theo byte
source port # dest port #
ra b i data pointer
s li u
sequence number
ACK: ACK #
acknowledgement number
là h p l
head not
Receive window
UA P R S F
PSH: chuy n data len used
lên trên ngay checksum Urg data pointer
S byte (# bytes)
RST, SYN, FIN: Options (chi u dài thay i) Máy thu s n sàng nh n
Thi t l p k t n i
S li u c a ng d ng
(chi u dài thay i)
Internet
checksum
(như UDP)
Chương 4-Giao th c TCP 3-4
- Ch s tu n t và báo nh n ACK
TCP xem toàn b kh i s li u là m t dòng các byte liên t c
Ch s tu n t trong m i segment là th t trong dòng byte c a
byte u tiên trong ph n data c a segment
Ch s báo nh n ACK trong segment là ch s tu n t c a byte k
ti p trong dòng byte mà máy g i segment này ang ch .
Chương 4-Giao th c TCP 3-5
- Ví d ng d ng Telnet
Khái ni m: Server
Client
Ì Piggyback User Seq=4
2, AC
Gõ ký t
Ì Cumulative ACK K=79,
d ata =
‘C’
‘C’
Nh n 'C' và
truy n l i ‘C’
‘C’
ata =
3, d
CK=4
9, A
eq=7
S
Nh n 'C' và
ph n h i
Seq=4
v i data 3, ACK
=80
tr ng
Gi s client b t u v i tu n t 42
time
Server b t u v i tu n t 79
Chương 4-Giao th c TCP 3-6
- Tham s RTT và Timeout (1)
Tính RTT?
Giá tr timeout?
o lư ng th i gian t khi truy n
Ì Ph i l n hơn th i gian Ì
segment n khi nh n ACK
hành trình RTT (round
trip time) Ì Th i gian này thay i--> trung
bình
RTT thay i
H
Ì Quá ng n?
Ì Quá dài?
Chương 4-Giao th c TCP 3-7
- Tham s RTT và Timeout (2)
EstimatedRTT = (1- α)*EstimatedRTT + α*SampleRTT
Ì Exponential weighted moving average
nh hư ng c a m u quá kh gi m nhanh theo hàm mũ
Ì
Ì Giá tr tiêu bi u là: α = 0.125
Chương 4-Giao th c TCP 3-8
- Ví d
RTT: gaia.cs.umass.edu to fantasia.eurecom.fr
350
300
250
RTT (milliseconds)
200
150
100
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
SampleRTT Estimated RTT
Chương 4-Giao th c TCP 3-9
- Tham s RTT và Timeout (3)
Cài t timeout
Ì EstimtedRTT c ng v i “gia s an toàn”
i nhi u -> gia s l n hơn
EstimatedRTT thay
H
Ì Trư c h t xác nh l ch c a m u so v i EstimatedRTT:
DevRTT = (1-β)*DevRTT +
β*|SampleRTT-EstimatedRTT|
(giá tr tiêu bi u β = 0.25)
Sau ó gán giá tr timeout interval:
TimeoutInterval = EstimatedRTT + 4*DevRTT
Chương 4-Giao th c TCP 3-10
- N I DUNG
Ì T ng quan Giao th c truy n t i hư ng k t n i, TCP
H C u trúc segment
Ì Truy n t i s li u tin c y
i u khi n lu ng (flow control)
Ì
Ì Qu n lý liên k t
Ì Ki m soát ngh n
Ì Ki m soát ngh n TCP
Chương 4-Giao th c TCP 3-11
- Truy n s li u tin c y
Ì TCP th c hi n d ch v Ì Vi c truy n l i ưc
truy n s li u tin c y ngay kích ho t b i:
trên d ch v chuy n
S ki n timeout
H
datagram không b o m IP
Nh n ack trùng
H
Ì Các segment ư c chuy n
theo cơ ch ng d n
(Pipeline)
Ì Dùng báo nh n ki u tích lũy
i di n (cumulative ack)
Ì TCP dùng m t b nh th i
truy n l i
Chương 4-Giao th c TCP 3-12
- Các s ki n phía TCP sender
Nh n data t ng d ng: timeout:
Ì T o segment v i ch s Ì Truy n l i segment gây
tu n t k ti p (seq #) ra timeout
Ì Kh i ng timer n u Ì Kh i ng l i timer
chưa ch y (như cho Nh n ACK:
segment cũ nh t chưa Ì N u ack cho các
có báo nh n) segment cũ chưa có
Ì Kho ng th i gian báo nh n
timeout ư c gán: C p nh t
H
TimeOutInterval Kh i ng timer n u còn
H
segment ang i
Chương 4-Giao th c TCP 3-13
- Các k ch b n truy n l i
Host A Host B
Host A Host B
Seq=9
Seq=9 2, 8 b
2, 8 b ytes d
yt es dat ata
Seq=92 timeout
Seq=
a
100,
20 by
tes d
timeout
ata
100
CK=
A
00
=1
X 0
CK CK=12
AA
loss
Seq=9
Seq=9 2, 8 b
2, 8 b Sendbase yt es dat
yt es dat a
a = 100
Seq=92 timeout
SendBase
20
= 120
K=1
100 AC
CK=
A
SendBase
SendBase
= 100
= 120
Timeout s m
time
time
M t ACK
Chương 4-Giao th c TCP 3-14
- K ch b n truy n l i (2)
Host A Host B
Seq=9
2, 8 b
yt es dat
a
100
timeout
CK=
Seq=1 A
0 0, 20
bytes
data
X
loss
120
SendBase CK=
A
= 120
time
ACK tích lũy i di n
Chương 4-Giao th c TCP 3-15
- Phát sinh ACK
c t theo RFC 1122, RFC 2581
Hành vi t i máy thu
S ki n t i máy thu
Ch m ACK. i segment k trong
Segment n úng th t v i ch
500ms. N u không có segment k ,
s mong i. T t c data n ch
g i ACK
s này u ã ư c báo nh n
G i ngay m t ACK i di n báo
Segment n úng th t v i ch
nh n cho c hai m t lúc
s mong i. M t segment khác
ang ư c xúc ti n báo nh n
G i ngay ACK trùng ch s ch ra
Segment n không úng th t
byte ang i k ti p
v i ch s l n hơn ch s mong
i. Phát hi n m t segment
G i ngay ACK,báo ch segment v i
Segment n b sung vào m t
byte b t u t i ch thi u u tiên
ph n hay toàn b s b m t
Chương 4-Giao th c TCP 3-16
- Truy n l i nhanh (Fast Retransmit)
Ì Kho ng time out tương Ì N u máy phát nh n 3
i dài: ACK trùng cho cùng
data, xem như segmnet
Ch m truy n l i segment
H
b mt k ti p ã b m t:
Ì Phát hi n m t segment Truy n l i nhanh : truy n
H
l i trư c khi timer h t
qua ACK trùng.
hn
Sender g i nhi u
H
segment liên ti p
N u segment b m t s
H
có nhi u ACK trùng.
Chương 4-Giao th c TCP 3-17
- Host A Host B
X
timeout
Truy
nl il
n2
time
Truy n l i sau khi nh n ba ACK trùng Chương 4-Giao th c TCP 3-18
- Gi i thu t truy n l i nhanh:
s ki n: nh n ACK , v i giá tr ACK cho y
if (y > SendBase) {
SendBase = y
if (có các segment v n chưa ư c báo nh n)
start timer
}
else {
tăng s m ACK nh n cho y
if (n u s m ACK nh n cho y = 3) {
truy n l i segment v i s tu n t y
}
M t ACK trùng cho Truy n l i nhanh
segment ư c báo nh n
Chương 4-Giao th c TCP 3-19
- N I DUNG
Ì T ng quan Giao th c truy n t i hư ng k t n i, TCP
H C u trúc segment
Ì Truy n t i s li u tin c y
i u khi n lu ng (flow control)
Ì
Ì Qu n lý liên k t
Ì Ki m soát ngh n
Ì Ki m soát ngh n TCP
Chương 4-Giao th c TCP 3-20
nguon tai.lieu . vn