SlideShare una empresa de Scribd logo
1 de 69
A Presentation by
Tusharadri Sarkar
Evolution of Routing
Techniques
December 7, 2009Tusharadri Sarkar1
Delivery, Forwarding, Routing
IP and Mask
Routing Table
Unicast Routing Protocols
AGENDA
December 7, 2009Tusharadri Sarkar2
What is routing?
Why is routing required?
At which layer is routing done?
How does a router work?
Some Basic Questions
December 7, 2009Tusharadri Sarkar3
What is routing?
Routing is the process of selecting a path in
a network along which the packets shall be
sent to a destination
Routing consists of
A Router
A set of routing protocols
A routing information base (RIB)
One or more routing algorithms
December 7, 2009Tusharadri Sarkar4
Why is routing required?
 For practical limitation of physical
connections
 For efficiently managing the network traffic
 For efficient usage of network resources
 For catering to different types of services
 For congestion control
December 7, 2009Tusharadri Sarkar5
At which layer is routing done?
 Generally routing is done at network layer
 Multilayer layer routing and Cross layer routing is also
prevalent nowadays
 Firewalls are often integrated with routers
December 7, 2009Tusharadri Sarkar6
Router, Switch and Hub
The basic difference is varying intelligence
December 7, 2009Tusharadri Sarkar7
How does a router work?
December 7, 2009Tusharadri Sarkar8
Delivery
The network layer supervises the
handling of packets by the underlying
physical network
Every packet undergoes at least one
“Direct Delivery” and one or more
“Indirect Delivery”
December 7, 2009Tusharadri Sarkar9
Direct and Indirect Delivery
To rest of Network
Source SourceDestination
Destination
Direct
Indirect
Direct
Direct
December 7, 2009Tusharadri Sarkar10
Logical addressing: IP and MASK
Internet Protocol address is a logical and global
addressing scheme
It uniquely defines the connection of a
device/network to the Internet
IPv4: 32 bit addressing scheme
Address space: 232
= 4294967296
Notations: Dotted Decimal:
117.149.29.2
Notations: Binary:
01110101 1001010 00011101 00000010
December 7, 2009Tusharadri Sarkar11
Logical addressing: IP and MASK
 Classful addressing
1st
2nd
3rd
4th
0
10
110
1110
1111
1st
2nd
3rd
4th
0-127
128-191
192-223
224-239
240-255
Classes
Class A
Class B
Class C
Class D
Class E
Class No. of Blocks Block Size Application
A 128 16,777,216 Unicast
B 16,384 65,536 Unicast
C 2,097,152 256 Unicast
D 1 268,435,456 Multicast
E 1 268,435,456 Reserved
December 7, 2009Tusharadri Sarkar12
Logical addressing: IP and MASK
Mask: A 32 bit number made of n contiguous 1s
followed by (32-n) contiguous 0s (n<32)
Default masks for Classful addressing:
Given an IP and its mask, one can calculate:
First Address
Last Address
Range of Addresses
Class Binary Dotted Decimal CIDR
A 11111111 00000000 00000000 00000000 255.0.0.0 /8
B 11111111 11111111 00000000 00000000 255.255.0.0 /16
C 11111111 11111111 11111111 00000000 255.255.255.0 /24
December 7, 2009Tusharadri Sarkar13
Logical addressing: IP and MASK
Classless addressing: No more classes but a
block of addresses are assigned, provided the
following restrictions are strictly followed
The addresses in the block must be contiguous
The number of addresses must be a power of 2
The first address must be evenly divisible by the total
number of addresses allocated
Mask is a better way to define a block
An example: Given an IP address
205.16.37.39/28
What are the first, last and the total number of
addresses assigned?
December 7, 2009Tusharadri Sarkar14
Logical addressing: IP and MASK
Binary equivalent of mask /28:
 11111111 11111111 11111111 11110000 (255.255.255.240)
Binary equivalent of the address:
 11001101 00010000 00100101 00100111 (205.16.37.39)
First address: Set the right most 4 bits to 0:
 11001101 00010000 00100101 0010000 (205.16.37.32)
Last address: Set the right most 4 bits to 1:
 11001101 00010000 00100101 00101111 (205.16.37.47)
Number of addresses: 232-n
= 24
=16
So, in general a address in classless addressing is
mentioned as: x.y.z.t/n
December 7, 2009Tusharadri Sarkar15
Network Address
 When a organization is allocated a block of addresses,
normally (not always) the first address is treated as the
network address
 It is not assigned to any device, it defines the organization
itself to the rest of the world
REST of the WORLD
Network Address:
205.16.37.32
All packets with receiver
address 205.16.37.32 to
205.16.37.47 are routed to
x.y.z.t/nx.y.x.t/n 205.16.37.32/28
205.16.39.33/28 205.16.39.47/28
… …
December 7, 2009Tusharadri Sarkar16
Routing Table
A host or a router maintains a ‘routing table’ with
an entry for each specific destination
The table can be STATIC or DYNAMIC
Static Routing Table:
Contains information entered manually by the
administrator at the time of creation
Cannot be modified automatically when there is any
change in the Internet
Dynamic Routing Table:
Capable of updating the table with the help of routing
protocols and algorithms automatically
Only option for managing any large network of today
December 7, 2009Tusharadri Sarkar17
Routing Table
Mask: Defines the mask applied to that entry
Network Address: Defines the network address to
which the packet is finally delivered. In host specific
routing, this is the destination host address
Next Hop Address: Defines the address of the hop
for the packet
Interface: Shows the name of the interfaces
Mask
Network
Interface
Next-hop
address
Interface Flags
Reference
Count
Use
… … … … … … …
December 7, 2009Tusharadri Sarkar18
Routing Table
FLAGS: Defines up to five flags
 U (Up): Router is up and running
 G (Gateway): Destination is in another network
 H (Host-specific): Network address is host-specific address.
Otherwise the network address is the destination address
 D (Added by redirection): Routing info is added to host routing table
by redirection message from ICMP
 M (Modified by redirection): Routing info for destination is modified
to host routing table by redirection message from ICMP
Reference Count: Defines number of users at this
route at the moment
Use: Defines number of packets transmitted through
the router for a destination
December 7, 2009Tusharadri Sarkar19
A quick look at a system routing table
December 7, 2009Tusharadri Sarkar20
Network Configuration of a System
form the Routing Table
A UNIX server gives the following result with netstat
and ifconfig command
 $ netstat –nr
 Kernel IP routing table
 $ ifconfig eth0
 Eth0 Link encap:Ethernet Hwaddr 00:B0:D0:DF:09:5D
 Inet addr: 153.18.17.11 Bcast: 153.18.31.255 Mask:255.255.240.0
What is the network configuration of the server?
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
December 7, 2009Tusharadri Sarkar21
Network Configuration from the
Routing Table
Rest of the Internet
153.18.16.0/20
153.18.31.254/20
153.18.17.11/20
eth0
00:B0:D0:DF:09:5D
Default
Router
December 7, 2009Tusharadri Sarkar22
Forwarding
It means placing the packet in its route to its
destination
Requires a host or a router to have a routing table
When the host has a packet to send or the router
has received a packet, it looks up this routing
table to determine route to the final destination
Routing techniques caters to optimizing this table
as maintain a full-fledged look-up table is
impossible to maintain
December 7, 2009Tusharadri Sarkar23
Forwarding Techniques
Next-hop method Vs Route Method
N1
N2 N3
R1 R2
Host A
Host B
Routing tables based on routing
Destination Route
Host B R1, R2, host B
Destination Route
Host B R2, host B
Destination Route
Host B Host B
Routing tables based on Next-hop
Destination Route
Host B R1
Destination Route
Host B R2
Destination Route
Host B Host B
For
A
For
R1
For
R2
December 7, 2009Tusharadri Sarkar24
December 7, 2009
Forwarding Techniques
Network-Specific method Vs Host Specific method
System
DCBA
N2N1
Routing table for host S based on
host-specific method
Destination Next Hop
A R1
B R1
C R1
D R1
Routing table for host S based on
network-specific method
Destination Next Hop
N2 R1
R1
Tusharadri Sarkar25
Forwarding Techniques
Default Method: Using a default router
N1 N2
R1
R2
Host A
Rest of the Internet
Default
Router
Destination Next Hop
N2 R2
Any other R1
Routing
table for
host A
December 7, 2009Tusharadri Sarkar26
Forwarding Process
 In classless addressing, at least 4 columns are required
 The routing table is searched based on the network address
