Chapter6 (Delivery, Forwarding, and Routing of IP Packets)
Download
Report
Transcript Chapter6 (Delivery, Forwarding, and Routing of IP Packets)
Chapter 6
Delivery
Forwarding, and
Routing of IP
Packets
Kyung Hee
University
1
Introduction
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
Kyung Hee
University
2
6.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
Kyung Hee
University
3
Direct 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
Kyung Hee
University
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
4
Direct versus Indirect Delivery (cont’d)
Direct delivery
Kyung Hee
University
5
Direct versus Indirect Delivery (cont’d)
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
Kyung Hee
University
Mapping between the IP address of next router and the
physical address of the next router
6
Direct versus Indirect Delivery (cont’d)
Indirect delivery
Kyung Hee
University
7
6.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
Kyung Hee
University
8
Forwarding 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
Kyung Hee
University
9
Forwarding Techniques (cont’d)
Kyung Hee
University
10
Forwarding Techniques (cont’d)
Network-Specific Method
Having only one entry to define the address of network itself
Kyung Hee
University
11
Forwarding Techniques (cont’d)
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
Kyung Hee
University
12
Routing methods (cont’d)
Kyung Hee
University
13
Routing methods (cont’d)
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)
Kyung Hee
University
14
Forwarding with Classful Addressing
Forwarding without Subnetting
Kyung Hee
University
15
Example 1
Figure 6.8 shows an imaginary part of the Internet.
Show the routing tables for router R1.
Kyung Hee
University
16
Example 1 - Solution
Kyung Hee
University
17
Example 2
Router R1 in Figure 6.8 receives a packet with
destination address 192.16.7.14. Show how the packet
is forwarded.
Solution
Kyung Hee
University
18
Example 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 nexthop address 111.15.17.32. and the interface m0 are
passed to ARP.
Kyung Hee
University
19
Example 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.
Kyung Hee
University
20
Forwarding with Subnetting
Kyung Hee
University
21
Example 4
Figure 6.11 shows a router connected to four subnets.
Kyung Hee
University
22
Example 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.
Kyung Hee
University
23
Example 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.
Kyung Hee
University
24
Forwarding 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
Kyung Hee
University
Simplified forwarding module in classless address
25
Example 7
Make a routing table for router R1 using the
configuration in Figure 6.13.
Kyung Hee
University
26
Example 7 - Solution
Solution
Table 6.1 shows the corresponding table
Table 6.1 Routing table for router R1 in Figure 6.13
Kyung Hee
University
27
Example 8
Show the forwarding process if a packet arrives at R1
in Figure 6.13 with the destination address
180.70.65.140.
Kyung Hee
University
28
Example 8 - Solution
Solution
The 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.
Kyung Hee
University
29
Example 9
Show the forwarding process if a packet arrives at R1
in Figure 6.13 with the destination address 201.4.22.35.
Kyung Hee
University
30
Example 9 - Solution
Solution
The 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.
Kyung Hee
University
31
Example 10
Show the forwarding process if a packet arrives at R1
in Figure 6.13 with the destination address 18.24.32.78.
Solution
This 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.
Kyung Hee
University
32
Example 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
Kyung Hee
University
33
Example 11 - Solution
Kyung Hee
University
34
Address Aggregation
Figure 6.15
Kyung Hee
University
Address aggregation
35
Longest Mask Matching
The routing table is sorted from the longest mask to
the shortest mask.
Kyung Hee
University
36
Hierarchical Routing
To solve the problem of gigantic routing tables,
creating a sense of the routing tables
Routing table can decrease in size
Kyung Hee
University
37
Example 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.
Kyung Hee
University
38
Example 12
Kyung Hee
University
39
6.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
Kyung Hee
University
40
Routing Module
Kyung Hee
University
41
Routing 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.
Kyung Hee
University
42
Routing Table (cont’d)
Flags
U (Up) : indicating the router’s 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
Kyung Hee
University
43
Example 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.
Kyung Hee
University
44
Example 13 (cont’d)
$ netstat -rn
Kernel IP routing table
Destination
Gateway
153.18.16.0
0.0.0.0
127.0.0.0
0.0.0.0
Mask
Flags
Iface
255.255.240.0
U
eth0
0.0.0.0
255.0.0.0
U
lo
153.18.31.
254 0.0.0.0
UG
eth0.
Loopback interface
Kyung Hee
University
45
Example 13 (cont’d)
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 encap:Ethernet
HWaddr 00:B0:D0:DF:09:5D
inet addr:153.18.17.11
Mask:255.255.240.0
Bcast:153.18.31.255
....
From the above information, we can deduce the
configuration of the server as shown in Figure 6.19.
Kyung Hee
University
46
Example 13 (cont’d)
Ifconfig command gives us the IP address and the physical
address (hardware) address of the interface
Kyung Hee
University
47
6.4 Structure of a Router
Kyung Hee
University
48
Components
Input port
Output port
Kyung Hee
University
49
Components (cont’d)
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
Kyung Hee
University
50
Switching fabrics
Crossbar switch
Kyung Hee
University
51
Switching Fabrics
Banyan switch
log2 (n) stages with n/2 microswitches
Kyung Hee
University
52
Switching Fabrics (cont’d)
Examples of routing in a banyan switch
Kyung Hee
University
53
Switching Fabrics (cont’d)
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
Kyung Hee
University
54
Switching Fabrics (cont’d)
Batcher-banyan switch
Kyung Hee
University
55
Summary(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.
Kyung Hee
University
56
Summary(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.
Kyung Hee
University
57