[TUHS] Unix V8 Chaosnet, any takers?

Paul Ruizendaal pnr at planet.nl
Sun Jul 17 06:02:18 AEST 2022

Apologies for being off-topic

> What did people with PDP-11 V7 who wanted TCP/IP do, anyway?

Taking it slightly broader (PDP-11 instead of V7), there is a lot of discussion about that on Mike Meuss’ TCP-digest mailing list:


There is a 1985 index of available implementations as well ( https://ftp.ripe.net/rfc/museum/tcp-ip-implementations.txt.1 ). It includes the following options for PDP-11 systems:

1.7.5. UNIX 2.9BSD


       2.9BSD TCP/IP is an adaptation  of  Berkeley's  original  VAX
    TCP/IP  (running  under  BSD  4.1B  UNIX)  which  in  turn is an
    offshoot of BBN's VAX TCP/IP.  2.9BSD TCP/IP runs on  PDP-11/44s
    and  PDP-11/70s.    The 2.8 version from SRI was adapted by Bill
    Croft (formerly at SRI), then  Tektronix  adapted  it  for  2.9.
    Berkeley  took  over modification of the software and brought it
    back to SRI where Dan Chernikoff and Greg Satz adapted it for  a
    later  release  of 2.9.  In addition to TCP/IP, UDP, ARP and the
    raw packet  interface  is  available.  ICMP  redirects  are  not
    supported.    User  software  implementations include Telnet and
    FTP, plus Berkeley-developed local  net  protocols,  RWHO,  RSH,
    RLOGIN, and RCP.

       2.9BSD  with  TCP/IP support could probably be made to run on
    smaller PDP-11s although the address space would be  very  tight
    and might present problems.

1.7.6. Venix/11 TCP/IP


       This  is  based  on  the "PDP-11/45" implementation available
    from the MIT Laboratory for  Computer  Science.    It  has  been
    ported  to  a V7 UNIX system, in particular VenturCom's Venix/11

       As little of the processing as possible takes  place  in  the
    kernel,   to   minimize  the  code  space  required.    It  fits
    comfortably on I&D machines,  but  is  almost  hopeless  on  the
    smaller  machines.   The kernel includes a proNET device driver,
    IP fragment reassembly, IP header processing,  local-net  header
    processing,  and simple routing.  The rest of the IP processing,
    and all of the UDP and TCP functions,  are  in  user  libraries.
    The psuedo-teletype driver is also in the kernel, and is used by
    Server TELNET.

       User programs handle ICMP processing; User and Server TELNET,
    SMTP,  TFTP,  Finger,  and Discard.  There are User programs for
    Nicname and Hostname.   IEN-116  nameservers  are  used  by  all
    programs,  and  an IEN-116 nameserver is also provided.  The TCP
    used is very simple, not very fast, and lies about windows.   No
    FTP is available, nor is one currently planned.

1.7.8. BBN-V6-UNIX


       This  TCP/IP/ICMP  implementation  runs  as a user process in
    version 6 UNIX, with modifications obtained from BBN for network
    access.  IP  reassembles  fragments  into  datagrams, but has no
    separate IP user  interface.    TCP  supports  user  and  server
    Telnet,  echo,  discard,  internet  SMTP  mail,  and  FTP.  ICMP
    generates replies to Echo Requests, and sends Source-Quench when
    reassembly buffers are full.

       1. Hardware  -  PDP-11/70 and PDP-11/45 running UNIX version
          6, with BBN IPC additions.

       2. Software - written in C, requiring 25K instruction space,
          20K  data  space.    Supports  10  connections (including

       3. Unimplemented protocol features:

             - TCP - Discards out-of-order segments.

             - IP - Does not handle some options and ICMP messages.

1.7.9. v 3COM-UNET


       UNET is a communication software package which  enables  UNIX
    systems  to  communicate  using  TCP/IP  protocols.    UNET will
    utilize any physical communications media, from low speed  links
    such as twisted pair RS-232C to high speed coaxial links such as
    Ethernet.  All layers of the UNET package are directly available
    to   the  user.    The  highest  layer  provides  user  programs
    implementing  ARPA  standard  File  Transfer  Protocol   (UFTP),
    Virtual  Terminal  Protocol  (UVTP), and Mail Transfer Protocols
    (UMTP).  These programs in  turn  utilize  the  virtual  circuit
    services  of the TCP.  The TCP protocol is implemented on top of
    the IP.  Finally, IP can simultaneously  interface  to  multiple
    local  networks.    UNET  implements  5  of  the 7 layers of the
    International    Standards     Organization     Open     Systems
    Interconnection  Reference  Model,  layers  2  through  6: Link,
    Network, Transport, Session, and Presentation.  Features of  TCP
    6   not   yet   implemented   are   Precedence   and   Security,
    End-of-Letter, and Urgent.  Feature of IP 4 not yet  implemented
    is Options.

Of these, we have 2.9BSD and (a forerunner of) BBN-V6-Unix available on the TUHS Unix Tree. The Venix/11 source and the 3COM source appear lost. These (unfortunately) are the ones that were implemented on top of V7.

Also, BBN back-ported the TCP/IP code of BBN VAX-TCP to V7 for their C/70 Unix.

More information about the TUHS mailing list