Click here to load reader

第 5 章 运输层

  • 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