Title: Chapter 6 Delivery Forwarding, and Routing of IP Packets
1Chapter 6Delivery Forwarding, and Routing of IP
Packets
2Introduction
- Delivery
- Meaning the physical forwarding of the packets
- Connectionless and connection-oriented services
- Direct and indirect delivery
- Routing
- Related to finding the route (next hop) for a
datagram
36.1 Delivery
- Connection Types
- Connection-oriented service
- Using same path
- The decision about the route of a sequence of
packets with the same source and destination
addresses can be made only once, when the
connection is established - Connectionless service
- Dealing with each packet independently
- Packets may not travel the same path to their
destination - IP is
- Connectionless protocol
4Direct versus Indirect Delivery
- Two methods delivering a packet to its final
destination - Direct
- Indirect
- Direct delivery
- The final destination of the packet is a host to
the same physical network as the deliverer or the
delivery is between the last router and the
destination host - Decision making whether delivery is direct or not
- Extracting the network address of the destination
packet (setting the hostid part to all 0s) - Then, comparing the addresses of the network to
which it is connected
5Direct versus Indirect Delivery (contd)
6Direct versus Indirect Delivery (contd)
- Indirect delivery
- The destination host is not on the same network
as the deliverer - The packet goes from router to router until
finding the final destination - Using ARP to find the next physical address
- Mapping between the IP address of next router and
the physical address of the next router
7Direct versus Indirect Delivery (contd)
86.3 Forwarding
- Forwarding means to place the packet in its
route to its destination. So, it requires a host
or a router a routing table. - Routing table
- Used to find the route to the final destination
9Forwarding Techniques
- Next-hop Method
- A technique to reduce the contents of a routing
table - The routing table holds only the address of the
next hop instead of holding information about the
complete route - The entries of a routing table must be
consistent with each other
10Forwarding Techniques (contd)
11Forwarding Techniques (contd)
- Network-Specific Method
- Having only one entry to define the address of
network itself
12Forwarding Techniques (contd)
- Host-Specific Method
- Destination host addresses is given in the
routing table - The efficiency is sacrificed for the advantages
- Giving to administrator more control over
routing - Ex) if the administrator wants all packets
arriving for host B delivered to router R3
instead of R1, one single entry in the routing
table of host A can explicitly define the route
13Routing methods (contd)
14Routing methods (contd)
- Default Method
- Instead of listing all networks in the entire
Internet, host A can just have one entry called
the default (network address 0.0.0.0)
15Forwarding with Classful Addressing
- Forwarding without Subnetting
16Example 1
- Figure 6.8 shows an imaginary part of the
Internet. Show the routing tables for router R1.
17Example 1 - Solution
18Example 2
- Router R1 in Figure 6.8 receives a packet with
destination address 192.16.7.14. Show how the
packet is forwarded. - Solution
19Example 2 - Solution
- The destination address in binary is 11000000
00010000 00000111 00001110. A copy of the address
is shifted 28 bits to the right. The result is
00000000 00000000 00000000 00001100 or 12. The
destination network is class C. The network
address is extracted by masking off the leftmost
24 bits of the destination address the result is
192.16.7.0. The table for Class C is searched.
The network address is found in the first row.
The next-hop address 111.15.17.32. and the
interface m0 are passed to ARP.
20Example 3
- Router R1 in Figure 6.8 receives a packet with
destination address 167.24.160.5. Show how the
packet is forwarded - Solution
- The destination address in binary is 10100111
00011000 10100000 00000101. A copy of the address
is shifted 28 bits to the right. The result is
00000000 00000000 00000000 00001010 or 10. The
class is B. The network address can be found by
masking off 16 bits of the destination address,
the result is 167.24.0.0. The table for Class B
is searched. No matching network address is
found. The packet needs to be forwarded to the
default router (the network is somewhere else in
the Internet). The next-hop address 111.30.31.18
and the interface number m0 are passed to ARP.
21Forwarding with Subnetting
22Example 4
- Figure 6.11 shows a router connected to four
subnets.
23Example 5
- The router in Figure 6.11 receives a packet with
destination address 145.14.32.78. Show how the
packet is forwarded. - Solution
- The mask is /18. After applying the mask, the
subnet address is 145.14.0.0. The packet is
delivered to ARP with the next-hop address
145.14.32.78 and the outgoing interface m0. -
24Example 6
- A host in network 145.14.0.0 in Figure 6.11 has
a packet to send to the host with address
7.22.67.91. Show how the packet is routed. - Solution
- The router receives the packet and applies the
mask (/18). The network address is 7.22.64.0. The
table is searched and the address is not found.
The router uses the address of the default router
(not shown in figure) and sends the packet to
that router.
25Forwarding with Classless Addressing
- In classful addressing we can have a routing
table with three columns in classless
addressing, we need at least four columns.
Figure 6.12 Simplified forwarding module in
classless address
26Example 7
- Make a routing table for router R1 using the
configuration in Figure 6.13.
27Example 7 - Solution
- SolutionTable 6.1 shows the corresponding table
Table 6.1 Routing table for router R1 in Figure
6.13
28Example 8
- Show the forwarding process if a packet arrives
at R1 in Figure 6.13 with the destination address
180.70.65.140.
29Example 8 - Solution
- SolutionThe router performs the following
steps - 1. The first mask (/26) is applied to the
destination address. The result is 180.70.65.128,
which does not match the corresponding network
address. - 2. The second mask (/25) is applied to the
destination address. The result is 180.70.65.128,
which matches the corresponding network address.
The next-hop address (the destination address of
the packet in this case) and the interface number
m0 are passed to ARP for further processing.
30Example 9
- Show the forwarding process if a packet arrives
at R1 in Figure 6.13 with the destination address
201.4.22.35.
31Example 9 - Solution
- SolutionThe router performs the following
steps - 1. The first mask (/26) is applied to the
destination address. The result is 201.4.22.0,
which does not match the corresponding network
address (row 1). - 2. The second mask (/25) is applied to the
destination address. The result is 201.4.22.0,
which does not match the corresponding network
address (row 2). - 3. The third mask (/24) is applied to the
destination address. The result is 201.4.22.0,
which matches the corresponding network address.
The destination address of the package and the
interface number m3 are passed to ARP.
32Example 10
- Show the forwarding process if a packet arrives
at R1 in Figure 6.13 with the destination address
18.24.32.78. - SolutionThis time all masks are applied to the
destination address, but no matching network
address is found. When it reaches the end of the
table, the module gives the next-hop address
180.70.65.200 and interface number m2 to ARP.
This is probably an outgoing package that needs
to be sent, via the default router, to some place
else in the Internet.
33Example 11
- Now let us give a different type of example. Can
we find the configuration of a router, if we know
only its routing table? The routing table for
router R1 is given in Table 6.2. Can we draw its
topology? - Table 6.2 Routing table for Example 11
34Example 11 - Solution
35Address Aggregation
- Figure 6.15 Address aggregation
36Longest Mask Matching
- The routing table is sorted from the longest
mask to the shortest mask.
37Hierarchical Routing
- To solve the problem of gigantic routing tables,
creating a sense of the routing tables - Routing table can decrease in size
38Example 12
- As an example of hierarchical routing, let us
consider Figure 6.17. A regional ISP is granted
16,384 addresses starting from 120.14.64.0. The
regional ISP has decided to divide this block
into four subblocks, each with 4096 addresses.
Three of these subblocks are assigned to three
local ISPs, the second subblock is reserved for
future use. Note that the mask for each block is
/20 because the original block with mask /18 is
divided into 4 blocks.
39Example 12
406.3 Routing - Static versus Dynamic Routing
- Static routing table
- Containing information entered manually
- Cannot update automatically when there is a
change in the internet - Used in small internet that does not change very
much, or in an experimental internet for
troubleshooting - Dynamic routing table
- is updated periodically using one of the dynamic
routing protocols such RIP, OSPF, or BGP (see
Chap. 14) - Updating the routing table corresponding to
shutdown of a router or breaking of a link
41Routing Module
42Routing Table
- Routing table
- In classless addressing, routing table has a
minimum of four columns. - - Some routers have even more columns
Flags U (up) The router is up and running. G
(gateway) The destination is in another
network. H Host-specific address. D Added
by redirection. M Modified by redirection.
43Routing Table (contd)
- Flags
- U (Up) indicating the routers running
- G (Gateway) meaning that the destination is
another network - H (Host-specific) indicating that the entry in
the destination is a host-specific address - D (Added by redirection) indicating that
routing information for this destination has been
added to the host routing table by a redirection
message from ICMP - M (Modified by redirection) indicating that
routing information for this destination has been
modified by a redirection message from ICMP - Reference count giving the number of users that
are using this route at any moment - Use showing the number of packets transmitted
through this router for the corresponding
destination - Interface showing the name of the interface
44Example 13
- One utility that can be used to find the contents
of a routing table for a host or router is
netstat in UNIX or LINUX. The following shows the
listing of the contents of the default server. We
have used two options, r and n. The option r
indicates that we are interested in the routing
table and the option n indicates that we are
looking for numeric addresses. Note that this is
a routing table for a host, not a router.
Although we discussed the routing table for a
router throughout the chapter, a host also needs
a routing table.
45Example 13 (contd)
netstat -rnKernel IP routing table Destination
Gateway Mask Flags
Iface 153.18.16.0 0.0.0.0 255.255.240.0 U
eth0 127.0.0.0 0.0.0.0 255.0.0.0 U
lo 0.0.0.0 153.18.31. 254 0.0.0.0 UG eth0.
Loopback interface
46Example 13 (contd)
More information about the IP address and
physical address of the server can be found using
the ifconfig command on the given interface
(eth0).
ifconfig eth0 eth0 Link encapEthernet
HWaddr 00B0D0DF095D inet addr153.18.17.11
Bcast153.18.31.255
Mask255.255.240.0 ....
From the above information, we can deduce the
configuration of the server as shown in Figure
6.19.
47Example 13 (contd)
Ifconfig command gives us the IP address and the
physical address (hardware) address of the
interface
486.4 Structure of a Router
49Components
50Components (contd)
- Routing Processor
- performing the functions of the network layer
- destination address is used to find the address
of the next hop and output port number table
lookup -
51Switching fabrics
52Switching Fabrics
- Banyan switch
- log2 (n) stages with n/2 microswitches
53Switching Fabrics (contd)
- Examples of routing in a banyan switch
54Switching Fabrics (contd)
- Possibility of internal collision even when two
packets are not heading for the same output port
in banyan switch - solving the problem by sorting the arriving
packets based on their destination port - Trap module preventing duplicate packets
(packets with the same output destination) from
passing to the banyan switch simultaneously
55Switching Fabrics (contd)
56Summary(1)
- In a connection-oriented service, the local
network layer protocol first makes a connection
with the network layer protocol at the remote
site before sending a packet. - In a connectionless service, the network layer
protocol treats each packet independently, with
each packet having no relationship to any other
packet. The packets in a message may or may not
travel the same path to their destination. The IP
protocol is a connectionless protocol. - The delivery of a packet is called direct if the
deliverer(host or router) and the destination are
on the same network. - The delivery of a packet is called indirect if
the deliverer(host or router) and the destination
are on different networks. - In the next-hop method, instead of a complete
list of the stops the packet must make, only the
address of the next hop is listed in the routing
table. - In the network-specific method, all hosts on a
network share one entry in the routing table. - In the host-specific method, the full IP address
of a host is given in the routing table.
57Summary(2)
- In the default method, a router is assigned to
receive all packets with no match in the routing
table. - The routing table for classful forwarding can
have three columns. - The routing table for classless addressing needs
at least four columns. - The number of columns in a routing table is
vendor dependent. - Address aggregation simplifies the forwarding
process in classless addressing. - Longest mask matching is required in classless
addressing. - Classless addressing requires hierarchical and
geographical routing to prevent immense routing
tables. - Search algorithms for classful addressing are not
efficient for classless addressing. - A static routing table's entries are updated
manually by an administrator. - A dynamic routing table's entries are updated
automatically by a routing protocol. - A router is normally made of four components
input ports, output ports, the routing processor,
and the switching fabric.