计算机网络课件 Lec-6
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
too long: slow reaction to segment loss
Q: how to estimate RTT?
SampleRTT: measured time from segment transmission until ACK receipt ignore retransmissions
Transport Layer 3-60
TCP round trip time, timeout
Q: how to set TCP timeout value?
longer than RTT
but RTT varies
too short: premature timeout, unnecessary retransmissions
Transport Layer 3-57
TCP segment structure
URG: urgent data (generally not used)
ACK: ACK # valid
PSH: push data now (generally not used)
RST, SYN, FIN: connection estab (setup, teardown
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
TCP seq. numbers, ACKs
sequence numbers: byte stream “number” of first byte in segment’s data
acknowledgements: seq # of next byte expected from other side cumulative ACK
source port # dest port #
sequence number
acknowledgement number
A
rwnd
checksum
urg pointer
Transport Layer 3-59
TCP seq. numbers, ACKs
Host A
Host B
User types
Q: how receiver handles out-of-order segments A: TCP spec doesn’t say,
- up to implementor
outgoing segment from sender
source port # dest port #
sequence number acknowledgement number
SampleRTT will vary, want estimated RTT “smoother” average several recent measurements, not just current SampleRTT
connection-oriented:
handshaking (exchange of control msgs) inits sender, receiver state before data exchange
flow controlled:
sender will not overwhelm receiver
no “message boundaries”
pipelined:
TCP congestion and flow control set window size
full duplex data:
bi-directional data flow in same connection
MSS: maximum segment size
3.7 TCP congestion control
Transport Layer 3-56
TCP: Overview RFCs: 793,1122,1323, 2018, 2581
point-to-point:
one sender, one receiver
reliable, in-order byte steam:
3.5 connection-oriented transport: TCP
segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
Urg data pointer
options (variable length)
application data
(variable length)
counting by bytes of data (not segments!)
# bytes rcvr willing to accept
Transport Layer 3-58
commands)
Internet checksum (as in UDP)
32 bits
source port # dest port #
sequence number
acknowledgement number
head len
not used
UAP R S F
receive window
checksum
rwnd
checksum
urg pointer
window size N
sender sequewk.baidu.comce number space
sent ACKed
sent, not- usable not
yet ACKed but not usable
(“in-
yet sent
flight”)
incoming segment to sender
‘C’
host ACKs receipt
of echoed ‘C’
Seq=42, ACK=79, data = ‘C’ Seq=79, ACK=43, data = ‘C’
Seq=43, ACK=80
host ACKs receipt of ‘C’, echoes back ‘C’
simple telnet scenario
Q: how to estimate RTT?
SampleRTT: measured time from segment transmission until ACK receipt ignore retransmissions
Transport Layer 3-60
TCP round trip time, timeout
Q: how to set TCP timeout value?
longer than RTT
but RTT varies
too short: premature timeout, unnecessary retransmissions
Transport Layer 3-57
TCP segment structure
URG: urgent data (generally not used)
ACK: ACK # valid
PSH: push data now (generally not used)
RST, SYN, FIN: connection estab (setup, teardown
Chapter 3 outline
3.1 transport-layer services
3.2 multiplexing and demultiplexing
3.3 connectionless transport: UDP
3.4 principles of reliable data transfer
TCP seq. numbers, ACKs
sequence numbers: byte stream “number” of first byte in segment’s data
acknowledgements: seq # of next byte expected from other side cumulative ACK
source port # dest port #
sequence number
acknowledgement number
A
rwnd
checksum
urg pointer
Transport Layer 3-59
TCP seq. numbers, ACKs
Host A
Host B
User types
Q: how receiver handles out-of-order segments A: TCP spec doesn’t say,
- up to implementor
outgoing segment from sender
source port # dest port #
sequence number acknowledgement number
SampleRTT will vary, want estimated RTT “smoother” average several recent measurements, not just current SampleRTT
connection-oriented:
handshaking (exchange of control msgs) inits sender, receiver state before data exchange
flow controlled:
sender will not overwhelm receiver
no “message boundaries”
pipelined:
TCP congestion and flow control set window size
full duplex data:
bi-directional data flow in same connection
MSS: maximum segment size
3.7 TCP congestion control
Transport Layer 3-56
TCP: Overview RFCs: 793,1122,1323, 2018, 2581
point-to-point:
one sender, one receiver
reliable, in-order byte steam:
3.5 connection-oriented transport: TCP
segment structure reliable data transfer flow control connection management
3.6 principles of congestion control
Urg data pointer
options (variable length)
application data
(variable length)
counting by bytes of data (not segments!)
# bytes rcvr willing to accept
Transport Layer 3-58
commands)
Internet checksum (as in UDP)
32 bits
source port # dest port #
sequence number
acknowledgement number
head len
not used
UAP R S F
receive window
checksum
rwnd
checksum
urg pointer
window size N
sender sequewk.baidu.comce number space
sent ACKed
sent, not- usable not
yet ACKed but not usable
(“in-
yet sent
flight”)
incoming segment to sender
‘C’
host ACKs receipt
of echoed ‘C’
Seq=42, ACK=79, data = ‘C’ Seq=79, ACK=43, data = ‘C’
Seq=43, ACK=80
host ACKs receipt of ‘C’, echoes back ‘C’
simple telnet scenario