udp 與 tcp

Click here to load reader

Upload: lee-reese

Post on 30-Dec-2015

33 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

  • 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