IP Forwarding: Relates To Lab 3
IP Forwarding: Relates To Lab 3
Relates to Lab 3.
1
Delivery of an IP datagram
Network of
Ethernet
switches
Ethernet
IP
H1 R3 R4
Token
Ring
Ethernet LAN
2
Delivery of an IP datagram
10.1.0.0/24 10.3.0.0/16
H1 R3 R4
3
Tenets of end-to-end delivery of datagrams
1. The
1. Thenetwork
networkprefix
prefixofofan
anIPIPdestination
destinationaddress
addressmust
must
correspondto
correspond toaaunique
uniquedata
datalink
linklayer
layer network
network (=LAN
(=LANor or
point-to-point link
point-to-point linkororswitched
switchednetwork).
network).
(Thereverse
(The reverseneed
neednot not be
betrue!)
true!)
2. Routers
2. Routersand
andhosts
hoststhatthathave
have aacommon
common network
network prefix
prefix
mustbe
must beable
ableto toexchange
exchangeIP IPdagrams
dagramsusing
usingaadata
datalink
link
protocol(e.g.,
protocol (e.g.,Ethernet,
Ethernet, PPP)
PPP)
3. Every
3. Everydata
datalink
linklayer
layernetwork
networkmustmustbebeconnected
connectedto toat
atleast
least
oneother
one otherdata
datalink
linklayer
layer network
networkvia viaaarouter.
router.
4
Routing tables
• Each router and each host keeps a routing table which tells the router
how to process an outgoing packet
• Main columns:
1. Destination address: where is the IP datagram going to?
2. Next hop: how to send the IP datagram?
3. Interface: what is the output port?
• Next hop and interface column can often be summarized as one column
• Routing tables are set so that datagrams gets closer to the its destination
Destination Next interface
Hop
10.1.0.0/24 direct eth0
10.1.2.0/24 direct eth0
Routing table of a host or router 10.2.1.0/24 R4 serial0
IP datagrams can be directly delivered 10.3.1.0/24 direct eth1
(“direct”) or is sent to a router (“R4”) 20.1.0.0/16 R4 eth0
20.2.1.0/28 R4 eth0
5
Delivery with routing tables
R1 R2
1 0 .2 .1 .0 /2 4 2 0 .2 .1 .0 /2 8
H2
2 0 .2 .1 .2 /2 8
1 0 .1 .2 .0 /2 4 2 0 .1 .0 .0 /1 6
to:
20.2.1.2 1 0 .1 .0 .0 /2 4 1 0 .3 .0 .0 /1 6
H1 R3 R4
6
Delivery of IP datagrams
7
Processing of an IP datagram in IP
Routing Static
UDP TCP
Protocol routing
Demultiplex
Yes
No
Send Input
IP module datagram Discard queue
• IP forwarding enabled
if a datagram is received, but it is not for the local system,
the datagram will be sent to a different system
• IP forwarding disabled
if a datagram is received, but it is not for the local system,
the datagram will be dropped
9
Processing of an IP datagram at a router
Receive an
IP datagram 1. IP header validation
2. Process options in IP header
3. Parsing the destination IP address
4. Routing table lookup
5. Decrement TTL
6. Perform fragmentation (if necessary)
7. Calculate checksum
8. Transmit to next hop
9. Send ICMP packet (if necessary)
10
Routing table lookup
11
Type of routing table entries
• Network route
– Destination addresses is a network address (e.g., 10.0.2.0/24)
– Most entries are network routes
• Host route
– Destination address is an interface address (e.g., 10.0.1.2/32)
– Used to specify a separate route for certain hosts
• Default route
– Used when no network or host route matches
– The router that is listed as the next hop of the default route is the default
gateway (for Cisco: “gateway of last resort)
• Loopback address
– Routing table for the loopback address (127.0.0.1)
– The next hop lists the loopback (lo0) interface as outgoing interface
12
Routing table lookup: Longest Prefix Match
10.0.0.0/8 R1
1. Search for a match on all 32 bits 128.143.0.0/16 R2
2. Search for a match for 31 bits 128.143.64.0/20 R3
128.143.192.0/20 R3
…..
128.143.71.0/24 R4
32. Search for a mach on 0 bits 128.143.71.55/32 R3
default R5
• Adding an interface:
– Configuring an interface eth2 with Destination Next Hop/
10.0.2.3/24 adds a routing table interface
entry: 10.0.2.0/24 eth2
• ICMP messages
15
Routing table manipulations with ICMP
Ethernet
17