Discussion Monday ( )
ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier header checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service “type” of data flgs fragment offset upper layer 32 bit destination IP address Options (if any) E.g. timestamp, record route taken, specify list of routers to visit. how much overhead with TCP? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer overhead
network links have MTU (max.transfer size) - largest possible link-level frame. different link types, different MTUs large IP datagram divided (“fragmented”) within net one datagram becomes several datagrams “reassembled” only at final destination IP header bits used to identify, order related fragments fragmentation: in: one large datagram out: 3 smaller datagrams reassembly
ID =x offset =0 MF =0 length =4000 ID =x offset =0 MF =1 length =1500 ID =x offset =1480 MF =1 length =1500 ID =x offset =2960 MF =0 length =1040 One large datagram becomes several smaller datagrams Example 4000 byte datagram MTU = 1500 bytes 1480 bytes in data field offset = 1480 offset = length = 3980(total data) (Header)
Classless Inter-Domain Routing (1993) Networks described by variable-length prefix Allows arbitrary allocation between network and host address
Forwarding table contains: List of network names and next hop routers Local networks have entries specifying which interface Link-local hosts can be delivered with Layer-2 forwarding Longest prefix matching
What is the longest prefix matching for: IP AddressNetmaskNext hopInterface / eth / eth / eth / eth3
Consider sending a 2100 byte datagram over a link with MTU of 700 bytes. How many fragments will be generated ?
IP forwarding. Consider the network diagram below. Each router (a square in the figure) is labeled with the names of its interfaces (e.g., eth0) and the IP addresses assigned to each. Each network (a circle) is labeled with its network name and prefix length. Continued
The machine I’m typing this on has an IP address To which of the networks above am I connected? What is the subnet mask my machine should use? What is the most concise CIDR block R2 can use to describe the networks reachable through R3? Suppose R1 and R3 contain the following forwarding tables, on the next slide: What path would a packet from my machine follow to a host on network F? Explain how the packet is forwarded by showing the rows in each forwarding table that would be invoked. If the packet is forwarded by R2, please list the forwarding table entries in R2’s table that would be used.?