You are on page 1of 23

Master Course

Advanced Computer Networks

Lecture 5 (Part -3)


Unicast Routing Protocols

Dr. Mahmoud Shuker Mahmoud


Chapter
Outline

5.7 Path Vector Routing

5.8 BGP
5.9 Network Layer Performance
5-7 PATH VECTOR ROUTING
Distance vector and link state routing are both interior
routing protocols. They can be used inside an
autonomous system. Both of these routing protocols
become intractable when the domain of operation
becomes large. Distance vector routing is subject to
instability if there is more than a few hops in the
domain of operation. Link state routing needs a huge
amount of resources to calculate routing tables. It also
creates heavy traffic because of flooding. There is a
need for a third routing protocol which we call path
vector routing.
Example 5.10

The difference between the distance vector routing and


path vector routing can be compared to the difference
between a national map and an international map. A
national map can tell us the road to each city and the
distance to be traveled if we choose a particular route; an
international map can tell us which cities exist in each
country and which countries should be passed before
reaching that city.
Figure 5.10 Reachability

To be able to provide information to other ASs, each AS must have at


least one path vector routing that collects reachability information
about each network in that AS. In other words, the AS needs to have a
list of existing networks in its territory.
Figure 5.11 Stabilized table for three autonomous system

Routing Tables A path vector routing table for each router can be created if
ASs share their reachability list with each other.
Loop Prevention and Aggregation

Loop Prevention
When a router receives a reachability information, it checks to see if its autonomous
system is in the path list to any destination. If it is, looping is involved and that
network-path pair is discarded.
Aggregation
The path vector routing protocols normally support CIDR notation and the aggregation
of addresses (if possible). This helps to make the path vector routing table simpler and
exchange between routers faster. For example, the path vector routing table of Figure
5.11 can be aggregated to create shorter routing tables as shown below
Path Vector Routing (1)
• Sharing
– A speaker in an AS shares its table with
immediate neighbors
• Updating
– Adding the nodes that are not in its
routing table and adding its own AS and
the AS that sent the table
– The routing table shows the path
completely
Path Vector Routing (2)
• Loop prevention
– A route checks to see if its AS is in the
path list to the destination
• Policy routing
– If one of the ASs listed in the path is
against its policy, it can ignore that path
and that destination
Path Vector Routing (3)
• Optimum path
– Problem: each AS that is included in the
path may use a different criteria for
the metric
– The optimum path is the path that fits
the organization
– Other criteria: security, safety,
reliability, etc.
Types of Autonomous Systems
As we said before, the Internet is divided into hierarchical domains called
autonomous systems (ASs). We can divide autonomous systems into three
categories:

Stub AS
A stub AS has only one connection to another AS. A stub AS is either a source or a
sink. A good example of a stub AS is a small corporation or a small local ISP.

Multihomed AS
A multihomed AS has more than one connection to other ASs, but it is still only a
source or sink for data traffic. It can receive data traffic from more than one AS. It
can send data traffic to more than one AS, but there is no transient traffic. It does
not allow data coming from one AS and going to another AS to pass through.

Transit AS
A transit AS is a multihomed AS that also allows transient traffic. Good examples of
transit ASs are national and international ISPs (Internet backbones).
5-8 BGP

Border Gateway Protocol (BGP) is an interdomain


routing protocol using path vector routing. It first
appeared in 1989 and has gone through four
versions.
BGP Sessions

The exchange of routing information between two routers using BGP takes
place in a session. A session is a connection that is established between two
BGP routers only for the sake of exchanging routing information. If we want
to be precise, BGP can have two types of sessions: external BGP (E-BGP) and
internal BGP (I-BGP) sessions

A speaker node advertises the path, not the metric of


the nodes, in its AS or other ASs.
iBGP and eBGP

iBGP eBGP
• Used to connect different • Used to connect different
routers have same AS (same routers have different AS
company) (different company)

• Propagate reachability • Obtain subnet reachability


information to all AS-internal information from neighboring
routers. ASs.
Figure 5.14 Types of BGP messages

BGP messages exchanged between peers over TCP connection, BGP has
four types of messages
• OPEN: Establish a connection with a BGP peer
• UPDATE: advertise or withdraw routes to a destination
• KEEPALIVE: Inform a peer that the sender is still alive but has no
information to send.
• NOTIFICATION: Notify that errors are detected, also used to close
connection
Path Attributes
Precisely, The path vector was presented as a list of attributes.
Each attribute gives some information about the path. The list
of attributes helps the receiving router make a better decision
when applying its policy.

Attributes are divided into two broad categories: well-known


and optional. A well-known attribute is one that every BGP
router must recognize. An optional attribute is one that needs
not be recognized by every router.
Well-known Mandatory Attributes
• ORIGIN
– The source of the routing information (RIP,
OSPF, etc)
• AS_PATH
– The list of ASs through which the destination
can be reached
• NEXT-HOP
– The next router to which the data packet
should be sent
Note

BGP uses the services of TCP


on port 179.
5-9 Network Layer Performance
The performance of a network can be measured in term of
delay, throughput, and packet loss. Congestion control
is an issue that can improve the performance

Delay
Packets from source to destination encounters different
types of delays, usually divided into four types:
1- Transmission Delay
2- Propagation Delay
3- Processing Delay
4- Queuing Delay
Transmission Delay: is the time the sender needs to put the bits in a packet on the
line one by one.
Delaytr = (packet length) / (transmission rate)

Propagation Delay: is the time it takes for a bit to travel from point A to point Bin
the transmission media.
Delaypg = (Distance) / (Propagation speed)
Processing Delay: is the time required for a router or a destination host to receive a
packet from its input port, remove the header, perform error detection procedure, and
deliver the packet to the output port (router) or upper layer (host).
Delaypr = Time required to process a packet in a router or destination host

Queuing Delay: normally happened in router, is the time a packet waits in the input
queue of a router waiting for processing
Delayqu = Time required a packet waits in input queue in a router

Total Delay: (source to destination delay), if we assume we have n routers in


the path from source to destination therefore we have (n+1) links therefore the
total delay can be calculated as follows:

Total Delay = (n+1)(Delaytr + Delaypg + Delaypr ) + (n) (Delayqu)


Throughput
Throughput at any point in a network is defined as the number of bits passing
through the point in a second, which is actually the transmission rate of data
at that point. In a path from source to destination, a packet may pass through
several links (networks), each with different transmission rate as shown in
figure below.

Throughput = minimum [TR1, TR2, …… TRn]


Packet Loss
Another issue that severely affects the performance of communication is the
number of packet lost during transmission. When router receives a packet
while processing another packet, the received packet needs to be stored in the
input buffer waiting for its turn. A router has an input buffer with limited size.
A time may come when the buffer is full and the next packet needs to be
dropped. The effect of packet loss on the internet network layer is that the
packet needs to be resent, which in turn may create overflow and cause more
packet loss.

Congestion Control
Congestion control is a mechanism for improving performance. Congestion
will be discussed in details at transport layer, but at the network layer it is
related to two issues, throughput and delay, which we discussed previously.

You might also like