(rev. 01/24/2010) 
 
Notes On Chapter Twenty-Seven
-- Internet Routing and Routing Protocols
-  27.1 Introduction  
    
    -  Propagation of routing information
    
 -  Forwarding table updates
    
 -  Routing update protocols
    
 -  Interior and exterior protocols
    
 
 -  27.2 Static vs Dynamic Routing  
    
    -  When a router boots, it typically loads a forwarding table from a
         file on secondary storage.
    
 -  With static routing, the contents of the forwarding table
	 remain unchanged unless an administrator (a person) modifies it.
    
 -  With dynamic routing, the router executes route
         propagation software that communicates with route propagation
	 software on other routers, learns about changing network conditions
	 and updates its forwarding table accordingly.
    
 -  The goal is to keep packets moving along optimal routes from source
         to destination.
    
 
 -  27.3 Static Routing in Hosts and a Default Route  
    
    -  Refer to Figure 27.1 on page 450.
    
 -  Every Internet host that sends an IP datagram is responsible to
	 forward it to its first-hop destination.
    
    
 -  Therefore every Internet host needs to have a forwarding table.
    
    
 -  Most hosts use just a simple static table with two entries:
         
	 -  one entry specifying direct delivery for the directly-connected
	      network, and
         
 -  an entry specifying a default router able to forward datagrams
	      to the rest of the Internet.
         
 
     
 -  27.4 Dynamic Routing and Routers  
    
    -  Refer to Figure 27.2 on page 451.
    
 -  Most Internet routers need to perform dynamic routing.
    
 -  Fundamentally, that is because the Internet is dynamic. A
	 router needs to maintain next-hop information for reaching every
	 network in the Internet.  Congestion comes and goes.  Network routers
	 and links go up and down.
    
 -  Suppose a router R is connected to a few networks, and suppose each
	 of those networks is connected to several other routers.  To do a
	 good job, R needs to know at all times, and for every network N
	 in the Internet, which is the best next-hop destination to use for N.
    
 -  This information can change too rapidly for human administrators to
         keep up with it by manually altering forwarding tables.
    
 
 -  27.5 Routing in the Global Internet  
    
    -  Too much traffic would be generated if every Internet router
         exchanged routing information with every other Internet router.
    
 -  Instead routers in specific groups exchange routing information and
         representatives of the groups report the information to routers
	 outside the group.
    
 -  Regulators of the Internet have given organizations a lot of
	 discretion to choose their own routing hierarchies and protocols.
    
 
 -  27.6 Autonomous System Concept  
    
    -  The term autonomous system (AS) is often used to refer to
         groups of routers that exchange information and use representatives
	 to communicate it to the rest of the Internet routers.
    
 -  Typically an autonomous system is a connected set of networks and
	 routers controlled by a single administrative authority, such
	 as an ISP, or a public or private organization.
    
 
 -  27.7 The Two Types of Internet Routing Protocols  
    
    -  An Internet routing protocol is either an interior gateway
	 protocol or an exterior gateway protocol.
    
    
 -   27.7.1 Interior Gateway Protocols (IGPs)
          
          -  For exchanging routing information within an autonomous system,
	       routers use interior gateway protocol software.
          
 -  Usually IGP software is easy to install and operate, but has
	       limited scalability.
          
 
    
     -   27.7.2 Exterior Gateway Protocols (EGPs)
          
          -  When a router belonging to one autonomous system exchanges
	       routing information with a router belonging to a different
	       autonomous system, they use an exterior gateway protocol.
          
 -  EGPs are typically more complex to install and operate but
	       scale well.
          
 -  Routing information is communicated in summary form. 
          
 -  Managers can configure the software to put policy
	       constraints on the information released outside the
	       organization.
          
 
    
    
     -   27.7.3 Illustration of How IGPs and EGPs Are Used
          
          -  Refer to Figure 27.3 on page 454.
          
 
     -   27.7.4 Optimal Routes, Routing Metrics and IGPs
          
          -  Ideally routers cooperate to keep datagrams moving along
	       optimal paths.  However the definition of "optimal" is
	       elusive.  Is it least delay?  Highest throughput?  Least
	       jitter?
          
 -  Currently, the typical Internet router works with a very
	       simplified approximation to the concept of "optimal path."
	       Usually the length of a path is measured as a combination of
	       hop-count and administrative cost.
          
 -  The idea of the administrative cost metric is for
	       administrators to artificially inflate hop-counts in some
	       forwarding tables in order to prevent certain paths from being
	       used by certain hosts.  
          
 -  IGPs use routing metrics.
          
 -  EGPs DO NOT use routing metrics.  To use routing metrics, EGPs
	       would have to compare and resolve routing information from
	       different autonomous systems, compiled using different IGPs.
	       EGPs don't try to address such problems.  They just communicate
	       reachability information.
          
 
     
 -  27.8 Routes and Data Traffic  
    
    -  Refer to Figure 27.4 on page 456.
    
 -  "When routing advertisement flows out, data will begin to flow in."
    
 
 -  27.9 The Border Gateway Protocol  
    
    -  Border Gateway Protocol (BGP) is the Internet's most widely
         used exterior gateway protocol.
    
 -  BGP characteristics:
         
         -  Routing Among Autonomous Systems: BGP gives routes as
	      paths of autonomous systems.
	 
 -  Provision for Policies: Managers can configure BGP to
	      restrict which routes it advertises to outsiders.
         
 -  Facilities for Transit Routing: BGP classifies each AS as
	      a transit or stub system.
         
 -  Reliable Transport: Routers executing BGP software use
	      TCP connections to communicate.
         
 
     -  The Internet relies heavily on BGP.  Tier-1 ISP's use BGP.
    
 
 -  27.10 The Routing Information Protocol (RIP)  
    
    -  RIP was among the first interior gateway protocols used on the
         Internet.
    
 -  RIP Characteristics:
         
         -  Designed for Routing within an Autonomous System
         
 -  Measures distance using a Hop Count Metric (The
	      directly-connected net is counted as one hop away.)
         
 -  RIP communicates using UDP, which is Unreliable
	      Transport.
         
 -  RIP uses Broadcast or Multicast Delivery.
         
 -  RIP has Support for CIDR and Subnetting.  It sends a mask
	      with each destination address.
         
 -  RIP has Support for Default Route Propagation.
         
 -  RIP uses a Distance Vector Algorithm.
         
 -  There is a Passive Version for Hosts.  Hosts don't
	      advertise routes, but they can listen to RIP and use the info to
	      update their routing tables.
         
 
     -  RIP is very "plug and play." Mainly all a manager has to do is start
	 it up on each router. The routers talk to each other, and after a
	 short time they all have the information they need.
    
 
 -  27.11 RIP Packet Format  
    
    -  Refer to Figure 27.5 on page 459.
    
 
 -  27.12 The Open Shortest Path First Protocol (OSPF)  
    
    -  A disadvantage of RIP and other distance-vector protocols is that it
         generates a lot of datagrams.  Every router on a network broadcasts
	 information to all the other directly-connected routers.
    
 -  The Internet Engineering Task Force (IETF) designed Open
         Shortest Path First Protocol (OSPF) to satisfy demand for an IGP
	 that scales better than RIP.
    
 -  OSPF Characteristics:
         
         -  Routing within Autonomous Systems
         
 -  CIDR Support: OSPF sends masks with addresses.
         
 -  Authenticated Message Exchange 
         
 -  Imported Routes: For example a router can learn a route
	      from BGP and propagate it with OSPF.
         
 -  Link-State Algorithm: messages are of the form "The link
	      between X and Y is up (or down)."
         
 -  Support for Metrics: An administrator can assign a cost
	      to each route.
         
 -  Support for Multi-Access Networks: Rather than allow all
	      routers on a directly-connected network to broadcast routes,
	      OSPF optimizes by designating a single router to do it.
         
 
     
 -  27.13 An Example OSPF Graph  
    
    -  Refer to Figure 27.6 on page 461.
    
 
 -  27.14 OSPF Areas  
    
    -  A hierarchical approach  allows OSPF to scale better than RIP. 
    
 -  OSPF allows managers to subdivide their networks into OSPF
         areas.
    
 -  Routers within a single area periodically exchange link state
         information.
    
 -  A single representative router from each area is designated to
	 communicate with one or more representatives of other areas.
    
 -  Area representatives exchange summarized routing information.
    
 
 -  27.15 Intermediate System - Intermediate System (IS-IS)  
    
    -  IS-IS is an IGP similar to OSPF.
    
 -  It was originally proprietary to DEC, and used in OSI networks.
    
 -  A version that works with IP routing is now available.
    
 -  Features have been added to OSPF to a point where IS-IS 
         has less overhead.
    
 -  The development of a version of OSPF that could handle IPv6
         contributed significantly to the increase in overhead.
    
 -  IS-IS is gaining in popularity among large ISPs.
    
 
 -  27.16 Multicast Routing  
    
    -  Refer to Figure 27.7 on page 466.
    
 -  27.16.1 IP Multicast Semantics
         
         -  Hosts are allowed to join or leave an IP multicast group at any
	      time, by sending a message to a local router.
         
 -  Member hosts receive one copy of each datagram sent to an IP
	      multicast group.  If there are multiple applications on the host
	      that have requested membership, then the host is required to
	      furnish each of those application with a copy of each multicast
	      datagram.
         
 -  There's no method provided for discovering the identities of
	      members of an IP multicast group, or for learning the size of
	      the group.
         
 -  An arbitrary application may send a datagram to any IP multicast
	      group at any time.
         
 
     -  27.16.2 IGMP
         
         -  A host uses Internet Group Multicast Protocol (IGMP) to
	      communicate with a router when joining or leaving an IP
	      multicast group.
         
 
	 
     -  27.16.3 Forwarding and Discovery Techniques
         
	 -  Internet routers have the responsibility to propagate multicast
	      routing information.
	 
	 
 -  Dynamic group membership and support for anonymous senders make
	      the routing problems hard.
	 
	 
 -  Multicast protocol approaches to datagram forwarding:
	      
	      -  Flood-and-Prune
	           
	           -  This works well for small multicast groups all
		        attached to to contiguous LANs connected by routers,
			e.g. within a company "intranet".
	           
 -  Initially routers cooperate to flood - to forward each
			multicast datagram to all networks (via hardware
			multicast) , while avoiding loops, and also exchanging
			information about group membership.
	           
 -  When routers learn that there are no members of the
			group on a connected network, they prune it - they
			stop forwarding the group datagrams to it.
	           
 
 
	       -  Configuration-and-Tunneling
	           
	           -  This works well when the group is geographically
		        dispersed - a few members at each of a few sites.
	           
 -  A router at each site is configured to know about
		        other sites.
	           
 -  When the router receives one of the datagrams for the
		        group it forwards it via hardware multicast locally.
	           
 -  It then consults its configuration information and
			sends a copy to each remote site on its list - using
			IP-in-IP tunneling, to encapsulate the
			multicast datagrams in unicast datagrams.
	           
 
 
		   
	      
	       -  Core-Based Discovery
	           
	           -  This technique helps provide "smooth growth" of an IP
		        multicast group.
	           
 -  A core unicast address is assigned to the multicast
			group. If router R1 receives a multicast
			datagram to forward, it encapsulates it and forwards
			it to the group's core unicast address.
	           
 -  Routers along the way examine the datagram.
	           
 -  When it arrives at a router R2 that
		        participates in the group, R2 removes the
			datagram from its encapsulation and forwards it to
			members of the group using multicast routing.
	           
 -  If R1 wants to forward a request to join the
		        group to R2, it also send to the core
			unicast address.
	           
 -  When R2 gets the request, it adds a new
		        route to its multicast forwarding table and starts
			using IP-in-IP to send copies of multicast datagrams
			to R1.  
	           
 -  A basic idea here is to grow the set of routers
			receiving the multicast as a tree.
	           
 
 
	       
          
     -  27.16.4 Multicast Protocols
         
	 -  Notwithstanding twenty years of research and experimentation,
              there is still no Internet-wide multicast routing facility.
	 
         
 -  Proposed Protocols:
	      
	      -  Distance Vector Multicast Routing Protocol (DVMRP):
	           a type of configuration-and-tunneling protocol
	      
 -  Core Based Trees (CBT): a core-based-discovery
	           protocol
	      
 -  Protocol Independent Multicast - Sparse Mode
		   (PIM-SM): a core-based-discovery protocol
		   
	      
 -  Protocol Independent Multicast - Dense Mode
		   (PIM-SM): a flood-and-prune protocol
		   
	      
 -  Multicast Extension to the Open Shortest Path First
		   Protocol (MOSPF): builds on OSPF and uses link-state
		   requests within an organization.