and mask
Mask Network
Address
Next-hop
Address
Interface
… … … …
… … … …
… … … …
Extract
Destination
Address
Search
Table
Forwarding Module
To ARP
Next –hop address
and interface no.
December 7, 2009Tusharadri Sarkar27
Managing Routing Table in Classless
Addressing
 Address aggregation: Blocks of addresses of different
interface and mask are aggregated into one single block in
routing table
 Several levels of aggregation are possible
140.24.7.0/26
140.24.7.64/26
140.24.7.128/26
140.24.7.192/26
Org 1
Org 2
Org 3
Org 4
m0
m1
m2
m3
m4 m0 m1
R1 R2
December 7, 2009Tusharadri Sarkar28
Managing Routing Table in Classless
Addressing
Address aggregation: Routing tables for router R1
and router R2
For R2, any packet with destination addresses 140.24.7.0 to
140.24.7.255 are sent to interface m0 regardless of any of
the organizations
Mask NA NHA Iface
/26 140.24.7.0 … m0
/26 140.24.7.64 … m1
/26 140.24.7.128 … m2
/26 140.24.7.192 … m3
/0 0.0.0.0 Default m4
Mask NA NHA Iface
/24 140.24.7.0 … m0
/0 0.0.0.0 Default m1
Routing table for R1 Routing table for R2
December 7, 2009Tusharadri Sarkar29
Longest Mask Matching
 What happens if Org. 4 is not geographically close to the other
3 Orgs?
 Can we still use Address Aggregation and assign the block
140.24.7.192/26 to Org. 4?
R2
R1
R3
140.24.7.0/26
140.24.7.64/26
140.24.7.128/26
140.24.7.192/26
Org 1
Org 2
Org 3
Org 4
m0
m1
m2
m3
m0 m2
m1
m0m1
m2
December 7, 2009Tusharadri Sarkar30
Longest Mask Matching
 Answer: YES
 Reason: LONGEST MASK MATCHING
 The “Routing Table” is sorted from the longest mask to the
shortest mask
Mask NA NHA Iface
/26 140.24.7.0 … m0
/26 140.24.7.64 … m1
/26 140.24.7.128 … m2
/0 0.0.0.0 Default m3
Mask NA NHA Iface
/26 140.24.7.192 … m0
/0 0.0.0.0 Default m2
Mask NA NHA Iface
/26 140.24.7.192 … m1
/24 140.24.7.0 … m0
/0 0.0.0.0 Default m2
Routing table for R1 Routing table for R2
Routing table for R3 December 7, 2009Tusharadri Sarkar31
Hierarchical Routing
Hierarchical routing can greatly minimize the size of
the routing tables
For example, a regional ISP is granted a 16,384 (214
)
addresses starting from 120.14.64.0/18
It is divided in to 4 sub-blocks each of size 4096 for
3 local ISPs. For them the mask is /20
1st
local ISP divides its assigns sub-blocks into 8
smaller blocks for small ISPs. For them the mask
becomes /23
Each small ISPs divides them into 128 sub-blocks
for households. For them the mask becomes /30,
and so on…
December 7, 2009Tusharadri Sarkar32
Hierarchical Routing
 The logical representation is displayed here
120.14.64.0/18
Total 16,384
120.14.64.0/20
120.14.64.0/23120.14.64.0/30
120.14.78.0/30
120.14.78.0/23
120.14.80.0/20
120.14.96.0/22
120.14.112.0/24
120.14.96.0/20
120.14.112.0/20
Total
4096
Total
4096
Total
4096
Total
4096
512
512
ISP 1
ISP 2.1
ISP 3.1
ISP 3.8
ISP 2.2
ISP 2.3
Total 4 Large Orgs.
Total 16 Small Orgs.
128 Each
128 Each
December 7, 2009Tusharadri Sarkar33
Geographical Routing
The same concept of hierarchical routing can be
extended in geographical routing
To decrease the size of the routing tables further,
segregation is done in geographical level as well
For example, the entire address space is divided
into few large blocks
One block is assigned to North America, one to
Asia, one to Africa, one to Europe and so on…
So, for all the routers of the ISPs outside Europe,
every router will have one and only entry for all the
addresses assigned to Europe
December 7, 2009Tusharadri Sarkar34
Unicast Routing Protocols
Routing protocols are needed to maintain and
update dynamic routing tables
A routing protocols is a combination of set of rules
(algorithms) and procedures
Unicast routing protocols applies where each
incoming packet has to be delivered to one and
only one destination
Router decides the next hope of a packet in a
‘Autonomous System’ based on ‘Optimization’
3 most popular and basic Unicast Routing
Protocols are: RIP (Distance Vector routing), OSPF
(Path Vector routing) and BGP (Link State routing)
December 7, 2009Tusharadri Sarkar35
Autonomous Systems
An ‘Autonomous System’ or ‘AS’ is group of
networks and routers under the authority of a single
administration
Routing inside AS : Intra-domain routing
Routing between AS : Inter-domain routing
AS1
AS4AS3
AS2
December 7, 2009Tusharadri Sarkar36
Routing Protocols Scope
December 7, 2009Tusharadri Sarkar37
Optimization
The router must always choose the optimum path
between two networks for the packets
There is a cost associated with each packet for
passing through a network, called ‘Metric’
The metric is different depending on the routing
protocols. For example:
 In RIP, the hop count is used as the metric
 In OSPF, the administrator can assign a cost for
network based on the type of service required
 In BGP, the administrator can set the cost based on
the policy of the network
December 7, 2009Tusharadri Sarkar38
Distance Vector Routing
In DVR, the least cost route between any two nodes
is the route with minimum distance
Each node maintains a vector (table) of minimum
distance to every node known
There are three steps involved:
 Initialization: At the beginning, each node knows the
distance to its immediate neighbors
 Sharing: Periodically or in triggered time, the nodes
share their vectors with other nodes
 Updating: Based on the shared info, nodes updates
