CS268 Reading
Review
A Protocol for Packet Network Intercommnication
Vinton G. Cerf and Robert E. Kahn
Review by Feng Zhou
1/27/2003
The problem: In order for internetworking to work, there should be a
common protocol and proper transport control mechanisms. Challenges facing the
design of these protocols and mechanisms include heterogenity of participating
networks, addressing, multiplexing, flow control, congestion control and so
on. This paper discussed most of these problems in various depth of detail
(with congestion control missing) and proposed the design of an
internetworking protocol.
Key points:
- The first part clearly motivates the necessity of a common protocol to be
used between nodes of an internetwork. Individual network can be different in
aspects such as addressing, MTU, packet format, routing and so on. With a
common internetworking protocol and added functionalities implemented in an end-
to-end fashion, these differencies can be abstracted away from the end-host
point-of-view of the network.
- The model of internetworking, especially the gateway notion, is important.
Gateways are the "glue" that connect all participating networks up into an
internetwork. The big design decision here is that the functionality provided by
these participating networks and gateways should be minimal, which in turn
allows maximal diversity of networks. Gateways do what are really necessary.
They translate and forward packets in a best-effort way. They do fragmentation
if needed.
- The requirements and design of process-to-process communication, which is
actually the transport layer, are well discussed. Although in this paper, the
transport layer and network layer is considered as a whole, the specific
problems of the tranport layer, including multiplexing, retransmission, flow
control, are mostly well addressed.
- It astonished me when the authors said "256 distinct networks" "seems
sufficient for the forseeable future". Relating this to the address deficiency
problem of IPv4, design decisions like this should really be based on at least
two aspects. One is the "foreseeable future". The other, which is more
important, is how hard it would be to change this in the future, i.e. the
inertia of the system. If it would be really hard to change, then it may be
wise to leave enough leeway for now, even though it could be expensive to do so
sometimes.