计算机网络(第 5 版)
DESCRIPTION
计算机网络(第 5 版). 第 5 章 运输层. 第 5 章 运输层. 5.1 运输层协议概述 5.1.1 进程之间的通信 5.1.2 运输层的两个主要协议 5.1.3 运输层的端口 5.2 用户数据报协议 UDP 5.2.1 UDP 概述 5.2.2 UDP 的首部格式. 第 5 章 运输层(续). 5.3 传输控制协议 TCP 概述 5.3.1 TCP 最主要的特点 5.3.2 TCP 的连接 5.4 可靠传输的工作原理 5.4.1 停止等待协议 - PowerPoint PPT PresentationTRANSCRIPT
-
5 5
-
5 5.1 5.1.1 5.1.2 5.1.3 5.2 UDP 5.2.1 UDP 5.2.2 UDP
-
5 5.3 TCP 5.3.1 TCP 5.3.2 TCP 5.4 5.4.1 5.4.2 ARQ 5.5 TCP
-
5 5.6 TCP 5.6.1 5.6.2 5.6.3 SACK5.7 TCP 5.7.1 5.7.1
-
5 5.8 TCP 5.8.1 5.8.2 5.8.3 RED5.9 TCP 5.9.1 TCP 5.9.2 TCP 5.9.3 TCP
-
5.1 5.1.1
-
54321 A B 1 2AP1LAN2WANAP2AP3AP4IP LAN1AP1AP2AP454321IP TCP UDP AP3
-
IP TCP UDP
-
TCP UDP
-
TCP UDP
-
TCP/IP (1) UDP (User Datagram Protocol)(2) TCP (Transmission Control Protocol)5.1.2
-
TPDU (Transport Protocol Data Unit)TCP TCP (segment) UDP UDP TCP UDP
-
TCP/IP TCPUDPIP
-
TCP UDP UDP UDP UDP UDP TCP TCP TCP
-
UDP IPIP UDP TCP TCP
-
5.1.3 TCP/IP
-
(protocol port number)(port)(protocol port number)(port) TCP
-
TCP 16
-
0~10231024~49151 IANA 49152~65535
-
5.2 UDP 5.2.1 UDP UDP IP UDP UDP
-
UDP UDP UDP UDP UDP UDP UDP 8
-
UDP UDP IP UDP UDP UDP UDP IP UDP
-
UDP IP IP IP UDP UDP
-
5.2.2 UDP UDP IP IP 017IP 44112122222 UDP
-
UDP
-
UDP IP IP 017IP 44112122222 UDP UDP 8 4
-
UDP IP IP 017IP 44112122222 UDP UDP
-
UDP 10011001 00010011 153.1900001000 01101000 8.10410101011 00000011 171.300001110 00001011 14.1100000000 00010001 0 1700000000 00001111 1500000100 00111111 108700000000 00001101 1300000000 00001111 1500000000 00000000 001010100 01000101 01010011 01010100 01001001 01001110 01000111 00000000 0
10010110 11101101 01101001 00010010 153.19.8.104171.3.14.1112 8 UDP 7 0 17 15 1087 13 15 0 0
-
5.3 TCP 5.3.1 TCP TCP TCP (endpoint) TCP TCP TCP
-
TCP TCP
1817161514H TCP TCP TCPTCPH TCP x x TCP
-
TCP TCP TCP TCP UDP TCP TCP
-
5.3.2 TCP TCP TCP TCP IP TCP (socket)(contatenated with) IP
-
(socket) socket = (IP: ) (5-1) TCP TCP ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)} (5-2)
-
socket API socket API, socketsocket API socket socket socket socket socket socket Berkeley socket
-
5.4 5.4.1 (a) A M1 M1B M2 M3 M2 M3A M1B M1 M2 M1(b) tttt
-
A M1B M1 M2 M1 M1(a) M1A M1B M1 M2 M1M1(b) M1tttt
-
ARQ (Automatic Repeat reQuest)ARQ
-
TDRTTATD + RTT + TABtt
-
U (5-3)1200kmRTT=20ms1200bit1Mb/sTA
-
BttAACK
-
5.4.2 ARQ 123456789101112(a) 5
-
Go-back-N N 5 3 Go-back-N N N ARQ
-
P2205-095-145-18
-
TCP20 FIN32 SYNRSTPSHACKURG 0 8 16 24 31 TCP TCP TCP IP IP 5.5 TCP
-
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 TCP TCP 32 4
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 6 0
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 URG URG 1 ()
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 ACK ACK 1 ACK 0 TCPACK=1
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 PSH (PuSH) TCP PSH = 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 (FINis) FIN 1
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 2
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 2 TCP 12
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 16
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 TCP MSSMSS TCP MSS MSS (Maximum Segment Size) TCP TCP TCP
-
3 STCP (16 + S) S 10 4 4 5.6.3
-
TCP20 FINSYNRSTPSHACKURG 0 8 16 24 31 4
-
5.6 TCP 5.6.1 A = 2026272829303132333435363738394041424344454647484950515253545556B B 2031A TCP
-
A 26272829303132333435363738394041424344454647484950515253545556P1P2P3B 26272829303132333435363738394041424344454647484950515253545556A 11 P3 P1 = A P2 P1 = P3 P2 =
-
A 26272829303132333435363738394041424344454647484950515253545556P1P2P3B 26272829303132333435363738394041424344454647484950515253545556A
-
A 26272829303132333435363738394041424344454647484950515253545556P1P2P3A
-
TCP
-
TCP
-
TCP TCP
-
A B TCP TCP
-
5.6.2 TCP TCP
-
TCP RTT RTTS RTT RTTS RTT RTT RTTS RTTS (1 ) ( RTTS) ( RTT ) (5-4)0 1 RTT 1 RTT RFC 2988 1/8 0.125
-
RTO (RetransmissionTime-Out) RTO RTTSRFC 2988 RTO RTO RTTS + 4 RTTD (5-5)RTTD RTT RFC 2988 RTTDRTTD RTT RTTD RTTD = (1 ) (RTTD) + RTTS RTT (5-6) 1 1/4 0.25
-
RTT? TCP 1 2 ACK 1 2 TCP TCP ACK12 RTT?
-
Karn RTT RTTS RTO
-
RTO RTO ( RTO) 2 RTT RTO Karn
-
P2215-235-29
-
5.6.3 SACK(Selective ACK)
-
1 1000 1501 3000 3501 4500 = 1001L1 = 1501L2 = 3501R1 = 3001R1 = 4501 L1 = 1501 R1 = 3001 1 L2 = 3501 R2 = 4501
-
RFC 2018 TCP TCP SACK TCP SACK 40 4 4
-
5.7 TCP 5.7.1 (flow control) TCP
-
seq = 1, DATAseq = 201, DATAseq = 401, DATAseq = 301, DATAseq = 101, DATAseq = 201, DATAseq = 501, DATAACK = 1, ack = 201, rwnd = 300ACK = 1, ack = 601, rwnd = 0ACK = 1, ack = 501, rwnd = 100AB A 201 500 300 A 101 200 200 A 301 400 100 A 1 100 300 A 401 500A A 501 600 100 A 501 600 A 600 A B B A rwnd = 400
-
(persistence timer)TCP TCP 1
-
5.7.2 TCP : TCP MSS MSS TCP TCP (push) MSS
-
5.8 TCP5.8.1 (congestion) > (5-7)
-
0
-
5.8.2 1. cwnd (congestion window)
-
cwnd = 1 MSS 1 MSS cwnd
-
M1 M1 M2~M3 M2~M3 M4~M7 M4~M7 cwnd = 1 cwnd = 2 cwnd = 4 M8~M15cwnd = 8 tt cwnd 1 1 2 3
-
(transmission round) cwnd RTT cwnd cwnd = 4 RTT 4 4
-
ssthresh ssthresh cwnd < ssthresh cwnd > ssthresh cwnd = ssthresh cwnd RTT cwnd 1 cwnd
-
ssthresh 2 cwnd 1
-
2216 TCP 1 16 ssthresh = 1624681012141618200048122024 cwnd ssthresh ssthresh
-
cwnd rwnd 221624681012141618200048122024 cwnd ssthresh ssthresh
-
cwnd 1 M0 221624681012141618200048122024 cwnd ssthresh ssthresh
-
cwnd 1 M1 M2 221624681012141618200048122024 cwnd ssthresh ssthresh
-
cwnd 1 cwnd 2 4 4 221624681012141618200048122024 cwnd ssthresh ssthresh
-
1 cwnd 221624681012141618200048122024 cwnd ssthresh ssthresh
-
cwnd ssthresh cwnd = 16 221624681012141618200048122024 cwnd ssthresh ssthresh
-
221624681012141618200048122024 cwnd ssthresh ssthresh 24
-
221624681012141618200048122024 cwnd ssthresh ssthresh ssthresh 12 24 1
-
221624681012141618200048122024 cwnd ssthresh ssthresh cwnd = 12 MSS
-
(multiplicative decrease) ssthresh 0.5ssthresh
-
(additive increase) cwnd MSS
-
2.
-
M1 M1t M2 M2 M3 M4 M5 M6 M2 M2 M2 t M7
-
(1) ssthresh (2) cwnd 1 ssthresh
-
24 2468101214161820220048121620 cwnd 3 TCP RenoTCP Tahoe (ssthresh ssthresh
-
rwnd cwnd Min [rwnd, cwnd] (5-8) rwnd < cwnd cwnd < rwnd
-
5.8.3 RED (Random Early Detection) THmin THmaxRED LAV THmin THmax THmin THmax p
-
RED THmin THmin Lav p
-
p THmin Thmax THmin THmax Lav p1.00pmax LAV Thmin p = 0 LAV Thmax p = 1 THmin LAV THmax 0 p 1 0 pmax
-
REDTHminTCP
-
5-9 TCP 1.
-
TCP (client)(server)
-
TCP CLOSEDCLOSEDAB5.9.1 TCP A TCP B SYN = 1 seq = x x
-
TCP CLOSEDCLOSEDAB5.9.1 TCP B TCP B SYN = 1 ACK = 1 ack = x 1 seq = y
-
CLOSEDCLOSEDAB A B ACK = 1 ack = y 1 A TCP
-
CLOSEDCLOSEDAB B TCP A TCP
-
TCP CLOSEDCLOSEDAB5.9.1 TCP
-
CLOSEDESTAB-LISHEDESTAB-LISHEDABCLOSED5.9.2 TCP A TCP TCP A FIN = 1 seq = u B
-
ESTAB-LISHEDESTAB-LISHEDAB5.9.2 TCP B ack = u 1 seq = v TCP A B TCP B A
-
ESTAB-LISHEDESTAB-LISHEDAB5.9.2 TCP B A TCP
-
ESTAB-LISHEDESTAB-LISHEDAB5.9.2 TCP A
-
ESTAB-LISHEDESTAB-LISHEDAB5.9.2 TCP ACK = 1 ack w 1 seq = u + 1 ACK = 1, seq = u + 1, ack = w 1
-
ACK = 1, seq = u + 1, ack = w 1FIN = 1, ACK = 1, seq = w, ack= u 1FIN-WAIT-1CLOSE-WAITFIN-WAIT-2LAST-ACKESTAB-LISHEDESTAB-LISHEDABCLOSED5.9.2 TCP TCP 2MSL
-
A 2MSL A ACK B A ACK 2MSL
-
TCP
27510
-
P2225-395-41
-
5.9.3 TCP TCP TCP TCP TCP
-
TCP CLOSEDESTABLISHEDLISTENCLOSE_WAITFIN_WAIT_1SYN_RCVDFIN_WAIT_2CLOSINGTIME_WAITSYN_SENTLAST_ACK SYN SYN SYN, ACK ACK FIN FIN FIN RST SYN SYN, ACK ACK SYN, ACK ACK ACK ACK FIN ACK FIN, ACK ACK FIN ACK FIN ACK SYN
***************************************************************************************************************