their vectors about path to indirectly connected
nodes
December 7, 2009Tusharadri Sarkar39
DVR: Initialization
To Cost Next
A 0 _
B 5 _
C 2 _
D 3 _
E ∞
A
C
B
ED
5
3
2 4
34
To Cost Next
A 3 _
B ∞
C ∞
D 0 _
E ∞
To Cost Next
A 5 _
B 0 _
C 4 _
D ∞
E 3 _
To Cost Next
A ∞
B 3 _
C 4 _
D ∞
E 0 _
To Cost Next
A 2 _
B 4 _
C 0 _
D ∞
E 4 _
Table of “A” Table of “B”
Table of “C”
Table of “D” Table of “E”
December 7, 2009Tusharadri Sarkar40
DVR: Sharing and Updating
Each node will share its routing table on periodic
basis or triggered condition
Full routing table needed not be shared. In our
scenario, only column 1 and column 2 will be shared.
Next Hop Address (column 3) will be calculated
based on that
Receiving a partial table from its neighbor, a node
calculates a temporary updated table
Then each row of the old and new table are
compared based on the next node entry (col. 3)
If next node entry is different, the row with smaller cost is
chosen. If there is a tie, old entry is kept
If next node entry is same, the new entry is chosen
December 7, 2009Tusharadri Sarkar41
DVR: Updating Table for “A”
To Cost Next
A 0 _
B 5 _
C 2 _
D 3 _
E ∞
To Cost
A 2
B 4
C 0
D ∞
E 4
To Cost Next
A 4 C
B 6 C
C 2 C
D ∞ C
E 6 C
To Cost Next
A 0 _
B 5 _
C 2 _
D 3 _
E 6 C
Old Table of “A”Table
Received
from “C”
Modified
Table of “A”
New Table of “A”
Compare
December 7, 2009Tusharadri Sarkar42
DVR: The Finalized Tables
To Cost Next
A 0 _
B 5 _
C 2 _
D 3 _
E 6 C
A
C
B
ED
5
3
2 4
3
4
To Cost Next
A 3 _
B 8 A
C 5 A
D 0 _
E 9 A
To Cost Next
A 5 _
B 0 _
C 4 _
D 8 A
E 3 _
To Cost Next
A 6 C
B 3 _
C 4 _
D 9 C
E 0 _
To Cost Next
A 2 _
B 4 _
C 0 _
D 5 A
E 4 _
Table of “A” Table of “B”
Table of “C”
Table of “D” Table of “E”
December 7, 2009Tusharadri Sarkar43
DVR: Two Node Loop Instability
X A B
XX
X
X
A
AA
A
B
B
B
B
2 4
4
4
4
4
.
.
.
X 2 _
X ∞ _
X 10 B
X 10 B
X ∞ _
X 6 A X 14 A
X 6 A
X 6 A
X ∞ _
Before
Failure
After
Failure
After A
receives
update
from B
After B
receives
update
from A
Finally
December 7, 2009Tusharadri Sarkar44
DVR: Preventing Instability
Defining ‘INFINITY’: Infinity should be defined as a
smaller number say, 100. In RIP ‘Infinity’ is often
defined as 16. So, the network can’t have more than
15 hops anywhere.
Split Horizon: Each node sends only part of its table
through each interface. In our case, B would not
advertize its part of the table to A which contains
information about X (i.e. the route of X is through A,
so A already knows).
Split Horizon & Poison Reverse: While sharing its
table with A, B will add a tag to the route information
of X (i.e. “I know this route comes from you. Please
do not use this value”).
December 7, 2009Tusharadri Sarkar45
Routing Information Protocol
Routing Information Protocol (RIP) is an
implementation of ‘Distance Vector Algorithm’ with
the following considerations:
1. In an autonomous system, we are dealing with
routers and networks (links). Only routers have
routing tables, networks not
2. The destination in a routing table is a network
always
3. The metric used by RIP is the no of hops
needed to reach the destination
4. Infinity is defined as 16
5. The next-node column defines the address of
the router to which packet is to be sent
December 7, 2009Tusharadri Sarkar46
Link State Routing
Domain Topology: Here, each node in the domain has
an entire topology of the domain
Link State: For each node, the number of other links
and nodes, their connectivity type, cost (metric) and
the condition of the links (Up or Down) constitutes link
state
Shortest Path Tree: Based on the link states, a node
can use Dijkstra’s Algorithm to create a ‘Shortest Path
Tree’ which can used as the routing table
There are four sets of operations required
Creation of Link State Packets (LSPs)
Flooding of LSPs
Formation of shortest path tree
Calculation of routing based on the tree
December 7, 2009Tusharadri Sarkar47
Link State Routing:
A
C
B
ED
5
3
2 4
State of
Links
for “A”
 Initial Condition:
D
A B
E
5
2
3
3
2 4
4
5
4
3
34
3
State of
Links
for “D”
State of
Links
for “B”
State of
Links
for “E”
State of
Links
for “C”
December 7, 2009Tusharadri Sarkar48
Link State Routing:
 Dijkstra’s Algorithm: Formation of Shortest Path Tree
START
STOP
Tentative list
is empty?
Set root to local node and
move it to tentative list
Among nodes in tentative list, move the
ones with shortest path to permanent list
Add each unprocessed neighbor of last
moved node to tentative list if it is not there
already. If neighbor is in tentative list with
larger cumulative cost, replace with new one
YES
NO
December 7, 2009Tusharadri Sarkar49
Link State Routing:
A B
0
1. Set root to A and move A to tentative list
 Creation of Shortest Path Tree for node A:
A
Permanent List: Empty Tentative List: A(0)
Root
December 7, 2009Tusharadri Sarkar50
Link State Routing:
A B
0
2. Move A to permanent List. Add B, C, D to tentative list
 Creation of Shortest Path Tree for node A:
A
Permanent List: A(0) Tentative List: B(5), C(2), D(3)
Root
5B
2 C
3 D
December 7, 2009Tusharadri Sarkar51
Link State Routing:
A B
0
3. Move C to permanent List. Add E tentative list
 Creation of Shortest Path Tree for node A:
A
Permanent List: A(0), C(2) Tentative List: B(5), D(3), E(6)
Root
5B
2 C
3 D 6E
December 7, 2009Tusharadri Sarkar52
Link State Routing:
A B
0
4. Move D to permanent List.
 Creation of Shortest Path Tree for node A:
A
Permanent List: A(0), C(2), D(3) Tentative List: B(5), E(6)
Root
5B
2 C
3 D 6E
December 7, 2009Tusharadri Sarkar53
Link State Routing:
A B
0
5. Move B to permanent List.
 Creation of Shortest Path Tree for node A:
A
Permanent List: A(0), B(5), C(2), D(3) Tentative List: E(6)
Root
5B
2 C
3 D 6E
December 7, 2009Tusharadri Sarkar54
Link State Routing:
A B
0
6. Move E to permanent List.
 Creation of Shortest Path Tree for node A:
A
Permanent List: A(0), B(5), C(2), D(3), E(6) Tentative List:
Empty
Root
5B
2 C
3 D 6E
December 7, 2009Tusharadri Sarkar55
Link State Routing:
 Calculation of Routing Table from Shortest Path Tree
Node Cost Next
A 0 _
B 5 _
C 2 _
D 3 _
E 6 C
Routing table for node A
 We can see that the
routing table of A as
deduced by Link State
Routing is the same as
Distance Vector Routing
 In real scenario, the
routing table is
determined by the cost
assigned to each node by
the administrator
December 7, 2009Tusharadri Sarkar56
Open Shortest Path First (OSPF)
OSPF is based on Link State Routing Protocol
Area: A collection of networks, hosts and routers all
contained within an autonomous system
Area Border Routers: Summarizes all the information
about an area and shares it across
Backbone: A special area among all areas in an AS
which all other areas must be connected to. The
backbone always has area code ‘0’
Backbone Routers: Routers in a backbone. A
backbone router can also be area border router
Virtual Link: If the connection between an area and
backbone is broken the administrator can create an
alternate connection between routers
December 7, 2009Tusharadri Sarkar57
OSPF: Implementation
net net net
net
net
net
net
net net
net
Area 1
Area 2
Area 0 (Backbone)
ABRABR
BR
BR
AS BR
Autonomous System (AS)
December 7, 2009Tusharadri Sarkar58
Path Vector Routing
Why DVR and LSR are not suitable for inter-domain
routing?
 Reason: Scalability
DVR becomes instable and intractable for a large
number of hops (even more than 16)
LSR needs a huge amount of resource to calculate
its shortest paths. It also causes heavy traffic in the
network because of flooding of LSP
How path vector routing eliminates them?
Well, it is simply derived from DVR, but does not
assign hop count as the metric/cost...
December 7, 2009Tusharadri Sarkar59
Path Vector Routing
Speaker node: In path vector routing, a special
node acts on behalf on the entire AS. It summarizes
all the information of that AS, creates a routing
table and advertizes it to other ASs
What is advertized?
Not the metrics but the paths in an AS
Policy: Every AS will have a well defined policy
Paths are decided upon by the speaker nodes by
consulting the policies in neighboring ASs
Reason: Different ASs will have different policies &
priorities associated with them
December 7, 2009Tusharadri Sarkar60
Path Vector Routing
Initialization: At the beginning each SN knows only
about all other nodes inside its AS
Sharing: Just as in DVR, the speaker nodes will
then share their tables with immediate neighbors
periodically or on trigger
Updating: On receiving a two column table from
neighbor, a speaker node will update its table by
adding the nodes not present in its routing table as
well as adding its own AS and other ASs that sent
the table
Loop Prevention
Policy Routing
Optimum Path
December 7, 2009Tusharadri Sarkar61
Path Vector Routing
A1
D1
C1
B1
A2 A3
A4 A5
C2 C3
B2
B3
B4
D2 D3
D4
Dest. Path
A1 AS1
A2 AS1
A3 AS1
A4 AS1
A5 AS1
Dest. Path
C1 AS3
C2 AS3
C3 AS3
Dest. Path
B1 AS2
B2 AS2
B3 AS2
B4 AS2
Dest. Path
D1 AS4
D2 AS4
D3 AS4
D4 AS4
AS1
AS2
AS3
AS4
TableofA1
TableofD1
TableofC1
TableofB1
December 7, 2009Tusharadri Sarkar62
Path Vector Routing
 Stabilized tables of all AS after update:
Dest Path
A1
…
A5
AS1
…
AS1
B1
…
B4
AS1-AS2
…
AS1-AS2
C1
…
C3
AS1-AS3
…
AS1-AS3
D1
…
D4
AS1-AS2-AS4
…
AS1-AS2-AS4
Dest Path
A1
…
A5
AS2-AS1
…
AS2-AS1
B1
…
B4
AS2
…
AS2
C1
…
C3
AS2-AS3
…
AS2-AS3
D1
…
D4
AS2-AS3-AS4
…
AS2-AS3-AS4
Dest Path
A1
…
A5
AS3-AS1
…
AS3-AS1
B1
…
B4
AS3-AS2
…
AS3-AS2
C1
…
C3
AS3
…
AS3
D1
…
D4
AS3-AS4
…
AS3-AS4
Dest Path
A1
…
A5
AS4-AS3-AS1
…
AS4-AS3-AS1
B1
…
B4
AS4-AS3-AS2
…
AS4-AS3-AS2
C1
…
C3
AS4-AS3
…
AS4-AS3
D1
…
D4
AS4
…
AS4
Table of A1 Table of B1 Table of C1 Table of D1
December 7, 2009Tusharadri Sarkar63
Path Vector Routing
Some important features of updating:
Loop Prevention: The instability of DVR is avoided in
PVR; upon receiving a message the router checks to
see if its AS is in the path
Policy Routing: Upon receiving a message a router
checks the path with policy. If an AS in the path is
against policy it can ignore that
Optimum path: Router find the path that fits the
organization best. A path from AS4 to AS1 can either
be AS4->AS3->AS2->AS1 or AS4->AS3->AS1. Here
we will choose the path with less number of ASs
involved
This is not a general rule. There are complex criteria which
are always involved in real scenario
December 7, 2009Tusharadri Sarkar64
Border Gateway Protocol (BGP)
BGP was introduced in 1989
Some features of BGP:
Types of AS
 Stub AS: An AS which is connected to another AS. A
stub is either a source or a sink
 Multihomed AS: An AS which is connected to more
than one AS, but it is only a sink or source. Example:
A large corporation which is connected to more than
one regional or national ASs
 Transit AS: A multihomed AS that allows flow of data
traffic through it. Example: All national and
international ISPs
December 7, 2009Tusharadri Sarkar65
Border Gateway Protocol (BGP)
Some features of BGP:
Path Attributes
 Well known attribute: Every BGP router must recognize
 Well known mandatory attribute: It must appear in the
description of a route; e.g. origin, next-hop
 Well known discretionary attribute: It must be recognized but
need not be included always in update
 Optional Attribute: Need not be recognized by all BGP
routers
 Optional transitive attribute: It must be passed to the next router
by the router that has not implemented it
 Optional non-transitive attribute: It must be discarded if the
receiving router has not implemented it
December 7, 2009Tusharadri Sarkar66
Border Gateway Protocol (BGP)
Some features of BGP:
BGP Sessions: A BGP session is a connection setup
between two BGP routers for the sake of exchanging
router information
A session in BGP is a connection at the TCP level.
 External BGP Session (E-BGP): Takes place when two speaker
nodes exchange routing information
 Internal BGP Session (I-BGP): Takes place when a speaker
node collects information from other nodes in the its own As
A1
A2 A3
A4 A5
AS1
C1
C2 C3
AS3
December 7, 2009Tusharadri Sarkar67
Reference
December 7, 2009Tusharadri Sarkar
Data Communications and Networking
–Behrouz A. Forouzen
68
Thank You
December 7, 2009Tusharadri Sarkar69

Más contenido relacionado

La actualidad más candente

wireless network IEEE 802.11
 wireless network IEEE 802.11 wireless network IEEE 802.11
wireless network IEEE 802.11Shreejan Acharya
 
Ospf routing protocol in gns3
Ospf routing protocol in gns3Ospf routing protocol in gns3
Ospf routing protocol in gns3Prashant Joshi
 
Open Shortest Path First
Open Shortest Path FirstOpen Shortest Path First
Open Shortest Path FirstKashif Latif
 
Сети для самых маленьких. Часть восьмая. BGP и IP SLA
Сети для самых маленьких. Часть восьмая. BGP и IP SLAСети для самых маленьких. Часть восьмая. BGP и IP SLA
Сети для самых маленьких. Часть восьмая. BGP и IP SLANatasha Samoylenko
 
LTE-Advanced Physical Layer
LTE-Advanced Physical LayerLTE-Advanced Physical Layer
LTE-Advanced Physical LayerPraveen Kumar
 
Overview of Spanning Tree Protocol
Overview of Spanning Tree ProtocolOverview of Spanning Tree Protocol
Overview of Spanning Tree ProtocolArash Foroughi
 
BGP Techniques for Network Operators
BGP Techniques for Network OperatorsBGP Techniques for Network Operators
BGP Techniques for Network OperatorsAPNIC
 
Juniper MPLS Tutorial by Soricelli
Juniper MPLS Tutorial by SoricelliJuniper MPLS Tutorial by Soricelli
Juniper MPLS Tutorial by SoricelliFebrian ‎
 
Bidirectional Forwarding Detection (BFD)
Bidirectional Forwarding Detection (BFD) Bidirectional Forwarding Detection (BFD)
Bidirectional Forwarding Detection (BFD) KHNOG
 
IPV6 Addressing
IPV6 Addressing IPV6 Addressing
IPV6 Addressing Heba_a
 

La actualidad más candente (20)

wireless network IEEE 802.11
 wireless network IEEE 802.11 wireless network IEEE 802.11
wireless network IEEE 802.11
 
Ipv4 ppt
Ipv4 pptIpv4 ppt
Ipv4 ppt
 
IS-IS Protocol Introduction
IS-IS Protocol IntroductionIS-IS Protocol Introduction
IS-IS Protocol Introduction
 
OSPF Basics
OSPF BasicsOSPF Basics
OSPF Basics
 
Ospf routing protocol in gns3
Ospf routing protocol in gns3Ospf routing protocol in gns3
Ospf routing protocol in gns3
 
Dynamic routing
Dynamic routingDynamic routing
Dynamic routing
 
Open Shortest Path First
Open Shortest Path FirstOpen Shortest Path First
Open Shortest Path First
 
Cisco ospf
Cisco ospf Cisco ospf
Cisco ospf
 
Сети для самых маленьких. Часть восьмая. BGP и IP SLA
Сети для самых маленьких. Часть восьмая. BGP и IP SLAСети для самых маленьких. Часть восьмая. BGP и IP SLA
Сети для самых маленьких. Часть восьмая. BGP и IP SLA
 
LTE-Advanced Physical Layer
LTE-Advanced Physical LayerLTE-Advanced Physical Layer
LTE-Advanced Physical Layer
 
Overview of Spanning Tree Protocol
Overview of Spanning Tree ProtocolOverview of Spanning Tree Protocol
Overview of Spanning Tree Protocol
 
BGP Techniques for Network Operators
BGP Techniques for Network OperatorsBGP Techniques for Network Operators
BGP Techniques for Network Operators
 
Bgp
BgpBgp
Bgp
 
Juniper MPLS Tutorial by Soricelli
Juniper MPLS Tutorial by SoricelliJuniper MPLS Tutorial by Soricelli
Juniper MPLS Tutorial by Soricelli
 
Ospf area types
Ospf area typesOspf area types
Ospf area types
 
OSPF
OSPF OSPF
OSPF
 
Bidirectional Forwarding Detection (BFD)
Bidirectional Forwarding Detection (BFD) Bidirectional Forwarding Detection (BFD)
Bidirectional Forwarding Detection (BFD)
 
IPV6 Addressing
IPV6 Addressing IPV6 Addressing
IPV6 Addressing
 
AODV routing protocol
AODV routing protocolAODV routing protocol
AODV routing protocol
 
IS-IS Packet Types
IS-IS Packet TypesIS-IS Packet Types
IS-IS Packet Types
 

Similar a Evolution of Routing Techniques

Chapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptxChapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptxduotchol
 
Networking
NetworkingNetworking
NetworkingRashmi
 
7-Lect_7 .pptxNetwork LayerNetwork Layer
7-Lect_7 .pptxNetwork LayerNetwork Layer7-Lect_7 .pptxNetwork LayerNetwork Layer
7-Lect_7 .pptxNetwork LayerNetwork LayerZahouAmel1
 
7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...
7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...
7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...ZahouAmel1
 
Rashmi T S-Intrenship PPT.pptx
Rashmi T S-Intrenship PPT.pptxRashmi T S-Intrenship PPT.pptx
Rashmi T S-Intrenship PPT.pptxManojGowdaKb
 
Assignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docx
Assignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docxAssignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docx
Assignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docxhuttenangela
 
Networking in college
Networking in collegeNetworking in college
Networking in collegeHarpreet Gaba
 
Network layer ip address assignment and routing
Network layer ip address assignment and routingNetwork layer ip address assignment and routing
Network layer ip address assignment and routingHamzahMohammed4
 

Similar a Evolution of Routing Techniques (20)

gofortution
gofortutiongofortution
gofortution
 
Computer network
Computer networkComputer network
Computer network
 
Chapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptxChapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptx
 
Computer network
Computer networkComputer network
Computer network
 
Chapter06
Chapter06Chapter06
Chapter06
 
Networking
NetworkingNetworking
Networking
 
7-Lect_7 .pptxNetwork LayerNetwork Layer
7-Lect_7 .pptxNetwork LayerNetwork Layer7-Lect_7 .pptxNetwork LayerNetwork Layer
7-Lect_7 .pptxNetwork LayerNetwork Layer
 
7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...
7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...
7-Lect_7 .pptxNetwork Layer. Addressing Subnetting Mask (default and subnet) ...
 
Rashmi T S-Intrenship PPT.pptx
Rashmi T S-Intrenship PPT.pptxRashmi T S-Intrenship PPT.pptx
Rashmi T S-Intrenship PPT.pptx
 
Assignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docx
Assignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docxAssignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docx
Assignment 2 LASA 1 IP NetworkingIn this assignment, you will wri.docx
 
4d routing
4d routing4d routing
4d routing
 
TCP IP Addressing
TCP IP AddressingTCP IP Addressing
TCP IP Addressing
 
Network.pptx
Network.pptxNetwork.pptx
Network.pptx
 
Ccna1 presentation
Ccna1 presentationCcna1 presentation
Ccna1 presentation
 
Networking basics
Networking basicsNetworking basics
Networking basics
 
Networking in college
Networking in collegeNetworking in college
Networking in college
 
Mcse notes
Mcse notesMcse notes
Mcse notes
 
03_cidr.ppt
03_cidr.ppt03_cidr.ppt
03_cidr.ppt
 
Network layer
Network layerNetwork layer
Network layer
 
Network layer ip address assignment and routing
Network layer ip address assignment and routingNetwork layer ip address assignment and routing
Network layer ip address assignment and routing
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Evolution of Routing Techniques

  • 1. A Presentation by Tusharadri Sarkar Evolution of Routing Techniques December 7, 2009Tusharadri Sarkar1
  • 2. Delivery, Forwarding, Routing IP and Mask Routing Table Unicast Routing Protocols AGENDA December 7, 2009Tusharadri Sarkar2
  • 3. What is routing? Why is routing required? At which layer is routing done? How does a router work? Some Basic Questions December 7, 2009Tusharadri Sarkar3
  • 4. What is routing? Routing is the process of selecting a path in a network along which the packets shall be sent to a destination Routing consists of A Router A set of routing protocols A routing information base (RIB) One or more routing algorithms December 7, 2009Tusharadri Sarkar4
  • 5. Why is routing required?  For practical limitation of physical connections  For efficiently managing the network traffic  For efficient usage of network resources  For catering to different types of services  For congestion control December 7, 2009Tusharadri Sarkar5
  • 6. At which layer is routing done?  Generally routing is done at network layer  Multilayer layer routing and Cross layer routing is also prevalent nowadays  Firewalls are often integrated with routers December 7, 2009Tusharadri Sarkar6
  • 7. Router, Switch and Hub The basic difference is varying intelligence December 7, 2009Tusharadri Sarkar7
  • 8. How does a router work? December 7, 2009Tusharadri Sarkar8
  • 9. Delivery The network layer supervises the handling of packets by the underlying physical network Every packet undergoes at least one “Direct Delivery” and one or more “Indirect Delivery” December 7, 2009Tusharadri Sarkar9
  • 10. Direct and Indirect Delivery To rest of Network Source SourceDestination Destination Direct Indirect Direct Direct December 7, 2009Tusharadri Sarkar10
  • 11. Logical addressing: IP and MASK Internet Protocol address is a logical and global addressing scheme It uniquely defines the connection of a device/network to the Internet IPv4: 32 bit addressing scheme Address space: 232 = 4294967296 Notations: Dotted Decimal: 117.149.29.2 Notations: Binary: 01110101 1001010 00011101 00000010 December 7, 2009Tusharadri Sarkar11
  • 12. Logical addressing: IP and MASK  Classful addressing 1st 2nd 3rd 4th 0 10 110 1110 1111 1st 2nd 3rd 4th 0-127 128-191 192-223 224-239 240-255 Classes Class A Class B Class C Class D Class E Class No. of Blocks Block Size Application A 128 16,777,216 Unicast B 16,384 65,536 Unicast C 2,097,152 256 Unicast D 1 268,435,456 Multicast E 1 268,435,456 Reserved December 7, 2009Tusharadri Sarkar12
  • 13. Logical addressing: IP and MASK Mask: A 32 bit number made of n contiguous 1s followed by (32-n) contiguous 0s (n<32) Default masks for Classful addressing: Given an IP and its mask, one can calculate: First Address Last Address Range of Addresses Class Binary Dotted Decimal CIDR A 11111111 00000000 00000000 00000000 255.0.0.0 /8 B 11111111 11111111 00000000 00000000 255.255.0.0 /16 C 11111111 11111111 11111111 00000000 255.255.255.0 /24 December 7, 2009Tusharadri Sarkar13
  • 14. Logical addressing: IP and MASK Classless addressing: No more classes but a block of addresses are assigned, provided the following restrictions are strictly followed The addresses in the block must be contiguous The number of addresses must be a power of 2 The first address must be evenly divisible by the total number of addresses allocated Mask is a better way to define a block An example: Given an IP address 205.16.37.39/28 What are the first, last and the total number of addresses assigned? December 7, 2009Tusharadri Sarkar14
  • 15. Logical addressing: IP and MASK Binary equivalent of mask /28:  11111111 11111111 11111111 11110000 (255.255.255.240) Binary equivalent of the address:  11001101 00010000 00100101 00100111 (205.16.37.39) First address: Set the right most 4 bits to 0:  11001101 00010000 00100101 0010000 (205.16.37.32) Last address: Set the right most 4 bits to 1:  11001101 00010000 00100101 00101111 (205.16.37.47) Number of addresses: 232-n = 24 =16 So, in general a address in classless addressing is mentioned as: x.y.z.t/n December 7, 2009Tusharadri Sarkar15
  • 16. Network Address  When a organization is allocated a block of addresses, normally (not always) the first address is treated as the network address  It is not assigned to any device, it defines the organization itself to the rest of the world REST of the WORLD Network Address: 205.16.37.32 All packets with receiver address 205.16.37.32 to 205.16.37.47 are routed to x.y.z.t/nx.y.x.t/n 205.16.37.32/28 205.16.39.33/28 205.16.39.47/28 … … December 7, 2009Tusharadri Sarkar16
  • 17. Routing Table A host or a router maintains a ‘routing table’ with an entry for each specific destination The table can be STATIC or DYNAMIC Static Routing Table: Contains information entered manually by the administrator at the time of creation Cannot be modified automatically when there is any change in the Internet Dynamic Routing Table: Capable of updating the table with the help of routing protocols and algorithms automatically Only option for managing any large network of today December 7, 2009Tusharadri Sarkar17
  • 18. Routing Table Mask: Defines the mask applied to that entry Network Address: Defines the network address to which the packet is finally delivered. In host specific routing, this is the destination host address Next Hop Address: Defines the address of the hop for the packet Interface: Shows the name of the interfaces Mask Network Interface Next-hop address Interface Flags Reference Count Use … … … … … … … December 7, 2009Tusharadri Sarkar18
  • 19. Routing Table FLAGS: Defines up to five flags  U (Up): Router is up and running  G (Gateway): Destination is in another network  H (Host-specific): Network address is host-specific address. Otherwise the network address is the destination address  D (Added by redirection): Routing info is added to host routing table by redirection message from ICMP  M (Modified by redirection): Routing info for destination is modified to host routing table by redirection message from ICMP Reference Count: Defines number of users at this route at the moment Use: Defines number of packets transmitted through the router for a destination December 7, 2009Tusharadri Sarkar19
  • 20. A quick look at a system routing table December 7, 2009Tusharadri Sarkar20
  • 21. Network Configuration of a System form the Routing Table A UNIX server gives the following result with netstat and ifconfig command  $ netstat –nr  Kernel IP routing table  $ ifconfig eth0  Eth0 Link encap:Ethernet Hwaddr 00:B0:D0:DF:09:5D  Inet addr: 153.18.17.11 Bcast: 153.18.31.255 Mask:255.255.240.0 What is the network configuration of the server? 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 December 7, 2009Tusharadri Sarkar21
  • 22. Network Configuration from the Routing Table Rest of the Internet 153.18.16.0/20 153.18.31.254/20 153.18.17.11/20 eth0 00:B0:D0:DF:09:5D Default Router December 7, 2009Tusharadri Sarkar22
  • 23. Forwarding It means placing the packet in its route to its destination Requires a host or a router to have a routing table When the host has a packet to send or the router has received a packet, it looks up this routing table to determine route to the final destination Routing techniques caters to optimizing this table as maintain a full-fledged look-up table is impossible to maintain December 7, 2009Tusharadri Sarkar23
  • 24. Forwarding Techniques Next-hop method Vs Route Method N1 N2 N3 R1 R2 Host A Host B Routing tables based on routing Destination Route Host B R1, R2, host B Destination Route Host B R2, host B Destination Route Host B Host B Routing tables based on Next-hop Destination Route Host B R1 Destination Route Host B R2 Destination Route Host B Host B For A For R1 For R2 December 7, 2009Tusharadri Sarkar24
  • 25. December 7, 2009 Forwarding Techniques Network-Specific method Vs Host Specific method System DCBA N2N1 Routing table for host S based on host-specific method Destination Next Hop A R1 B R1 C R1 D R1 Routing table for host S based on network-specific method Destination Next Hop N2 R1 R1 Tusharadri Sarkar25
  • 26. Forwarding Techniques Default Method: Using a default router N1 N2 R1 R2 Host A Rest of the Internet Default Router Destination Next Hop N2 R2 Any other R1 Routing table for host A December 7, 2009Tusharadri Sarkar26
  • 27. Forwarding Process  In classless addressing, at least 4 columns are required  The routing table is searched based on the network address and mask Mask Network Address Next-hop Address Interface … … … … … … … … … … … … Extract Destination Address Search Table Forwarding Module To ARP Next –hop address and interface no. December 7, 2009Tusharadri Sarkar27
  • 28. Managing Routing Table in Classless Addressing  Address aggregation: Blocks of addresses of different interface and mask are aggregated into one single block in routing table  Several levels of aggregation are possible 140.24.7.0/26 140.24.7.64/26 140.24.7.128/26 140.24.7.192/26 Org 1 Org 2 Org 3 Org 4 m0 m1 m2 m3 m4 m0 m1 R1 R2 December 7, 2009Tusharadri Sarkar28
  • 29. Managing Routing Table in Classless Addressing Address aggregation: Routing tables for router R1 and router R2 For R2, any packet with destination addresses 140.24.7.0 to 140.24.7.255 are sent to interface m0 regardless of any of the organizations Mask NA NHA Iface /26 140.24.7.0 … m0 /26 140.24.7.64 … m1 /26 140.24.7.128 … m2 /26 140.24.7.192 … m3 /0 0.0.0.0 Default m4 Mask NA NHA Iface /24 140.24.7.0 … m0 /0 0.0.0.0 Default m1 Routing table for R1 Routing table for R2 December 7, 2009Tusharadri Sarkar29
  • 30. Longest Mask Matching  What happens if Org. 4 is not geographically close to the other 3 Orgs?  Can we still use Address Aggregation and assign the block 140.24.7.192/26 to Org. 4? R2 R1 R3 140.24.7.0/26 140.24.7.64/26 140.24.7.128/26 140.24.7.192/26 Org 1 Org 2 Org 3 Org 4 m0 m1 m2 m3 m0 m2 m1 m0m1 m2 December 7, 2009Tusharadri Sarkar30
  • 31. Longest Mask Matching  Answer: YES  Reason: LONGEST MASK MATCHING  The “Routing Table” is sorted from the longest mask to the shortest mask Mask NA NHA Iface /26 140.24.7.0 … m0 /26 140.24.7.64 … m1 /26 140.24.7.128 … m2 /0 0.0.0.0 Default m3 Mask NA NHA Iface /26 140.24.7.192 … m0 /0 0.0.0.0 Default m2 Mask NA NHA Iface /26 140.24.7.192 … m1 /24 140.24.7.0 … m0 /0 0.0.0.0 Default m2 Routing table for R1 Routing table for R2 Routing table for R3 December 7, 2009Tusharadri Sarkar31
  • 32. Hierarchical Routing Hierarchical routing can greatly minimize the size of the routing tables For example, a regional ISP is granted a 16,384 (214 ) addresses starting from 120.14.64.0/18 It is divided in to 4 sub-blocks each of size 4096 for 3 local ISPs. For them the mask is /20 1st local ISP divides its assigns sub-blocks into 8 smaller blocks for small ISPs. For them the mask becomes /23 Each small ISPs divides them into 128 sub-blocks for households. For them the mask becomes /30, and so on… December 7, 2009Tusharadri Sarkar32
  • 33. Hierarchical Routing  The logical representation is displayed here 120.14.64.0/18 Total 16,384 120.14.64.0/20 120.14.64.0/23120.14.64.0/30 120.14.78.0/30 120.14.78.0/23 120.14.80.0/20 120.14.96.0/22 120.14.112.0/24 120.14.96.0/20 120.14.112.0/20 Total 4096 Total 4096 Total 4096 Total 4096 512 512 ISP 1 ISP 2.1 ISP 3.1 ISP 3.8 ISP 2.2 ISP 2.3 Total 4 Large Orgs. Total 16 Small Orgs. 128 Each 128 Each December 7, 2009Tusharadri Sarkar33
  • 34. Geographical Routing The same concept of hierarchical routing can be extended in geographical routing To decrease the size of the routing tables further, segregation is done in geographical level as well For example, the entire address space is divided into few large blocks One block is assigned to North America, one to Asia, one to Africa, one to Europe and so on… So, for all the routers of the ISPs outside Europe, every router will have one and only entry for all the addresses assigned to Europe December 7, 2009Tusharadri Sarkar34
  • 35. Unicast Routing Protocols Routing protocols are needed to maintain and update dynamic routing tables A routing protocols is a combination of set of rules (algorithms) and procedures Unicast routing protocols applies where each incoming packet has to be delivered to one and only one destination Router decides the next hope of a packet in a ‘Autonomous System’ based on ‘Optimization’ 3 most popular and basic Unicast Routing Protocols are: RIP (Distance Vector routing), OSPF (Path Vector routing) and BGP (Link State routing) December 7, 2009Tusharadri Sarkar35
  • 36. Autonomous Systems An ‘Autonomous System’ or ‘AS’ is group of networks and routers under the authority of a single administration Routing inside AS : Intra-domain routing Routing between AS : Inter-domain routing AS1 AS4AS3 AS2 December 7, 2009Tusharadri Sarkar36
  • 37. Routing Protocols Scope December 7, 2009Tusharadri Sarkar37
  • 38. Optimization The router must always choose the optimum path between two networks for the packets There is a cost associated with each packet for passing through a network, called ‘Metric’ The metric is different depending on the routing protocols. For example:  In RIP, the hop count is used as the metric  In OSPF, the administrator can assign a cost for network based on the type of service required  In BGP, the administrator can set the cost based on the policy of the network December 7, 2009Tusharadri Sarkar38
  • 39. Distance Vector Routing In DVR, the least cost route between any two nodes is the route with minimum distance Each node maintains a vector (table) of minimum distance to every node known There are three steps involved:  Initialization: At the beginning, each node knows the distance to its immediate neighbors  Sharing: Periodically or in triggered time, the nodes share their vectors with other nodes  Updating: Based on the shared info, nodes updates their vectors about path to indirectly connected nodes December 7, 2009Tusharadri Sarkar39
  • 40. DVR: Initialization To Cost Next A 0 _ B 5 _ C 2 _ D 3 _ E ∞ A C B ED 5 3 2 4 34 To Cost Next A 3 _ B ∞ C ∞ D 0 _ E ∞ To Cost Next A 5 _ B 0 _ C 4 _ D ∞ E 3 _ To Cost Next A ∞ B 3 _ C 4 _ D ∞ E 0 _ To Cost Next A 2 _ B 4 _ C 0 _ D ∞ E 4 _ Table of “A” Table of “B” Table of “C” Table of “D” Table of “E” December 7, 2009Tusharadri Sarkar40
  • 41. DVR: Sharing and Updating Each node will share its routing table on periodic basis or triggered condition Full routing table needed not be shared. In our scenario, only column 1 and column 2 will be shared. Next Hop Address (column 3) will be calculated based on that Receiving a partial table from its neighbor, a node calculates a temporary updated table Then each row of the old and new table are compared based on the next node entry (col. 3) If next node entry is different, the row with smaller cost is chosen. If there is a tie, old entry is kept If next node entry is same, the new entry is chosen December 7, 2009Tusharadri Sarkar41
  • 42. DVR: Updating Table for “A” To Cost Next A 0 _ B 5 _ C 2 _ D 3 _ E ∞ To Cost A 2 B 4 C 0 D ∞ E 4 To Cost Next A 4 C B 6 C C 2 C D ∞ C E 6 C To Cost Next A 0 _ B 5 _ C 2 _ D 3 _ E 6 C Old Table of “A”Table Received from “C” Modified Table of “A” New Table of “A” Compare December 7, 2009Tusharadri Sarkar42
  • 43. DVR: The Finalized Tables To Cost Next A 0 _ B 5 _ C 2 _ D 3 _ E 6 C A C B ED 5 3 2 4 3 4 To Cost Next A 3 _ B 8 A C 5 A D 0 _ E 9 A To Cost Next A 5 _ B 0 _ C 4 _ D 8 A E 3 _ To Cost Next A 6 C B 3 _ C 4 _ D 9 C E 0 _ To Cost Next A 2 _ B 4 _ C 0 _ D 5 A E 4 _ Table of “A” Table of “B” Table of “C” Table of “D” Table of “E” December 7, 2009Tusharadri Sarkar43
  • 44. DVR: Two Node Loop Instability X A B XX X X A AA A B B B B 2 4 4 4 4 4 . . . X 2 _ X ∞ _ X 10 B X 10 B X ∞ _ X 6 A X 14 A X 6 A X 6 A X ∞ _ Before Failure After Failure After A receives update from B After B receives update from A Finally December 7, 2009Tusharadri Sarkar44
  • 45. DVR: Preventing Instability Defining ‘INFINITY’: Infinity should be defined as a smaller number say, 100. In RIP ‘Infinity’ is often defined as 16. So, the network can’t have more than 15 hops anywhere. Split Horizon: Each node sends only part of its table through each interface. In our case, B would not advertize its part of the table to A which contains information about X (i.e. the route of X is through A, so A already knows). Split Horizon & Poison Reverse: While sharing its table with A, B will add a tag to the route information of X (i.e. “I know this route comes from you. Please do not use this value”). December 7, 2009Tusharadri Sarkar45
  • 46. Routing Information Protocol Routing Information Protocol (RIP) is an implementation of ‘Distance Vector Algorithm’ with the following considerations: 1. In an autonomous system, we are dealing with routers and networks (links). Only routers have routing tables, networks not 2. The destination in a routing table is a network always 3. The metric used by RIP is the no of hops needed to reach the destination 4. Infinity is defined as 16 5. The next-node column defines the address of the router to which packet is to be sent December 7, 2009Tusharadri Sarkar46
  • 47. Link State Routing Domain Topology: Here, each node in the domain has an entire topology of the domain Link State: For each node, the number of other links and nodes, their connectivity type, cost (metric) and the condition of the links (Up or Down) constitutes link state Shortest Path Tree: Based on the link states, a node can use Dijkstra’s Algorithm to create a ‘Shortest Path Tree’ which can used as the routing table There are four sets of operations required Creation of Link State Packets (LSPs) Flooding of LSPs Formation of shortest path tree Calculation of routing based on the tree December 7, 2009Tusharadri Sarkar47
  • 48. Link State Routing: A C B ED 5 3 2 4 State of Links for “A”  Initial Condition: D A B E 5 2 3 3 2 4 4 5 4 3 34 3 State of Links for “D” State of Links for “B” State of Links for “E” State of Links for “C” December 7, 2009Tusharadri Sarkar48
  • 49. Link State Routing:  Dijkstra’s Algorithm: Formation of Shortest Path Tree START STOP Tentative list is empty? Set root to local node and move it to tentative list Among nodes in tentative list, move the ones with shortest path to permanent list Add each unprocessed neighbor of last moved node to tentative list if it is not there already. If neighbor is in tentative list with larger cumulative cost, replace with new one YES NO December 7, 2009Tusharadri Sarkar49
  • 50. Link State Routing: A B 0 1. Set root to A and move A to tentative list  Creation of Shortest Path Tree for node A: A Permanent List: Empty Tentative List: A(0) Root December 7, 2009Tusharadri Sarkar50
  • 51. Link State Routing: A B 0 2. Move A to permanent List. Add B, C, D to tentative list  Creation of Shortest Path Tree for node A: A Permanent List: A(0) Tentative List: B(5), C(2), D(3) Root 5B 2 C 3 D December 7, 2009Tusharadri Sarkar51
  • 52. Link State Routing: A B 0 3. Move C to permanent List. Add E tentative list  Creation of Shortest Path Tree for node A: A Permanent List: A(0), C(2) Tentative List: B(5), D(3), E(6) Root 5B 2 C 3 D 6E December 7, 2009Tusharadri Sarkar52
  • 53. Link State Routing: A B 0 4. Move D to permanent List.  Creation of Shortest Path Tree for node A: A Permanent List: A(0), C(2), D(3) Tentative List: B(5), E(6) Root 5B 2 C 3 D 6E December 7, 2009Tusharadri Sarkar53
  • 54. Link State Routing: A B 0 5. Move B to permanent List.  Creation of Shortest Path Tree for node A: A Permanent List: A(0), B(5), C(2), D(3) Tentative List: E(6) Root 5B 2 C 3 D 6E December 7, 2009Tusharadri Sarkar54
  • 55. Link State Routing: A B 0 6. Move E to permanent List.  Creation of Shortest Path Tree for node A: A Permanent List: A(0), B(5), C(2), D(3), E(6) Tentative List: Empty Root 5B 2 C 3 D 6E December 7, 2009Tusharadri Sarkar55
  • 56. Link State Routing:  Calculation of Routing Table from Shortest Path Tree Node Cost Next A 0 _ B 5 _ C 2 _ D 3 _ E 6 C Routing table for node A  We can see that the routing table of A as deduced by Link State Routing is the same as Distance Vector Routing  In real scenario, the routing table is determined by the cost assigned to each node by the administrator December 7, 2009Tusharadri Sarkar56
  • 57. Open Shortest Path First (OSPF) OSPF is based on Link State Routing Protocol Area: A collection of networks, hosts and routers all contained within an autonomous system Area Border Routers: Summarizes all the information about an area and shares it across Backbone: A special area among all areas in an AS which all other areas must be connected to. The backbone always has area code ‘0’ Backbone Routers: Routers in a backbone. A backbone router can also be area border router Virtual Link: If the connection between an area and backbone is broken the administrator can create an alternate connection between routers December 7, 2009Tusharadri Sarkar57
  • 58. OSPF: Implementation net net net net net net net net net net Area 1 Area 2 Area 0 (Backbone) ABRABR BR BR AS BR Autonomous System (AS) December 7, 2009Tusharadri Sarkar58
  • 59. Path Vector Routing Why DVR and LSR are not suitable for inter-domain routing?  Reason: Scalability DVR becomes instable and intractable for a large number of hops (even more than 16) LSR needs a huge amount of resource to calculate its shortest paths. It also causes heavy traffic in the network because of flooding of LSP How path vector routing eliminates them? Well, it is simply derived from DVR, but does not assign hop count as the metric/cost... December 7, 2009Tusharadri Sarkar59
  • 60. Path Vector Routing Speaker node: In path vector routing, a special node acts on behalf on the entire AS. It summarizes all the information of that AS, creates a routing table and advertizes it to other ASs What is advertized? Not the metrics but the paths in an AS Policy: Every AS will have a well defined policy Paths are decided upon by the speaker nodes by consulting the policies in neighboring ASs Reason: Different ASs will have different policies & priorities associated with them December 7, 2009Tusharadri Sarkar60
  • 61. Path Vector Routing Initialization: At the beginning each SN knows only about all other nodes inside its AS Sharing: Just as in DVR, the speaker nodes will then share their tables with immediate neighbors periodically or on trigger Updating: On receiving a two column table from neighbor, a speaker node will update its table by adding the nodes not present in its routing table as well as adding its own AS and other ASs that sent the table Loop Prevention Policy Routing Optimum Path December 7, 2009Tusharadri Sarkar61
  • 62. Path Vector Routing A1 D1 C1 B1 A2 A3 A4 A5 C2 C3 B2 B3 B4 D2 D3 D4 Dest. Path A1 AS1 A2 AS1 A3 AS1 A4 AS1 A5 AS1 Dest. Path C1 AS3 C2 AS3 C3 AS3 Dest. Path B1 AS2 B2 AS2 B3 AS2 B4 AS2 Dest. Path D1 AS4 D2 AS4 D3 AS4 D4 AS4 AS1 AS2 AS3 AS4 TableofA1 TableofD1 TableofC1 TableofB1 December 7, 2009Tusharadri Sarkar62
  • 63. Path Vector Routing  Stabilized tables of all AS after update: Dest Path A1 … A5 AS1 … AS1 B1 … B4 AS1-AS2 … AS1-AS2 C1 … C3 AS1-AS3 … AS1-AS3 D1 … D4 AS1-AS2-AS4 … AS1-AS2-AS4 Dest Path A1 … A5 AS2-AS1 … AS2-AS1 B1 … B4 AS2 … AS2 C1 … C3 AS2-AS3 … AS2-AS3 D1 … D4 AS2-AS3-AS4 … AS2-AS3-AS4 Dest Path A1 … A5 AS3-AS1 … AS3-AS1 B1 … B4 AS3-AS2 … AS3-AS2 C1 … C3 AS3 … AS3 D1 … D4 AS3-AS4 … AS3-AS4 Dest Path A1 … A5 AS4-AS3-AS1 … AS4-AS3-AS1 B1 … B4 AS4-AS3-AS2 … AS4-AS3-AS2 C1 … C3 AS4-AS3 … AS4-AS3 D1 … D4 AS4 … AS4 Table of A1 Table of B1 Table of C1 Table of D1 December 7, 2009Tusharadri Sarkar63
  • 64. Path Vector Routing Some important features of updating: Loop Prevention: The instability of DVR is avoided in PVR; upon receiving a message the router checks to see if its AS is in the path Policy Routing: Upon receiving a message a router checks the path with policy. If an AS in the path is against policy it can ignore that Optimum path: Router find the path that fits the organization best. A path from AS4 to AS1 can either be AS4->AS3->AS2->AS1 or AS4->AS3->AS1. Here we will choose the path with less number of ASs involved This is not a general rule. There are complex criteria which are always involved in real scenario December 7, 2009Tusharadri Sarkar64
  • 65. Border Gateway Protocol (BGP) BGP was introduced in 1989 Some features of BGP: Types of AS  Stub AS: An AS which is connected to another AS. A stub is either a source or a sink  Multihomed AS: An AS which is connected to more than one AS, but it is only a sink or source. Example: A large corporation which is connected to more than one regional or national ASs  Transit AS: A multihomed AS that allows flow of data traffic through it. Example: All national and international ISPs December 7, 2009Tusharadri Sarkar65
  • 66. Border Gateway Protocol (BGP) Some features of BGP: Path Attributes  Well known attribute: Every BGP router must recognize  Well known mandatory attribute: It must appear in the description of a route; e.g. origin, next-hop  Well known discretionary attribute: It must be recognized but need not be included always in update  Optional Attribute: Need not be recognized by all BGP routers  Optional transitive attribute: It must be passed to the next router by the router that has not implemented it  Optional non-transitive attribute: It must be discarded if the receiving router has not implemented it December 7, 2009Tusharadri Sarkar66
  • 67. Border Gateway Protocol (BGP) Some features of BGP: BGP Sessions: A BGP session is a connection setup between two BGP routers for the sake of exchanging router information A session in BGP is a connection at the TCP level.  External BGP Session (E-BGP): Takes place when two speaker nodes exchange routing information  Internal BGP Session (I-BGP): Takes place when a speaker node collects information from other nodes in the its own As A1 A2 A3 A4 A5 AS1 C1 C2 C3 AS3 December 7, 2009Tusharadri Sarkar67
  • 68. Reference December 7, 2009Tusharadri Sarkar Data Communications and Networking –Behrouz A. Forouzen 68
  • 69. Thank You December 7, 2009Tusharadri Sarkar69