Chapter 4 part B: The Global Internet

The unifying theme here is mechanisms that are useful in supporting the growth of the Internet to large size. In general, it is critical that IP mechanisms scale well: they must work for large internetworks as well as for small ones. 

Section 4.2.3 - IP routing: shortest-path-first

Skip the subsections titled "Implementation" (p 288) and "Routing Information Protocol" (p 290).

The Link State algorithm/protocol discussed in 4.2.3 is the primary "large-scale" or "large-site" IP routing algorithm used today; it is used internallyat most largeInternet Providers. Its essential strategy is that every SPF router keeps a map of the entire network (at least of that part of the entire network that is part of the same organization); this means that each router is capable of figuring out the optimum route on its own. Distance-Vector routers, by contrast, keep only information about their immediately adjacent neighbors, and which (distant) networks are reachable and at what cost through these neighbors. Read up to the green text on page 298, through the example; skip the subsection beginning on page 298 titled "The Open Shortest Path FirstProtocol (OSPF)".

Internet providers share routing information between each other via BGP, discussed in 4.3.3.

Skip 4.2.4 and 4.2.5.

Study Questions

Exercises

13    Build a routing table using link-state
23    Link-state reliable-flooding issue

Section 4.3 - IP and the Internet

4.3.1 The original IP specification assumed that one IP network number(that is, the network part of an IP address) corresponded to one (and onlyone)physical LAN. This is fine for a class-C IP network number, wherethere areonly 255 hosts allowed and this is a reasonable number for asingle LAN. Butfor a class-B IP network (eg Loyola, with 147.126.x.y)this leaves one LANwith 216 = 65536 hosts, which is a hugenumber. Most LANs cannotscale to that large.

Enter subnets, which provides a way to take a class-B IP network andsubdivide it into many multiple LANs. Subnetting means that some of the host bits, insome contexts, are interpreted as additional network bits.

Here is the Loyola situation. Loyola has a class-B IP network address, 147.126.x.y. The x.y are the host bits, officially. However, within Loyola, the third byte, x, is used as a subnet number; x=2 and x=3 are used by the Computer Science department, x=1 is used by the computer center,and x=36 is used by the dorm room computers. Internal Loyola routers usethe first three bytes in their forwarding tables. Hosts attempt directEthernet delivery only if the first three bytes match. Outside Loyola,only the first two bytes are used in routing tables. Another way to lookat the situation is that,within Loyola, it looks like Loyola has 255 class-Cnetworks. Outside, itlooks like Loyola has a single, class-B, network.

Subnetting does not make more addresses available; bits used for thesubnet number come out of the host bits. Subnetting does, however, makenetwork addressing more flexible.

Subnetting, in effect, moves the network/host division point to the rightof where it would be based only on the official class-A/B/C rule. A subnetmask is used to keep track of the new position.

4.3.2 In the mid-90's the Internet was running out of IP addresses.Class C allows only 255 hosts; most organizations want more than a classC. There are only 16,000 possible class-B addresses. There are more than16,000 organizations that want such addresses! An organization can takemultiple class-C's instead of a class B, but then the organizationappears multiple times in the backbone tables, and the backbone tablesbecome larger. In the mid-90s the backbone tables reached 40-50,000 entriesand a crisis loomed. The tableswere about as large as they could get.

Around this time, CIDR was introduced. This stands for "Classless internet domain routing", with the emphasis on "classless". The old address classes A, B, and C were (selectively) abandoned. Instead, multiple class C's could be bundled together into a single routing-table entry, via CIDR or "supernets". This strategy is just like subnets, except the network/host division point is being moved to the left. This means that an organization canbuy an address block consisting of a bundle of class C's, of exactly theright size (well, block sizes are always a power of 2).

Another use of CIDR has been the rise of provider-based addressing.Loyola is 147.126.0.0; suppose that 147.0.0.0 meant the Chicago area (itdoesnt). In this picture, 147.124 might be Northwestern, 147.125 mightbe DePaul, and 147.127 might be IIT. Real provider-based addressing isdone by assigningto internet service providers large (very large) chunksof Class C addresses. The provider then subdivides the address blocks andallocates them to customers; outside the providers' routers, only a singleentry (for that provider) need be made in any other organization's routingtable. This has proven to be a huge savings, allowing much smaller routingtables. In theory, one only needs one entry in the backbone routing tablefor each top-level internet service provider.

4.3.3 Within an organization, we saw in 4.2 that one could use eitherdistance-vector or link-state routing. Between organizations, however,neither is practical: the organizations would have to agree to use thesame protocol, and theserouting protocols just aren't universal. EnterBGP, which is a universalrouting protocol, of a sorts.

The tradeoff with BGP is that it does not have any way to specify distance information at all. All it can convey is reachabilitiy. Optimal routesare not even attempted.

RIP uses optimal routes, and optimality serves as a guarantee thatthere are no routing loops: a route with a loop in it cannot be the shortestone possible! BGP can't guarantee optimality, but loops would still bea problem. So BGP deals with them another way: by exchanging full pathinformation . The paths aren't lists of each router traversed, though,but just of each organization (autonomous system).

Exercises

24    BGP
25    BGP
32    Bridge-routers and subnets
33    subnet allocation
38    Basic CIDR
39    CIDR with more complicated interconnections