Internetworking: IP Packet Switching
description
Transcript of Internetworking: IP Packet Switching
1
Internetworking: IP Packet Switching
Reading: 4.1.1 - 4.1.7(except Implementation; pp. 245-250 )
2
Terminology
• “iinternetwork”, iinternet: an arbitrary collection of physical networks interconnected to provide some sort of host- to-host packet delivery service– interconnect physical networks (e.g. Ethernets,
FDDIs, ATMs, PPP,..)• form a logical network (an internet)
• IInternet: widely used, global internetwork to which a large percentage of networks are now connected
• Learn the principles of internetworking– illustrate ideas with real-world examples from Internet
3
Network of “Single Technology Networks”
• Internet Protocol, IP: a tool used to buildscalable, heterogeneous internetwork– net 1, net 2 : Ethernets– net 3: FDDI– net 4: point-to-point link– R1, R2, R3: routers for
interconnection
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 4(point-to-point)
H7 R3 H8
Network 3 (FDDI)
R1 R2 R3
H1 H8
ETH FDDI
IP
ETH
TCP
FDDI PPP PPP ETH
IP
ETH
TCP
IP IP IP
4
Service Model• Connectionless (datagram-based)
• Best-effort delivery (unreliable service to transport {or other higher} layer protocols)– packets are lost– packets are delivered out of order– duplicate copies of a packet are delivered– packets can be delayed for a long time
5
Packet Format: 20 to 24 byte Header I
1. Version2. HLen: length of header in 32-bit words3. TOS, Type of Service: allow packets to be treated
differently based on application needs4. Length: bytes of datagram (including header, max
65,535)5. Indent, Offset , Flag: information used for fragmentation
Version HLen TOS Length
Ident Flags Offset
TTL Protocol Checksum
SourceAddr
DestinationAddr
Options (variable) Pad(variable)
0 4 8 16 19 31
Data
6
Packet Format: 20 to 24 byte Header II
6. TTL, time to live: discard looping packets; 64 is the current default
7. Protocol: higher-level protocol (TCP = 6, UDP =17, …)8. Checksum: calculated for IP header considered as a
sequence of 16-bit words9. SourceAddr, DestinationAddr: IP defines its own global
address space, independent of physical networks10. Options, Pad: rarely use Version HLen TOS Length
Ident Flags Offset
TTL Protocol Checksum
SourceAddr
DestinationAddr
Options (variable) Pad(variable)
0 4 8 16 19 31
Data
7
Fragmentation and Reassembly
• Each physical network has some maximum transmission unit (MTU).– Examples
• Ethernet packets up to 1500 bytes• FDDI packets up to 4500 bytes
Fragmentation and Reassembly Design Decisions:1. try to avoid fragmentation at source host
– source host chooses size of IP datagram equals to MTU of physical network to which it is directly attached
– if transport protocol gives IP a packet larger than local MTU, then source host fragments it
2. fragment when necessary– whenever the path to destination includes a network with MTU <
Datagram
8
Design Decisions (cont.)3. re-fragmentation is possible
– a router wants to forward a datagram over a network with MTU < received datagram
4. fragments are self-contained datagrams5. delay reassembly until destination host
– fragments carry same identifier in Ident• Ident chosen by sending host• unique among datagrams that might arrive at destination
from source over some reasonable time period
6. do not recover from lost fragments– If all fragments do not arrive at receiving host, it
discards fragments that arrived
9
Example
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 4(point-to-point)
H7 R3 H8
Network 3 (FDDI)
H1 R1 R2 R3 H8
ETH FDDI
PPP IP (376)PPP IP (512)PPP IP (512) (512)
ETH IP
ETH IP(512)ETH IP(376)
IP (1400) IP (1400)
R1 R2 R3
4500 MTU1500 MTU
532 MTU
•IP on H1 wants to send to H8 a 1420-byte packet (20-byte IP header plus 1400 bytes of data)
R2 must fragment the packet before routing it to RT3
•MTU of net2 = 1500 byte•MTU of net3 = 4500 byte•MTU of net4 = 532 byte•MTU of net4 = 1500 byte
10
Example (continued)
(a)
Ident = xStart of header
Rest of header
1400 data bytes
Offset = 00
(b)
Ident = xStart of header
Rest of header
512 data bytes
Offset = 01
Ident = x
Rest of header
512 data bytes
Offset = 641Start of header
Ident = xStart of header
Rest of header
376 data bytes
Offset = 1280
H1 R1 R2 R3 H8
ETH FDDI
PPP IP (376)PPP IP (512)PPP IP (512) (512)
ETH IP
ETH IP(512)ETH IP(376)
IP (1400) IP (1400)
R1 R2 R3
4500 MTU1500 MTU
532 MTU
1420-byte datagram (20-byte IP header plus 1400 bytes of data)
First fragment•M bit 1 in the Flags field (more fragments to follow)•Offset 0 (fragment contains first part of original datagram)
Second fragment• starts with the 513th byte•Offset field in header set to 64, which is 512/8•fragmentation is done on 8-byte boundaries•Offset field counts 8-byte chunks
Third fragment•contains last 376 bytes•offset (2 x 512)/ 8 = 128•M bit is 0
(b)
(a)
11
Global Addresses• Although globally unique, Ethernet addresses
have no structure to provide clues to routing protocols
• IP addresses: 32 bits– globally unique (4,294,967,296 possible addresses)– hierarchical: network + host
• Dot Notation– 10.3.2.4– 128.96.33.81– 192.12.69.77
Network Host7 24
0(a)
Network Host14 16
1 0(b)
Network Host21 8
1 1 0(c)
12
IP addresses (cont. I)• The original idea was that the Internet would
consist ofa) a small number of wide area networks (these would
be class A networks), 126
Network Host7 24
0(a)
Network Host14 16
1 0(b)
Network Host21 8
1 1 0(c)
Yes. Yes. Yes. Yes. Yes. Yes. Yes.\Yes. Yes. Yes. Yes. Yes. Yes. Yes.Yes. Yes. Yes. Yes. Yes. Yes. Yes.Yes. Yes. Yes. Yes. Yes. Yes. Yes.Yes. Yes. Yes. Yes. Yes. Yes. Yes.
1. 126 class A networks (the values 0 and 127 are reserved)
2. each class A network accommodate up to 224 - 2 (about 16 million) hosts (again, there are two reserved values)
13
IP addresses (cont. II)• The original idea was that the Internet would
consist ofa) a small number of wide area networks (these would
be class A networks), 126b) a modest number of site- (campus-) sized networks
(these would be class B networks)• 65,534 hosts /network
Network Host7 24
0(a)
Network Host14 16
1 0(b)
Network Host21 8
1 1 0(c)Yes. Yes. Yes. Yes. Yes. Yes. Yes.\Yes. Yes. Yes. Yes. Yes. Yes. Yes.
14
IP addresses (cont. III)• The original idea was that the Internet would
consist ofa) a small number of wide area networks (these would
be class A networks), 126b) a modest number of site- (campus-) sized networks
(these would be class B networks)• 65,534 hosts /network
c) a large number of LANs(these would be class C networks)• 254 hosts/LAN
• 255 reserved for broadcast• 0 not a valid host number
Network Host7 24
0(a)
Network Host14 16
1 0(b)
Network Host21 8
1 1 0(c)
15
Datagram Forwarding Strategy
• every datagram contains destination’s address• if router is connected to destination network, then
forward to host• if not directly connected, then forward to some
router• forwarding table maps network number into next
hop (router)• each host has a default router• each router maintains a forwarding table
16
Datagram Forwarding (cont.)
• Example: R2 Table Network Number Next Hop 1 R3 2 R1 3 interface 1 4 interface 0
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 4(point-to-point)
H7 R3 H8
Network 3 (FDDI)
17
Address Translationa packet reaches a new physical network• map IP address into a physical address
– Either• determine physical address of destination host
– OR• determine physical address of next hop router
• encapsulate IP datagram inside a frame that contains link-level address
18
Address Resolution Protocol (ARP)• ARP enables each host on a physical network to
dynamically build up a table of mappings between IP addresses and link-level addresses
Invoking ARP:• an “originator” host wants to send a datagram to
a host (or router) on the same physical network• if no mapping is found in its ARP table, it invokes
the Address Resolution Protocol
19
Executing ARP
1. “originator” host broadcast an ARP query containing “target IP address” and {IP address; link-layer address} of originator host
2. if a host on network already has an entry for originator host, it “refreshes” this entry (resets length of time until it discards entry)
3. target host adds information about originator to its table & sends back a response message that contains its link-layer address
4. originator adds information contained in the response to its ARP table
5. all other hosts do not add an entry for the originator host
20
ARP: Notes
• mappings may change over time
• entries are timed out periodically and removed– discarded if not refreshed (in about 10 minutes)
21
ARP Packet Format
• HardwareType: type of physical network (e.g., Ethernet)
• ProtocolType: type of higher layer protocol (e.g., IP)
• HLEN & PLEN: length of physical and protocol addresses
• Operation: request or response• Source/Target - Physical/Protocol addresses
22
ARP Packet Format
TargetHardwareAddr (bytes 25)
TargetProtocolAddr (bytes 03)
SourceProtocolAddr (bytes 23)
Hardware type = 1 ProtocolType = 0x0800
SourceHardwareAddr (bytes 45)
TargetHardwareAddr (bytes 01)SourceProtocolAddr (bytes 01)
HLen = 48 PLen = 32 OperationSourceHardwareAddr (bytes 0― 3)
0 8 16 31
―
― ― ―
―
―
Mapping IP into Ethernet Addresses
23
Internet Control Message Protocol (ICMP)• a companion protocol to IP
• defines a collection of error messages that are sent back to source host whenever a router or host is unable to process an IP datagram successfully
24
Error Messages Defined by ICMP• Destination unreachable• TTL exceeded (so datagrams don’t cycle
forever)• Checksum failed • Reassembly failed• Cannot fragment• Echo (ping)• Redirect (one of the control messages a router
can send back to a source host)– there is a better route to the destination