Professional Documents
Culture Documents
Chapter 3 B
Chapter 3 B
Truyền
04 switch(Sự kiện)
05 Sự kiện: data received from application above
06 create TCP segment with sequence number nextseqnum
tin cậy
07 start timer for segment nextseqnum
08 pass segment to IP
09 nextseqnum = nextseqnum + length(data)
10 Sự kiện: timer timeout for segment with sequence number y
11 retransmit segment with sequence number y
12 compue new timeout interval for segment y
TCP phía Gửi 13 restart timer for sequence number y
14 Sự kiện: ACK received, with ACK field value of y
đơn giản 15 if (y > sendbase) { /* cumulative ACK of all data up to y */
16 cancel all timers for segments with sequence numbers < y
17 sendbase = y
18 }
19 else { /* a duplicate ACK for already ACKed segment */
20 increment number of duplicate ACKs received for y
21 if (number of duplicate ACKS received for y == 3) {
22 /* TCP fast retransmit */
23 resend segment with sequence number y
24 restart timer for segment y
25 }
26 } /* end of loop forever */
3: Transport Layer 3b-5
TCP: Chính sách ACK [RFC 1122, RFC 2581]
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, 2, 8 b y te
8 byte s data
s data Seq=
Seq=92 timeout
1 00, 2
0 by t
es da
t
Seq=100 timeout
timeout
a
=100
ACK 0
10
X CK=
A AC K = 120
loss
Seq=9 Seq=9
2, 8 b 2, 8 b
y y t es da
tes da ta
ta
= 120
K
= 10 0 AC
ACK
closed
closed
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 !
Trường EFCI 1 bit được switch tắc nghẽn thiết lập giá trị 1
Nếu tế bào dữ liệu đằng trước tế bào RM có giá trị EFCI =1, phía gửi
thiết lập bit CI trong tế bào RM phản hồi
Congwin
w * MSS
Thông lượng = Bytes/sec
RTT
RTT
initialize: Congwin = 1 two segm
ents
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 !)
Sự kiện loss : timeout (Tahoe time
TCP) hoặc/và ba lần nhận ACK
trùng lặp (Reno TCP)
O S S
Latency 2 RTT P RTT ( 2 P 1)
R R R
P min{Q , K 1}
K = 4 windows R TT
second window
= 2S /R
Q=2
third w indow
= 4S /R
P = min{K-1,Q} = 2
com plete
object transm ission
delivered
tim e at
tim e at server
client
S
2k 1 time to transmit the kth window request
R object
first w indow
= S /R
S k 1 S
R TT
second w indow
P
O
latency 2 RTT stallTime p
fourth w indow
= 8S /R
R p 1
P
O S S
2 RTT [ RTT 2k 1 ]
R k 1 R R object
com plete
transm ission
delivered
O S S
2 RTT P[ RTT ] ( 2 P 1) tim e at
tim e at
server
R R R client