Network Working Group Andrew G. Malis
Request for Comments: 979 BBN Communications Corp.
March 1986
PSN END-TO-END FUNCTIONAL SPECIFICATION
1 Introduction
This memo contains the functional specification for the new BBNCC PSN End-to-End (EE) protocol and module (PSN stands for Packet Switch node, and has previously been known as the IMP). The EE module is that portion of the PSN code which is responsible for maintaining EE connections that reliably deliver data across the network, and for handling the packet level (level 3) interactions with the hosts. The EE protocol is the peer protocol used between EE modules to create, maintain, and close connections. The new EE is being developed in order to correct a number of deficiencies in the old EE, to improve its performance and overall throughput, and to better equip the PSN to support its current and anticipated host population.
Malis [Page 1]
RFC 979 March 1986
PSN End-to-End Functional Specification
Two notes concerning terminology are required. Throughout this document, the units of information sent from one host to another are referred to as "messages", and the units into which these messages are fragmented for transmission through the subnetwork are referred to as "subnet packets" or just "packets". This differs from X.25's terminology; X.25 "packets" are actually messages. Also, in this report the term "AHIP" is used to refer to the ARPANET Host-IMP Protocol described in BBN Report 1822, "Specifications for the Interconnection of a Host and an IMP".
2 Motivation
The old EE was developed almost a decade ago, in the early days of packet-switching technology. This part of the PSN has remained stable for eight years, while the environment within which the technology operates has changed dramatically. At the time the old EE was developed, it was used in only one network, the ARPANET. There are now many PSN-based networks, some of which are grouped into internets. Originally, AHIP was the only host interface protocol, with NCP above it. The use of X.25 is now rapidly increasing, and TCP/IP has replaced NCP.
Malis [Page 2]
RFC 979 March 1986
PSN End-to-End Functional Specification
Supportability also motivates rewriting the EE software. The new EE can be written using more modern techniques of programming practice, such as layering and modularity, which were not as well understood when the old EE was first designed, and which will make the EE easier to support and to enhance.
Malis [Page 3]
RFC 979 March 1986
PSN End-to-End Functional Specification
Addressing capabilities have been extended to include hunt groups.
3 End-to-End Functionality
This section contains the new EE's functional specification. It describes the services provided to the various types of hosts that are supported by the new EE, the addressing capabilities that it makes available, the functionality required for the peer protocol, the performance goals for the new EE, the EE's network management specification, and provisions for testing and debugging.
Malis [Page 4]
RFC 979 March 1986
PSN End-to-End Functional Specification
The network administration now has a choice as to which is most important, efficient utilization of network trunks (due to the reduced size of the per-packet headers), or strong checks on data integrity.
Malis [Page 5]
RFC 979 March 1986
PSN End-to-End Functional Specification
o The new EE supports congestion control and improved resource allocation policies which ensure fairness and graceful degradation of service under extreme load. Certain resources can be prereserved to each host port, and each port can also be limited in its use of shared resources. This ensures that no host can be totally shut out from PSN resources by the actions of other hosts at the same PSN. In addition, each PSN is sensitive to congestion in both of the PSNs at the endpoints of each connection, and it can exert backpressure (flow control) on hosts, as necessary, to prevent congestion.
Malis [Page 6]
RFC 979 March 1986
PSN End-to-End Functional Specification
For this new support, datagram service is planned (for PSN Release 8.0) to include fragmentation and reassembly by the network, but without requiring the network overhead used by connections, and without the reliability, message sequencing, and duplicate detection that connections provide. However, "destination dead" indications will be provided to the source host where possible and appropriate.
Malis [Page 7]
RFC 979 March 1986
PSN End-to-End Functional Specification
Datagrams are not supported by the new EE in PSN Release 7.0.
Malis [Page 8]
RFC 979 March 1986
PSN End-to-End Functional Specification
The key to interoperability is the fact that in the new EE, both X.25 and AHIP connections use the same underlying protocols and constructs. The new EE has AHIP and X.25 Level 3 modules that translate between the specific host protocols and the EE mechanisms. Since these Level 3 host modules share a common interface with the EE, the fact that the two hosts on either side of an EE connection are not using the same access protocol is largely hidden.
Malis [Page 9]
RFC 979 March 1986
PSN End-to-End Functional Specification
o Since a "translation module" is no longer necessary in the PSN, interoperable connections now have end-to-end significance, with a direct correspondence between X.25 RRs and AHIP RFNMs. This preserves the meaning of the RFNM as defined in Report 1822. Although Release 7.0 only offers end-to-end significance, the D bit is passed transparently on Standard Service connections between two X.25 hosts.
Malis [Page 10]
RFC 979 March 1986
PSN End-to-End Functional Specification
3.2 Addressing
Malis [Page 11]
RFC 979 March 1986
PSN End-to-End Functional Specification
3.3 Protocol Functionality
Malis [Page 12]
RFC 979 March 1986
PSN End-to-End Functional Specification
IACKs are used to cancel the retransmission timer and free source buffering, and are sent when a message has been completely reassembled and delivered from the EE to either the AHIP or X.25 level 3 module. This allows the EE to avoid unnecessary message retransmissions, and speeds up the process of freeing source buffering when destination hosts are slow to accept messages or, in the case of X.25, slow to advance the PSN's window to the destination (X.25 does not specify any time limit for a host to acknowledge that it received a message).
Malis [Page 13]
RFC 979 March 1986
PSN End-to-End Functional Specification
3.4 Performance and Capacity Goals
Malis [Page 14]
RFC 979 March 1986
PSN End-to-End Functional Specification
Malis [Page 15]