310 likes | 471 Views
IP Basics. IP. ICMP. Network. RoutingTables. ARP. Link. Physical. IP Basics. IP encapsulates TCP IP packets travel through many different routers (hops) before reaching it’s destination
E N D
IP ICMP Network RoutingTables ARP Link Physical
IP Basics • IP encapsulates TCP • IP packets travel through many different routers (hops) before reaching it’s destination • MTU variation at the physical layer requires IP to fragment the message into smaller units along the way • Reassembly is an option at each hop. • IP does NOT guarantee delivery!
IP Fragmentation 1000 b R 500 b 500 b 250 b 250 b 250 b 250 b R R Every link has the potential to dictate adjusting size of frames. It is possible to reassemble at any point. 1000 b R 500 b 500 b 1000 b R R
What if frames are lost? Receive Computer 250 b 250 b 250 b 250 b R R 4 3 2 1 Receive computer will hold the first 2 frames awaiting the 3rd. After a period of time, a timer expires and IP level passes the 500 bytes up and stops looking for the other pieces. TCP (NOT IP) then will acknowledge receipt of 500 more bytes to the sending TCP layer. If the first frame is lost, NONE are passed up to TCP. More on TCP later.
IP Frame formatFragmentation Fields Header Length Type of Service Packet Length Version 32 bits Each line Identification Flags Fragment Offset Checksum Time To Live Protocol Source IP Address Destination IP Address Options DATA
Fragmentation and the FrameFig 7.34 FragId 345 FragOffset=0 MoreFragments Bit=1 Size->1400 byes FragId 345 FragOffset=175 MoreFragments Bit=1 Size-> 1400 bytes 4000 byte frame router FragId 345 FragOffset=350 MoreFragments Bit=0 Size->1200 bytes FragOffset should be multiplied by 8 (8x175=1400)
IP Frame format Header Length Type of Service Packet Length Version 32 bits Each line Identification Flags Fragment Offset Checksum Time To Live Protocol Source IP Address Destination IP Address Options DATA
IP Summary • Fragmentation results in delivery of frames which are potentially smaller than the original transmission. • Some of the frames can be lost • If a message is fragmented and frames are lost, all frames up to the first lost frame are passed up to the receiving TCP and all subsequent frames are dropped. • TCP views this as a stream and is unaware of the loss of frames. It just accepts the next “n” bytes, acks the receipt, and waits for subsequent data.
TCP End To End Delivery
Transport TCP UDP Network Link Physical
TCP basics • Connection-oriented • Sets up the connection prior to data transmission • SYN and 3-way handshake • Guarantees delivery of data • Sender holds a copy of the data for retransmission if necessary • Receiver ACKS specific byte positions in the stream so sender can resend from any byte position • Encapsulated by IP • Receiver tells sender it’s receive window size to limit rate of data arrival (flow control)
Consider How TCP and IP Work Together
TCP handling of fragmentation Up to destination port (Send 2000 bytes) Transport Transport (ACK 500 bytes) 2000 500 Network(IP) Network(IP) 2501 2502 1000 2504 2503 1000 Network(IP) Physical Physical Physical
TCP handling of fragmentation Up to destination port (Send 2000 bytes) Transport Transport (ACK 500 bytes) 2000 500 Network(IP) Network(IP) 2501 2502 1000 2504 2503 1000 Network(IP) Physical Physical Physical
TCP handling of fragmentation Up to destination port (Send 2000 bytes) Transport Transport (ACK 500 bytes) 2000 500 Network(IP) Network(IP) 2501 2502 1000 2504 2503 1000 Network(IP) Physical Physical Physical
TCP handling of fragmentation Up to destination port (Send 2000 bytes) Transport Transport (ACK 500 bytes) 2000 500 Network(IP) Network(IP) 2501 2502 1000 2504 2503 1000 Network(IP) Physical Physical Physical
What does the TCP frame look like? Data Source Port Destination Port Length Checksum
And after TCP is encapsulated in IP? IP Header IP Trailer TCP
TCP handshake/setup Host A Host B Ack 0, Syn 1 Ack 1, Syn 1 Ack 1, Syn 0 Ack 1, Syn 0 . . . time setup data
TCP Frame Destination Port Source Port Sequence Number Acknowledgment Number HeaderLength Flags Window Checksum Urgent Pointer Options DATA
Flow Control w/TCP A B Data … s=101, a=701 Data … s=201, a=701 B says STOP Data … s=701, a=301, c=0 B says GO (up to 200) Data … s=801, a=301, c=200 Data … s=301, a=901 Data … s=401, a=901
UDP basics • At transport layer as alternative to TCP • No connection establishment • No Guaranteed Delivery • Practically adds nothing to IP • Application must guarantee delivery if necessary • TCP and timing is hard for you to implement at the application layer • UDP runs faster if delivery is not required to be error-free.
TCP/UDP ICMP Basics IP ICMP physical • Lower than IP • A support protocol for routing info/problems • Doesn’t use ports • Used in ping • Frequently used to deny service.. problematic • ping of death (too large message), and • denial of service (ping flood)
ICMP Message types • Echo Request • Echo Response • Time Exceeded • Destination Unreachable • Redirect
IP Tunnelling Apple talk Apple talk Transport Transport (IP) (IP) Network(IP) Physical Physical Physical Intermediate Routers only See IP Router CAN do AT in IP Receiving Router Connected Network (AT) Inside Network (AT)
IP Tunnelling at one end Apple talk Transport (IP) Appletalk Appletalk AT IP Physical Physical Physical AT IP Route to Destination As IP Appletalk to local Appletalk to non-local