Internetworking

Market forces and the nature of standards (compromises, large, late) means that the world will not be a homogeneous network anytime soon. The other contributing factor is that the spread of networking to smaller and smaller systems (distributed embedded systems) will mean new problems and hence new protocols, new media.

The Internet has come as close as anything has in unifying the networking world via the spread of TCP/IP. This is partly due to the availability of TCP/IP on all computing platforms, made available for free, and was made, not designed (i.e. gained an early advantage in deployment). Note that an "internet", with a small "i", is simply a netwok of networks, while the "Internet", with a large "I", refers to the set of networks which use the TCP/IP protocol suite.

A typical internetworking situation is as follows:
<figure 5-33 showing multiple LANs, WANs internconnected>

Internetwork devices

This taxonomy of devices becomes confused in practice, with people using routers as bridges, selling hybrids (e.g. brouters), or selling one device under another's name.

repeater

switch

bridge

router

gateway

Internetwork design issues

The many possibilities of services, protocols, error, flow and congestion control, addressing, etc, are what makes internetworking difficult. This is also what has made TCP/IP popular, and it has become such a common internetworking protocol that many organizations decide to use it internally as well as to connect to the outside world. Consider some possible problems when joining two networks: An internetwork of virtual circuit networks can be made to work like a large virtual circuit subnet. The routers on the subnet boundaries cooperate in setting up a virtual circuit through the entire net. As long as the protocols are close enough, and the various policies are compatible, this isn't conceptually hard.

The same thing goes for a network of datagram subnets. One combination that won't work is when a virtual circuit subnet wants to send to another virtual circuit subnet, but there is an intervening datagam subnet.

Tunneling

One of the common internetworking situations is when a large multinational company wants to join two of its LANs in geographically far apart areas together. The LANs are probably compatible, as this is the same company, but the means of joining them is to use the PSTN WAN, which is totally different.

Each LAN must have a multiprotocol router attached to it, and must know the address of the other router. The protocols that the router must speak are the LAN protocol and the WAN protocol. When the router sees a frame addressed to a host on the remote LAN it takes the frame (say Ethernet), unbundles the network layer protocol packet inside it (say IP) and bundles it back up in a network packet used by the WAN. The router on the remote end does the reverse of this operation. Hosts don't have to know anything about the WAN. In effect the routers and the WAN form a tunnel in which packets can travel between LANs. Wrapping one protocol inside the data payload of another protocol's packets is known as tunneling.

Routing

The same sort of routing algorithms can be applied at the level of the boundary routers. Then end-to-end routing becomes two-layered. First a route between the boundary routers is selected (i.e. from one subnet to the next until the destination subnet is reached) and within each subnet a routing decision must be made to traverse the subnet and reach the next boundary router.

Fragmentation

Different maximum frame sizes in networks through which a packet must traverse causes a problem. Could try to avoid the problem - disallow sending big packets across or to networks that only allow small packets. But what if the destination network is a small-packet net?

You need to fragment big packets. Unfortunately breaking things into little pieces is easier than putting them back together again (entropy always increases, systems move toward an unordered state).

Transparent fragmentation

Nontransparent fragmentation