📄 rfc1634.txt
字号:
| WAccept Option | xx | 0=No,1=Yes,3=Not Applic| | WOption Data Len | xx xx | Number of following | | | | option bytes (Hi Lo) | | WOption Data | nn | Option specific data | +---------------------------------------------------------------+Routing Type Option: One or more of the following router type options should be included in a Timer Request packet. A router should ALWAYS include Routing Type zero (0) if full interoperability is required with an older implementation. The router types MUST be included in the senders order of preference. If a router receives a Timer Response with more than one Router Type having WAccept set to Yes, the link MUST be disconnected. +---------------------------------------------------------------+ | WOption Number | 00 | Define Routing Type | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 01 | Option length (Hi Lo) | | WOption Data | 00 | IPX RIP/SAP Routing | +---------------------------------------------------------------+Allen [Page 12]RFC 1634 IPXWAN May 1994 +---------------------------------------------------------------+ | WOption Number | 00 | Define Routing Type | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 01 | Option length (Hi Lo) | | WOption Data | 01 | NLSP | +---------------------------------------------------------------+ +---------------------------------------------------------------+ | WOption Number | 00 | Define Routing Type | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 01 | Option length (Hi Lo) | | WOption Data | 02 | Unnumbered RIP/SAP | +---------------------------------------------------------------+ +---------------------------------------------------------------+ | WOption Number | 00 | Define Routing Type | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 01 | Option length (Hi Lo) | | WOption Data | 03 | On-demand, static Rting| +---------------------------------------------------------------+ +---------------------------------------------------------------+ | WOption Number | 00 | Define Routing Type | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 01 | Option length (Hi Lo) | | WOption Data | 04 | Client - No RIP/SAP | | | | except on request | +---------------------------------------------------------------+Extended Node ID Option: The extended node ID should only be included if the WNodeID field is set to zero AND the node constructing the packet is a router. Note that an older version of IPXWAN will just reject this option and automatically become the link master as the WNodeID is zero. +---------------------------------------------------------------+ | WOption Number | 04 | Extended Node ID | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 04 | Pad data length (Hi Lo)| | WOption Data | xx xx xx xx | Real primary network # | | | | of this router (Hi-Lo) | +---------------------------------------------------------------+Header Compression Option: Although more than one header compression option may be specified in a Timer Request packet, it is important that a MAXIMUM of ONE header compression option is accepted. If an implementation receives a Timer Response with more than one header compression option with the accept option set to Yes, the link MUST be disconnected. [Ref 6] defines the full Telebit Header Compression method.Allen [Page 13]RFC 1634 IPXWAN May 1994 +---------------------------------------------------------------+ | WOption Number | 80 | Header Compression | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 03 | Variable - at least 1 | | WOption Data | 00 | 0 = Telebit Hdr Compr. | | | xx | Compression Options | | | xx | Compression Slots | +---------------------------------------------------------------+PAD Option: The PAD option is used to fill the Timer Request up to the 576 byte limit. This field will be of variable length depending on the number of other options in the packet. This option will normally be the last entry in the packet. Its sole purpose is to fill the IPX packet to be 576 bytes. The pad option data should be filled with a selection of totally random numbers to avoid compression modems or PPP data compression from destroying the link delay calculation. Note that this is different from the original RFC 1362 specification. This should not affect implementations. Implementations should not attempt to verify the contents of a PAD option. +---------------------------------------------------------------+ | WOption Number | FF | Pad option | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | xx xx | Pad data length (Hi Lo)| | | | (enough to fill packet)| | WOption Data | Random numbers | | +---------------------------------------------------------------+ Note: Timer Request packets will always be 576 bytes. However, there should be no assumption made about the number of options specified in this packet. After link establishment, Timer Request packets are sent by both sides of the link. Each end starts their sequence number at zero. Subsequent retries (every 20 seconds) will increment the value of this sequence number. Only a Timer Response packet with a sequence number matching the last sent sequence number will be acted upon. As mentioned earlier, the WNodeID field may be set to zero for a router if it is unable to provide a network number for the link. If a router ONLY supports the Numbered RIP/SAP option, it MUST be capable of proving a network number for a WAN link.Allen [Page 14]RFC 1634 IPXWAN May 1994 Packets received on the reserved socket number not having the WIdentifier set to the hexadecimal values noted above should be discarded.4.2 Timer Response Packet +---------------------------------------------------------------+ | Checksum | FF FF | Always FFFF | | Packet Length | 02 40 | Max IPX size (576 bytes| | | | Hi Lo order) | | Trans Control | 00 | Hops traversed | | Packet Type | 04 | Packet Exchange Packet | | Dest Net # | 00 00 00 00 | Local Network | | Dest Node # | FF FF FF FF FF FF | Broadcast | | Dest Socket # | 90 04 | Reserved WAN socket | | Source Net # | 00 00 00 00 | Local Network | | Source Node # | 00 00 00 00 00 00 | Set to zero | | Source Socket # | 90 04 | Reserved WAN socket | |------------------+-------------------+------------------------| | WIdentifier | 57 41 53 4D | Confidence identifier | | WPacket Type | 01 | Timer Response | | WNode ID | xx xx xx xx | Primary Net # of | | | | sending router | | | | (Hi Lo order) | | WSequence # | xx | Same as Timer Request | | | | received | | WNum Options | xx | Number of options | |------------------+-------------------+------------------------| | WOption Number | xx | Option Identifier | | WAccept Option | xx | 0=No,1=Yes,3=Not Applic| | WOption Data Len | xx xx | Number of following | | | | option bytes (Hi Lo) | | WOption Data | nn | Option specific data | +---------------------------------------------------------------+ The options contained within this packet are as described in section 4.1 Any unknown options or not supported options within the Timer Request MUST have the WAccept Option set to NO in the Timer Response. If the Timer Request packet contained more than one Router Type option and the "Slave" supports all the options, the "Slave" MUST set the WAccept Option to YES on the FIRST Router Type supported and NO to ALL other Router Types. This is the Router Type which is to be adopted by both ends of the link. Information exchanges will then proceed by the link master based on the accepted Router Type. This packet must contain the same sequence number as the received Timer Request. This packet should ONLY be sent by the router orAllen [Page 15]RFC 1634 IPXWAN May 1994 workstation determining themselves to be the "Slave" of the link. (Workstations are ALWAYS the link slave). Routers MUST set the WNodeID to their correct value when responding with the Timer Response. A value of zero must NOT be used.4.3 Information Request Packet +---------------------------------------------------------------+ | Checksum | FF FF | Always FFFF | | Packet Length | 00 63 | Size of header+data | | | | (Hi Lo order) | | Trans Control | 00 | Hops traversed | | Packet Type | 04 | Packet Exchange Packet | | Dest Net # | 00 00 00 00 | Local Network | | Dest Node # | FF FF FF FF FF FF | Broadcast | | Dest Socket # | 90 04 | Reserved WAN socket | | Source Net # | 00 00 00 00 | Local Network | | Source Node # | 00 00 00 00 00 00 | Set to zero | | Source Socket # | 90 04 | Reserved WAN socket | |------------------+-------------------+------------------------| | WIdentifier | 57 41 53 4D | Confidence identifier | | WPacket Type | 02 | Information Request | | WNode ID | xx xx xx xx | Primary Net # of | | | | sending router | | | | (Hi Lo order) | | WSequence # | 00 | Sequence start at 0 | | WNum Options | 01 | 1 Option to follow | | WOption Number | 01 | Define IPX RIP/SAP | | | | info exchange | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 36 | Option length (Hi Lo) | | WOption Data | | | | Link Delay | xx xx | Hi Lo link delay in | | | | milli seconds (see | | | | below for calculation) | | Common Net # | xx xx xx xx | Hi Lo Common Network # | | Router Name | xx (x 48 decimal) | Router name - as defned| | | | in section 2. | +---------------------------------------------------------------+ Routers MUST set the WNodeID to their correct value when sending an Information Request. A value of zero must NOT be used. A workstation should replace the Router Name with the configured name, or a constant descriptor string as described in section 2.Allen [Page 16]RFC 1634 IPXWAN May 1994 For a Workstation Information Request, an extra option is added which specifies the NIC address for the workstation. In this case, the number of options will be set to two (2). +---------------------------------------------------------------+ | WOption Number | 05 | Define NIC Address | | WAccept Option | 01 | 0=No,1=Yes,3=Not Applic| | WOption Data Len | 00 06 | Option length (Hi Lo) | | WOption Data | 02 xx xx xx xx xx | NIC Address for W/S | +---------------------------------------------------------------+ Routers or workstations should not refuse to use a NIC address having a first byte with a value other than 02. Calculation of link delay is performed as follows: // Start_time is a time stamp when Timer Request sent out // End_time is a time stamp when a Timer Response is // received. link_delay = end_time - start_time; // 1/18th second if (link_delay < 1) { link_delay = 1; }/*IF*/ // We are on a slow net, so add some biasing to help stop // multiple workstation sessions timing out on the link link_delay *= 6; /* Add the biasing for multiple sessions */ link_delay *= 55; /* Convert link delay to milliseconds */ If a higher resolution timer is available, better results may be obtained using the following algorithm: conversion_factor = number of timer units in 1/18th second; link_delay = ((end_time - start_time) * 6) / conversion_factor; if (link_delay == 0) { link_delay = 1; }/*IF*/ link_delay *= 55; /* Convert link delay to milliseconds */ The "Link Delay" is used as the network transport time when advertized in the IPX RIP packet tuple for the network entry "Common Net #". For a consistent network, a common link delay is required at both ends of the link and is calculated by the link "Master". Link Delay is specified in milli seconds.Allen [Page 17]RFC 1634 IPXWAN May 1994 The Common Net # is supplied by the link "Master". This number must be unique in the connected internetwork. Each WAN call requires a separate number. If the negotiated Router Type was Unnumbered RIP, On-demand, or NLSP, the specified Common Net # will be zero. This packet should contain a sequence number starting at zero. This packet should ONLY be sent by the router or workstation determining themselves to be the "Slave" of the link. If extra options are included in this packet, they should be silently discarded.If the information option is missing, the link MUST be
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -