Outline: Internet Protocol

• Internetworks

• Datagram forwarding • Hierarchical address • Service model

Internetworks

An internetwork, or internet is an arbitrary connection of networks that provides packet delivery to all connected hosts.

The Internet is a global internet connecting a very large number of hosts.

Internets in general and the Internet in particular, solve the two problems we saw with bridged networks: scale and using redundant links. Internets also solve another problem – they can connect very different networks.

Private companies have started to run the internet protocol on internets not connected to the Internet. These are now called intranets.

IP address: hierarchy

One problem with scaling is the size of routing tables needed to reach each host. One problem with heterogeneity is that different networks may use different kinds of addresses.

IP (the Internet Protocol) solves both these problems:

IP defines its own 32-bit address format which is independent of the connected networks. Addresses are globally unique, and routing is based only on this address. Address Resolution (discussed later) is used to translate an IP address to a network-specific address.

The IP address is hierarchical: It is the concatenation of a network address and a host address. The network address is sufficient for routing across the internet.

IP address: Format

IP has three main classes of addresses: A, B, and C.

0network  ^{host}^{10}  ^{host}^{network}^{110}  ^{host} class A class B class C ^{network}

Address classes are encoded in such a way that the network and host parts can be obtained given only the address.

IP address: Example

For example, 18.72.0.100 (class A)

0001 0010 0100 1000 0000 0000 0110 0100
 001 0010
          0100 1000 0000 0000 0110 0100

128.171.10.23 (class B)

1000 0000 1010 1011 0000 1010 0001 0111
  00 0000 1010 1011
                    0000 1010 0001 0111

204.96.40.27 (class C)

1100 1100 0110 0000 0010 1000 0001 1011
   0 1100 0110 0000 0010 1000
                              0001 1011

IP Forwarding

• If the destination is on the same network as we are, send on the attached network.

• Otherwise, if we know a route to the destination, send to the next-hop router.

• Otherwise, send to the default router.

IP Network Sizes

class  networks  hosts per network
A  2^{7} − 2 = 126  2^{24} − 2 = lots
B 2^{14} − 2 = 16, 382 2^{16} − 2 = 65, 534
C  2^{21} − 2 = lots  2^{8} − 2 = 254

Problem: many networks (more than 2^{14}) need blocks of more than 254 addresses. This makes the address space very sparse, which leads to exhaustion of class A and B network numbers.

IP Subnetting

One solution: Instead of allocating one network number to every physical network, allocate one network number to every major organization, and let the organization assign a subnetwork number to each network (department, etc).

Unlike the network number, the subnetwork number is not computable from the IP address. Instead, the organization has to distribute an address mask used to separate the host part from the (network+subnetwork) part.

Example: 255.255.254.0 as a network mask on a class B network means: 14 bits of network number, 7 bits subnetwork number, and 9 bits of host number.

CIDR:

Classless Interdomain Routing

Also known as supernetting.

A more flexible scheme than having class A, B, or C addresses is to have variable-sized network numbers.

For example if I have 1,000 hosts, I could get a network number that gives me 10+ (most likely 12 or 13) bits of host ID, corresponding to 4-32 adjacent class C networks.

Information about the number of bits in the network number has to be distributed to:

• Every host on the network.

• Every router that is going to know about this network.

CIDR and Hierarchy

CIDR allows addresses to be assigned in large blocks to the major Internet Access Providers. Each of these can assign a smaller block to its subsidiary Internet Access Providers, and so on.

The result of such an assignment strategy is that the top few bits identify the large hierarchical units of the internet, the next few bits the smaller units of the hierarchy, and so on.

This is desirable because it reduces the amount of information most routers need.

IP Address: Summary

The IP address includes a network number, a host number, and possibly a subnetwork number.

These numbers form a hierarchy. To route to the network, only the network number is used. The host number is only used within the (sub)network.

This hierarchy makes it feasible to have a global internet with millions of hosts: routers only need to store networks, not hosts, and may only store a small subset of the networks.

To make routing less expensive, we want to keep address assignment efficient, and let addresses reflect any hierarchy that is already in the network.

If we didn’t worry about scale, the original, classoriented IP addressing scheme would be just fine.

11-1

IP Service Model

A service model defines what services a network provides.

IP only guarantees best effort delivery of datagrams. In other words, IP may drop, delay, reorder, and corrupt messages.

Because this guarantee is very weak, IP can be implemented with relatively little effort on top of almost any other network technology. For example, IP runs on top of Ethernet, FDDI, ATM, and point-to-point links with very little overhead.

The most challenging networks for implementing IP might be the connection oriented network technologies (ATM, X.25). We can do this by caching connections.