In 1974, the world was focused on the Rumble in the Jungle and Richard Nixon's resignation in disgrace.
In that same year (in May), Vint Cerf and Robert Khan published a paper in the IEEE Transactions on Communications (now IEEE Xplore) journal -
A Protocol for Packet Network Intercommunication
This paper introduced a packet-switching protocol design for sharing resources among different networks. The concept of "internetworking" was born.
In this paper, Cerf and Khan explored the concept of a local header, fragmentation, and a transmission control program (TCP's original name!). The term ports was introduced as "simply a designator of one such message stream associated with a process."
One interesting item to note is that IP is missing - the network address information would be contained in the TCP header. The paper suggested an 8-bit field that would allow up to 256 distinct networks. "This size seems sufficient for the foreseeable future."
The TCP Identifier field became our Destination Port field.
It appears the concern for out-of-order packets spurred the use of sequence numbering to ensure segment reassembly was performed properly. End segment (ES) and End Message (EM) flags were defined to assist in the reassembly process.
Cerf and Khan refer to the French CYCLADES system to introduce a window strategy. CYCLADES was developed by Louis Pouzin after visiting the United States to get a feel for the Arpanet in hopes of developing something similar. It appears that Pouzin met Vint Cerf during that trip.
When the paper discusses fragmentation (referred to as "splitting"), we see some interesting numbers come up.
The paper is an incredible work - from defining a gateway to introducing the SYN flag to considering a flow control mechanism - the core elements of TCP/IP are all there.
Thanks to Vint Cerf and Robert Khan for their tremendous work! Happy birthday, TCP/IP!
Links of Interest: