T1#standard

The Switch to TCP/IP — 'Flag Day'

Logical map of the ARPANET as of March 1977, showing IMPs and their attached host computers
SourceARPANET / The Computer History Museum (Wikimedia Commons) · Public domain · View on Commons ↗

Metadata

Date
Decade
1980s
Tier
T1
Sources
10
Connections
03
Tags
#standard

TCP/IP is the pair of protocols that lets separately built networks act as one Internet: IP carries individual packets across networks, and TCP turns them into a reliable, ordered stream between programs. It was not invented on a single day. Vint Cerf and Bob Kahn worked out the design in 1973 and published it in May 1974 in IEEE Transactions on Communications; the single protocol of that paper was split into TCP and IP in 1978; the two were standardised as RFC 791 and RFC 793 in September 1981; and on 1 January 1983 the ARPANET switched its hosts over from its old protocol, NCP, to TCP/IP. That last date — the "flag day" — is when TCP/IP became the network's working protocol rather than an experiment.

DateStepDocument
September 1973First written version circulated at an International Network Working Group meeting at SussexINWG#39
May 1974Cerf and Kahn publish the design (manuscript received 5 November 1973)"A Protocol for Packet Network Intercommunication"
December 1974First detailed specification, by Cerf, Yogen Dalal and Carl SunshineRFC 675
1978One protocol becomes two: TCP for transport, IP for internetworking—
1980TCP/IP adopted as a US defence standard—
September 1981IP and TCP published as DoD standardsRFC 791, RFC 793
November 1981Transition plan sets 1 January 1983 as the deadlineRFC 801
1 January 1983NCP withdrawn; ARPANET runs on TCP/IP—

1972–74: Kahn, Cerf and the gateway

The Internet Society's history credits Bob Kahn with the idea of "open-architecture networking", introduced shortly after he arrived at DARPA in 1972. The problem was that DARPA was now funding more than one kind of packet network — packet radio among them — while the ARPANET's own host protocol, NCP, relied on the ARPANET itself for end-to-end reliability and could not address machines beyond the destination IMP. If packets were lost, NCP simply stalled. In the spring of 1973 Kahn asked Vint Cerf, then at Stanford, to work with him on the detailed design. A first written version circulated as INWG#39 at Sussex University that September.

The published paper, "A Protocol for Packet Network Intercommunication", appeared in the May 1974 issue (vol. COM-22, no. 5, pp. 637–648). Its abstract describes a protocol that handles differing packet sizes, transmission failures, sequencing, flow control, end-to-end error checking and the setting up and tearing down of process-to-process connections across different packet-switching networks. Two ideas from it are still recognisable. Networks are joined by a device the authors called a GATEWAY — today's router. And reliability is not the networks' job: each host runs "a transmission control program (TCP)" that handles sending and accepting messages for the processes it serves.

December 1974: RFC 675

In December 1974 Cerf, Yogen Dalal and Carl Sunshine issued RFC 675, Specification of Internet Transmission Control Program. Its acknowledgements credit Ray Tomlinson of BBN — known for network email — with the three-way handshake and initial-sequence-number selection that TCP still uses to open a connection. DARPA then let three implementation contracts, to Stanford (Cerf), BBN (Tomlinson) and University College London (Peter Kirstein), and the Internet Society notes that the three independent implementations could interoperate.

1978: one protocol becomes two

The 1974 design was a single program doing everything. Experience with uses that did not need every byte delivered in order — the Internet Society history mentions packet voice in the 1970s — argued for separating the layers. In 1978 Cerf, Jon Postel and Danny Cohen proposed, in the words of the IEEE Communications Society's account, "splitting TCP into two components: a host-to-host transport-level protocol (TCP) and an internetworking network-level protocol (IP)". IP would only address and forward individual packets; TCP would handle ordering and reliability on top. A third protocol, UDP, was added to give programs direct access to IP's basic datagram service.

1981: RFC 791 and RFC 793

In September 1981 the Information Sciences Institute at USC published the two specifications that are still the reference point for the protocols' names. RFC 791, edited by Jon Postel, opens: "This document specifies the DoD Standard Internet Protocol." It defines the 32-bit address — four octets — that IPv4 uses to this day. RFC 793 describes the DoD Standard Transmission Control Protocol and says it draws heavily on nine earlier editions of the ARPA TCP specification. Both were prepared for DARPA's Information Processing Techniques Office. The Department of Defense had already adopted TCP/IP as a defence standard in 1980.

1 January 1983: the flag day

With the standards in place, Postel's RFC 801 of November 1981 laid out the cutover. Its goal was blunt: "The goal is to make a complete switch over from the NCP to IP/TCP by 1 January 1983." The plan ran in stages.

Milestone in RFC 801Target
Last NCP conversion beginsJanuary 1982
Mail relay serviceJanuary 1982
Normal Internet serviceJuly 1982
Last NCP conversion completedNovember 1982
Full Internet service — NCP removed, all services TCP-basedJanuary 1983

The Internet Society calls the result a "flag-day" style transition, requiring all hosts to convert simultaneously, and notes that it had been planned within the community over several years and went surprisingly smoothly. On 1 January 1983 NCP was withdrawn from service. The switch also let the network be divided: the military operational traffic moved to a separate MILNET, while ARPANET carried on for research.

What came after

Two further pieces arrived within the same year. In November 1983 Paul Mockapetris published the Domain Name System, replacing the single host table with distributed name servers. And the Internet Society history singles out the inclusion of TCP/IP in the Berkeley Unix (BSD) releases as a critical step in spreading the protocols through the research community — every university running Unix on its machines could now speak the protocol.

The 1981 texts aged slowly. RFC 793 remained the TCP specification for more than forty years until RFC 9293, published in August 2022, obsoleted it and folded in the RFCs that had amended it. For how TCP and IP divide the work, see TCP/IP in the glossary; the surrounding events are on the Internet and Web timeline, and one of the protocol's designers on Vint Cerf.

Questions this page answers

When was TCP/IP invented, and by whom?
Vint Cerf and Bob Kahn worked out the design in 1973 and published it in May 1974 as 'A Protocol for Packet Network Intercommunication'. At that stage it was a single protocol: it split into TCP and IP in 1978, was standardised as RFCs 791 and 793 in September 1981, and went into production on the ARPANET on 1 January 1983.
What was the TCP/IP flag day?
It was 1 January 1983, when ARPANET switched from NCP to TCP/IP with every host required to convert at the same time. Jon Postel's RFC 801, of November 1981, set the deadline, and NCP was removed from service on that date.
Why and when were TCP and IP split apart?
In 1978. Uses such as packet voice showed that lost packets should sometimes be left to the application rather than retransmitted by TCP, and Cerf, Jon Postel and Danny Cohen proposed splitting it into a transport protocol, TCP, and an internetworking protocol, IP. UDP was added to give programs direct access to IP.
Is RFC 793 still the TCP specification?
No. After more than forty years, RFC 793 was obsoleted in August 2022 by RFC 9293, which also absorbed the RFCs that had amended it.

Sources

  1. PrimaryCerf, V. & Kahn, R. (1974). A Protocol for Packet Network Intercommunication — full text (Boston University course archive)

    The May 1974 citation, manuscript received 5 November 1973, and the GATEWAY and transmission control program (TCP) passages

    Accessed 2026-10-05

  2. PrimaryRFC 675: Specification of Internet Transmission Control Program — V. Cerf, Y. Dalal, C. Sunshine, December 1974

    The first detailed specification, December 1974, crediting Tomlinson with the three-way handshake

    Accessed 2026-10-05

  3. PrimaryRFC 791: Internet Protocol — J. Postel (ed.), ISI, September 1981

    The DoD Standard Internet Protocol, 32-bit addresses, prepared for DARPA IPTO

    Accessed 2026-10-05

  4. PrimaryRFC 793: Transmission Control Protocol — ISI, September 1981

    The DoD Standard TCP, drawing on nine earlier editions

    Accessed 2026-10-05

  5. PrimaryRFC 801: NCP/TCP Transition Plan — J. Postel (ISI), November 1981

    The goal of a complete switch by 1 January 1983 and the staged milestones

    Accessed 2026-10-05

  6. PrimaryRFC 9293: Transmission Control Protocol (TCP) — W. Eddy (ed.), August 2022

    Obsoletes RFC 793 and the RFCs that updated it

    Accessed 2026-10-05

  7. SecondaryBrief History of the Internet — Internet Society

    Kahn's 1972 idea, Cerf joining in spring 1973, INWG#39, packet voice and the split, UDP, the 1980 defence standard, the flag day, MILNET, and BSD

    Accessed 2026-10-05

  8. SecondaryTCP Split into TCP/IP (1978) — IEEE Communications Society

    Cerf, Postel and Cohen proposing the TCP/IP split in 1978

    Accessed 2026-10-05

  9. TertiaryInternet protocol suite — Wikipedia

    Accessed 2026-08-03

Last updated:

Share