Upload
sarila
View
42
Download
0
Embed Size (px)
DESCRIPTION
Network Layer Packet Forwarding. IS250 Spring 2010 [email protected]. 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 - PowerPoint PPT Presentation
Citation preview
John Chuang 2
Packet Switching
Host A Host B
128.32.226.8712.2.14.60
Local loop
Backbone
MAN
Ethernet
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
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
Data (variable length)
Header
Data
John Chuang 8
IP Packet Header Version
- Version number of IP protocol- Current version is Version 4 - Version 6 has different header format
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
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
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
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)
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
John Chuang 11
IP Packet Header Packet Length (in Bytes)
- Unambiguously specify end of packet- Max packet size = 216 – 1 = 65,535 Bytes
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
John Chuang 12
IP Packet Header These three fields for Fragmentation Control (will come back to them later)
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
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
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
John Chuang 14
IP Packet Header Protocol
- Value indicates what is in the data field- Example: TCP or UDP
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
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
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
Bit 0
John Chuang 16
IP Packet Header
Source and Destination IP Addresses- Strings of 32 ones and zeros
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
John Chuang 17
IP Packet Header
Options- Example: timestamp, record route, source route
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
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 = 4352
FDDIRing
RouterHost A Host B
Ethernet
MTU = 1500
John Chuang 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
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
John Chuang 21
IP Packet Header Flags:
- 1st bit: reserved, must be zero- 2nd bit: DF -- Do Not Fragment- 3rd bit: MF -- More Fragments
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
John Chuang 22
IP Packet Header Fragment Offset (in units of 8 bytes)- Used for reassembly of packet- 1st fragment has offset = 0
Total Length in bytes (16)
Time to Live (8)
Options (if any)
Bit 0 Bit 31
Version(4)
Hdr Len(4) TOS (8)
Identification (16 bits) Flags (3) Fragment Offset (13)
Source IP Address
Destination IP Address
Header Checksum (16)Protocol (8)
John Chuang 23
IP Fragmentation Example
MTU = 4352
FDDIRing
RouterHost A Host B
Ethernet
MTU = 1500
Host A wants to send to Host B an IP datagram of size = 4000 Bytes
John Chuang 24
IP Fragmentation Example
ID=x
offset=0
MF=0
length=4000
ID=x
offset=0
MF=1
length=1500
ID=x
offset=185
MF=1
length=1500
ID=x
offset=370
MF=0
length=1040
One large datagram becomesseveral 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