Professional Documents
Culture Documents
Segment theo ñúng STT ñến, Ngay lập tức gửi một ACK mang giá
Không thiếu dữ liệu, trị tích lũy
Có một ACK bị treo
Segment theo ñúng STT ñến Gửi ACK trùng lặp, chỉ STT của
(STT ñến lớn hơn số mong byte dữ liệu mình muốn nhận
ñợi). Thiếu dữ liệu
Một segment ñến ñiền vào Biên nhận STT bên nhận mong muốn
ñoạn dữ liệu bị khuyết nhận
Seq=9 Seq=9
2 , 8 byt 2 , 8 byt
es da es da
ta
Seq=92 timeout
ta Seq=
1 00, 2
0 byt
es da
Seq=100 timeout
timeout
ta
C K=100
A 0
10
X C K=
K = 120
A AC
loss
Seq=9 Seq=9
2 2 , 8 byt
, 8 byt es da
es da ta
ta
0
=1 2
=100 A CK
A C K
application
data
(variable length)
SYN(s
eq=x) SYN(s
eq=x)
) Chấp nhận?
( s eq=y eq=y
)
S Y N N ( s
=x), S Y
(s eq eq=x),
AC K AC K
(s
Không có yêu
ACK(s
cầu như vậy
eq=y) ACK(s
eq=z)
D AT A Từ chối
(seq=
x+1)
REJE
CT(se
q=y)
close
client ñóng socket: FIN
clientSocket.close();
timed wait
A CK
FIN, biên nhận cho gói tin này.
ðóng kết nối, gửi gói FIN.
closed
timed wait
A CK
Chú ý: Với vài cải tiến nhỏ, ta có
closed
thể xử lý ñồng thời nhiều gói
FIN.
closed
Hai phía quân xanh cần thống nhất thời ñiểm ñể cùng tấn công quân trắng. Họ thỏa thuận bằng
cách gửi thông ñiệp cho nhau. Nếu cùng ñồng ý : tấn công, còn không sẽ không tấn công. Chú ý
rằng người truyền tin có thể bị bắt ! Nếu cùng tấn công, bên xanh thắng, còn nếu tấn công riêng lẻ,
bên trắng thắng 3: Transport Layer 3b-19
ðóng kết nối trong bốn bước
A B
ðề nghị ñóng ðóng
A->B FIN
A->B ñóng
AC K
ðóng ðề nghị ñóng
A->B ñóng FIN B->A
A CK
timed wait
%netstat -t -a SYN
SENT SYN
CLOSED
LISTEN
SYN
RCVD
K
/AC
SYN
ESTABLSIHED
ACK
ESTABLSIHED
ESTABLSIHED ESTABLSIHED
FIN
WAIT 1 FIN
CLOSE
WAIT
AC K
LAST
WAIT 2
TIME
WAIT ACK
Tắc nghẽn:
Mường tượng: “có quá nhiều nút gửi
quá nhiều dữ liệu với tốc ñộ quá nhanh
mà mạng không chuyển kịp”
Khác với ðiều khiển lưu lượng!
Biểu hiện :
Mất gói tin (Tràn bộ ñệm tại router)
ðộ trễ lớn (Các gói tin phải “xếp
hàng” tại router)
Là một trong 10 vấn ñề quan trọng nhất !
Congwin
RTT
initialize: Congwin = 1 two segm
en ts
for (each segment ACKed)
Congwin++
until (loss Sự kiện OR four segm
ents
CongWin > threshold)
Kích thước cửa sổ tăng theo
hàm số mũ (không quá chậm !)
time
Sự kiện loss : timeout (Tahoe
TCP) hoặc/và ba lần nhận ACK
trùng lặp (Reno TCP)
3: Transport Layer 3b-34
TCP : Tránh tắc nghẽn
Tránh tắc nghẽn
/* slowstart is over */
/* Congwin > threshold */
Until (loss Sự kiện) {
every w segments ACKed:
Congwin++
}
threshold = Congwin/2
Congwin = 1
perform slowstart 1