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
operates at physical layer
simply regenerates signals
used to make LANs longer than segment length
switch
operates at data link layer
creates a subnet by replacing the wire
monitors which MAC address is on each port
maintains Ethernet interface to hosts
increases capacity via simultaneous connections
bridge
operates at data link layer
connects two LANs with compatible address fields (IEEE 802)
able to make a simple decision: to filter or to forward
information to make decision may be stored or delivered with frame
router
operates at network layer
able to read destination address and properly route frames
may operate on more than one protocol (IP, IPX, DECnet)
can also operate as a firewall
gateway
operates across all seven layers
for joining completely incompatible networks
may translate syntax, addresses, etc
can also operate as a firewall
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:
-
reliable virtual circuit to unreliable datagram
-
large maximum packet size to smaller maximum packet size
-
multicast address to network with no multicast addresses
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
Fragment/recombine at the entry/exit of the small frame network - transparent
to source and destination
All fragments must exit the network via the same gateway, hence you
lose routing flexibility in a datagram net
Must keep track of how many fragments, what order they are in
Lots of time spent if many small frame networks are traversed (always
fragmenting/recombining)
ATM does this (48 byte cells mean it will always be the smallest frame
network)
Nontransparent fragmentation
Fragment at entry to small network, but don't recombine until destination
host is reached
Assumes each host must be able to reassemble fragments
Overhead is increased for all networks, since each fragment has its
own headers