Professional Documents
Culture Documents
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
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
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
iBGP eBGP
• Used to connect different • Used to connect different
routers have same AS (same routers have different AS
company) (different company)
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.
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
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.