Review: Cerf, Kahn, 1974

From: Tom Christiansen (tomchr@ee.washington.edu)
Date: Tue Oct 05 2004 - 23:34:51 PDT

  • Next message: Seth Cooper: "Review of "A Protocol for Packet Network Interconnection""

    The Cerf & Kahn paper describes the development of a protocol and
    infrastructure (gateways) for communicating between different packet
    switched networks, TCP. The purpose of this was to enable sharing of
    resources across the networks.

    At the time of writing several packet switched networks existed but there
    was no way to communicate between nodes on different networks. The main
    contribution of this paper is to provide a method for connecting different
    packet switched networks and provide an infrastructure for resource sharing
    between networks.

    Connecting different networks with different communications protocols
    requires new technology: gateways. These gateways manage the communication
    between two networks. As two networks connected via a gateway may not have
    the same packet size, the gateways must manage the fragmentation of the
    packets. Packets are fragmented at the gateway, but rather than combining
    them at the receiving gateway, the authors chose to reassemble the packets
    at the host. This was done to avoid deadlocks resulting from buffer overflow
    caused by transmission errors and missed packets. This, however also places
    the error handling at the hosts which means that packet errors will likely
    cause retransmission across several networks, not just from gateway to
    gateway on the same network.
    Rather than requiring a certain packet size, the authors chose to support
    arbitrary packet sizes. This was chosen to provide future expandability of
    packet sizes.

    For addressing, an 8-bit network address and a 16-bit port address was
    implemented. While the 16-bit port address space seems adequate for modern
    purposes (although if certain ports remain reserved for particular services
    we will run out of port space at some point), but the 8-bit network address
    field is obsolete by modern standards (even IPv4's 32-bit addresses are
    getting obsolete).

    A significant part of the paper describes how packets are fragmented and
    defragmented. The core challenge here is how to deal with errors and packet
    loss. As the hosts handle the error checking and as packets may be
    fragmented into smaller segments by gateways, there is a risk of
    re-transmission of 'good' segments. This risk, however, is minimized by
    using a windowing method where the receiver as part of the acknowledge
    indicates which segment or package it expects to receive next. This also
    simplifies the handling of duplets.

    The paper briefly touches on how to implement a simple form for encryption
    through pseudo-random use of ports.

    Future work involves writing a detailed specification and implementing test
    code.

    Tom Christiansen


  • Next message: Seth Cooper: "Review of "A Protocol for Packet Network Interconnection""

    This archive was generated by hypermail 2.1.6 : Tue Oct 05 2004 - 23:35:02 PDT