CS625 - Advanced Computer Networks
Instructor - Bhaskaran Raman
Lecture 04 - 4th August 2003
Scribe - Paul Ipe (Y0224)

Overview of Lecture
Routing Protocols (recap) Other types of routing such as hierarchical routing also exist where the path from source to destination follows a fixed hierarchy.
Address and Network Mask

Address Classes

Classless Addresses - When it is not defined as to which class a particular IP address belongs (A,B,C) then it is termed as a classless address. This can help solve the problem of too many hosts or too little hosts in a particular network.

A Network mask is used to determine the network number and host number of a particular IP address. This is done by a bitwise AND of the address and the mask.


Internet Service Providers

ISPs provide you with connectivity to the internet. For example, upon dial-up you can be given a dynamic IP address. But how do ISPs coordinate amongst themselves to provide connectivity to clients. One solution is peering.

There are in general two types of relations between Autonomous Systems

Peering is a non-transitive relationship between ASes. An advantage of peering is that the customer does not have to buy bandwidth during transit. This cuts the cost to the AS or ISP. This also helps lower Inter-Autonomous System traffic latency.
As this is primarily a business model there can be disadvantages such as traffic assymetry (ratio of traffic out to traffic in) and no guarantees on quality of service provided (If a router goes down in AS-1 which peers with AS-2, AS-2 can give no guarantee to its clients when the router would be back up). These are details that can be managed by various business clauses.
Border Gateway Protocol

An Autonomous System is a group of networks using a single IGP (Internal Gateway Protocol) for routing information.
BGP is a path-vector based protocol. It is an EGP (External Gateway Protocol) -- it works between various ASes. It is interesting to note that the control path is opposite to that of the data path. BGP Router-1 gives BGP Router-2 information about the nodes that it can access. The flow of this control information is from 1 to 2. Now for data to go to any node accessible by 1 it would flow from 2 to 1.
BGP is implemented on top of TCP! - surprising as it is a routing protocol and should be implemented at the IP layer which is below the TCP layer. This is possible as BGP Routers between autonomous systems are generally neighbouring and a route already exists (hence doesnt have to be found). Put in another way, local reachability is implemented at the IP layer and the two BGP Routers can talk with each other as they are neighbouring. Now BGP packets are transmitted between them and using this data the routers can now implement global reachability between the two autonomous systems.
As autonomous systems have border routers that 'speak' BGP it is possible to implement policy based routing.

BGP Messages

OPEN, NOTIFICATION and KEEP-ALIVE are required as BGP is required to explicitly withdraw a route that is announced unlike soft-state protocols where the state can get timed-out (eg. link-state protocol).

UPDATE Messages (BGP Path Attributes)

Route Selection (Order of rules the router follows to determine along which path to send a packet)
The above pretty much covers what was done in class (Turns out not much was done as we had to discuss projects and a time-table change also). It would be advisable to also go through the assigned reading for lecture-04 which is put up on the course website.