Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

Lecture 5:

Routing protocols
HEDSPI Project
Hanoi University of Technology
by
Ngo Hong Son

This course materials contains charts and texts provided by Keio University, Japan 1
Overview
  Last week
  What is routing?
  Static and dynamic routing
  Routing algorithms
  Today: Routing protocols in the real Internet
  Hierarchical routing
  Intra-domain routing: RIP, OSPF
  Inter-domain routing: BGP

2
Hierarchical routing
Autonomous System
Intra and Inter domain routing

3
Overview
  The routing we studied
so far are ideal
  All nodes are identical
  Networks are “flat”
  This is not the case in
practice
  Scalability: Internet has billion hosts, which problem
for LS or DV routing?
  LS: Overhead due to link state broadcast
  DV: Convergence?
4
Hierarchical structure of the
Internet
  Internet = network of networks
  Such networks can select its own routing policy
(routing domain)
  Such networks are called autonomous system (AS)
AS 2
AS 5
AS 1
AS 4
AS 3

5
Autonomous System (AS)
  A set of routers with the same routing policy (routing protocol,
metric…) is aggregated into an AS
  Gateway: router connect between two ASes
  Each AS has an unique number (ASN - 16 bits or 32 bits).

2914 NTT-COMMUNICATIONS-2914 - NTT America, Inc.


3491 BTN-ASN - Beyond The Network America, Inc.
4134 CHINANET-BACKBONE No.31,Jin-rong Street
6453 GLOBEINTERNET Teleglobe America Inc.
24087 VNGT-AS-AP Vietnam New Generation Telecom
24066 VNNIC-AS-VN Vietnam Internet Network Information Center
17981 CAMBOTECH-KH-AS ISP Cambodia
……………………………….
6

Source: http://www.cidr-report.org
Number of AS by time

Source: http://www.potaroo.net/

2008

7
Hierarchical routing protocols
  Inside an AS: Intra-domain routing protocols
  Also named IGP: Interior Gateway Protocol
  RIP: Routing Information Protocol
  OSPF: Open Shortest Path First
  IS-IS, IGRP, EIGRP (Cisco)…
  Among ASes: Inter-domain routing protocols
  Also named EGP: Exterior Gateway Protocol
  BGP (v4): Border Gateway Protocol

8
Intra-domain and Inter-domain
routing
AS2

AS1 IGP EGP


OSPF domain

EGP
RIP domain EGP
EGP
AS4 EGP IGP
IGP AS3
RIP domain
IGP
AS5 OSPF domain
RIP domain

RIP domain
Intra-domain routing protocol

RIP
OSPF

10
RIP ( Routing Information Protocol)
  IGP
  RIP v.1, currently use RIP v.2
  Distance-vector algorithm
  Routing metric: # of hops (max = 15 hops)
From router A to subsets:
destination hops
u v
u 1
A B w v 2
w 2
x 3
x y 3
z C D z 2
y 11
Review: DV routing (1)
  Friend of friend is friend

Net A
133.27.4.0/24

Router A Router C

To 133.27.4.0/24
1 hop
Net B
Router B
133.27.5.0/24
Router D

12
Review: DV routing (2)
  Friend of friend is friend

Net A
133.27.4.0/24

Router A To 133.27.4.0/24 Router C


2 hop
To 133.27.4.0/24
1 hop
Net B
Router B
133.27.5.0/24
Router D
To 133.27.4.0/24
2 hop 13
Review: DV routing (3)
  Friend of friend is friend

Net A
133.27.4.0/24

Router A To 133.27.4.0/24 Router C


2 hop To 133.27.4.0/24
To 133.27.4.0/24 3 hop
1 hop
Net B
Router B
133.27.5.0/24
Router D
To 133.27.4.0/24
2 hop 14
Review: DV routing (4)
  Friend of friend is friend

Net A
133.27.4.0/24

Router A Router C

To 133.27.4.0/24
1 hop
Net B
Router B
133.27.5.0/24
Router D

To 133.27.4.0/24 15
2 hop
RIP: Exchange information
  Routing table of router is exchanged
  Periodic
  Node advertise its distance-vector with neighbors every
30s
  Each message contains up to 25 routing table entries
  In practice, multiple messages are sent
  Triggered
  When every entry changes, send copy of entry to
neighbors
  Neighbors use to update their tables

16
RIP timer (1)
  Update timer
  Exchange routing table every 30 sec
  Invalid timer
  Updated every time router receives information
  If it is time out (180sec), it becomes hold down status

  Hold down timer


  Router keeps routing information for 180 sec
  Not refer the worse update (to avoid the loop)
  Possibly down status

  Flush timer
  Update every time router receives information
  If 240sec passed, routing entry

17
RIP timer (2)
no
update update
update
↓ ↓ ↓
When it is timeout,
hold down timer starts
Invalid timer
When it is timeout,
This info will be deleted
from RIP database

When it receives update, Hold down timer


Invalid timer restarts

Flush timer

When it is timeout,
Routing info will be deleted
from routing table

