1 / 27

Network Layer Packet Forwarding

Network Layer Packet Forwarding. IS250 Spring 2010 chuang@ischool.berkeley.edu. Packet Switching. Backbone. MAN. Ethernet. Local loop. Host A. Host B. 12.2.14.60. 128.32.226.87. Two Basic Functions in Packet Switching. Routing

sarila
Download Presentation

Network Layer Packet Forwarding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network LayerPacket Forwarding IS250 Spring 2010 chuang@ischool.berkeley.edu

  2. Packet Switching Backbone MAN Ethernet Local loop Host A Host B 12.2.14.60 128.32.226.87 John Chuang

  3. Two Basic Functions in Packet Switching • Routing • Learn the best route to (or best next-hop for) any given destination • Exchange local link status or destination reachability information • Compute best path to destinations • Algorithms for computing shortest paths (e.g., Dijkstra’s) • Policies that reflect business agreements (use BGP) • Update the routing table • Packet forwarding • For each packet received on an incoming link, forward it to an outgoing link according to the routing table John Chuang

  4. L3 Outline • Addressing: • Internet Protocol (IP): address notation; address allocation; address translation • Packet switching: • Routing: BGP, OSPF, RIP • Packet forwarding: IP fragmentation, TTL, … • Extensions: • IP Multicast; QoS; Mobile IP; IPSec; … • Evolution: • IPv6 John Chuang

  5. IP Packet aka IP Datagram • Header • Contains destination address • Fixed-size fields • Payload • Variable size up to 64K • No minimum size John Chuang

  6. Internetworking Standards • Internetworking standards set by IETF (Internet Engineering Task Force) • Documented as RFCs (Requests for Comment): • RFC 791: IP • RFC 793: TCP • RFC 2460: IPv6 • RFC 1034, 1035: DNS • http://www.ietf.org/rfc.html John Chuang

  7. IPv4 Datagram Header Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) Data (variable length) Data John Chuang

  8. IP Packet Header • Version • Version number of IP protocol • Current version is Version 4 • Version 6 has different header format Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  9. IP Packet Header • Header Length (in 32 bit words) • Indicates end of header and beginning of payload • If no options, Header length = 5 Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  10. IP Packet Header • Type of Service (TOS) • Allows different types of service to be requested • Initially, meaning was not well defined • Different subsequent attempts to define (e.g., diffserv) Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  11. IP Packet Header • Packet Length (in Bytes) • Unambiguously specify end of packet • Max packet size = 216 – 1 = 65,535 Bytes Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  12. IP Packet Header • These three fields for Fragmentation Control (will come back to them later) Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  13. IP Packet Header • Time to Live • For avoiding infinite routing loops • Initially set by sender (up to 255) • Decremented by each router • Discard when TTL = 0 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  14. IP Packet Header • Protocol • Value indicates what is in the data field • Example: TCP or UDP Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  15. IP Packet Header • Header Checksum • Checks for error in the header only • Bad headers can harm the network • If error found, packet is simply discarded Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  16. IP Packet Header • Source and Destination IP Addresses • Strings of 32 ones and zeros Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  17. IP Packet Header • Options • Example: timestamp, record route, source route Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  18. IP Fragmentation & Reassembly • Maximum Transmission Unit (MTU) • Largest IP packet a network will accept • Arriving IP packet may be larger (max IP packet size = 65,535 bytes) • Sender or router will split the packet into multiple fragments • Destination will reassemble the packet • IP header fields used to identify and order related fragments MTU = 1500 John Chuang MTU = 4352

  19. Illustration of Datagram Fragmentation • Each fragment has IP datagram header • Header fields • Identify original datagram • Indicate where fragment fits John Chuang

  20. IP Packet Header • Identification • All fragments of a single datagram have the same identification number Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  21. IP Packet Header • Flags: • 1st bit: reserved, must be zero • 2nd bit: DF -- Do Not Fragment • 3rd bit: MF -- More Fragments Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  22. IP Packet Header • Fragment Offset (in units of 8 bytes) • Used for reassembly of packet • 1st fragment has offset = 0 Bit 0 Bit 31 Version (4) Hdr Len (4) TOS (8) Total Length in bytes (16) Identification (16 bits) Flags (3) Fragment Offset (13) Time to Live (8) Protocol (8) Header Checksum (16) Source IP Address Destination IP Address Options (if any) John Chuang

  23. IP Fragmentation Example • Host A wants to send to Host B an IP datagram of size = 4000 Bytes MTU = 1500 MTU = 4352 John Chuang

  24. length =1500 length =1500 length =4000 length =1040 ID =x ID =x ID =x ID =x MF =1 MF =1 MF =0 MF =0 offset =0 offset =185 offset =370 offset =0 IP Fragmentation Example One large datagram becomes several smaller datagrams Offsets in units of 8 bytes John Chuang

  25. Multiple Fragmenting Points • Let MTUs along path be: • 1500 • 1500 • 1000 • 1500 • 576 • 1500 • Result: fragmentation can occur twice John Chuang

  26. Fragmenting a Fragment • Needed when fragment too large for network MTU • Arbitrary sub-fragmentation possible • Router divides fragments into smaller pieces • All fragments at same “level” • Offset given with respect to original datagram • Destination cannot distinguish sub-fragments John Chuang

  27. Fragment Loss • Receiver • Collects incoming fragments • Reassembles when all fragments arrive • Does not know identity of router that did fragmentation • Cannot request missing pieces • Consequence: loss of one fragment means entire datagram lost John Chuang

More Related