GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:ien:ien98

IEN 98

                                  
                                  
                     TCP Implementation Status
                                  
                                  
                                  
                                  
                                  
                             Jon Postel
                                  
                           Mike Wingfield
                                  
                          Norm Abramovitz
                             Bob Braden
                           Gary Grossman
                            Bill Plummer
                             Jim Mathis
                            Aage Stensby
                             Dave Clark
                             3 May 1979
                   Information Sciences Institute
                 University of Southern California
                         4676 Admiralty Way
                 Marina del Rey, California  90291
                           (213) 822-1511

IEN-98 J. Postel

                                                                   ISI
                                                            3 May 1979
                     TCP IMPLEMENTATION STATUS
                     -------------------------

Introduction


This is a collection of reports on the status of implementations of the Transmission Control Protocol (TCP) [1]. The systems and reporters are:

BBN Unix      --  Mike Wingfield
Ford KSOS     --  Norm Abramovitz
UCLA 360      --  Bob Braden
DTI Unix      --  Gary Grossman
BBN Tenex     --  Bill Plummer
    Tops-20
SRI LSI-11    --  Jim Mathis
NDRE NORD-10  --  Aage Stensby
MIT Multics   --  Dave Clark

Postel [page 1]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 BBN Unix

BBN Unix Report - Michael A. Wingfield


The following is a status report on the TCP developed at BBN for DCA under contract DCA100-78-C-0011.

Implementation Language

C

Memory requirements

Bytes: 22000 instr, 15000 data

Number of connections

10 currently, but a compile time parameter

Operating System

Unix with BBN IPC additions

Hardware

PDP-11

Status

TCP has been completed since March 15, 1979.

User Programs

There is a THP user and server available, as well as a Telnet user and
server.   A trivial  ftp user and server for the raw movement of bytes
between files exists and has been used to move files between a Unix on
the ARPANET  and a Unix on the RCCNET.   There  is also a test package
for exercising TCP.

Bandwidth

12Kb - 13Kb looped through the IMP, 20Kb internally looped.

Programming Effort

6 man-months

[page 2] Wingfield

3 May 1979 IEN 98 TCP Implementation Status

                                                              BBN Unix

Documentation

"TCP/PSIP  Development  Report"  which describes the user interface to
TCP and  high  level  design.   A  software  documentation  report  is
required under the contract but is not available yet.

Accessibility

TCP is always  available  on link 155 at BBN-Unix (Host 0, Imp 63).  A
THP server  is always  listening.   TCP and THP are also available  at
EDN-Unix  when their  machine  is on the net (Host  3,  Imp 20).   All
numbers are decimal.

Additional Features

This TCP implements  the AUTODIN  II  security,  precedence,  and  TCC
features  specified  in the SRI TCP report.  The gateway/2 program can
forward  incoming  segments  to other destinations  if  necessary.   A
flakiness  simulator  in the gateway  can be made to drop,  duplicate,
reorder,  and break different  percentages  of outgoing  segments  for
testing purposes.  These parameters can be changed dynamically.

Wingfield [page 3]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 Ford KSOS

Ford KSOS Report - Norm Abramovitz


Implementation Language

C and Modula

Memory Requirements

??

Number of Simultaneous Connections

will depend on system capacity (not table space limited)

Operating System

KSOS Kernel

Hardware

PDP-11/70, 11/45(?)

Status

Currently in detail design, implementation to start circa 1 May 79.

Higher Level Protocols

none yet.   (Server protocols for multi-level secure systems need some
serious research work yet.)

Other Features

Design envisages support for a multi-level secure network, although no
specific  support  is included.   Internet datagram layer is supported
including fragment reassembly.

Point of Contact

Jay McCauley or Norm Abramovitz (chief designer/KSOS TCP)

[page 4] Abramovitz

3 May 1979 IEN 98 TCP Implementation Status

                                                              UCLA 360

UCLA 360 Report - Bob Braden


Philosophical Remarks

This implementation  of the Internet  and TCP protocols is designed to
meet the following general objectives:
  (a)  operate  within  the existing  NCP system job, sharing code and
  control-block formats wherever possible;
  (b)  be compatible  at  the  system-call  level  with  the  existing
  user-level protocol modules;
  (c)  implement  the Internet  protocol  as a  distinct  layer,  with
  interfaces   designed   to  expedite  the  implementation  of  other
  higher-level internet protocols in addition to TCP;
  (d)  require  minimum NCP resources when internet protocol is not in
  use.

Hardware

IBM 360/370, with a Santa Barbara interface to the IMP.

Operating System

