(rev. 01/14/2008)
Notes On Chapter Twenty-Seven
-- Internet Routing
- 27.1 Introduction
- This chapter is about how routing information
is propagated around the Internet
- 27.2 Static Vs. Dynamic Routing
- Routers load static and initial routes when
they boot.
- Dynamic routes are subject to change as
routing software on various routers exchange
information regarding optimal routes
- 27.3 Static Routing In Hosts And A Default Route
-
Static routing can't adapt to changes in network topology or network
failures.
- Many Internet hosts reside on a network with a single Internet
router. They have no need for dynamic routing.
- Such a host usually has a static routing table
with two entries: one for sending packets directly on the
local network, and the other to forward all other packets to the
router. (See figure (b) above.)
- 27.4 Dynamic Routing And Routers
-
Most routers do dynamic routing so that
they can learn and adapt quickly when new
networks become reachable, when
congestion slows routes, and when old
routes stop working.
- Routers do dynamic routing by informing each other about what they know to be
reachable.
- 27.5 Routing In The Global Internet
- The routers don't just all talk to each other "willy-nilly." That
would generate too much traffic.
- Instead the design of router communication is
hierarchical. Small groups of routers
talk among themselves, and then
representatives of groups talk with representatives of other groups.
- 27.6 Autonomous System Concept
- The groups of routers that talk are
often referred to as autonomous systems, or
autonomous domains.
- Usually an autonomous system consists of a network or set of networks operated by one organization such as
a company division or college campus.
- There is no hard and fast rule about how an autonomous domain
must be defined.
- 27.7 The Two Types Of Internet Routing Protocols
- 27.7.1 Interior Gateway Protocols (IGPs)
- Within an autonomous system
routers will use an interior gateway protocol (IGP). An IGP is
typically simple but does not scale well.
- 27.7.2 Exterior Gateway Protocols (EGPs)
- A router uses an exterior gateway protocol (EGP) to communicate with a router in a different
autonomous system.
- An EGP will typically be more complicated to implement than an
IGP but it will allow a router to send a lot of information in
a compact form, and thus it will be more
conservative of bandwidth than an IGP.
- An EGP will allow for routing based on administrative
policy. Some routes will not be advertised simply because
domains do not want to admit certain kinds of traffic.
- 27.7.3 When EGPs and IGPs Are Used
-
The figure at right depicts an example of routers using IGP's
within an AS, and an EGP between AS's.
- 27.7.4 Optimal Routes, Routing Metrics, and IGPs
- Most IGP routers use hop count and
administrative cost as routing metrics.
- When administrators don't want traffic
routed into a part of their network, they set the
administrative cost factor high. In essence this seems to add
"extra hops" to routes that cross their network and so routers
tend to avoid sending traffic via such routes.
- Each autonomous system is free to use whatever metric it
wants.
- EGPs don't use metrics because
they don't know how to compare routes
that they get from autonomous systems with different
IGP's that use different metrics to evaluate routes.
- 27.8 Routes and Data Traffic
-
When routing information starts flowing out along a path
through the Internet, messages (data) start flowing in along
that same path.
- 27.9 The Border Gateway Protocol (BGP)
- Border Gateway Protocol (BGP) is a very
popular EGP. The current version is
BGP-4.
- BGP gives routes as a string of autonomous
systems, with no metrics or information about routers within
each autonomous system.
- A manager can do policy-based routing by
configuring BGP not to advertise some routes to outsiders.
- If an autonomous system is not willing to pass traffic through to
another autonomous system then it is classified by BGP as a stub system. Otherwise it is a transit system.
- BGP uses TCP to send its routing
information. This achieves reliable transport.
- Major ISP's use BGP in conjunction with
routing registries
-- distributed databases of verified routing information about
destinations on the Internet.
- 27.10 The Routing Information Protocol (RIP)
- RIP is a popular IGP on Unix hosts.
The route daemon (called routed) runs
RIP software.
- RIP:
- uses a hop count metric,
- uses UDP for delivery,
- broadcasts or multicasts routes,
- can advertise a default route,
- advertises [destination network, distance] pairs,
- performs distance-vector routing, and
- can be configured on a host just to listen for routes.
- The basic algorithm:
- A host broadcasts a route on a directly connected network:
[[destination net; distance]]
- If the receiver does not have a route to that destination it
installs the route from the sender
- Likewise, it installs the route if it is shorter than an
existing route to the same network.
- After a short time, all routers have been told about all routes in
the organization. Routes in tables tend to get
better and better.
- RIP is easy to configure.
- An organization can configure one router on a network with a default
route and RIP software will tell all the hosts on the LAN that route.
- 27.11 RIP Packet Format
-
Basically a
RIP packet is a list of [destination network,
distance] pairs.
- Typically RIP sends its complete routing table in each message.
- RIP does not scale well to large networks.
- 27.12 The Open Shortest Path First Protocol (OSPF)
- OSPF:
- is an IGP,
- supports CIDR and subnets by sending masks,
- does authentication to assure routes are accepted only from
a trusted source,
- allows a router to advertise routes learned from an EGP such
as BGP,
- uses link-state routing, and
- designates a single host to broadcast on a network.
- 27.13 An Example OSPF Graph
-
The basic idea of link-state routing:
- Routers must periodically probe
the routers to which they are directly connected. Basically
they do an echo request.
- Then the routers broadcast
information about which specific
links between routers are "up" -- responding.
- When a router notices that the status of a link has changed,
it takes the current link-state information it has and works
out shortest-path routes to all the routers it knows about.
- Through OSPF, in effect each router gets a
list of nodes (routers) and edges (connecting networks).
- Together the information represents a graph.
- The router runs an algorithm to find the
shortest paths in that graph.
- 27.14 OSPF Areas
- OSPF uses a hierarchical partitioning scheme.
- The network managers can partition the set of routers into
subsets called areas.
- Within each area the routers "speak OSPF" to each other.
- For inter-area routing, designated area representative routers
exchange summary routing information
- The hierarchical routing strategy is one of the things that
allows OSPF to scale well.
- 27.15 Multicast Routing
- 27.15.1 IP Multicast Semantics
- Any host is free to join a multicast group at any time. A
router near a member of a multicast group is chosen to be
responsible to see that multicast packets are routed to the
host-member. The host can quit the group any time. The
multicast packets should then stop arriving at that host. This
is a very dynamic situation.
- The host will send "I'm still a member" messages to the local
router until the last application on the host decides to stop
receiving the multicast. At that point the host sends a "I
quit the group" message to the router.
- An IP multicast group is anonymous
- There is no easy way to discover which hosts are members
of the group. Even the sender and the other group members
have no particular "tools" for getting this information.
- An arbitrary host can decide to send a message to a
multicast group any time it wants.
- 27.15.2 IGMP
- Internet Group Multicast Protocol (IGMP) is the protocol
used between a host and router on the same network that
allows the host to join or quit a multicast group.
- 27.15.3 Forwarding and Discovery Techniques
- When a router on a network learns through IGMP that a host to
which it is directly connected has joined a multicast group, it
becomes the responsibility of that router to see to it that the
host receives the packets of the multicast.
- Multicast routing software is responsible to locate members of
the group and then "create an optimal forwarding structure"
- Approaches to Multicast Routing:
- Flood-And-Prune: At first the routers forward the
multicast packets onto all interfaces. After a while
forwarding becomes very selective when routers learn which
networks contain members of the multicast group.
- Configuration-And-Tunneling: A router in each local area
is configured to know about the other local areas (where
multicast group members exist). Anytime one of these
routers receives one of the multicast packets it "floods"
it locally, and also sends it to its peer routers in the
other localities.
- Core-Based Discovery: designate a core unicast address for
each multicast group. A router X needing to reach the
group sends a packet to the core address. While the
packet is in transit the routers it travels through
examine it. When a router Y that is a participant in the
multicast group sees the packet it processes the message.
(The message may be a request to join the group or it may
be a request to send a packet to the group). This method
forms a tree of routers.
- 27.15.4 Multicast Protocols
- There is no Internet-wide standard multicast protocol.
- Distance Vector Multicast Routing Protocol (DVMRP): used by
the mrouted unix program and by
Internet Multicast backBONE (MBONE)
-- uses local multicast and IP-in-IP encapsulation.
- Core Based Trees (CBT): The protocol software builds a
delivery tree from a central point.
- Protocol Independent Multicast -- Sparse Mode
(PIM-SM): similar to CBT
- Protocol Independent Multicast -- Dense Mode (PIM-DM): a
flood-and-prune protocol for use within an organization.
- Multicast Extensions to the Open Shortest Path First
protocol (MOSPF): designed for use within an organization.
- 27.16 Summary