240 likes | 383 Views
CSCI 4550/8556 Computer Networks. Comer, Chapter 25: Internet Routing. Introduction. While the transport protocols form the heart of the protocols used by applications, IP datagrams and their routing form the heart of the delivery system.
E N D
CSCI 4550/8556Computer Networks Comer, Chapter 25: Internet Routing
Introduction • While the transport protocols form the heart of the protocols used by applications, IP datagrams and their routing form the heart of the delivery system. • Routing tables are used by routers to make decisions on how to forward or deliver datagrams. • Routing tables • must be built initially when a router is “powered up,” and • must be updated as the network changes.
Static Vs. Dynamic Routing • Static routes do not change. • Dynamic routes • begin with an initial set of routes • are updated with information from other computers to learn about optimal routes • Route propagation software, or just “routing software,” is started when a router begins execution.
Static Routing • Static routing is • inexpensive and easy to use (no updates sent on the network) • inflexible (no updates sent on the network!) • used by many hosts with one network interface and one router connecting to the Internet. • The routing table is usually small, containing only two entries: • specific route to hosts on the network to which the host attaches • default route to the single router
Dynamic Routing and Routers • Static routing can be used in routers that deal only with a limited set of routes to a set of networks that never change. • But even small network topologies need dynamic routing if networks administered by two or more organizations are connected. • manual routing table updates is slow and doesn’t scale. • static routing can’t accommodate exceptional conditions (network interface or router failures). • To handle routing changes, each router runs software that • learns about destinations other routers can reach (using incoming information), and • informs other routers about destinations it can reach.
Routing in the Global Internet • The global internet is too large for each router to maintain complete information: • There are too many individual networks involved. • The routing information exchange would overwhelm the networks. • Instead, a two-level routing hierarchy is used. • Routers and networks are divided into autonomous groups. • Routers within a group exchange information. • At least one router in each group exchanges summary information with other groups. • The size of the groups, and the protocols routers use to exchange information, may vary between organizations.
Autonomous System Concept • Autonomous System: contiguous set of networks and routers under control of one administrative authority. [For example, UNOmaha] • Size and administrative authority definitions are flexible enough to accommodate disparate groups. • If an organization grows, it may be convenient to divide its networks into two autonomous systems, each with its own internal routers, and each connected to an ISP, rather than using much larger routers and more network traffic related to routing. • Routing traffic grows O (n 2), where n is the number of routers.
Interior and Exterior Protocols • Routers within an autonomous system use an Interior Gateway Protocol (IGP) to exchange information. • There are several different IGPs available. • Usually easy to install and operate. • Each has its own limitations. • An Exterior Gateway Protocol (EGP) is used to exchange routing information with a router in another autonomous system. • More complex, but more flexible than IGPs. • Summarizes routing information before passing it on. • Can use policy constraints to restrict information release to the outside.
IGP/ECP Illustration • IGP1 and IGP2 (different IGPs) used in the two autonomous systems for communication between routers. • EGP used for exchange of routing information between the systems.
Optimal Routes, Routing Metrics, and IGPs • Optimal routes are selected using routing metrics comprised of two components: • administrative cost – assigned manually to reflect organizational routing policies • hop count – reflects actual number of routers/networks in a path • IGPs use routing metrics to find optimal routes within an autonomous system, since the routing metrics are (hopefully) consistent within the organization. • EGPs do not use routing metrics, since they have no basis for comparing the metrics used by different autonomous systems.
Routes and Data Traffic • Data traffic for a given destination flows in exactly the opposite direction of routing traffic. • This is because only as a result of a router advertising a route can data arrive using that route.
The Border Gateway Protocol (BGP-4) • Border Gateway Protocol version 4 (BGP-4) is the most popular EGP in the Internet. • Provides routes only among autonomous systems, not individual routers • Has provision for policies that can restrict route disclosure • Classifies systems as transit systems (agree to pass traffic) or stub systems (won’t pass traffic) • Uses TCP for reliable communication • Used by all major ISPs • Used by the routing arbiter system to maintain a distributed database of all possible destination in the Internet, with copies running on separate route servers
The Routing Information Protocol (RIP) • RIP, one of the first IGP protocols used with IP, is implemented with the UNIX routed program. • Is an Interior Gateway Protocol • Measures distance in hops (1 hop to an adjacent network) • Uses UDP for all routing messages • Intended for use on LANs; version 1 uses broadcast, version 2 allows multicast • Allows routers to advertise a default route • Uses the distance-vector routing algorithm, with route advertisements giving (destination, distance) pairs. • Allows hosts to retrieve routing information • RIP’s chief advantage is simplicity.
RIP Packet Format • RIP packets contain • An address and subnet mask for each network • Next hop address and distance for each net • Address family (2 for IP) • A command (1=request, 2=response, others obsolete) • Route tags to allow entries to be grouped
Open Shortest Path First Protocol (OSPF) • RIP messages contain complete lists of destinations and distances, making them large. It works well with a small number of routers but doesn’t scale well. • A newer protocol, OSPF, that can scale to large organizations was devised by the IETF. • OSPF is an Interior Gateway Protocol. • Subnet masks are included with network addresses. • Message exchanges can be authenticated. • Routes can be imported from other sources (e.g. BGP). • Uses the link-state routing (SPF) algorithm (based on Dijkstra’s shortest path algorithm) • Designates a single router on broadcast networks to handle all broadcasts (rather than having each router broadcast)
OSPF Example • (a) An internet consisting of seven networks interconnected by routers • (b) a corresponding OSPF graph. In the simplest case, each router corresponds to a node in the graph.
OSPF Areas • OSPF includes the ability to perform hierarchical routing. • Instead of dealing with just a single autonomous network, OSPF can deal with subsets called areas. • Routers (using OSPF) within an area exchange link status messages periodically. • One router in each area also communicates summary information with one or more routers in other areas. • Each broadcast is limited to a specific area. • Because of hierarchical routing abilities, OSPF can scale to handle a larger number of routers than other IGPs.
Multicast Routing • A multicast allows a single address to be used for a dynamically changing group of recipients not necessarily on the same network. • Unicast routing design goals include stability: routes don’t change frequently. • Multicast routing differs significantly: • Hosts can choose to join a multicast group at any time and begin receiving a copy of all packets sent to the group. • Hosts can choose to leave a multicast group at any time. • Multicast group membership is private; no receiver or sender knows the identity or number of group members. • Any application can send a message to any multicast group at any time.
The IGMP Protocol • The Internet Group Multicast Protocol (IGMP) is used by a host to inform a nearby router that it wishes to change membership status in a multicast group. • Only hosts are members of groups, not individual applications; multiple applications on the same host that wish to receive multicast messages will receive copies from the host network software. • IGMP is used only on the network between the host and the router.
Forwarding and Discovery Techniques • When a host joins a multicast group, the router it informs must • establish a path to the group • forward datagrams for the group to the host • Dynamic groups and anonymous senders make general-purpose multicasting extremely difficult. • The size of groups can vary significantly, from small (3-5 hosts) to worldwide groups. • Multicast routing protocols must be able to change routing quickly and continually.
Multicast Data Forwarding Techniques • Flood-and-prune – good for small groups with hosts connected to contiguous LANs. • Multicast messages sent to all networks, where routers use hardware broadcast on LANs. • When a router reports back that it has no group members, flooding to that network stops (it’s pruned). • Configuration-and-tunneling – good for geographically dispersed groups. • One router at each site knows about other sites. • Messages broadcast on directly attached LANs. • Other sites receive copies using IP-in-IP tunneling. • Core-based discovery – good for graceful scaling of group sizes • A core unicast address is associated with the group. • The routers participating in the group form a tree rooted at the core address, and communicate using IP-in-IP tunneling.
Multicast Protocols • Distance Vector Multicast Routing Protocol – performs local multicast and uses IP-in-IP to send to other sites. • Core Based Trees – builds a tree from a central point, with membership messages sent toward the core. • Protocol Independent Multicast – Sparse Mode – like CBT, but doesn’t depend on any particular unicast routing protocol. • Protocol Independent Multicast – Dense Mode – uses flood and prune; good for use within an organization. • Multicast extensions to OSPF – for use within an organization; uses many of the OSPF concepts and facilities.
Summary • Hosts and routers use IP routing tables, mostly static in hosts and dynamic in routers. • Internet is divided into autonomous systems. • EGPs are used to pass routing information between systems; BGP is the primary EGP in the Internet. • IGPs are used to exchange routing information within a system; RIP and OSPF are popular IGPs. • Multicast route propagation is difficult because membership is dynamic and arbitrary hosts can send messages to the group. No Internet-wide multicast technology exists.