📄 rfc2126.txt
字号:
For Class 2 options Profile please also refer to 'Notes to Implementors' section 6.6.4.2.2 Data Transfer The elements of procedure used during transfer are based upon those presented in ISO 8073, with the following extensions: - Expedited Data may be supported (if negotiated during connection establishment) by sending Expedited Data (ED) TPDU. - "Expedited Data Acknowledgement" may be supported (if negotiated during connection establishment) by sending Expedited Data Acknowledgement (EA) TPDU. When using "Expedited Data Acknowledgement", ED TPDUs require acknowledgement, and once an ED TPDU is transmitted no further DT/ED TPDUs may be sent until the outstanding ED TPDU has been acknowledged. When non-use of "Expedited Data Acknowledgement" has been negotiated, ED TPDUs require no acknowledgement, and further DT/ED TPDUs may be sent immediatly.Pouffary & Young Standards Track [Page 13]RFC 2126 ISO Transport on top of TCP March 1997 Please refer to 'Notes to Implementors' section 6.7 and section 6.8. - "Non-blocking Expedited Data" service may be supported (if negotiated during connection establishment). When using "Non-blocking Expedited Data" service, the sender of an ED TPDU shall send the ED TPDU on both the Normal Data and Expedited Data TCP connections. Transmission of subsequent DT TPDU will not be interrupted. The receiver of ED TPDU counts how many ED TPDU it has seen on each TCP connection, and will only deliver to the TS-User the ED TPDU from the TCP connection with the higher count. When non-use of "Non-blocking Expedited Data" has been negotiated, ED TPDUs will not be duplicated. Please refer to 'Notes to Implementors' section 6.7 and section 6.8. - For Expedited Data transfer, there are two possible procedures for the establishment and assignment of the Expedited Data TCP connection. Which one is used is negotiated during connection establishment. Both the "Forward Connection" procedure and "Reverse Connection" procedure guarantee independence of the Normal Data TCP connection from the Expedited Data TCP connection. They also ensure that a busy Normal Data TCP connection cannot block an Expedited Data TCP connection. The Expedited Data TCP connection created by either procedure must be between the same pair of hosts as the Normal Data TCP connection, must not be shared among Transport Connections, and must remain established until the Transport Connection is terminated, at which time it must be closed. TCP connections created for Expedited Data transfer should also use the TCP primitives defined in this document. The Forward Connection (Splitting and Recombining) procedure is defined in ISO 8073. This procedure allows a transport connection to make use of multiple TCP connections. Please refer to 'Notes to Implementors' section 6.9. The Reverse Connection procedure is not defined in ISO 8073. When using the Reverse Connection procedure the initiator of a Transport Connection creates a Normal Data TCP connection using anPouffary & Young Standards Track [Page 14]RFC 2126 ISO Transport on top of TCP March 1997 arbitrarily-chosen local TCP port 'x' and a known remote TCP port (either the ITOT well-known port, or some other). The initiator listens for an incoming TCP connection on the TCP port 'x'. The responder of the Transport Connection must create a second TCP connection (to be used for Expedited Data) using an arbitrarily- chosen local TCP port 'y' and the remote TCP port 'x' , before it can issue a CC TPDU on the Normal Data TCP connection. The initiator need not listen for further TCP connections on port 'x' after the Expedited Data TCP connection is established.4.2.3 Connection Release The elements of procedure used during a connection release are based upon those described in ISO 8073. A connection can be terminated by the TS-user in one of two ways: - Disruptive Disconnect - Non-Disruptive Disconnect Disconnect Request (DR) and Disconnect Confirm (DC) TPDUs are exchanged in both cases. The DR TPDU carries a Reason code indicating the reason for the Disconnection. Disruptive Disconnect specifies that all TPDUs still at the source are not required to be sent to the destination before the connection is disconnected. The DR Reason code is normal (80 hex). Non-Disruptive Disconnect specifies that all TPDUs already given to the local TS-provider must be delivered to the remote TS-user, before the connection is disconnected. The DR Reason code is normal (80 hex) with Additional Information parameter value set to 80 hex.4.3 TPKT Packet Format A fundamental difference between the TCP and the ISO Network Service expected by ISO Transport is that the TCP manages a continuous stream of octets, with no explicit boundaries. ISO Transport expects information to be sent and delivered in discrete objects termed Network Service Data Units (NSDU). Although ISO Transport allows combination of more than one TPDU inside a single NSDU for the purposes of discussion an NSDU is identical to a TPDU. Please refer to ISO 8073 for the valid set of concatenated TPDUs.Pouffary & Young Standards Track [Page 15]RFC 2126 ISO Transport on top of TCP March 1997 The protocol described by this memo uses a simple packetization scheme in order to delimit TPDU. Each packet (TPKT), is viewed as an object of variable length composed of an integral number of octets. A TPKT consists of two part: - a Packet Header - a TPDU. The format of the Packet Header is constant regardless of the type of TPDU. The format of the Packet Header is as follows: +--------+--------+----------------+-----------....---------------+ |version |reserved| packet length | TPDU | +----------------------------------------------....---------------+ <8 bits> <8 bits> < 16 bits > < variable length > where: - Protocol Version Number length: 8 bits Value: 3 - Reserved length: 8 bits Value: 0 - (See 'Notes to Implementors' section 6.10) - Packet Length length: 16 bits Value: Length of the entire TPKT in octets, including Packet Header - TPDU ISO Transport TPDU as defined in ISO 8073 and as defined in this document.5. Address representations It is desirable to be able to represent ITOT access point addresses as: - Printable strings - OSI Network Addresses (often known as NSAP addresses or simply NSAPAs) This section defines the formats which MUST be used in each case.Pouffary & Young Standards Track [Page 16]RFC 2126 ISO Transport on top of TCP March 19975.1 String representation of ITOT access point addresses RFC1278 [RFC1278] defines a general string representation for OSI Presentation Addresses, including specific reference to RFC1006 addresses which encapsulate IPv4 addresses. RFC1278 is also applicable to ITOT addresses which encapsulate IPv4 addresses. This RFC is currently being updated to define a string representation for ITOT addresses which encapsulate IPv6 addresses. ITOT access point address string representation specify an IP address (IPv4 or IPv6) and an optional TCP port number.5.2 OSI Network Address encoding RFC1277 [RFC1277] defines a general mechanism to encode addressing information within OSI Network Addresses (NSAPA), including specific reference to RFC1006 using IPv4. RFC1277 is also applicable to ITOT addresses using IPv4. The RFC "IPv6 addresses inside an NSAPA" [IPv6] defines general mechanisms for the support of NSAP addressing in an IPv6 network. It also defines how to embed an IPv6 address inside a OSI NSAP address. This RFC is applicable to ITOT addresses using IPv6. For ITOT addresses, the default selector of the NSAPA is defined to have the value '10000000'B. It should be noted that given that an IPv6 addresses can encode IPv4 addresses, this format can also encode ITOT addresses using IPv4.6. Notes to Implementors6.1 TCP Connection Establishment Implementors should be aware that ISO transport protocols assume that they will be told by the network service provider (in this case TCP/IP) when the network connection being used to transmit their TPDUs is unexpectedly terminated. It is therefore strongly suggested that the TCP keep alive mechanism be selected, as this ensures reporting of network connection loss.6.2 TCP Data transfer For performance reason it is suggested that the Nagle algorithm [RFC 896] be disabled (using the TCP_NODELAY socket option). This feature allows TPKT data to be sent without delay.Pouffary & Young Standards Track [Page 17]RFC 2126 ISO Transport on top of TCP March 19976.3 Class negotiation The principle used in Class negotiation is identical to those described in ISO 8073. Class and options are negotiated during Connection establishment. The choice made by the Transport will depend upon the TS-User requirements as expressed via T-CONNECT service primitives. The initiator of the Transport Connection proposes a preferred class and may propose an alternative class. The responder selects one class defined in the table below. If the preferred class is not selected then on receipt of the connect confirm TPDU the initiator adjusts its operation according to the class selected. +---------------------------------------------+----------------------+ | Proposed in CR TPDU | CC TPDU | | | | |Preferred class | Alternative class | Response | +--------------------+------------------------+----------------------+ | | | | |class 0 | none | class 0 | | | | | |class 2 | class 0 | class 2 or 0 | | | | | |class 2 | none | class 2 | | | | | +---------------------------------------------+----------------------+6.4 Default maximum TPDU size The default maximum TPDU size value specified in this document breaks ISO Transport negotiation rule which states that the maximum TPDU size specified or defaulted by the CC TPDU cannot be greater than the maximum TPDU size proposed by the CR TPDU. To avoid the consequences of this, it is strongly recommended that the CC TPDU always specifies the maximum TPDU size value.6.5 Class 0 TPDU bit encoding This protocol no longer allows credit and TPDU-NR (bits 0 to 6) fields to be ignored on input, which is in line with ISO 8073 encoding rules. RFC1006 TPDU encoding defined inconsistent encoding rules.Pouffary & Young Standards Track [Page 18]RFC 2126 ISO Transport on top of TCP March 19976.6 Class 2 Options Class 2 Additional Option parameter value +--------------------------------------------------------------------+ | BIT | OPTION | +--------------------------------------------------------------------+ | | | | 8 | Not applicable | | | | | 7 | = 1 Use of Non-blocking Expedited Data | | | = 0 Non-use of Non-blocking Expedited Data (default) | | | | |(*) 6 | = 1 Use of Expedited Data Acknowledgement | | | = 0 non-use of Expedited Data Acknowledgement (default) | | | | | 5 | Not applicable | | | | |(*) 4 | = 1 Use of Reverse Connection procedure | | | = 0 Use of Forward Connection procedure (default) | | | | | 3 | Not applicable | | | | | 2 | Not applicable | | | | | 1 | = 1 Use of Transport Expedited Data Service | | | = 0 Non-use of Transport Expedited Data Service (default) | | | | +--------------------------------------------------------------------+ (*) In ISO 8073, bit 4 is defined as use of "Network Expedited" and bit 6 is defined as "Request Acknowledgement".
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -