(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.