udp 與 tcp
DESCRIPTION
第 12 章. UDP 與 TCP. 本章重點. 12-1 UDP 12-2 TCP 12-3 TCP 傳送機制 12-4 TCP 連線 12-5 TCP 封包結構 12-6 實作練習:擷取 TCP 封包. UDP 與 TCP. 先前第 8 章至第 11 章已陸續介紹了網路層相關的協定與功能。本章將要介紹傳輸層的協定。 在 DoD 模型中 , 傳輸層位於網路層與應用層之間 , 主要的功能是負責應用程式之間的通訊。舉凡連接埠管理、流量控制、錯誤處理 , 與資料重送皆是傳輸層的工作。 - PowerPoint PPT PresentationTRANSCRIPT
-
12-1 UDP12-2 TCP12-3 TCP 12-4 TCP 12-5 TCP 12-6 TCP
-
UDP TCP 8 11 DoD , , , TCP/IP UDP TCP,
-
12-1 UDPUDP (User Datagram Protocol) , (Port)UDP UDP , (Connectionless) UDP IP , ( 8-1 ), UDP , , UDP , ()
-
UDP TCP , UDP , TCP UDP , DNS , DNS ( 13 ), TCP , UDP
-
UDP, , , , , , UDP (Multicast) (Broadcast) , UDP (Connection-Oriented) TCP(),
-
12-1-1 UDP IP , IP , IP , , , Internet Explorer Outlook Express, IP UDP
-
Port, USB , TCP/IP , , TCP/IP , , IP , ,
-
IP Socket Address ( Socket), IP , , IP , , 1 114,
-
, , , 1 114 80 , , Socket Socket Address, WinSock API
-
IP IP , IP , (), , , , ,
-
16 Bits , 0 65535 IANA (Internet Assigned Numbers Authority) , 0 ~ 1023 Well-Known() , IANA , 0 ~ 1023 DNS 53, DNS 53
-
1024 ~ 49151 Registered, IANA , Flash , 1935 49152 ~ 65535 Dynamic () , Internet Explorer , Internet Explorer Well-Known
-
Well-Known , Registered / Dynamic , , , Telnet 23 Web 80 Well-Known
-
, , , ,
-
Well-Known , , Web 2001, , , Web 2001, 80, , , ,
-
12-1-2 UDP UDP UDP
UDP (Application Layer) UDP Payload, UDP Data UDP Message, UDP
-
UDP UDP , , UDP UDP IP () , IP Payload UDP 8 Bytes, 4 16
-
UDP , UDP
-
UDP UDP , Byte 8, UDP , UDP IP Payload UDP UDP , , , 0
-
12-1-3 UDP , UDP UDP , , Pseudo Header (), IP IP IP IP 8 Bits, 0IP UDP
-
, 2 Bytes , Pseudo Header UDP 2 Bytes , 1 Byte Padding, 2 Bytes , , Pseudo Header Pseudo Header UDP UDP ,
-
, UDP , Pseudo Header UDP
Pseudo Header Padding , Pseudo Header Padding IP Payload,
-
UDP , IP , Pseudo Header Padding, , UDP UDP , 203.74.205.111, 80, 203.74.205.109 80 Web Server , , UDP
-
UDP , UDP , Pseudo Header
-
UDP IP Pseudo Header IP ( 8-1 ), UDP IP , RFC UDP/ IP, UDP Checksum , UDP/ IP 3 TCP IP
-
12-1-4 UDP Wireshark, UDP , , (13 ) DNS
-
UDP
-
UDP 49292 Dynamic 53 DNS Well-Know UDP UDP , Name stjtw.msn.com IP DNS Query ( 13 )
-
12-2 TCP UDP , TCP (Transmission Control Protocol) , TCP , TCP , UDP , , TCP , IP
-
TCP IP, , , ..., , ,, , ,
-
TCP (UDP), , , (TCP), ,
-
TCP TCP UDP , , , TCP TCP , , , ,
-
TCP, , TCP , , TCP (Connection-Oriented) , TCP , TCP , (),
-
12-3 TCP TCP , , TCP , TCP , , TCP
-
12-3-1 TCP , , , , , , TCP , , A B, , A B
-
A Packet 1 B, , B B Packet 1 , ACK 1 AACK 1 Packet 1 A ACK 1 , Packet 1 Packet 2 B, , B
-
B Packet 2 , ACK 2 AACK 2 Packet 2
-
, A B Packet 1Packet 2 , Packet 2 , B ACK 2 AA ACK 2, B Packet 2, Packet 2 B
-
, TCP , , ,
-
12-3-2 Sliding Window, , A , , ACK , , , ACK , Sliding WindowSliding WindowWindow, Windows Sliding Window
-
Sliding Window, Window, A B , Sliding Window , A Sliding Window
-
Sliding Window
-
Sliding WindowA Window , Packet 1Packet 2 Packet 3 , , B B , ACK A B Packet 1, ACK 1 A, A ACK 1 , Packet 1 ()
-
Sliding Window
-
Sliding Window Sliding Window 1
-
Sliding Window Sliding Window Packet 4 ( Window ) A ACK 2 ACK 3,
-
Sliding Window
-
Sliding Window Sliding Window , A ACK , Sliding Window
-
12-3-3 Send / Receive Window Sliding Window , A Sliding Window, TCP Sliding Window , Sliding Window Send Window (), Sliding Window Receive Window ()Receive Window , A B , B, B Receive Window,
-
Send / Receive WindowB , ACK , 1 ~ 7 89 14 , 10 ~ 13 15 ~ 16 ,
-
Send / Receive WindowReceive Window A B , , B Receive Window
-
Send / Receive Window B A , Packet 1, Packet 1 Window , ACK , ReceiveWindow 1 Window , 1 , Window
-
Send / Receive Window B Packet 3Packet 1Packet 2 , B Receive Window B Packet 3, Packet 3 Packet 3 Window , ACK, Receive Window
-
Send / Receive Window
-
Send / Receive Window Packet 1, B Packet 1 , Packet 1 Window , ACK 1 , Receive Window 1
-
Send / Receive Window
-
Send / Receive Window Packet 2, B Packet 2 , ACK 2 Receive Window 1 Packet 2 Packet 3 , ACK 3, Receive Window 1
-
Send / Receive Window
-
Send / Receive Window
-
Send / Receive Window A Send Window B Receive Window
-
Send / Receive Window Receive Window , Window ( ACK), , , B , (Buffer),
-
12-3-4 Window Size TCP , (Flow Control), TCP , Sliding Window ( Window Size) Window Size , Window Size 1 ,12-3-1 , 1 , Window Size , , , Window
-
Window Size Window Size , , , , Window Size , Window Size ,B Receive Window , ACK A, A Send Window
-
Window Size , B Receive Window , B , A , Receive WindowB ACK , A
-
12-3-5 TCP Byte Stream, , , TCP , Byte , Byte StreamB , 1 300 Bytes, 2 200 Bytes
-
TCP Byte Stream Message Stream, B , 300 Bytes, 200 Bytes Byte Stream , B 500 Bytes, 500 Bytes 300200 150100250
-
TCP Byte Stream, Byte Stream , Message , Byte Byte, Message TCP , TCP Payload Byte Stream, Byte Byte, TCP A B , TCP Byte Stream
-
TCP Byte StreamTCP Payload TCP , TCP Header, 12-5
-
(Sequence Number)TCP Sequence Number, TCP Payload 1 Byte , , A Initial Sequence Number (ISN, ), 1 B, B ACK , A TCP Payload 1 ISN, ISN+1 Payload, ISN , , Payload ISN+1
-
(Sequence Number) A B , 1 Byte ISN 1000, A Payload 100 200 300 Bytes Packet123 B ,
-
(Sequence Number)
-
(Acknowledge Number) X Y 100, X Y 100 , Y X , 100 , , X 100 , Y 100 ,
-
(Acknowledge Number) 12-02 , A ISN 1000, 100 Bytes Packet 1 BB ACK 1 ,ACK 1 1101, B A ( Packet 2), 1 Byte 1101
ACK 1ACK 2ACK 3
-
(Acknowledge Number), (ISN) A () , Packet 1 = ISN+1Packet 2 = ACK 1 Packet 3 = ACK 2 ...
-
(Acknowledge Number), TCP Payload , 1 Byte ACK , , TCP Payload ,
-
Window Sliding Window Byte Window, Send Window , A ACK 1 , Send Window
-
Window
-
12-3-6 , TCP , AB , A B, B A TCP
-
AB AB / Send / Receive Window, TCP 2 2 2 Send Window, 2 Receive Window , A B , , B ACK A , B A , ACK ,
-
12-3-7 , TCP TCP , , , TCP , Sliding Window,
-
TCP Bytes Stream, , Sliding Window, Bytes Stream Byte TCP , TCP , , TCP
-
12-4 TCP TCP TCP (TCP Connection) , TCP TCP
-
12-4-1 TCP , TCP TCP IP
-
B Web , B IP , ,
-
12-4-2 , (Active), (Passive) WWW , , Web , TCP , , ISN () Window Size
-
Handshaking, , Handshaking 3 , TCP A TCP , B , Handshaking AB , ABAB
-
1 A 1 TCP B, SYN (Synchronize, ) A B , A B ISN, ISN(AB) 4 Bytes, AB AB , 0
-
1 SYN Flag TCP ( 12-5 ), , PayloadISNWindow Size A Receive Window , Window (AB) B Send Window , A B
-
2 B SYN , SYN-ACK , A B ISN, ISN(AB) SYN ISN( AB), SYN-ACK ISN(AB) 1, A TCP Payload ISN(AB)+1 1 Byte
-
2 SYN-ACK FlagSYN-ACK SYN Synchronize , ACK Acknowledgement , , ISN(A B)Window Size B Receive Window , Window(A B) A Send Window , AB
-
3 A SYN-ACK , ACK , SYN-ACK , ISN (AB) + 1 2 SYN-ACK A B ISN , AB , A , ISN(A B) 1, A B , ISN(A B)+1 1 Byte
-
3 ACK FlagWindow SizeA Receive Window , Window(A B) 3
-
3
-
12-4-3 TCP , , () , , 4 , TCP A ,
-
1 A 1 TCP B, FIN-ACK (FIN Finish ) , AB , AB , FSN(Final Sequence Number, ), FSN(AB) A B FIN-ACK Flag AB , ACK Window Size,
-
2 B ACK A, A B AB , 1 FIN-ACK FSN(AB) 1ACK Flag, AB , A B , AB , 3
-
3 B AB , FIN-ACK A, AB , , FSN(AB) AB 1 , A B, 2 , FSN(AB) + 1FIN-ACK Flag AB ,
-
4 A ACK B, A B , 1 FIN-ACK FSN(A B) 1 AB , 3 FIN-ACK FSN(AB) 1ACK Flag 4
-
4
-
12-5 TCP TCP
TCP , Sequence Numbe r Window Size TCP (Application Layer) TCP Payload, TCP Segment, TCP
-
TCP TCP TCP ,
-
TCP
-
TCP TCP TCP , , AB , A TCP
-
A TCP
-
B TCP
-
TCP 1 Byte
-
B A , 1 Byte
-
4 Bits, TCP , 4 Bytes 5, TCP 20 Bytes (5 4 = 20) TCP , Options Padding , , TCP Options Padding Options Padding 0, , TCP 20 Bytes Options Padding
-
(Flag) TCPAcknowledge ()Synchronize () ISN, , 1 2
-
Urgent () Receive Window , ( AB ) B ACK , , A , , , , Urgent Flag 1 , B
-
Urgent Urgent , , TCP Urgent Finish () AB 12-4-3 1 3 ,
-
Window Size Receive Window , , A A B , A Receive Window A A B , A Receive Window
-
2 Bytes, TCP , TCP Pseudo Header UDP ,
-
Urgent Pointer () 2 Bytes Urgent Flag 1 , TCP , Urgent Byte 3 , TCP 4 Bytes ( 0 3 Byte) Urgent
-
Options and PaddingOptions , TCP , MSSSACK-Permitted SACK 3 Padding TCP ( Options ) 4 Bytes Options
-
Options and PaddingOption Kind 1 Byte, Options , 2 MSS 4 SACK-Permitted 5 SACK Option Length 1 Byte, Option , ByteOption Data, Option Option Data Option Length 2 (Option Kind Option Length 1 Byte)
-
MSSMSS Maximum Segment Size (SYN Flag=1) , TCP TCP Payload AB , 1 , A MSS B, B 2 MSS A , , AB AB TCP
-
MSS, TCP IP Payload , TCP IP Payload, MSS MTU IP , TCP , MTU 1500 Bytes, IP (20 Bytes), TCP (20 Bytes), MSS 1460MTU (Maximum Transmission Unit) , Payload
-
MSSMSS Option KindMSS 2Option LengthMSS 4 Bytes, 4Option Data 2 Bytes, MSS , Byte
-
SACK-Permitted AB , B ACK , A 4 100 Bytes B, B 100-199 , (2 0 0 ~ 2 9 9 300~399) , ACK A, A ACK , 100-399 , 200-399
-
SACK-Permitted
-
SACK-Permitted, TCP SACK (Selective Acknowledgement) SACK-Permitted SACK-Permitted , SACK SACK , , B SACK , A 200-399, A
-
SACK-PermittedSACK-Permitted SYN Flag 1 , 1 2 AB , A 1 SACK-Permitted , A SACK , B , SACK ACK A
-
SACK-Permitted SACK-Permitted Options Option KindSACK-Permitted 4Option LengthSACK-Permitted 2 Bytes, 2Option Data 0
-
SACK ACK Flag 1 , SACK AB , B ACK A , SACK , Option Data , Option KindSACK 5 Option LengthSACK 8Bytes ( 4 Bytes)
-
SACK 1 , 4 Bytes 1 , 4 Bytes 2 , 4 Bytes 2 , 4 Bytes...
-
12-6 TCP Wireshark TCP , ,
-
12-6-1
, Brower Web Server, TCP
-
12-6-2 TCP ,
-
1
-
1 Browser , Dynamic Web Server , 80 Browser (Initial Sequence Number), , ISN (Browser Server)TCP 20 Bytes, 12 Bytes (Options), SYN Flag 1
-
1 Browser Receive Window MSS , , MSS 1460 Bytes SACK-Permitted , Browser SACK ACK
-
2
-
2 Web Server Browser Web Server (Initial Sequence Number), , ISN(Browser Server)ISN(BrowserServer) + 1 = 0 + 1 = 1TCP 20 Bytes, 12 Bytes, ACK SYN Flag 1
-
2 Web Server Receive Window MSS , , MSS 1460 Bytes SACK-Permitted , Web Server SACK ACK
-
3
-
3 ISN(Browser Server) + 1ISN(Browser Server) + 1TCP , 20 Bytes , ACK Flag 1Browser Receive Window