0 30 60 90 120 150 180 210 240 270 300 330 360 390 420
18
Ping-pong failure
  If 192.168.0.0/24 is down…
  B can update 192.168.0.0 info to A
  Packets to 192.168.0.0/24 become loop status
  A will update 192.168.0.0 info to B
  Count up to infinity!

19
OSPF: to avoid this loop
  Limit the maximum hop count
  16
  Split horizon
  The routing info will not return back to the sender
  Poison reverse
  When network is down, send update with metric
16
  That routing information become Hold-down
status

20
OSPF: Open Shortest Path First
  IGP
  Open: Open standard by IETF (current
version, version 3, defined in RFC 2740 )
  Shortest Path First: Implement the link-state
Dijkstra algorithm.
  LSA (link state advertisement) via flooding in
the entire AS

21
Some advanced features
  Security: OSPF messages are authenticated
  Large AS: Hierarchical OSPF

  Classless routing (able to use Variable-


Length Subnet Masking -VLSM )
  Different metric for each link based on TOS
(is not used in practice)

22
Hierarchical OSPF
  Why we have to divide the network into small area?
  If we have more than 100 routers….
  Link state update is delivered all the time
  Number of re-calculation increase
  Need more memory, need more CPU power
  Number of link state update become large
  Routing table become large
  Area
  Group of routers which share the same LSA

23
Hierarchical OSPF

24
Router types
  ABR - Area border routers: “summarize” distances
to nets in own area, advertise to other Area Border
routers.
  ASBR - Autonomous system boundary router:
connect to other AS’s.
  BR - backbone routers: run OSPF routing limited to
backbone.
  Internal Router - Has only OSPF neighbor
relationships with routers in the same area.

25
Which information is exchanged
among routers?
  Link-State Advertisement (LSA): Contain the link
and the cost to the neighbor
  For example, node A
  link to B, cost 30 A 20
  link to D, cost 20 D
  link to C, cost 10 C
10
20
  For example, node D 30 50

  link to A, cost 20 B E
  link to E, cost 20
  link to C, cost 50

26
OSPF metric
  Default value is existing
100Mbps / bandwidth of interface
  But these days administrator assign the original
value
  During the calculation of routing table
  Smallest cost to the one path will be selected
  If cost are same
  Router will do load balancing

27
OSPF default cost
Link Bandwidth Default OSPF cost
56Kbps serial link 1785
64Kbps serial link 1562
T1 (1.544Mbps) serial link 65
E1 (2.048Mbps) serial link 48
4Mbps Token Ring 25
Ethernet 10
16Mbps Token Ring 6
FDDI or Fast Ethernet 1
Gigabit Ethernet / 10G network 1

28
Link state flooding
LSAX
LSAX
X A X A
X has link to A, cost 10 LSAX
X has link to C, cost 20 C B D C B D

(a) (b)

X A X A

LSAX LSAX
C B D C B D

LSAX
(c) (d) 29
Designated router (DR)

  To improving efficiency on exchanging link state


  Each router forms an adjacency with the designated
router (DR)
  Exchanging link state through DR
  If DR fails, use a BDR (Backup DR)
  How to select DR and BDR?

B A C B A C

D E D E
30

Do not use DR Use DR


Neighbor & Adjacency

  Neighbor and adjacency are different concept!


  Adjacency: router which exchange the routing
information each other
  Neighbor: routers have a direct link
  Broadcast multi-access network (e.g Ethernet)
  Neighbor != Adjacency
  Point-to-point network
  Neighbor == Adjacency
  Non Broadcast Multi-access network (e.g. ATM)
  Exchanging data using unicast
31
RIP vs. OSPF
RIP OSPF

Characteristics •  Flat relation between •  Support hierarchy


routers •  Implementation is
•  Implementation is complicated
simple •  Middle and large-scale
•  Small-scale network network
Scalability x o
Computational complexity little many
Convergence time Low speed high speed

Exchanged information Routing table Link-state information

Algorithm Distant vector type Link-state type


Neighbor discovery 30s 10s (Hello packet)
32
Metric number of hops Cost (band width)
Inter-domain routing protocol

33
BGP – Border Gateway
Protocol
  The glue of Internet, to connect multiple ASes in the
Internet
  Using NLRI (Network Layer Reachability
Information)
  Allow AS to obtain reachability information from other ASes
  Propagate this information to internal routers within AS
  Determine best route based on reachability information and
policy
  Allow setting routing policies
  Selecting outbound paths
  Announcing internal routes

34
BGP: Path vector routing
  Which routing protocol can be used to connect multiple ASes?
  No universal metric – policy decisions
  LS: No, Metric are not the same, LS database too large – entire
Internet
  DV: Bellman-Ford algorithm may not converge
  Solution: Path vector routing
1 2 A
A
A B B→A C
3 A
C→B→A
1
A

D E
2 A 4 A
35
D→A D→A   best path
C→B→A      ×
Loop free mechanism
  Detecting loop depending on whether that router is
included in path of received routing information or not
  B will cancel the route to A, which B includes in path

C
A !!LOOP!!
A
D→C→B→A

A
C→B→A

