RFC 1791 (rfc1791) - Page 2 of 12
TCP And UDP Over IPX Networks With Fixed Path MTU
Alternative Format: Original Text Document
RFC 1791 TCP And UDP Over IPX April 1995
2. Running UDP Over IPX
Since UDP datagrams can be up to 64K octets long, and the size of IPX
packet is limited to that of the path MTU, large UDP datagrams must
be fragmented. And, since IPX does not support fragmentation, large
UDP datagrams must be fragmented before they are passed to IPX. For
that purpose, a new protocol called IPXF (IPX Fragmentation layer),
is invented. UDP must run on IPXF rather than directly on IPX. IPXF
layer is described in section 4.
To IPXF service users, IPXF behaves just like IPX except that IPXF
accepts datagram larger than the IPX path MTU. As such, we describe
UDP in this section as if it is running on IPX.
UDP must send and receive the packets on IPX/IPXF socket 0x9092.
Though it may be possible to send a packet from sockets other than
0x9092, such sockets cannot receive UDP datagram destined to a well
known socket 0x9092. Hence, the bidirectional communcation may not
be established if a socket other than 0x9092 is used to send UDP
datagram. For that reason. UDP/IPX does not allow source sockets
other than 0x9092. If a datagram with source socket number other
than 0x9092 is received, UDP/IPX should discard the packet silently.
(And increment udpInDatagramErr MIB counter if it is instrumented.)
UDP over IPX uses the IPX packet type 4, a normal IPX packet type.
The IPX packet type has no meaning to TCP/IPX protocol. It simply is
a number required by IPX for general IPX packets.
See Appendix B.1 and B.2 for UDP over IPX packet format.
The UDP/IPX checksum uses a pseudo header similar to UDP/IP pseudo
header. The only difference is that IP addresses and protocol ID are
replaced by IPX addresses and socket numbers.
See Appendix B.3 for the UDP/IPX pseudo header format.
3. Running TCP Over IPX
Unlike UDP, TCP runs directly over IPX. Since IPX does not support
fragmentation, no TCP segment sent over IPX can be larger than the
path MTU for the connection. The discovery of the path MTU is
outside of scope of this paper. If the implementation does not have
a way to dynamically determine the path MTU for each connection, it
should at least allow a way to statically configure a reasonable
value for all connections. For example, if the internetwork made of
ethernets only, the user may configure the segment size to be 1470
including the TCP header. If the configuration of the segment size
is not possible, the implementation should assume that the IPX path
Sung