[ih] Fwd: Early internetworking ca. 1976 / First ARPANET Link Put Into Service

the keyboard of geoff goodfellow geoff at iconia.com
Mon Feb 9 19:45:25 PST 2026


yours truly can say FOR SURE that Jim Mathis implemented the TIU's TCP
because yours truly had a Collins Packet Radio with an LSI-11 host (named
fernwood) running Jim's code in yours truly's office (K2079) at SRI.

yours truly would interact with Jim from time-to-time regarding
"improvements" ... one of the things Jim added for yours truly was a kind
of poor mans/ersatz "Remote Controlled Transmission and Echoing Telnet
option" (ala RFC-560) that cut down on the number of packets a terminal in
character-at-a-time transmission and foreign-host echo that caused multiple
packets for each character struck.

geoff

On Mon, Feb 9, 2026 at 8:08 PM Jack Haverty via Internet-history <
internet-history at elists.isoc.org> wrote:

> The SRI TCP code was written in assembler language for the LSI-11. So
> that code was essentially compatible with the PDP-11/40 which used a
> similar (identical?) instruction set.  Jim provided me with the TCP
> (version 2) code, and I used it as a basis for the first TCP for Unix,
> which I implemented in 1977/78.  The code to implement the state
> diagram, datagram parsing, and such parts could be used directly.  Of
> course anything relating to the OS had to be new code, since the SRI TCP
> ran on MOS which was quite different from Unix.  Since I had never
> programmed any DEC -11 system, or heard of TCP, or knew anything about
> Unix, it was very valuable to have Jim's help.
>
> Since the project needing the Unix TCP was using it to communicate with
> an LSI-11 running the SRI TCP, this made it especially likely that those
> machines could communicate, even before the "Bakeoff" occurred to nail
> down interoperability and create a precise specification of the protocol.
>
> One interesting debugging phase occurred when SRI was having some kind
> of contract dispute with the government and Jim was sympathetic but
> wasn't permitted to do any work on the LSI-11 TCP.  We ended up
> debugging his TCP code by using DDT and packet traces to find some minor
> error, patching the code, observing that it now worked, and then
> emailing a bug report to Jim at SRI - something like "we don't know
> exactly why, but changing the instruction at location xxxxx fixed our
> problem!"   Subsequently TCP evolved to become TCP/IPV4, and we made the
> necessary changes independently to the two systems.
>
> So I can't say for sure that Jim implemented the TIU's TCP, but he's the
> one who gave it to me in 1977 and helped with questions etc.
>
> /Jack Haverty
>
> On 2/9/26 18:30, Vint Cerf via Internet-history wrote:
> > there is no question about this - he was charged with implementing on
> > LSI-11/23
> >
> > v
> >
> >
> > On Mon, Feb 9, 2026 at 6:39 PM Don Nielson <nielsonz at pacbell.net> wrote:
> >
> >> I should have affirmed that Jim Mathis was almost certainly responsible
> >> for the TCP process in the TIU.  Don
> >> Sent from my iPhone
> >>
> >> On Feb 9, 2026, at 4:33 AM, Vint Cerf <vint at google.com> wrote:
> >>
> >> 
> >> thanks Don!! we were trying to figure out early efforts at bridging
> >> networks - PRNET was a key project for exploring that concept.
> >>
> >> v
> >>
> >>
> >> On Mon, Feb 9, 2026 at 3:46 AM Don Nielson <nielsonz at pacbell.net>
> wrote:
> >>
> >>> Vint, Barbara, and all,
> >>> I'm not sure I understand the impetus for all this but thought I'd try
> to
> >>> help pin down some dates in the early use of the TIU and TCP.
> >>>
> >>> The first I could find was in a Packet Radio Quarterly Report covering
> >>> 1 May 1976 to 31 July 1976.  During that time a gateway was in the
> >>> station computer and was first just doing header swaps between the
> >>> ARPANET and the PRNET.  But in the same period the LSI-11 TIU was
> >>> there running a single-connection user version TCP.  Rather that try
> >>> to describe what was written, I've attached three images of the report
> >>> and the text.  Reference to the description of the TIU architecture
> >>> also included Dave Retz as the lead author so his hand was in it
> >>> as well, probably more to do with the MOS operating system and
> >>> the ELF processes working there.  I've also attached a process
> >>> diagram of the TIU circa Feb 1977.
> >>>
> >>> Hope this helps.
> >>> Don
> >>>
> >>>
> >>>
> >>>
> >>> On 2/5/26 4:10 AM, Vint Cerf wrote:
> >>>
> >>> Jim Mathis did the TIU system - must have been circa 1975/1976
> >>> vint
> >>>
> >>>
> >>> On Thu, Feb 5, 2026 at 1:01 AM Greg Skinner via Internet-history <
> >>> internet-history at elists.isoc.org> wrote:
> >>>
> >>>> Forwarded for Barbara
> >>>>
> >>>>> ----- Forwarded Message -----
> >>>>> From: Barbara Denny <b_a_denny at yahoo.com>
> >>>>> To: internet-history <internet-history at elists.isoc.org>
> >>>>> Sent: Wednesday, February 4, 2026 at 09:34:45 PM PST
> >>>>> Subject: Re: [ih] Early internetworking ca. 1976 / First ARPANET Link
> >>>> Put Into Service
> >>>>> Having trouble with the mailing list again so not all the text for
> >>>> this thread is included.
> >>>>> This discussion covers a time period before I worked on packet radio.
> >>>> John Shoch's recollection made me curious about when TCP was first
> used
> >>>> over packet radio and when the first generation radios (EPRs?) were
> >>>> available. The place I have started to look for this information is
> the TIU
> >>>> (Terminal Interface Unit).  The TIU had TCP and TELNET. It also had
> SPP
> >>>> (station-packet-radio protocol) to improve reliability and support for
> >>>> other functions. FYI,  I think the early packet radios had an 1822
> >>>> interface.
> >>>>> I haven't found definitive answers to my questions but I did find a a
> >>>> webpage that has some links to documentation in case you are
> interested in
> >>>> the TIU.
> >>>>> https://gunkies.org/wiki/Terminal_Interface_Unit
> >>>>>
> >>>>> BTW,  the use of DSP on this web page does not mean Digital Signal
> >>>> Processing. It refers to the Dispatch/SPP modules.
> >>>>>
> >>>>> barbara
> >>>>>
> >>>>>
> >>>>> On Tuesday, February 3, 2026 at 12:23:55 PM PST, John Shoch via
> >>>> Internet-history <internet-history at elists.isoc.org> wrote:
> >>>>>
> >>>>> Towards the end of last year there was a thread here on the first
> >>>> Arpanet
> >>>>> link at SRI, and Barbara Denny was kind enough to share a note
> >>>> (11/3/25)
> >>>>> from Don Nielsen also reminding us of the earliest multi-network
> tests
> >>>> of
> >>>>> the TCP Internet at SRI:
> >>>>> // 3. First 2-net demo of TCP was on 27 Aug 1976.? PRNET and ARPANET.
> >>>>> // 4. First 3-net demo of TCP was on 22 Nov 1977.? PRNET, SATNET, and
> >>>>> ARPANET.
> >>>>>
> >>>>> As I recall, prior to that time all of the TCP design, implementation
> >>>> and
> >>>>> testing had been done just on the Arpanet.  Building on the early
> work
> >>>> at
> >>>>> Stanford, the effort grew to include people at SRI, BBN, and
> elsewhere.
> >>>>> Those demonstrations in 1976 and 1977 -- with a gateway and multiple
> >>>>> networks -- were  tremendously important milestones along the path to
> >>>> what
> >>>>> became the Internet as we know it today.
> >>>>>
> >>>>> In response to that post, though, I was asked about the actual state
> >>>> of the
> >>>>> Xerox PUP internetworking effort at that time, in mid-1976.  It took
> >>>> me a
> >>>>> while to do an archeological dig -- I wanted to find the original
> >>>> documents
> >>>>> to ensure that we got the history right.  I found a couple of
> >>>> interesting
> >>>>> things and wrote up a summary.  My friends at the Computer History
> >>>> Museum
> >>>>> have long encouraged us to document some of the work, and it was
> >>>> suggested
> >>>>> "you should share it before we lose this history."
> >>>>>
> >>>>> So, some of the notes, documents, and insights on internetworking in
> >>>> 1976
> >>>>> (as seen from a slightly different perspective):
> >>>>>
> >>>>> --In 1972, about 4 years earlier, the first INWG meeting had taken
> >>>> place at
> >>>>> the ICCC meeting in Washington DC.
> >>>>> --In the summer of 1973, about 3 years earlier, there were ongoing
> >>>> meetings
> >>>>> at Stanford, and Cerf and Kahn were drafting the TCP paper at the
> >>>> Cabana
> >>>>> hotel in Palo Alto.  That same summer there were early discussions at
> >>>> PARC
> >>>>> about the proposed Ethernet (as well as an alternative design simply
> >>>> called
> >>>>> LOCAL network), and the need to interconnect them.  A memo from Aug.
> >>>> 1973
> >>>>> reported a discussion on "...the problems of interfacing the LOCAL
> and
> >>>>> ETHER networks.  This memo describes a rather general proposal for
> >>>>> introduction of a message format standard which emerged from the
> >>>>> discussion.  The adoption of the standard would enable us to
> >>>> interconnect
> >>>>> different networks—essentially forming a network of networks…..”  A
> >>>> drawing
> >>>>> includes ARPA, ETHER, and LOCAL networks.
> >>>>> --In the Spring of 1974 the Ethernet was maturing (while the
> >>>> alternative
> >>>>> LOCAL net never emerged), and there were some basic Ethernet-specific
> >>>>> protocols implemented (EEFTP).  Yet it was clear that there would be
> a
> >>>> need
> >>>>> to interconnect Ethernet networks, both locally and across
> geographies.
> >>>>> Metcalfe had been participating in some of the INWG meetings, but it
> >>>> was
> >>>>> also evident that we could not wait for that effort -- we needed
> >>>> something
> >>>>> immediately.
> >>>>> --That led to Bob's initial draft memo, "A Proposed PUP -- PARC
> >>>> Universal
> >>>>> Packet" dated March 19, 1974, which began:
> >>>>> "This memo is written and should be read with caution; its purpose is
> >>>> to
> >>>>> promote a standard.  Because there isn’t an ice cube's chance in hell
> >>>> that
> >>>>> our (or anyone else's) standard will be adopted without interminable
> >>>> debate
> >>>>> and revision, the memo itself is quick and dirty. This way we get the
> >>>> ball
> >>>>> rolling early. ...  A list of the packet networks at Parc would
> >>>> include, in
> >>>>> arbitrary order of pedigree, (1) Ethernets, (2) Localnets, (3)
> >>>> Arpanets,
> >>>>> (4) MCAnets, and (5) EIAnets.”
> >>>>> [MCANets connected Data General Novas.  "EIAnets" evolved into a
> >>>> backbone
> >>>>> packet switching network among Gateways, made up of leased serial
> >>>> lines.]
> >>>>> .
> >>>>> --Over the next two years the further design, implementation, and
> >>>>> refinement of PUP were done primarily by David Boggs and Ed Taft.
> >>>> Progress
> >>>>> was reported in a series of memos, initially by Metcalfe and later by
> >>>> Boggs
> >>>>> and Taft:
> >>>>>    PUP Revisited
> >>>>>    PUP Converging
> >>>>>    Naming and Addressing Conventions for PUP
> >>>>>    A Nova Gateway
> >>>>>    Implementation of PUP in Tenex
> >>>>>    PUP Again
> >>>>>    PUP Connection State Diagram
> >>>>>    PUP Servers on Maxc
> >>>>>    etc., etc., etc.
> >>>>>
> >>>>> --So where did things stand, after two years of work, in mid-1976?
> The
> >>>>> best document I have found describing things ca. 1976 is from 6
> months
> >>>>> earlier, a "draft" of "PUP Overview" by Taft dated Dec. 21, 1975.  He
> >>>>> reports:
> >>>>> "Local communication is carried on by means of several independent
> >>>> Ethernets
> >>>>> (passive broadcast networks operating at 3 mb/s) and two MCAs
> >>>>> (Multiprocessor
> >>>>> Communications Adaptors for interconnecting Nova computers, operating
> >>>> at
> >>>>> 1.6 mb/s).
> >>>>> Long-haul communication is carried on over the Arpanet (a
> >>>> store-and-forward
> >>>>> packet
> >>>>> switched network·operating at 50 kb/s). We are considering making use
> >>>> of
> >>>>> other
> >>>>> transport mechanisms, such as optical fibers for very high bandwidth
> >>>> local
> >>>>> communication, leased phone lines for regional communication at
> modest
> >>>>> bandwidths,
> >>>>> and commercial·packet switching services such as Telenet."
> >>>>> The memo goes on at length to describe Basic Principles, Levels of
> >>>>> Protocol, Standard Packet Format, Inter-Network Addressing,
> >>>> Fragmentation,
> >>>>> etc.
> >>>>> I only have a draft of this memo;  I have not yet found a copy of the
> >>>>> complete final version.
> >>>>>
> >>>>>
> >>>>
> https://drive.google.com/file/d/106a4W2mXsi4Ii-YzRgzsTAwe9_34IqJg/view?usp=sharing
> >>>>> --To further describe the operational state of the PUP Internet in
> the
> >>>>> Spring of 1976, though, I have also found a copy of the then-current
> >>>> text
> >>>>> file used to define assigned network numbers, host numbers,
> well-known
> >>>>> sockets, and name-to-internet-address mapping.  This file was used to
> >>>>> initially configure the gateways, and to load the name server.  The
> >>>> Tenex
> >>>>> header shows this as the 50th copy of the file that was created --
> >>>>> PUP-NETWORK.TXT;50, dated March 19, 1976.
> >>>>> It shows that the PUP Internet at that time included 2 Ethernets, 2
> >>>> MCAs,
> >>>>> and the Arpanet.
> >>>>> Well-known Sockets were defined for Telnet, Gateway-Info (routing
> >>>> updates),
> >>>>> FTP, Misc. Services (name, time, etc.), and Echo.
> >>>>> The name server database allowed a machine to have multiple names
> >>>> (e.g.,
> >>>>> MAXC = Maxc1 = Parc-Maxc), and multiple internet addresses (if
> >>>> connected to
> >>>>> more than one network).
> >>>>> I count 27 Novas on the PUP Internet at the time.  This includes 3
> >>>> machines
> >>>>> acting as Gateways:
> >>>>>    --The Portola Gateway, on both Ethernets, one MCA, and the
> Arpanet,
> >>>>>    --The front end to the MAXC time sharing system, on one Ethernet,
> >>>> both
> >>>>> MCAs, and the Arpanet.
> >>>>>    --A Nova on one Ethernet and one MCA.
> >>>>> There were 7 Novas only on one Ethernet (including a machine for font
> >>>>> design and two for laser printer units).
> >>>>> The remaining 17 Novas had both Ethernet and MCA interfaces (but were
> >>>> not
> >>>>> necessarily running as Gateways).  These included Novas configured as
> >>>>> servers controlling the older XGP printer,  the newer EARS laser
> >>>> printer,
> >>>>> the Woodstock File System (WFS), and others.
> >>>>> There were also 67 individual Altos on the Ethernets.  Most of these
> >>>> were
> >>>>> for personal use, but the list also included one Alto as a dedicated
> >>>> Data
> >>>>> Line Scanner system (i.e., a TIP, for in-bound and out-bound terminal
> >>>>> traffic).
> >>>>> [My hand-written notes suggest that there were at least 9 other Altos
> >>>> in
> >>>>> our group which were not in the database (including mine).  Even if
> no
> >>>> one
> >>>>> could find them via the name server, they could operate as client
> >>>> machines
> >>>>> on the PUP Internet.]
> >>>>> This system was in regular use, day and night, with over 100 machines
> >>>> on 5
> >>>>> networks of 3 types.
> >>>>>
> >>>>>
> >>>>
> https://drive.google.com/file/d/1SZ6yRLp6UqpbFKxbKK4D2stB6BcBX5qq/view?usp=sharing
> >>>>>
> >>>>> That was the state of the first and largest operational Internet in
> >>>> March
> >>>>> 1976, 5 months before the important 2-net SRI demo of the TCP
> Internet.
> >>>>>
> >>>>> John
> >>>>>
> >>>>> PS:  A few additional notes and quick lessons from that period.
> >>>>> 1.  For some software-intensive projects a smaller team can be very
> >>>>> productive.  There may have been ~6 of us helping and kibitizing, but
> >>>> the
> >>>>> vast majority of the programming and documentation was done by Taft
> and
> >>>>> Boggs.
> >>>>> 2.  As best we could, we did try to share some of our general
> progress
> >>>> with
> >>>>> others.
> >>>>> --I had been full-time at PARC since 1971, but had also been
> >>>> encouraged to
> >>>>> "try to get a quick PhD" at Stanford.  I took part in Vint's
> networking
> >>>>> seminar.
> >>>>> --In the Spring of 1976 (before the 2-network demo at SRI), three of
> us
> >>>>> from Parc were enrolled in a Systems Programming class being taught
> by
> >>>>> Vint.  We had to do a group programming project, so the 3 of us
> >>>> undertook
> >>>>> implementation of the 2nd generation simple file transfer:  evolving
> >>>> from
> >>>>> the Ethernet-based EEFTP (written in Nova assembler) to a new
> >>>>> internet-capable Pup-based EFTP (written in BCPL).  We turned in the
> >>>>> listings, complete with some packet traces (from an Ethernet watcher)
> >>>> to
> >>>>> show how it worked.  We all got an A+ -- thank you, Vint!
> >>>>> --Later, Vint graciously arranged for us to attend some of the TCP
> >>>> working
> >>>>> group meetings.  In July 1977 (before the 3-network demo) Yogen Dalal
> >>>> (who
> >>>>> had been a graduate student under Vint) and I attended a TCP Working
> >>>> Group
> >>>>> meeting held at MIT.  Jon Postel's TCP Meeting Notes (later
> registered
> >>>> as
> >>>>> IEN 65) reflected some of our overview:  "PARC has 5 different
> networks
> >>>>> with peices [sic] in Palo Alto, Los Angeles and various places on the
> >>>> East
> >>>>> Coast.  Approximately 14 different networks, approximately 300 hosts
> >>>>> connected."
> >>>>> --In the following month, Aug. 1977, we attended an Internet meeting
> >>>> at ISI
> >>>>> -- where we mentioned our gateway routing, gateway services,
> >>>>> naming/addressing/routing, etc. [IEN 3] [IEN 19] [IEN 20]
> >>>>> --Later, with the help of Don Nielsen and the crew at SRI, we became
> >>>> users
> >>>>> of the PRNet -- adding it as a network in our internet, carrying
> >>>>> encapsulated Pups wirelessly between two Pup gateways.  This was
> >>>> reported
> >>>>> in IEN 78, https://www.rfc-editor.org/ien/ien78.pdf
> >>>>> 3.  At this time the TCP Internet was designed to expose a reliable
> >>>> byte
> >>>>> stream interface.
> >>>>> The PUP Internet architecture provided interfaces at multiple levels:
> >>>>> --Reliable byte stream (BSP), used for Telnet, FTP, etc.
> >>>>> --Reliable packet stream (EFTP), used for simple file transfer, esp.
> >>>> to a
> >>>>> print server.
> >>>>> --Raw packet access, for very simple tasks (name server, time server,
> >>>> echo,
> >>>>> etc.)
> >>>>> Two years later, in 1978, the split of TCP into TCP and IP eventually
> >>>>> allowed that kind of flexibility.
> >>>>> 4.  Network-relative addresses were used in both the TCP Internet and
> >>>> the
> >>>>> PUP Internet, with a network ID and a host ID.  This worked OK in the
> >>>> early
> >>>>> days of both TCP and PUP, but we quickly realized that a) this did
> not
> >>>> work
> >>>>> well if you wanted to move a machine from one network to another, and
> >>>> b)
> >>>>> this would not scale adequately.  We tried to learn from both the
> >>>>> Experimental Ethernet and the PUP Internet.  Thus, Yogen Dalal
> >>>> developed
> >>>>> the 48-bit flat address space -- used in what became the 2nd
> >>>> generation DIX
> >>>>> Ethernet standard, and used in the 2nd-generation Xerox Network
> Systems
> >>>>> (XNS) protocols.  The 48-bit Ethernet address design has scaled and
> >>>> endured
> >>>>> for ~50 years -- great work by Yogen.
> >>>>>    https://dl.acm.org/doi/epdf/10.1145/800081.802680
> >>>>>
> >>>> --
> >>>> Internet-history mailing list
> >>>> Internet-history at elists.isoc.org
> >>>> https://elists.isoc.org/mailman/listinfo/internet-history
> >>>> -
> >>>> Unsubscribe:
> >>>>
> https://app.smartsheet.com/b/form/9b6ef0621638436ab0a9b23cb0668b0b?The%20list%20to%20be%20unsubscribed%20from=Internet-history
> >>>>
> >>>
> >>> --
> >>> Please send any postal/overnight deliveries to:
> >>> Vint Cerf
> >>> Google, LLC
> >>> 1900 Reston Metro Plaza, 16th Floor
> >>> Reston, VA 20190
> >>> +1 (571) 213 1346 <(571)%20213-1346>
> >>>
> >>>
> >>> until further notice
> >>>
> >>>
> >>>
> >>>
> >>>
> >> --
> >> Please send any postal/overnight deliveries to:
> >> Vint Cerf
> >> Google, LLC
> >> 1900 Reston Metro Plaza, 16th Floor
> >> Reston, VA 20190
> >> +1 (571) 213 1346 <(571)%20213-1346>
> >>
> >>
> >> until further notice
> >>
> >>
> >>
> >>
>
> --
> Internet-history mailing list
> Internet-history at elists.isoc.org
> https://elists.isoc.org/mailman/listinfo/internet-history
> -
> Unsubscribe:
> https://app.smartsheet.com/b/form/9b6ef0621638436ab0a9b23cb0668b0b?The%20list%20to%20be%20unsubscribed%20from=Internet-history
>


-- 
Geoff.Goodfellow at iconia.com
living as The Truth is True



More information about the Internet-history mailing list