Title: Traditional Routing
1Traditional Routing
- 9th CEENet Workshop on Network Technology
- NATO ANW
- Iskra Djonova Popova (iskra.popova_at_mh.se)
2Why Traditional Routing?
- This workshop is on mobile and wireless networks
and you should have a lecture on the routing in
these networks. - You need to know where you have been to know
where you are going. - To understand routing it is important to know the
purpose of internetworking.
3Contents
- Internetworking and the IP Protocol
- Forwarding and Routing
- Routing Protocols
- IGPs vs. EGPs
- Distance Vector Protocols (DV)
- Link State Protocols (LS)
- LS vs. DV
4Internetworking and the IP Protocol
- Why we need internetworking?
- The goal of an internetwork is
- to build a unified, cooperative interconnection
of networks that supports a universal
communication service, - to detach the notions of communication from the
details of network technologies, and to hide low
level details from the user, - to provide a mechanism that delivers packet from
their source to their ultimate destination in
real time.
5Internetworking and the IP Protocol
- Two main problems are
- Heterogeneity
- The underlying networks can use
- different technologies,
- different media,
- different addressing scheme at the MAC layer,
- different frame formats.
- Scalability
- The Internetwork is not limited in size.
6Internetworking and the IP Protocol
- IP protocol resolves the problem with
heterogeneity
H1
H6
App.
App.
Transp.
Transp.
IP protocol
IP protocol
R3
IP protocol
R2
IP protocol
R1
Network
IP
Network
IP
IP
PPP protocol
FDDI protocol
Ethernet protocol
Ethernet protocol
Eth.
PPP
Eth.
PPP
Eth.
Eth.
FDDI
FDDI
Network1(Ethernet)
Network3 (Ethernet)
Network4(point-to-point)
Network2(FDDI)
7Internetworking and the IP Protocol
- Hierarchical addressing resolvs the problem of
scalability
Hierarchical addressing
Flat addressing
8Internetworking and the IP Protocol
- An IP address consists of
- ID of the network to which a host attaches ID
of a unique host on that network.
- Network address by convention is NetID all 0s
0
31
Network ID
All 0s
9Internetworking and the IP Protocol
- The subnet mask defines which part of the address
is the network ID and which is the host ID. - Consists of contiguous 1s and 0s
- Has the same structure as the IP address.
- 4 bytes written in dotted decimal notation
- Binary 1s in the network and subnet part of the
address - Binary 0s in the hosts part of the address
10Internetworking and the IP Protocol
11Forwarding and Routing
12Two Key Routers Functions
Forwarding and Routing
Routing Protocols
Routing (the task of determining the best path
through the network)
Routing Table
Forwarding (the tasks of moving packets from one
interface to another)
Switching
Forwarding Table
13Forwarding and Routing
Input Ports Processing
Switching fabric
Output Ports
Forwarding Table
Forwarding Decision
Forwarding Table
Forwarding Decision
Forwarding Table
Forwarding Decision
14Forwarding and Routing
- The routing table consists of at least three
columns Destnation, Mask (or prefix) and Next
hop (or interface) column. - Destination column contains the addresses of all
possible destinations (networks). - Next hop column containes the address of the next
router that must be connected to the same network
(or the interface to which the the packet should
be delivered).
15Forwarding and Routing
- Each IP packet carries its destination address.
- The router performs the following
- Accepts the packet arriving on an incoming link.
- Looks up packet destination address in the
forwarding table, to identify outgoing port(s). - Manipulates packet header e.g., decrement TTL,
updates header checksum. - Sends packet to the outgoing port(s).
- Buffers packet in the queue and transmits the
packet onto outgoing link.
16Forwarding and Routing
- To make the forwarding tables shorter , a special
network address is used for the default route. - 0 . 0. 0. 0
- The default route is used when the router doesnt
have the destination address in its routing
table. - The default route reduces the entries of the
forwarding tables for the routers at the
periphery of the Internet. - The forwarding tables at the core are large and
they are still growing - They can hardly make use of the default route
17Forwarding and Routing
- The process of determining the routes in the
forwarding table is called routing - The routes can be constructed
- Manually by network administrator.
- Static Routes.
- No dynamic changes to these routes will occur.
- Dynamically by a routing protocol.
- Dynamic Routes.
- Routing information is exchanged between routers.
- The routing metric is used to find the best
path.
18Forwarding and Routing
With static routes the router cannot
automatically reroute the packets if a path fails.
B R2 C R3
19Forwarding and Routing
- Advantages of the static routes
- predictability the administrator knows where
the packets are going - no overhead
- simplicity
- Disadvantages
- lack of scalability
- can not adapt to a failure in a network
20Forwarding and Routing
- When to use a static route?
- When a network is accessible by only one path, a
static route to the network can be sufficient. - Configuring static routing to a stub network
avoids the overhead of dynamic routing. - The default route is always configured as static
route.
21Routing Protocols
- Routers use a common protocol to exchange routing
information. - The forwarding table is obtaind using some of the
routing algorithms. - Best path between networks is determined by
Routing Metric. - Automatic adaptation to topology changes.
- Routing protocols should not be confused with
routed protocols.
22Routing Protocols
- Advantages
- Adapt to a failure in a network.
- Work in large networks.
- Disadvantages
- Increase in complexity.
- Overhead on the lines and routers.
23Routing Protocols
- The goals of the routing protocols is to find the
best collection of paths for all
source-destination pairs at every moment. - The forwarding table is calculated based on the
routes found. - Best path is defined in term of a cost
function. - Questions asked when defining the best path
- How are the costs defined?
- What are network parameters?
- How are they measured and reported?
- Where are the routes computed and with which
algorithm?
24Routing Protocols
- The difficulties when designing a routing
protocols are - Some of the parameters that determine the state
of the network resources are not known at every
moment. - Part of the network bandwidth required for user
services is wasted for distributing the update
information. - A compromise has to be achieved (not too much
information sent, and enough parameters known for
good routing.
25Routing Protocols
- The routing protocols design goals should be
concerned with - Optimallity
- Simplicity/Low overhead
- Robustness/ Stability
- Rapid Convergence
- Flexibility
26Routing Protocols
- The routing protocols used today usually
determine the shortest path tree at each node. - Different metrics can be used for the lengths
of the links. - The information about the network is gathered in
different ways.
27Routing Protocols
A network has 6 nodes (A, B, C, D, E, F) and 10
links (a, ..., j). The cost of each link is given
besides the link
Routing table for Node A
E
F
Shortest-path tree with a root at node A
28Routing Protocols
- The scaling problem
- Over 50 million destinations for the core routers
even with subnetting and aggregation implemented. - Storing all destination in forwarding tables is
impossible. - Routing table exchange would swamp the bandwidth.
29IGP vs. EGP
- With the growth of the networks connected to the
Internet, it become hard to maintain the
forwarding tables. - The solution to this problem was split the
Internet into a set of Autonomous Systems (AS) - Each AS is a set of routers and networks under
the same administration - The routers within the AS use the interior
gateway protocol (IGP) - Special routers, called Exterior gateways or
only gateways are used to connect ASes and they
use the exterior routing protocols (EGP)
30IGP vs. EGP
Autonomous System 1
IGP
EGP
IGP
Autonomous System 2
IGP
Autonomous System 3
31IGP vs. EGP
Host h2
Intra-AS routing within AS B
Intra-AS routing within AS A
32IGP vs. EGP
- Interior Gateway Protocols (IGP)
- Routing protocol within a single autonomous
system. - Single network administration.
- Unique routing policy.
- Make best use of network resources.
- Exterior Gateway Protocols (EGP)
- Routing protocol among different autonomous
systems. - Independent administrative entities.
- Communication between independent network
infrastructures.
33IGP vs. EGP
- Used inside an Autonomous System.
- Designed to handle more redundant links.
- Links are cheaper in a local environment gt one
can afford more redundant links. - Designed with a higher bandwidth in mind
- Cheaper bandwidth gt one can use more bandwidth
for the exchange of routing information.
34Distance-Vector Protocols
- The distributed way of learning.
- You need to go to X, but you dont know which
road to take. You only know the distances to your
neighbours, A, B and C. - You get information from your neighbours (A,B,C)
about their distances to X.
You calculate 42010430 45020470 40017417
minimum (430, 470, 417) 417
35Distance-Vector Protocols
- Collecting the necessary information
- Each router that uses distance-vector routing
begins by identifying its own neighbors. - The port that leads to each directly-connected
network is shown as having a distance of 0.
- Each of the other network entries in the routing
table has an accumulated distance vector to show
how far away that network is in a given direction.
36Distance-Vector Protocols
- Finding the Least Cost Path
- Nodes send information only to neighbouring nodes
in regular time intervals. - The information sent (the distance vectors) are
all routes (rows) from the routing (forwarding)
table. - Routes are installed directly in the routing
(forwarding) tables, lowest cost wins. - The higher cost is updated in cases when it is
advertised by the node that is the next hop for
that route.
37Distance-Vector Protocols
- When the topology in a distance-vector protocol
network changes, routing table updates must
occur. - Topology change updates proceed step-by-step from
router to router.
- The routing tables include information about the
total path cost and the address of the first
router on the path to each network contained in
the table.
38Distance-Vector Protocols
- Example A network of five nodes (A, B, C, D, E)
and 6 links (a, b, c, d, e, f). The cost of each
link is 1. (hop-count is used) - After initialization each node has a knowledge
about himself only. - Each node sends a distance vector to all its
neighbours.
B
A 0
A
a
b
C
d
A 0
c
e
E
f
D
39Distance-Vector Protocols
- B adds the cost of his local links and updates
its routing table - Other nodes behave in similar way
- D will recieve the distance vector from A and
update its routing table with an entry for B. - It will discard the entries for A and D because
their cost is larger than the costs it already
has.
A
A 0, B1, D1
B
b
a
d
A 0, B1, D 1
c
C
e
D
f
E
40Distance-Vector Protocols
The routing tables are complete after third
update
C
A
B
C
b
a
d
c
e
D
f
E
41Distance-Vector Protocols
- A and B discover this failure, imediately update
their tabels noting that the link a has an
infinite cost and all nodes previously reached
through link a have now infinite distance.
C
A
B
A 0, B inf., D 1 , C inf., E inf.
B 0, A inf., D inf. , C 1, E 1
b
- A and B send their distance vectors to the
neighboring nodes.
d
C
c
e
D
f
E
42Distance-Vector Protocols
C
A
B
C
b
d
c
e
f
E
D
43Distance-Vector Protocols
C
A
B
C
b
d
c
e
f
E
D
44Distance-Vector Protocols
C
A
B
C
b
d
c
e
f
E
D
The global connectivity has been established
45Distance-Vector Protocols
A
B
- If link f breaks, the network will be separated
in two different parts
C
b
d
c
e
f
D
- If D transmits its distance vector to A before A
transmits its distance vector to D, A will update
its routing table and notice that all nodes
except D are unreachable.
E
A
A
A
- If A first has a chance to transmit its last
distance vector to D, the counting to infinity
problem will appear. D will update its routing
table with wrong information
c
D
D
46Distance-Vector Protocols
- These routing tables have made a loop.
- If during the break of link f, there were packets
destined to B, C or E in the input queues of D or
A, these packets will be transfered from A to D
and back from D to A until their time to live
expires. - During this time, link c will be congested, and
normal traffic between A and D will be annoyed.
A
c
D
47Distance-Vector Protocols
- A and D will keep exchanging information from
their routing tables. - After each exchange the cost will increase.
- This exchange can continue indefinitely unless
there is a mechanism to stop it.
A
- A cost that corresponds to infinity is usually
introduced. - When the costs in the tables reach this cost that
corresponds to infinity, the looping of the
packets stops.
c
D
48Distance-Vector Protocols
- After certain number of iterations the cost to B,
C and E will reach the value that corresponds to
infinity. - A and D now know that B, C and E are unreachable.
- The value for Infinity is cruscial for the time
neccasary to stop the loop. - However, the value of infinity limits the size of
the network
A
c
D
49Distance-Vector Protocols
- Loops usually occurs when incorrect information
that contradicts the correct information is sent
back to a router. - Logic It is never useful to send info about a
route back in the direction from which the info
came!
Split horizon
50Distance-Vector Protocols
- Two types of split horizon
- Ordinary split horizon ? A router will not send
an update for a route via an interface from which
it originally received knowledge of that route. - Split horizon with poison reverse ? A split
horizon in which the router responds to attempts
to update a route with an update that marks the
route as unreachable (sends un update with
distance equal to infinity). - Split horizon resolves only the two node loops
51Link State Protocols
-
- Step 1 Each node broadcasts its state to all
other nodes. - Step 2 Each node builds a global state
knowledge. - Step 3 Each node locally computes the shortest
paths to all other nodes using Dijkstras
algorithm.
52Link State Protocols
- Link
- an interface on the router.
- Link state
- description of the interface and the neighboring
routers - IP address, mask, type, routers connected to it.
- Link state database
- collection of link state advertisement for all
routers and networks. - Sequence Number
- Shows whether the update sent is a newer one.
53Link State Protocols
- All routers maintain a complete copy of the
network map and perform a complete computation of
the best routes from this local map. - The network map is held in a database, where each
record represents one link in the network. - Each record is inserted by one router that is
responsible for it. - It contains an interface identifier, the
information describing the state of the link, the
cost, the distance or the metric of the link and
the sequence number.
54Link State Protocols
Seq. num.
From To Link Cost A B a
1 2 A D c
1 2 B A a 1
2 B C b 3 1
B E e 2 2 C
B b 3 1 C
E f 1 1 D A
c 1 2 D E e
2 1 E B d 2
2 E C d 2
1 E D e 2 1
Link State Announcement (LSA)
From A to B, Link a, Cost 1, Sequence Num.
2
55Link State Protocols
- A router generates a new LSA when
- it has a new neighbour,
- the cost of the link to an existing neghbour has
changed, or - a link to a neighbour has gone down.
- Every new LSA has a sequence number that is
higher than the previous one.
56Link State Protocols
- The purpose of the routing protocol is to adapt
routes to the changing conditions in the network. - This can be done only if the link state database
is updated after each change of the link state. - When the status of the link changes, it is
detected by the neighboring routers. - They change their link state database and
generate a link state advertisement (LSA) with a
higher sequence number. - The flooding protocol is used to transmit the LSA
to all other routers.
57Link State Protocols
- The steps of the flooding protocol
- Receive the message.
- If the record is not yet present , add it to the
database and send LSA on all the links except the
one it was received on. - If the record is present in the database and its
sequence number is lower, replace the record by
the new value and send it further on. - If the record is present in the database and its
sequence number is higher, transmit the database
value in a new message through the incoming
interface. - If both sequence numbers are the same, do nothing.
58Link State Protocols
- In case of link failures A and B send the
information to all other nodes about the state of
link a. - The flooding procedure distributes this
information quickly.
- Every router recalculates the shortest path tree
when there is a change in the link-state
database. - The connectivity is reestablished. Loops may
appear only during the transition period (the
time during which the link state databases in the
nodes differ).
59Link State Protocols
B
C
A
- If b breaks during this period, A and D will not
receive this LSA and their database will be
different than the one of B, C and E.
b
3
c
1
2
d
f
1
- When e comes up, A and D has to be synchronized
with E. This process is called bringing up
adjacency
E
D
- In the case when network is segmented, the link
state databases in both parts of the network are
different.
60Link State Protocols
- Exchanging complete copies of the databases would
be quite inefficient (it may be the case that the
most of the records in both databases are the
same). - Databases are synchronized via comparison of
sequence numbers. - Interesting records - the sequence numbers are
different or not present in database. - The process is known as bringing up adjacencies.
61Link State (LS) versus Distant Vector (DV)
Protocols
- In DV send everything you know to your neighbors.
- In LS send info about your neighbors to everyone.
- Msg size small with LS, potentially large with
DV - Msg exchange LS O(nE), DV only to neighbors
62LS vs. DV
- Convergence speed
- LS fast
- DV slow, but faster with triggered updates.
- Space requirements
- LS maintains entire topology.
- DV maintains only neighbor state.
- Robustness
- LS can broadcast incorrect/corrupted LSP.
- localized problem
- DV can advertise incorrect paths to all
destinations - Incorrect calculation can spread to entire
network.
63LS vs. DV
- In LS nodes must compute consistent routes
independently - must protect against LSDB
corruption. - In DV routes are computed relative to other
nodes. - Conclusion no clear winner, but the
recomendation is to use DV only in small network
and to use LS in all other cases.