Click here to load reader
Upload
marly
View
97
Download
6
Embed Size (px)
DESCRIPTION
第 5 章 运输层. 5.1 运输层协议概述. 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。. 面向信息处理. 应用层. 用户功能. 运输层. 网络层. 面向通信. 网络功能. 数据链路层. 物理层. 运输层为相互通信的应用进程提供了逻辑通信. 应用进程. 应用进程. AP 4. AP 1. AP 2. 5 4 3 2 1. AP 3. 5 4 3 2 1. 端口. 端口. 运输层提供应用进程 间的逻辑 通信. IP 层. 主机 A. - PowerPoint PPT Presentation
Citation preview
5
5.1
54321 A B 1 2AP1LAN2WANAP2AP3AP4IP LAN1AP1AP2AP454321IP TCP UDP AP3
IP TCP UDP
TCP UDP
OSI A BTSAPNSAP
TCP UDP
5.2 TCP/IP 5.2.1 TCP/IP(1) UDP (User Datagram Protocol)(2) TCP (Transmission Control Protocol)
TCP UDP TPDU (Transport Protocol Data Unit)TCP TCP (segment) UDP UDP
TCP UDP UDP UDP UDP UDP TCP TCP TCP
5.2.2 TSAP
TCP UDPTCP IP UDP TCP UDPTCP UDP IP
16 bit
0~1023
(socket) TCP () TCP (socket)IP
Berkeley Sockets
5.3 UDP 5.3.1 UDP UDP IP UDP UDP UDP UDP 8
UDP 51000UDP 69TFTP TFTP UDP
5.3.2 UDP UDP IP IP 017IP 44112122222 UDP
UDP IP IP 017IP 44112122222 UDP UDP 8 4
UDP IP IP 017IP 44112122222 UDP UDP
5.4 TCP 5.4.1 TCP TCP TCP
TCP
TCP20 FIN32 bitSYNRSTPSHACKURG 0 8 16 24 31 TCP TCP TCP IP IP
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 2
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 4 TCP
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 4
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 4 bit TCP TCP 32 bit 4
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 6 bit 0
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 URG URG 1 ()
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 ACK ACK 1 ACK 0
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 PSH (PuSH) TCP 1
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 RST (ReSeT) RST 1 TCP
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 SYN SYN 1
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 FIN (FINal) FIN 1
2 TCP TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 2 TCP 12
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 16 bit
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 TCP MSS (Maximum Segment Size)MSS TCP MSS MSS TCP TCP TCP
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 4
5.4.3 TCP TCP TCP TCP TCP 1
5.5 5.5.1
H1 H2 R1 R2 R3 H1 H2
( H1 H2 R1 R2 R3 H1 H2 R1R2R3H1H2
5.6 5.6.1 A BAP2AP1
1 2
:Fig. 3-9
5.6.2 A B
(1) (2) (3) (4) (5) ( ) (2)
(1) (2) (3) (4) (5) (1)
ABDATADATADATADATA B B B BABDATA BDATA B
A Simplex Stop-and-Wait ProtocolFig. 3-10
5.6.3 ABACKACK(a)
A(timeout timer) tout B A
1 B B B A ACK B A ACK
0 1
N(S) 0 1
5.6.4 nACKn n 1 n ACK1 0 1 ACK0 1 0
(1) (2) V(S)0 (3) N(S)V(S)(4) (5) (6) {(7)(8)}(7) ACKnn n = 1 V(s) V(S)[1 V(S)] (3) (6) (8) (4)
(1)V(R)0(2) (3) N(S) = V(R)(4) (6)(4) (5) V(R)[1 V(R)](6) nV(R) ACKnn(2)
ACKn V(S) N(S) V(R) ACKn V(R) n
CRC CRC ARQ (Automatic Repeat reQuest)
A Simplex Protocol for a Noisy Channel 101
PARPositive Acknowledgement with RetransmissionARQAutomatic Repeat reQuestFig. 3-11
5.6.5 tf tf lf (bit) C (bit/s) tf = lf /C = lf /C (s) 3-1 tf B tp B tpr ACK ta
ABDATADATAACK tp tpr ta tp tprtftout
tout = tp + tpr+ ta + tp + tpr (3-2) tpr ta tp tout = 2tp (3-3)
tT = tf + tout = tf + 2tp (3-4) () p tav tav = tT ( 1 + )
= {1 P[ 1] + 2 P[ 2] + 3 P[ 3] +} = {1 P[ 1 ] P[ 2 ] + 2 P[ 1, 2 ] P[ 3 ] + 3 P[ 1, 2, 3 ] P[ 4 ] +} = p(1 p) + 2p2(1 p) + 3p3(1 p) + P[X] X
tav p = 0, tav = tT
(3-5)
max max = 1/tav = (1 p) / tT (3-6) max (1 p) / tT (3-7) tf tf (1 p) / < 1 (3-8) tT tT / tf 1 (3-9) 1 1 p (3-10)
Td , Tf, CL Tf = L/C Cr = / = Tf / (Tf + 2Td) = 1/(1+2Td *C/L)L
Td = 250ms,C=50kb/s,L=1kbit,Cr=1/(1+2TdC/L)=1/(1+2*0.250*50*103/1*103)=3.8
ARQ ARQ ARQ
5.7 ARQ 5.7.1 ARQ
ARQ ACK1 DATA0ACK2 DATA1DATA2 DATA3 ACK2DATA4 ACK2DATA5 ACK2ACK3 DATA2ACK4 DATA3ABtout??
(1) 2 3 2 (2) ACK1 0 DATA0 1 ACK2 1 DATA1 2
(3) A 2 2 A 5 2 ARQ Go-back-N ARQ N
(4) ARQ N
5.7.2 WT
01234567012WT 5 (a)
ARQ WR = 1
01234567012WR 0 (a)
1
n 1 WT 2n 1 ARQ 3 bit 7 8
A One Bit Sliding Window ProtocolN = 101piggybackingFig. 3-13
nEnable_Network_LayerDisable_Network_Layer < MaxSeq + 1MaxSeq = 71 0 ~ 72 7 3 8 0 ~ 74 7 nFig. 3-16
P5Network_layer_readyFrame_arrival Cksum_err timeout ntimeout
5.7.3 ()() 100 % ()
5.8 ARQ ARQ ARQ n WR 2n/2 (3-18)
selective repeat1Fig. 3-15(b)
A Protocol Using Selective RepeatMaxSeq(MaxSeq+1)/2 MaxSeq = 7, = 7 0 ~ 67 ~ 506 7 ~ 5 0 0Fig. 3-19
Ack_ExpectedNextFrame_ToSendFrame_ExpectedTooFarNAKFig. 3-18
P6Network_layer_readyFrame_arrival NAKNAKCksum_err NAKtimeout Ack_timeout ACK
timeoutAckNAKack_timeout
Td , Tf, CL,WsCr = / = Ws*Tf / (Tf + 2Td) = Ws*/(1+2Td *C/L)Ws
Td = 250ms,C=50kb/s,L=1kbit,100%Ws=2 *Td *C/ L+1 =2*0.25*50*103/103+1=26
5.9 5.9.1 (congestion) > (5-1)
0
(reassembly deadlock)A4A2A1B3C1B1B2C3B4A3C2 P Q R H AB C PQ R H 4 4 R A 4 A3 H A3 P Q Q
5.9.2
5.9.3 TCP 1. TCP TCP ()
900 9 100 500 TCP 1002003004005006007008009001012013014015016017018011
400 200 300 10020030040050060070080090010120130140150160170180111002003004005006007008009001012013014015016017018011
10020030040050060070080090010120130140150160170180111002003004005006007008009001012013014015016017018011 400 400 400
400 A B A 300 201 500A 200 A 200 301 500A 300 A 100 401 500A 500 A 200 501 700A 100 501 700 A 600
2. TCP rwnd (receiver window) (advertised window) cwnd (congestion window)
rwnd cwnd (1) rwnd TCP (2) cwnd (congestion window)
rwnd cwnd Min [rwnd, cwnd] (7-1) rwnd < cwnd cwnd < rwnd
cwnd MSS MSS cwnd
TCP 1 16 ssthresh = 16246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
cwnd rwnd 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
cwnd 1 M0 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12 ACK1 M0 M1 cwnd 1 2 M1 M2
ACK2 ACK3 ACK 1 cwnd 2 4 M4 ~ M6 4 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
ACK 1 cwnd 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
cwnd ssthresh cwnd = 16 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
24 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
ssthresh 12 24 1 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
cwnd = 12 MSS 246810121416182022004812162024 cwndssthresh = 16 ssthresh = 12
(multiplicative decrease) ssthresh 0.5ssthresh
(additive increase) cwnd MSS
3. ACK
A BB M1 M2A M1 M2A ACK3 M3A M3 A M4A M5B ACK3A M6B ACK3B M2( M3
(1) ACK ssthresh(2) cwnd 1 ssthresh + 3 MSS (3) ACK n n > 3 cwnd ssthresh + n MSS(4) (5) ACK cwnd ssthresh
5.9.4 TCP TCP TCP
TCP IP T1T2T3
5.9.5 TCP 1.
TCP (client)(server)
TCP B A
TCP A B A A B A B
ABTCPSlow Start32K(1K = 1024), MSS1KA->B, B, B, MSSA01., A1ACK10240, A2.ACK = 32768A3.32K40K, ,
110, 11232, , (32 + 1 / 32) * 1024 = 328003 1 MSS = 1KB 40 / 2 = 20 KB