36

D
eBGP and iBGP
  External BGP vs. Internal BGP
  Distribution of reachability information
1.  3a sends to 1c its prefix reachability info by eBGP
2.  1c sends prefix to all internal routers (1b, 1d, …) in AS1 by iBGP
3.  2a obtains prefix from 1b by eBGP

eBGP session
3c iBGP session
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d 37
BGP can implement policy
  When gateway router sends and receives
route advertisement
  BGP can specify the policy
  import policy
  export policy

38
Path attributes
  ORIGIN
  source of routing information (IGP/EGP/incomplete)
  AS_PATH
  NEXT_HOP
  MED (MULTI_EXIT_DISCRIMINATOR)
  LOCAL_PREF
  ATOMIC_AGGREGATE
  AGGREGATOR
  COMMUNITY

39
BGP route selection
  STEP 1: NEXT_HOP reachability
  STEP 2: Compare LOCAL_PREF
  STEP 3: Compre AS_PATH length
  STEP 4: Compare ORIGIN
  STEP 5: Compare MED
  STEP 6: Compare EBGP/IBGP
  STEP 7: Compare internal cost to reach NEXT_HOP
router
  STEP 8: Compre Router ID

40
How to implement routing
policy
  Route filtering
  Using BGP attribute
  AS_PATH PREPEND
  MED
  LOCAL_PREF

41
Route filtering
  Exchange only the route which is registered
beforehand
  Restriction of the receiving route with In-filter
  Restriction of the announcement route with Out-filter

AS1 AS3
AS1 AS3

AS2
Example of setting Access List
AS2 ◎
ip as-path access-list 10 permit ^2$
AS2 AS1 ◎ ip as-path access-list 10 permit ^2 1$
AS2 AS3 × Do not receive AS4 42
Setting as “In-filter” on BGP router
Example

Network Next Hop Metric LocPrf Weight Path


4.79.201.0/26 203.178.136.29 700 500 0 7660 22388 11537 10886 40220
203.178.136.29 700 500 0 7660 22388 11537 10886 40220
203.178.136.29 700 500 0 7660 22388 11537 10886 40220
6.1.0.0/16 203.178.136.29 700 500 0 7660 22388 11537 668
203.178.136.29 700 500 0 7660 22388 11537 668
203.178.136.29 700 500 0 7660 22388 11537 668 6.2.0.0/22
203.178.136.29 700 500 0 7660 22388 11537 668

43
Select path with AS_PATH
Prepend
  In BGP, it is regarded that AS AS2 AS3 AS5 AS4 AS5 AS5 AS5
PATH is long and network is
far AS1

  When an AS advertises its


number, overlap its own AS
number on AS_PATH, then AS2
adds AS3 AS5
  Show that there are multiple AS4
ASes between partner’s AS
and its own AS, without the AS3
next connected ASes

AS5 AS5 AS5


AS5
  Actual AS connection may
select different route as the
best path
  Apply to the control of traffic AS5 44
Example
Network Next Hop Metric LocPrf Weight Path
8.5.192.0/22 203.178.136.14 100 0 2516 209 13989 13989 13989 13989
203.178.136.14 100 0 2516 209 13989 13989 13989 13989
203.178.136.14 100 0 2516 209 13989 13989 13989 13989
8.5.196.0/24 203.178.136.14 100 0 2516 209 13989 13989 13989 13989
203.178.136.14 100 0 2516 209 13989 13989 13989 13989
203.178.136.14 100 0 2516 209 13989 13989 13989 13989 8.5.200.0/22
203.178.136.14 100 0 2516 209 13989 13989 13989 13989
203.178.136.14 100 0 2516 209 13989 13989 13989 13989

45
Route selection using MED
  Use In case of multiple links
  Select path with smaller MED value
  Apply to the control of traffic

172.16.0.0/16
AS1
Routing information Routing information of AS1
of AS1 MED 200
MED 100 used route

How to see routing table at AS2


Prefix AS_PATH MED
AS2 172.16.0.0/16 AS1 100 ◎
46
172.16.0.0/16 AS1 200
Load distribution using MED
  Setting MED value of each Prefix alternately with
router of each circuit.
  Apply to control of traffic
172.16.0.0/16、172.17.0.0/16
AS1
Routing information of AS1 Routing information of AS1
172.16.0.0/16 = MED 100 172.16.0.0/16 = MED 200
172.17.0.0/16 = MED 200 172.17.0.0/16 = MED 100

Route used for Route used for


172.16.0.0/16 172.17.0.0/16
AS2
47
Route selection by LOCAL_PREF
  Use path with larger
value of LOCAL_PREF AS1 AS1 AS1

  Apply to the control of


upbound traffic
AS2
AS1 AS2
AS4
AS3

AS1 AS4
AS3 AS2 AS1

LOCAL_PREF 100 LOCAL_PREF 80


AS5 48
Summary
  Hierarchical routing
  RIP
  OSPF
  BGP

49
Next week: Transport Layer
  Transport layer principles
  UDP and TCP

  Flow control

  Congestion control

50

You might also like