From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc1086.txt | 507 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 507 insertions(+) create mode 100644 doc/rfc/rfc1086.txt (limited to 'doc/rfc/rfc1086.txt') diff --git a/doc/rfc/rfc1086.txt b/doc/rfc/rfc1086.txt new file mode 100644 index 0000000..0f45ebe --- /dev/null +++ b/doc/rfc/rfc1086.txt @@ -0,0 +1,507 @@ + + + + + + +Network Working Group J. Onions +Request for Comments: 1086 Nottingham + M. Rose + TWG + December 1988 + + ISO-TP0 bridge between TCP and X.25 + + + +Status of this Memo + + This memo proposes a standard for the Internet community. Hosts on + the Internet that choose to implement ISO TP0 transport connectivity + between TCP and X.25 based hosts are expected to experiment with this + proposal. TCP port 146 is reserved for this proposal. Distribution + of this memo is unlimited and comments are highly encouraged. + +Introduction + + This memo specifies a protocol that is used to bridge ISO TP0 packets + between X.25 and TCP networks. This technique is useful when + interconnecting a DDN IP internet to an X.25 subnetwork. This is not + a "magic bullet" solution to the DDN/ISO interoperability problem. + Rather, if one is running higher-layer ISO protocols in both networks + (namely ISO TP0), then a TP0 bridge can be used to achieve + connectivity. + + The protocol itself is fairly simple as the method of operation for + running TP0 over the TCP and X.25 protocols have previously been + defined. A bridge offering ISO-TP0 gateway services simply applies + both methods as appropriate. The protocol works by TP0/TCP hosts + "registering" an X.25 subaddress (and corresponding TCP port/IP + address) with the bridge. TP0/X.25 hosts use the standard method for + establishing, maintaining, and releasing connections. When a + connection is established, the bridge establishes the corresponding + TCP connection and simply shuffles TP0 packets between the two. When + a TP0/TCP host initiates a connection, it establishes a TCP + connection to the bridge using port number 146 and communicates the + desired X.25 address. The bridge establishes a connection to the + native X.25 host and simply shuffles TP0 packets between the two. + +1. Introduction and Motivation + + The migratory protocol described in [RFC1006] makes possible the + transmission of TP0 packets between hosts on TCP/IP internets. With + the addition of a small protocol converter, a TCP/IP host can be made + to appear in the X.25 addressing space and be able to accept and make + + + +Onions & Rose [Page 1] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + + connections using the TP0 protocol. + + This procedure is particularly useful in the following cases: + + 1. A host on an IP based internet can communicate with hosts on + X.25 based networks providing the hosts are running ISO protocols. + This also assumes a friendly gateway willing to run the actual TP0 + bridge and make available to the IP host part of its X.25 address + space. + + 2. A site having sparse connections to an X.25 network and using + a TCP/IP based local area network for local communications. In + this case all hosts on the LAN can have access to hosts on the + X.25 network running ISO TP0. + + + Pictorially, this memo describes interoperation in the following + environment: + + +---------------------------------+ + | | + | +-----------------------------------+ + | +----+ | +----+ | +----+ | + | | | | | | | | | | + | | +-----------|-----+ +--------------+ | | + | | | TP0 | | | | TP0 | | | + | +----+ | +----+ | +----+ | + | TCP Host | Bridge Host| X.25 Host | + | | | | + | | | | + | | | | + +-------------------|-------------+ | + TCP/IP Network | | + | | + +-----------------------------------+ + X.25 Network + +2. Definitions and Philosophy + + Some modest terminology and philosophy is introduced to aid + readability and stir interest. + + The ISO Transport Service (TS) provides a reliable, packet-stream to + its users [ISO8072]. The ISO Transport Protocol (TP) implements this + service [ISO8073]. There are five classes of this protocol. The + class is selected on the basis of the services offered by the + underlying network service. Transport class 0 (TP0) is used when the + network service offered is connection-oriented and error-detecting. + + + +Onions & Rose [Page 2] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + + As should be expected, TP0 is a rather simple protocol, since the + underlying network service actually provides most of the qualities + offered by the transport service. + + CCITT Recommendation X.25 [ISO8208,X.25] offers such a network + service. It is beyond the scope of this memo to describe X.25 in any + detail, but two observations are pertinent: First, X.25 is offered + as a wide-area network service by many commercial and (non-U.S.) + government carriers. Second, the TP0/X.25 combination is very + popular in Europe and other communities with a strong PTT-oriented + market. + + It has been argued that the DoD Transmission Control Protocol (TCP) + [MIL1778, RFC793] can also be seen as providing a connection-oriented + and error-detecting network service. This remark is controversial in + the sense that the TCP is actually an end-to-end transport protocol + and not a network protocol; the DoD Internet Protocol (IP) [MIL1777, + RFC791] is the network protocol in the DoD Protocol Suite. However, + one of the advantages of layering is that, when properly architected, + it enhances flexibility. This notion led to the development of + [RFC983] and its successor [RFC1006], which described how to provide + the ISO transport service on top of TCP/IP internetworks. + +3. The Model + + The model is simple. The method for transmitting TP0 packets using + TCP is defined in [RFC1006]. The method for transmitting TP0 packets + using X.25 is defined in [ISO8878]. The TP0 bridge merely has to + convert between the two forms. As with most protocols, there are + three well-defined phases of interaction: connection establishment, + data transfer, and connection release. The method of operation for + the data transfer and connection release phases are quite similar + when using TP0 over either network service. Hence the resulting + protocol mapping functions are quite simple. + + The difficult part is in managing connection establishment. A small + "registration" protocol is used to aid the protocol mapping function + for the connection establishment phase. The protocol performs one of + two operations: an X.25 address is specified for an outgoing call, or + an X.25 address is specified to accept incoming calls. + + This memo ignores the problems of authentication and authorization. + These areas are presumed to be a local matter. It is worth pointing + out that running such a TP0 bridge with unrestricted access allows + any TCP/IP host to lay claim to part of the TP0 bridge host's X.25 + address space. This address space is limited and will not support + many foreign hosts registering listening addresses. + + + + +Onions & Rose [Page 3] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + + The protocol makes no attempt to report errors other than those + transmitted by the TP0 protocol. To attempt such additions would + require other mechanism such as a new protocol layer or equivalent. + The chosen model is kept as simple as possible with network errors + being ignored if recoverable, and resulting in disconnection + otherwise. This actually enhances the transparency of the gateway, + in that the only gateway specific functions are collected together in + the connection phase. The resultant circuit, once established, is + indistinguishable from an [RFC1006] implementation. + +4. The Protocol + + The protocol is quite simple. A successful connection establishment + phase results in two network connections being established. TP0 is + used over each network connection, though one network connection is + provided by X.25 and the other by the TCP. + + During the data transfer phase, the TP0 bridge reads TPDUs (transport + protocol data units) from one network connection and writes them to + the other network connection. During the connection release phase, + when one network indicates a disconnect, the bridge disconnects the + other network connection; or in the case of simultaneous network + disconnects, no action is taken by the bridge. + + As expected, the method of operation for the connection establishment + phase is more complex. Connection establishment is driven by a + registration procedure which is initiated by a TCP/IP host initiating + a connection with the TP0 bridge. This procedure takes on one of two + "flavors" depending on whether the initiating host wishes to + establish a connection to a particular X.25 address or listen for + connections on a particular X.25 address. + + The initiating host initiates the registration procedure by + establishing a connection to TCP port 146 on the TP0 bridge. It then + sends one octet which indicates the flavor the registration procedure + will take: + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + | function | + +-+-+-+-+-+-+-+-+ + + + + + + + + + + +Onions & Rose [Page 4] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + + The value of this octet is a binary-encoded value: + + value meaning + ----- ------- + 0 illegal + 1 connect to a particular X.25 host + 2 listen for incoming X.25 connections + 3-255 reserved + + The method of operation for the registration procedure now diverges, + based on the function chosen. + + FUNCTION 1: CONNECTION THROUGH THE TP0 BRIDGE + + The X.25 address to call is now sent by the initiating host to the + TP0 bridge. The format of an X.25 address is described in Section + 5 of this memo. + + The TP0 bridge now attempts to call the specified address. If + this succeeds, the connection establishment phase has succeeded + and the data transfer phase is begun. If the call fails, then the + TP0 bridge closes the TCP connection. + + FUNCTION 2: ESTABLISHING A LISTENING ADDRESS + + The X.25 address, which should be a subaddress of the TP0 bridge's + X.25 address, on which to listen for incoming X.25 connections is + now sent by the initiating host to the TP0 bridge. + + Next, the initiating host sends an IP address and TCP port number + which will service incoming calls for the indicated X.25 address. + The format of a TCP/IP address is described in Section 6 of this + memo. + + The TP0 bridge now listens, on behalf of the initiating host, on + the indicated X.25 address. + + If an incoming call is received, a TCP connection is established + to the corresponding TCP/IP address. If this connection is + successful, then the connection establishment phase has succeeded + and the data transfer phase is begun. If the connection fails, + the incoming call is refused. + + The TCP/IP connection between the initiating host and the TP0 + bridge is a "heartbeat" connection for the registration function. + If this connection closes, the TP0 bridge assumes hat the + listening function has been terminated by the initiating host, and + consequently, the TP0 bridge no longer listens for incoming calls + + + +Onions & Rose [Page 5] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + + on the indicated X.25 address. If such a facility were not + present, then the indicated X.25 address could not be recovered + for reuse. + +5. Format of X.25 Addresses + + A standardized octet-encoding of X.25 addresses is used by the + protocol described in this memo. The encoding has a fixed-length of + 68 octets and contains 10 fields: + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | address type | X.121 address ... | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | ... | ... | ... | ... | + | ... | ... | ... | ... | + | ... | ... | ... | ... | + | ... | ... | X.121 length | Protocol ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | ... | ... | ... | PID length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Call User Data field | ... | ... | + | ... | ... | ... | ... | + | ... | ... | ... | ... | + | ... | ... | ... | ... | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | CUDF length | X.25 Facilities ... | ... | + | ... | ... | ... |Facility Length| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The fields are: + + address type (2 octets) - a binary-encoded value in network order + indicating the address type. The value 3 is used for X.25 addressing + of this format. + + X.121 address (16 octets) - the ascii-encoded value of the X.121 + address. + + address length (1 octet) - a binary-encoded value in network order + indicating how many octets of the X.121 address are meaningful. + + Protocol ID (4 octets) - meaningful at the remote system. + + Protocol ID length (1 octet) - a binary-encoded value indicating the + number of protocol ID octets are meaningful. + + + + +Onions & Rose [Page 6] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + + User Data (16 octets) - meaningful at the remote system. + + User Data Length (1 octet) - a binary-encoded value indicating the + number of User Data octets are meaningful. + + X.25 Facilities (6 octets) - meaningful at the remote system. + + X.25 Facilities length (1 octet) - a binary-encoded value indicating + the number of Facility octets are meaningful. + +6. Format of TCP/IP Addresses + + A standardized octet-encoding of TCP/IP addresses is used by the + protocol described in this memo. The encoding has a fixed-length of + 16 octets and contains 4 fields: + + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | address type | TCP port | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | IP address | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | reserved | ... | ... | ... | + | ... | ... | ... | ... | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + The fields are: + + address type (2 octets) - a binary-encoded value in network order. + The value 2 is used. + + TCP port (2 octets) - a binary-encoded value in network order. + + IP address (4 octets) - a binary-encoded value in network order. + + reserved (16 octets) - null-value padding. + +Comments + + At present, the structure of the X.25 address and the internet + address are rather ad-hoc and specific to the UNIX operating system. + These structures may change in the future as experience is gained in + the use of the TP0 bridge. + + + + + + +Onions & Rose [Page 7] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + +References + + [ISO8072] Information processing systems -- Open systems + interconnection, "Transport Service Definition", + International Standard, June, 1985. + + [ISO8073] Information processing systems -- Open systems + interconnection, "Transport Protocol Specification", + International Standard, July, 1986. + + [ISO8208] Information processing systems, "X.25 package level + protocol for data terminal equipment", Draft + International Standard, July, 1985. + + [ISO8878] Information processing systems -- Data communications, + Use of X.25 to provide the OSI connection-mode network + service", Draft International Standard, January, 1987. + + [MIL1777] Military Standard 1777, "Internet Protocol". + + [MIL1778] Military Standard 1778, "Transmission Control Protocol". + + [RFC791] Postel, J., "Internet Protocol - DARPA Internet Program + Protocol Specification", RFC 791, USC/ISI, + September 1981. + + [RFC793] Postel, J., "Transmission Control Protocol - DARPA + Internet Program Protocol Specification", RFC 793, + USC/ISI, September 1981. + + [RFC983] Cass, D., and M. Rose, "ISO Transport Services on Top + of the TCP", RFC 983, NTRC, April 1986. + + [RFC1006] Rose, M., and D. Cass, "ISO Transport Service on Top + of the TCP Version: 3", NTRC, May 1987. + + [X.25] CCITT Recommendation X.25, "Interface Between Data + Terminal Equipment (DTE) and Data Circuit Terminating + Equipment (DCE) for Terminals Operating in the Packet + Mode on Public Data Networks," International Telegraph + and Telephone Consultative Committee Yellow book, Vol. + VIII.2, Geneva, 1981. + + + + + + + + + +Onions & Rose [Page 8] + +RFC 1086 ISO-TP0 bridge between TCP and X.25 December 1988 + + +Authors' Addresses: + + Julian P. Onions + Computer Science Department + Nottingham University + University Park + Nottingham, NG7 2RD + United Kingdom + + EMail: JPO@CS.NOTT.AC.UK + + Marshall Rose + The Wollongong Group + 1129 San Antonio Road + Palo Alto, CA 94303 + + Phone: (415) 962-7100 + + EMail: mrose@TWG.COM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Onions & Rose [Page 9] + \ No newline at end of file -- cgit v1.2.3