2. What is Routing ?
• Routing is the process for forwarding a packet between the source and destination
networks (or subnets)
• Routing devices perform two main tasks
– Routing –
• Topology discovery
• Path (or route) discovery
– Switching
• Process of forwarding the packet between the inbound and outbound
interface
• Finding path to the destination
• In IP the switching is done on the per packet basis (L3 forwarding)
– Connectionless mode: routers forward traffic on the basis of the address
contained in the packet header
• Each packet is switched independently from others 2
3. Routing Information
• Each router maintains routing table that contains the routing information
necessary to find path to the destination
• Routing table contains paths to all known destination in the network
R 172.16.8.0 [120/4] via 172.16.7.9 00:00:20 Serial0
• R How the route was learned e.g. From RIP
• 172.16.8.0 Destination network or subnet
• [120 Administrative distance of the routing protocol
• 4] Metric i.e. hop count in case of RIP
• via 172.16.7.9 Next-hop router address
• 00:00:20 Age of routing information
• Serial0 Outbound interface 3
4. Administrative Distance Values
• Administrative distance defines the preference of routes learned via different protocols (which
route can be trusted more over the others)
• Defined values
– Connected interface 0
– Static route out of the interface 0
– Static route to a next hop router 1
– EIGRP summary route 5
– External BGP 20
– Internal EIGRP 90
– IGRP 100
– OSPF 110
– IS-IS 115
– RIP 120
– EGP 140
– External EIGRP 170
– Internal BGP 200
– Unknown 255
4
5. Routing in the Internet
• The Internet is organized as a set of independent Autonomous Systems
(AS)
• The AS is a collection of networks under single technical administration
• The AS appears to the outside world to have coherent routing plan and
presents unique view what destination are reachable through it
• The AS can use many different routing protocols
– The routing protocols used inside the AS are called the Interior
Routing Protocols (IGP)
• A separate protocol is used to transfer information between ASs
– The routing protocol used between the ASs is called the Exterior
Routing Protocol (EGP)
5
6. AS Network Model
• The AS is modelled as a collection of routers, hosts and networks
– The network can be point to point or multipoint link that interconnect
hosts and routers e.g. Ethernet, Token Ring or serial link (we distinguish
broadcast or non broadcast networks)
– Host can be connected to many networks
– Only Routers can transfer packets between networks
• The network denotes the IP subnet (in IP addressing scheme)
Cost 1 Router A Cost 1 Router B Cost 1 Router C Cost 1
Network Network Network Network
A B C D
Host A Host B
Network
Network
E
F
6
Cost 1 Router D Cost 1
7. Routing Protocols for IP Networks
Protocol Type Scalability Metric IP classes
RIP-1 Distance Small Hop count Classful
vector
RIP-2 Distance Small Hop count Classless
vector
OSPF-2 Link state Large Cost Classless
IS-IS Link state Very large Cost Classless
IGRP Distance Medium Bandwidth, Classful
vector delay, load, MTU, reliability
EIGRP Dual Bandwidth, Classless
Large delay, load, MTU, reliability
BGP Distance Large Vector of attributes Classless
vector
7
8. Classful Routing
• In the classful routing the network mask is not propagated
throughout the network
– If the path is on the directly connected network the the router
assumes the same mask as the advertising device
– If the path is not on the directly connected network the
default mask is assumed
• the paths are summarised at the network boundary
• All interfaces on the subneted network must use the same mask
– Address space is used inefficiently e.g. in case of point-to-
point links
8
9. Classless Routing
• In the classless routing the subnet’s masks are propagated
together with the subnet’s addresses
• More detailed information about network topology is possible
– Subnets may not be continuous
• Efficient use of address space
– e.g. Only two addresses can be used on point-to-point links
• Route summarisation possible at any bit position (VLSM)
– Small routing tables
• CIDR - Classless Interdomain Routing
9
11. Routing Information Protocol (RIP)
• RIP is an IGP protocol based on the Bellman-Ford (or distance vector)
algorithm
– Distances between networks are exchange between routers
– The information is exchange only between adjacent routers
• RIP was first developed for the Xerox Network Systems (XNS)
architecture
• In 1969 RIP was adopted for ARPANET (with modification for IP
addressing support)
– The RIP is intended to be used within IP-based Internet
• RIP is developed for medium-size networks (AS) and have the following
limitations
– The longest path is limited to 15 hops
– Counting to infinity for loop resolution
11
– Fixed (hop) metrics
12. Routing Information Protocol (RIP)
• Each router or host that participates in the routing protocol maintains
routing table
• Routing entry
– Standard routing information
• Destination network address
• Next hop router address
• Interface
• Metrics
– Protocol specific information
• Timers – the amount of time since the entry was last updated
• Flags (new route, withdrawn route etc.)
12
13. Routing Information Protocol (RIP)
• The destination on the same network can be represented by single entry
that describes routing to the given network
– The details of routing within a given network are not visible to the IP
layer
• The routers/hosts exchange information about known paths in periodical
fashion
• The routers/hosts are initialised with the networks directly connected to
them
• Each router/host builds its routing table from information provided from
its neighbours
Routing information Routing information
13
14. Handling Topology Changes
• There is a need to detect crashed routers or routers that were disconnected
from the rest of the network
• The above is done by timing out the routing tables entry
– When the update for particular destination is not seen for some time the
destination is declared to be unreachable
– The update is supposed to come from the same router as the previous
one
– The default timeout is 180 seconds
• If the given network is detected to be lost it is indicated as unreachable by
the router(s) that are directly connected to it by setting the cost for it to
infinity
– The infinity is the cost of 16
– This is done by normal update procedure
14
15. Counting to Infinity
B
1 Routes form all routers to the target
network
1 1 10 1
Target network D: directly connected, metric 1
1 C D B: via D, metric 2
A C: via B, metric 3
A: via B, metric 3
• Link B-D goes down
B notice that the link B-D is gone:
D: dir 1 dir 1 dir 1 .... dir 1 dir 1
B: unreach C4 C5 .... C 11 C 12
C: B 3 A4 A5 .... A 11 D 11
A: B 3 C4 C5 .... C 11 C 12
• The value for infinity is tradeoff between the network
size and the speed of convergence
15
16. Split Horizon
• The „counting to infinity” problem arises when the
router sends back the reachability information to the
B
router that generated the original path
• To prevent this the router do not send back the routing
information about path learn from given neighbour to
this neighbour – split horizon
Path to X Path to X
A B C
16
17. Split horizon with poisoned reverse
• Split horizon with poisoned reverse assumes that such routes are included in
the message with the cost of infinity
– Breaks the loop between two adjacent routers
– Increases the size of routing messages
• In case of broadcast network router claims network unreachablility to every
router on that network (if it learn the path from one of them)
Split horizon
D
Path to X X unreachable
Path to X Path to X
A
B C
Split horizon with X unreachable
17
poisoned reverse
18. Triggered Updates
• Split horizon with poisoned reverse do not prevent from all loops e.g. three
routers can still establish a loop pointing at each other in a circle
– Such loop will be resolve by counting to infinity, however this takes some
time
• In triggered update when the router changes the metrics for given path it
sends update message immediately
• The triggered updates for deleted routes are mandatory
Triggered update
Ignored
A Accepted
Ignored 18
19. Addressing
• Each router knows the IP address and subnet mask for directly connected networks
• The router sends outside given network only the IP address of this network
– The routers not directly connected to the network know nothing about its
subnetting
– Without subnet mask it is not possible to distinguish the address of subnet from
the address of node in that subnet
– All addresses that are not network address are treated as node addresses
• The subnet/host addresses are sent only to the routers that are directly connected to
given network
C2, C3
A A, B, C – regular networks
C1
C1, C2, C3 – subnets in networks C
B C2
C C3 19
20. Routing Table
• The RIP routing table can contain the following information:
– Addresses of directly connected network
– Addresses learnt from neighbours
– Addresses configured statically
– Addresses learnt from other protocol either EGP or IGP
– Default route (0.0.0.0)
• The creation of default routes in RIP is implementation specific
– For example the BGP routers (the gateways to other AS) can generate
default route
• The outside traffic will be sent to the closest border router
20
21. Timers
• Update timer - every 30 seconds the RIP process sends response message to
its neighbours
– To prevent from message synchronisation (especially on broadcast
networks) the timer must be independent of the system load or small
offset +-5 seconds used
• Timeout timer – the timeout is initialised when the route is established, the
route timeout is 180 seconds
• Garbage collection timer – after the route is declared to be deleted it is kept
in the routing table and included in the update messages for 120 second
– If new update for the deleted route comes before the garbage timer
expires the route is updated and the timer is cancelled
21
22. Request Message
• A request message is used to obtain whole or part of the routing table of the
router
• Normally this message is sent by new router that boot up and need to fill its
routing table
• The request message can be sent by other entity than RIP router (for
monitoring purposes)
– In this case the request message is sent from other port than the RIP port,
the answer is sent back to this port
• If the request message contains one RIP entry with AFI field zero and metric
16 it is treated as the request for the whole routing table
– Split horizon is done
• In other case the RIP entry are evaluated one by one and interpreted as an
update request for the specific address (given in the address field)
– Split horizon is not done
22
23. Response Message
• The response message is sent in the following cases
– Response to the specific query
– Normal update
– Triggered update
• Message validation
– Response was sent from the RIP port
– The source IP address must be checked against valid neighbour and it
must be in the directly connected network
– The message must be check if it was not generated by itself (on
broadcast network router can receive its own messages)
• RIP entry validation
– Correct destination address
– Correct metric (between 1 and 16)
23
25. Open Shortest Path First
• OSPF is an IGP protocol based on the Dijnkstra algorithm
– Link state information LSA (Link State Advertisement) is
exchanged between routers
– The LSA are exchange only when the link state changes
• OSPF addresses the scalability issues of traditional distance vector
protocols like RIP
– Fast convergence
– Reduced routing traffic
– Support for large networks
• OSPF uses IP as its transport protocol
– OSPF is protocol number 89 25
26. Open Shortest Path First
• Link state routing protocols
– Each router maintains the topology database derived from other routers
– The routing table is build from the topological database
• The router runs SPF algorithm to construct tree of shortest paths to all
destination with itself as root
– Only changes in network topology are advertised between routers
• OSPF main characteristics
– Hierarchical routing - area definition
– VLSM support (subnet and mask propagation)
– No network topological limits
– Single value metrics - link cost
• Links costs are usually set in proportion to the bandwidth
26
– Load balancing over equal cost paths (up to 6 paths)
27. OSPF Terminology
• Interface – the connection between router and the network (represented as
link in the topology database)
• LSA – data describing the status of the router links and networks
• Cost – weight assigned to the link
• Area – a collection of routers that have the same are identification
• Neighbour – two routers on the same network
• Adjacency - relationship between neighbour routers established for the
purpose of exchanging routing information
• Designated router - the router that generates LSA for given broadcast or NBMA
network
• Hello protocol - protocol used to detect neighbours
27
28. OSPF Topology Database
• All routers and network are represented as vertices
• All interfaces are represented as edges
• Point to point links are represented as edges
Net- Net-
work work
Net- Net-
Net-
work work
work
Net-
work
Net-
work
Net-
work Net- 28
work
30. Hello Protocol
• Hello protocol is used for establishing neighbour relationship on broadcast
network
– Designated Router (DR) and Backup Designated Router (BDR) are elected
on broadcast networks
– Adjacency between routers is established
• Hello protocol is used for keep alive procedure
– Hello packets are periodically send out from each router interface with the
broadcast IP address 224.0.0.5 (allOSPFRouters)
– typically the hello packets are sent every 10 seconds
• Hello protocol is used to discover changes in the network topology
– Link failures/deletion
– Link addition
30
31. Hello Packet
• Hello packets contain the following information
– Router ID - the highest IP number on the active interface
– Hello and dead intervals - the time between consecutive hello messages
and the timeout value for detecting link or neighbour failure
– Neighbours - the list of routers IDs with which the bi-directional relation
was established
– Area ID - the router must be on the same subnet and in the same are to
communicate
– Router priority - 8 bit number denoting router priority in the DR and BDR
designation process
– DR and BDR router addresses
– Authentication password
– Stub are flags
31
32. Designated Router
• DR router represents the network to other routers
– Routers on broadcast network must elect the DR and BDR routers during
the hello procedure
– The router with the highest priority becomes DR router
– The router with the second priority in order becomes the BDR router
• The BDR router becomes active when the DR router goes out of service
• Each router on the network establishes adjacency with the DR router
• Only the DR router sends LSA for given network
– This decreases the routing traffic
32
33. Hello protocol
• Exchange process is performed at router startup
– Newly started router sends out hello packets on all interfaces
– All routers that received the hello packets add the new router to neighbour
list
– The routers send unicast replay to the new router
• Including their IDs
– The new router updates its neighbour list (when it sees its ID in the
received relay) - the routers establishes bi-directional communication
• The routers on the network determined who the DR and BDR is (exstart state)
• After the exchange process routers periodically exchange hello packets
33
34. Hello Protocol
172.16.5.1/24 172.16.5.2/24
A E0 E1 B
Down state
I am router ID 172.16.5.1 and I see no one
Init state Router B
Neighbour list
172.16.5.1/24 int E1
I am router ID 172.16.5.2 and I see 172.16.5.1
Router A
Neighbour list
172.16.5.2/24 int E0
Two way state
34
35. Exchange Protocol
• Exchange Protocol is used to synchronise the neighbour routers databases
• After the DR and BDR election, routers that are not DR or BDR establishes the
adjacency with the DR and BDR routers
– The master-slave relationship is established
– The router with the higher ID becomes the master
• The adjacent routers exchange the DBD packets
– When the slave router receives DBD it send ack to the master router with its own
LSAs
– Next each router compares the received LSA sequence numbers with these it has,
if some LSAs in the router are older it sends the LSR (Link State Request) packet for
these LSAs
– The other router responses with the LSU (Link State Update) packet that contains
full LSAs information
– The router acks the LSU packet
• 35
After the exchange protocol each router pre-computes its routing table entries
36. Exchange Protocol
172.16.5.1/24 172.16.5.2/24
A E0 E1 B
exstart state
I will start exchange because I have router ID 172.16.5.1
Hello
No I will start exchange because I have higher router ID
Hello
exchange state
Here is the summary of my link-state database
DBD
Here is the summary of my link-state database
DBD
Ack
LSAack LSAack
36
37. Exchange Protocol
172.16.5.1/24 172.16.5.2/24
A E0 loading state
E1 B
I need information for 172.16.6.0/24
LSR
Here is the information for 172.16.5.0/24
LSU
Ack
LSAack
full state
Data transfer possible
37
38. Maintaining Routing Table
• Each LSA is associated with some timer usually 30 minutes
• When the LSA timer expires the router that originates the LSA sends LSU to
verify that the link is still active
• When a router receives the LSU packets it does the following
– it checks if the LSA is in its database if so it compares the sequence
numbers if are the same the LSU is ignored
– if the LSA is not in the database the database is updated and the flooding
process is started
– if the sequence number higher start flooding process if not propagate the
LSU
– after the flooding process pre-compute new routing table
38
39. Solution - OSPF Areas
• In OSPF large network can be split into many areas
• OSPF areas allow to implement hierarchical routing thus the following
benefits can be achieved
– individual LSA updates are not propagated out of the are thus the
change in one area does not incur routing table recalculation out
side this area
– smaller routing tables - the detailed routing information is kept
within area, the route summarisation can be done for the routes
that are send out of the area, with proper addressing even only one
route can be propagated out of the area
– reduce routing traffic in the network - more bandwidth available to
data packets
39
40. OSPF Multi-area Terminology
• Routers types
– Internal - routers with all interface in the same area
– backbone routers - routers with at least one interface in the
backbone area 0
– Area border router(ABR) - routers that have interfaces
attached to many areas, maintain link state database for each
area, do LSA summarisation before sending information to
other areas
– Autonomous system boundary router (ASBR) - routers that
have at least one interface into external network
• Routers can be of more than one type
40
41. OSPF Multi-area Terminology
• LSA types
– type 1 - router link entry - generated by each router for each area it
belongs to, describe the sate of the routers links to given area, flooded
only within area
– type 2 - network link entry - generated by the DR for multiaccess networks,
describe the set of routers attached to the network, flooded only within
area
– type 3/4 - summary link entry - generated by ABR, describe the ABR link
state and the routers internal to the area, flooded via backbone to other
areas, type 3 describe routes o the network, type 4 describe routes to
ASBR
– type 5 - external link entry - generated by ASBR, describe routes o the
destination outside the AS, flooded to backbone and normal areas
41
42. OSPF Multi-area Terminology
• Area types
– standard area - accept link updates and route summaries
– backbone area - special area that interconnects other areas, behaves as
standard area
– stub area - area that do not accept the external LSA, the routers in this area use
the default route when they need to send traffic out of the AS
– totally stub areas - do not accept external LSA or internal LSA from other areas,
the routers in this area use default route when they need to send traffic out of
the area
• Data traffic sent for destination within the area is sent through this area only
• Data traffic sent for destination outside the area always crosses the backbone area
– packet leaves the originating area via its ABR
– packet enters the destination area via its ABR
42
44. BGP-4 Basics
• BGP is Inter-Autonomous System routing protocol (EGP)
– The BGP is used to route traffic between different AS systems
– BGP is used to interconnect ISP networks or connect
Enterprise networks to ISPs
• BGP is based on the EGP protocol (RFC 904)
• BGP uses TCP on port 179 as its transport protocol
– BGP assumes reliable transmission protocol
– Periodic keep alive to verify TCP connectivity
44
45. BGP-4 Basics
• BGP is a distance vector routing protocol
– Exchanges complicated path attributes (vector of attributes)
– Hierarchical topology is not required
– Incremental triggered updates
• Support for classless routing (CIDR)
– Support for supernetting
• Route aggregation
• Policy routing
– Only rules conformant to hop-by-hop routing scheme possible
• Only routes used in the AS can be advertised to other ASs
45
46. When to Use BGP?
• When the BGP is needed?
– An AS allows to pass packets between different Ass
– An AS has multiply connection to other AS
– The AS wants to manipulate the flows of traffic
leaving or entering this AS
• BGP is CPU and memory consuming
– Typically BGP routing table has over route 70000
entries from over 6000 ASs
46