Monday, April 15, 2013

Reading Notes: A Protocol for Packet Network Intercommunication

The paper "A Protocol for Packet Network Intercommunication" by Cerf and Kahn is THE paper about TCP/IP. I'd recommend it to everyone interested in computer networks and specifically TCP/IP. If you have access to the ACM digital library, you can read it here. Below are just some reading notes that can serve as a thinking point.

The paper’s Figures 3 and 4 show and internetwork packet format and a TCP address, respectively. Compare the current ideas of these with the paper’s. What has survived, been discarded, been enlarged or altered, been added?

In the paper the distinction between IP and TCP header is not that clear, or at least not in the way it is today. The internetwork header corresponds to the IP header while the segment format in Fig. 6 corresponds to the TCP header.

Things that are the same
  • Source and destination address in the IP header.
  • Source and destination port in the TCP header.
  • Packet encapsulation with a local header outside the IP header.
  • The notion of gateways, and that routing is performed based on the destination address. Essentially corresponds to lookups in a routing table to determine the next hop ip.

Things that have changed
  • The Sequence No. would be in the TCP header instead of the IP header today.
  • Both headers would have their own checksum field, while in the paper there is only one checksum. Furthermore the checksum is not appended at the end today.
  • Several field have been added. For example a TTL field to discard timed out packets. Furthermore a protocol field to provide information about the inside data. (for example whether it’s TCP or UDP).
  • I don’t think there’s a separate notion now of a TCP address versus an IP address. An IP address today has a network and a host part, and I think the TCP address network part corresponds to the network part in today’s IP address.

No comments:

Post a Comment