OS/MVT,  Release  21.8,  with the  addition  of  several  user-written
Supervisor-call  routines  (including the Exchange program).  The UCLA
NCP operates  as a system  job, with its own internal multiprogramming
and resource management mechanism.

Implementation Language

BAL (IBM's macro assembly language)

Code Size (addition to existing NCP code)

Resident Control Process     4K bytes
Internet Protocol Layer      8K bytes (transient)
TCP Protocol Layer           9K bytes (transient)

Braden [page 5]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 UCLA 360

Fixed Table Space

The limited fixed table space is included in the code (above).

Connections Supported

Only practical  limitation is amount of memory available in NCP region
for buffers and per-connection control blocks (see following).

Cost per Connection

Control blocks
  For each connection,  the internet  and TCP layers  require  control
  blocks totaling 256 bytes.
(*)Receive
  Segment  reassembly  buffer=  max segment size - min internet header
  length + 16= 572 bytes per buffer.
(*)Send
  128 bytes per unacknowledged segment.
Note:   The actual data being sent is not counted here, as it occupies
buffer space belonging to the appropriate user-level protocol module.
(*)Note:   There is a dynamic  pool of these objects, shared among all
active  connections.   The pool grows and shrinks dynamically with the
number  of connections; it is probably reasonable to expect an average
of one segment reassembly buffer and one unacknowledged segment (total
of 700 bytes) per TCP connection.
In addition  to this TCP-specific  memory,  there  is  the  memory  to
support the user-level protocol.  For example, a server-Telnet session
to TSO requires  control blocks and buffers totaling about 1800 bytes;
this is identical for TCP and for the ARPANET Host-Host protocol.

Performance

No information available yet

[page 6] Braden

3 May 1979 IEN 98 TCP Implementation Status

                                                              UCLA 360

Operational Status

In debugging

Implementation Time

Approximately 20 man-months

User-Level Protocols Available

User and Server Telnet

Documentation

In progress

Braden [page 7]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 DTI Unix

DTI Unix Report - Gary Grossman


Background

Digital  Technology  Incorporated (DTI) is constructing an IOC Network
Front End (INFE)  to connect WWMCCS hosts and terminals to the AUTODIN
II network.  As part of the INFE effort, DTI has developed a version 3
TCP which will be updated to a version 4 TCP when Government direction
is forthcoming.

Implementation Language

PDP-11 Version 6 Unix C

Instruction Space Memory Required

9.6K 16-bit words of PDP-11 instructions

Buffer and Table Memory Space Required

Fixed
  4K 16-bit words
Per-connection
  Words of tables, etc.
    100
  Words of buffer space
    None (uses user process buffers)

Connections Supported

Order of 50

Operating System

Version  6 Unix as modified  for the INFE by the addition of a special
interprocess communication mechanism.

[page 8] Grossman

3 May 1979 IEN 98 TCP Implementation Status

                                                              DTI Unix

Hardware

DEC PDP-11/70 and PDP-11/45  (Code  not  machine-dependent; could  run
on  other   machines   given  appropriate  C  compiler  and  operating
system,  but there may  be  address  space  problems  on machines with
a single 16-bit address space per process.)

Operational Status

Has been  run  extensively  with  identical  implementations only.

Telnet Availability

None

Other Protocols Available

Terminal-to-Host Protocol (THP) as specified in
  Postel,  J.,  Garlick,  L.,  and Rom,  R., Terminal-to-Host Protocol
  Specification,  Stanford  Research  Institute,  Menlo Park,  15 July
  1976.

Measured Bandwidth

Maximum  bandwidth  on a single connection through the DTI H516 IMP is
60K bits/second.

Measured Packet Processing Rate

Order of 40 packets/second

Implementation Time

Six (6) man-months

Documentation

Described in
  Healy,  D.C.  and Buford,  W.E.,  Transmission  Control Protocol and
  Pseudo  Segment  Interface  Protocol Program Maintenance Manual, DTI
  Document  Number  78020.C-INFE.3,  Digital  Technology Incorporated,
  Champaign, Illinois, 18 December 1978, 207 pp.

Grossman [page 9]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 DTI Unix

There is also extensive documentation in the source.

[page 10] Grossman

3 May 1979 IEN 98 TCP Implementation Status

                                                      BBN TENEX/TOPS20

BBN TENEX/TOPS20 Report - William W. Plummer


Background Information

There are several TCP implementations for TENEX and TOPS20.  The first
such version  was written  in (the compiler  language) BCPL and ran in
user mode.   Later a MACRO-10  (assembly language) version was written
which has been included in the monitors.  The BCPL version tracked all
protocol  changes  through TCP 2.5.2 and the assembly language version
started  with TCP 2.4.  The BCPL TCP has now been retired and assembly
language  version are available for versions 2.5.2, 4.0 and 4.0(ver 1)
(see below).
It should be noted that the higher level protocols such as Telnet were
implemented  originally  for the BCPL TCP.   Since only minor  changes
have been made to the user interface,  it is these same programs which
are still in use with the monitors TCP.
Bandwidth figures are rather hard to give because of variations in the
operating  systems, networks, setting of various parameters in the TCP
during  the measurement  runs, and the continuing evolution of the TCP
code itself.   The bench  mark used for the figures below is TCPTST, a
program which sends 1000. packets to itself.  This program attempts to
keep 8 packets  outstanding  and thus something between 125. and 1000.
acknowledge packets will flow in the reverse direction.

BCPL TCP 2.5.2

Code size
  20,000. words
Data space
  16,000. words
Environment
  KA10 processor
  TENEX operating system
  JSYS traps used to simulate monitor calls SNDIM/RCVIM to communicate
  with ARPANET

Plummer [page 11]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 BBN TENEX/TOPS20

Implementation time
  Basic protocol module
    4 man-months, coding 6 man-months, debugging
  Each server
    1 man-month, coding 1 man-month, debugging
Higher-level protocols implemented
  Telnet server
  Telnet user
  ECHO
  SINK
  PRDATA (measurement program for PR Net)
Bandwidth bench mark
  438 seconds
Status
  Retired, but could easily be revived.
Comments
  Debugging  was relatively  easy since  it was done in user mode.  On
  the other  hand only on other  host was available  to talk to.  Many
  debugging  feature  such as a packet  tracer were incorporated which
  helped   considerably.    Being  in  BCPL,   the  TCP   implementors
  occasionally   found  themselves   at  the  mercy  of  the  compiler
  implementors.

Assembly language TCP 2.5.2

Code size
  5,000. words
Data space
  4,000. words on TOPS20 101B 16,000. words on TENEX
  16,000. words on TOPS20 3A on 2020

[page 12] Plummer

3 May 1979 IEN 98 TCP Implementation Status

                                                      BBN TENEX/TOPS20
Environment
  KA10 processor running TENEX or, Model A KL10/20 running TOPS20 101B
  or, Model 2020 running TOPS20 3A.
Implementation time
  Basic protocol module
    2 man-months, coding 6 man-months, debugging
  Each server
    None.  (Same programs used)
  Higher-level protocols implemented
    Same as above.
Bandwidth bench marks
  46 seconds on KA10 67 seconds on 2020 30 seconds on KL10 with cache
Status
  Currently  available  on BBNC,  ISIC,  and SRI-KA.   Secure  version
  running on BBNE and ISIA.
Comments
  Last version  2.5 implementation.   Many  intermediate  version  2.X
  steps were taken over a relatively  long time. Debugging hampered by
  lack of stand alone computer time for monitor debugging.

TCP 4.0

This is the first  of the version  4 implementations.   The  code  was
derived  from the version  2.5.2 sources  in  approximately  2  weeks.
Bandwidth and size figures are the same.
Status
  Running on BBNB

Plummer [page 13]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 BBN TENEX/TOPS20

TCP 4.0(ver 1)

TCP 4.0(ver  1)  is derived  from TCP 4.   Internally  it is  somewhat
different and offers more features to users.  Most notable is a set of
JSYS calls  by which  users  may access the Internet layer in order to
experiment  with private  Internet  protocols.  The mechanism by which
TCP transfers  data between  user  buffers  and  Internet  packets  is
considerably  different  than it was in 4.0 and is much faster.   Also
the free storage  management  package has been streamlined.  The major
task underway is embedding the Telnet server in the monitor along with
the TCP itself.
Code size
  5,200 words
Data space
  256,000  words on KL20 TOPS20 3A 16,000 words on TENEX, 2020, TOPS20
  101B
Environment
  Development System
    KL2040 processor
    TOPS20 3A monitor
    (Should work with TENEX and other versions of TOPS20, but this has
    not been tried yet.)
  Bandwidth bench mark
    26 seconds (2040 without cache) 43 seconds (2020)
Status
  Running on BBNF by arrangement

[page 14] Plummer

3 May 1979 IEN 98 TCP Implementation Status

                                                            SRI LSI-11

SRI LSI-11 Report - Jim Mathis


Implementation Language

PDP-11 MACRO assembler

Hardware

LSI-11 or PDP-11 in user mode
Note:   The software  was developed to run on the MOS operating system
for LSI-11s,  but should  be transportable with minor changes to other
real-time operating systems that provide an interprocess communication
and signaling  mechanism.  An earlier version of the software (version
2.5) has been transported to RSX-11, ELF, and Unix.

Instruction Space Requirements

TCP
  approximately 1800 decimal words
Internet Protocol
  approximately 1000 decimal words
Note:    The  TCP  and  Internet   protocol  operate  from  a  network
characteristics  table that simplifies  conversion  from  use  on  one
packet-switched  network  to another.  The software currently supports
attachment  to the ARPANET  or the Packet Radio Network.  The software
is structured to allow attachments to multiple networks, although this
feature has not been tested.

Simultaneous Connections

limited only by CPU loading and the amount of buffer space available
The state information  for each TCP  connection  is  maintained  in  a
connection  block of approximately  50 words; but a minimum of 100-500
words of buffer  space is recommended  for each connection  in  active
use.

Mathis [page 15]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 SRI LSI-11

Comment

The TCP and Internet  software  were developed  for the  Packet  Radio
Terminal  Interface  Unit to provide  terminal  access to internetwork
hosts (a function  similar  to that provided  by the TIPS for  ARPANET
hosts).  Because the TIU is not a timesharing machine, the only higher
level protocols  available  are Telnet.   The Telnet  will operate, by
manual command, in either the active (user) or passive (server) mode.

Status

TCP
  1. in preliminary release stage and undergoing further debugging
  1. has undergone functional tests with other TCP version 4 sites
Internet
  1. has undergone functional tests with other TCP version 4 sites

Implementation Time

The effort  expended  to design and code the TCP and Internet software
is difficult  to estimate; the software has been evolving for the last
3 years.   Reconstruction  of the software from scratch would probably
require about 6 to 10 man-months.

[page 16] Mathis

3 May 1979 IEN 98 TCP Implementation Status

                                                          NDRE NORD-10

NDRE NORD-10 Report - Aage Stensby


TCP STATUS

Philosophical Remarks
  Due to the idiosyncrasies  of the operating  system,  it has been  a
  goal to keep the number  of processes  as low  as  possible  without
  complicating  the internal logic of the program.  Accordingly, there
  is one process  for  input  handling  and  one  process  for  output
  handling.   In addition, it has been necessary to include a separate
  retransmission  process.  The code has been tested rather thoroughly
  routine  by routine  and connections  have been opened  and closed a
  number  of times  in loop mode.  The TCP does not yet support urgent
  or rubber EOL.
Hardware
  The TCP runs on a NORD-10 with 64K memory.
Operating System
  SINTRAN III, version 77.05.17c
Implementation Language
  NORD PL, which is a machine oriented medium level language.
Code Size
  7k words(16 bit) This includes the present internet module.
Buffer Space
  Dynamically allocated, maximum 7k which may be extended.
Connections Supported
  No strict  limit,  but probably in the order of 4-5 due to available
  processing power.
Cost per Connection
  ?

Stensby [page 17]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 NDRE NORD-10

Delay per Packet
  Not measured
Bandwidth
  Not measured
CPU Utilization
  Not estimated

INTERNET STATUS

The internet  code is not separated  from the TCP code.  It is planned
to gather  it in a separate  process  with a well-defined interface to
the  TCP.   Reassembling  of  fragments  is  not  yet  done.   Maximum
acceptable segment size is 1008 bytes.
The internet address is:
  IMP   LH  HOST
   51    0    1

[page 18] Stensby

3 May 1979 IEN 98 TCP Implementation Status

                                                           MIT Multics

MIT Multics Report - Dave Clark


Implementation Language

PL/I

Memory Space (in 36 bit words)

TCP 13.6k, IN 5.5k

Table Space

About 40 words per connection

Buffer Space

In virtual memory, no relevant limit in size

Hardware/Operating System

H68/80, Multics

Operational Status

Currently  available  about  half  time  for  experimentation,  up  as
experimental service in week or so.

Other Protocols

Datagram protocol, name server, user Telnet, server Telnet (The server
Telnet is a kludge and requires programming by Honeywell before it can
be  considered   really   useable.   Performance:   No  relevant  data
available yet.  In a subjective test, Telnet is useable, but sometimes
sluggish.

Implementation Time

I have  no idea.   It has been  worked on by several people at the 10%
level, so the total time invested is quite unclear.

Clark [page 19]

                                                                      
                                                            3 May 1979

TCP Implementation Status IEN 98 References

References


[1] J. Postel. "Transmission Control Protocol – Version 4," IEN 81,

      USC-Information Sciences Institute, February 1979.

[page 20] Postel

/data/webs/external/dokuwiki/data/pages/rfc/ien/ien98.txt · Last modified: 2001/06/25 18:51 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki