📄 rfc1634.txt
字号:
its network, NIC address and "Router Name" field (so that file server
connections can be maintained after the reconnect). In this case,
the workstation will set its WNodeID field to FFFFFFFFh forcing
itself to be the link master. In this case, the router will respond
to the workstation's Timer Request with only the Workstation Router
Type acknowledged.
Further packets in the IPXWAN exchange MUST use the correct WNodeID
(workstations will always use zero).
Allen [Page 6]
RFC 1634 IPXWAN May 1994
On receiving a Timer Request packet, a router determines its role -
master or slave - for the remainder of the IPXWAN exchanges. The
master role does not denote special privileges, it merely means that
the router is the requestor in the ensuing request/response
exchanges. The descision is made as follows:
a) If the WNodeID field is zero in the sent and the received Timer
Requests
i) If both Timer Requests include an Extended Node ID, the
router with the higher numeric value of this field is the
Master. If the two Extended Node ID fields are equal, a
configuration error has occurred. After reporting the error,
the router issues a disconnect on the underlying data-link
connection. Manual intervention is needed to correct the
error condition.
ii) If only one Timer Request includes the Extended Node ID,
the router sending it is the Master.
iii) If neither Timer Request includes the Extended Node ID, a
connection cannot be established. The data-link circuit is
cleared by the system that initiated it.
b) If either the sent or received Timer Request (or both) contains
a nonzero WNodeID field, the router with the higher WNodeID is
the Master.
c) If the two WNodeID fields are equal and nonzero, a
configuration error has occurred. After reporting the error,
the router issues a disconnect on the underlying data-link
connection. Manual intervention is needed to correct the error
condition.
Note: The Primary Network Number for a workstation when
determining master/slave roles depends on whether the workstation
requires itself to be the master of slave. It should compare the
received WNodeID to that sent in it's own Timer Request.
The numeric comparisons are done by considering each byte of the
WNodeID or Extended Node ID fields as an unsigned integer, and the
first byte as most significant.
The link slave responds to the Timer Request with a Timer Response.
To do so, each option in the received Timer Request is parsed. If an
option is not supported (or recognized), that option is rejected by
changing the WAccept field to "NO" for that option.
Allen [Page 7]
RFC 1634 IPXWAN May 1994
When selecting the router type which will be used on the link, the
first option in the Timer Request which can be supported should be
accepted. All other router types should have the WAccept field set to
"NO". A router MUST NOT accept workstation connectivity to a node
which is another router.
Note: It is permitted for a router to support a numbered routing
type, but not be able to assign the network number. In this case,
that routing type can be selected only if the other router supports
it and is able to assign the network number. This can be determined
by the value of the received WNodeID field. If the router is unable
to assign a network number to the link, it MUST support Unnumbered
RIP and include this option in the Timer Requests.
If a router wishes to provide WAN Client access without supporting
other WAN routing types, a potential problem arises since a router
and WAN client would both just be sending a single Routing Type
option indicating the use of WAN Client. The IPXWAN specification
does not allow a WAN workstation to connect to another WAN
workstation. The method for detecting this is that the sent and
received Timer Requests have a single Routing Type defined of WAN
Client. To overcome this problem, IPXWAN defines that a router MUST
NOT send a single Routing Type if that type is just WAN Client. The
router MUST additionally include one (or more) of the defined routing
types (like WAN RIP) with the WAccept option set to NO. This is so
that a workstation may detect that this is actually a router sending
the Timer Request and not just another workstation trying to call a
workstation. The extra option will serve to be a counted Routing Type
that will be ignored. If a workstation detects it is connecting to
another workstation, it should disconnect the link.
Note that a router supporting a workstation will need to be able to
supply AT LEAST one network number for workstations. All dial-in
workstations could share the same network, and be assigned unique
node numbers by the router, or each workstation could be assigned a
different network number. This is a router specific implementation
detail. Use of a single network for all clients is prefered, however,
this does involve extra work by the router when dealing with
broadcast frames. When the router is the link master and allocating
NIC addresses on a single network,it should ALWAYS use a unique value
- by incrementing the NIC address for each client connection. This
allows a workstation which is reconnecting the ability to specify his
old network and NIC address. It is unlikely with a 6 byte NIC
address, that there will be wrap-around in the numbers that would
cause a problem. Router Node Number allocation should follow a few
simple rules. The six byte NIC address SHOULD have the first byte set
to 2.
Allen [Page 8]
RFC 1634 IPXWAN May 1994
Byte # +--1----2----3----4----5----6-+
| 02 | XX | XX | XX | XX | XX |
+-----------------------------+
In an IEEE address space, this would represent a non-multicast,
locally defined address. Node numbers of zero or -1 are not allowed.
If a slave determines it cannot support any of the supplied routing
protocols in the received Timer Request, it MUST issue a disconnect
on the connection being established. The master of the link
(determined when a Timer Response packet is received) is responsible
for defining the network number that is to be used as a common
network number for the new WAN link, and for calculating the RIP
transport time that will be advertized to other RIP routers for the
new link. This is calculated by stopping the timer which was started
when a Timer Request was initiated and applying the algorithm in
section 4.3.
3.2 Information Exchange
After exchanging Timer Request packets, the link master and slave
have been determined, and the Routing Protocol to be used on the link
is negotiated. The link master is now responsible for sending an
Information Request packet to the slave specifying the network number
to be used on the new link (zero for unnumbered RIP and On Demand),
the calculated transport time to be used in the routing metric, the
Router Name (for management purposes), and for a workstation
connection, the NIC address the workstation will be adopting. The NIC
address option is a separate option added in the Information
Request/Response for workstation connectivity. It is NOT present for
router to router connections.
If a router receives an inappropriate Information Request from a
workstation trying to set the common network number and NIC address
the router MUST overwrite these values with preferred values. When
the workstation receives the Information Response, it MUST note the
new values. If the workstation is unable to adjust to the new values,
it MUST issue a disconnect on the link. If a workstation is the link
master (i.e., it is reconnecting), the router is additionally
responsible for ensuring the "Router Name" field matches that of the
original connection. If the values differ, the call should be
disconnected.
If a router detects an error for which no suitable protocol response
exists (e.g., unable to allocate a network number), the link should
be terminated according to the relevant media specification.
Allen [Page 9]
RFC 1634 IPXWAN May 1994
Under certain circumstances, particularly on X.25 permanent circuits,
it is only possible to detect the remote router went away when it
comes back up again. In this case, one side of the link receives a
Timer Request packet when IPX is in a fully connected state. The
side receiving the Timer Request MUST realize that a problem
occurred, and revert to the IPX link establishment phase.
Furthermore, the routing information learned from this connection
should be immediately discarded.
When Unnumbered RIP, On-demand or Workstation options are negotiated,
Information Request packets are repeated every 20 seconds until a
response is received. For the Numbered RIP links, the Information
Request is NOT resent. Instead, the link is disconnected after a
suitable delay (min. 60 seconds) - this requirement ensures
interoperabilty with earlier versions of IPXWAN. When Information
Requests are repeated, they should continue for a preconfigured time
(min. 60 seconds) or a preconfigured number of retries (e.g., 16).
Each retry uses an incremented sequence number.
3.3 NAK Packets
The IPXWAN protocol uses a NAK packet to indicate the received IPXWAN
packet was not acceptable. A NAK packet is an exact copy of the
received packet with the WPacketType field set to NAK. There are two
anticipated uses of this packet.
- The received WPacketType is invalid or not recognized;
- A badly formed IPXWAN packet is received.
Returning a NAK packet allows the sender a chance to work out what
was wrong. If the sender was unable to determine the problem, the
call can then be disconnected.
The value of the NAK WPacketType is FFh.
4. Information Exchange Packet Formats
All IPX WAN protocol exchanges utilize the standard Novell IPX packet
format. The packets use the IPX defined packet type 04 defining a
Packet Exchange Packet. The socket number 0x9004 is a Novell reserved
socket number for exclusive use with IPX WAN protocol exchange. IPX
defines that a network number of zero (0) is interpreted as being a
local network of unknown number that requires no routing. This
feature is of use to us in transferring these packets before the
common network number is exchanged. Some routers need to know a "Node
Number" (or MAC address) for each node on a link. Node numbers will
Allen [Page 10]
RFC 1634 IPXWAN May 1994
be formed from the "WNode ID" field. The node number will be the 4
bytes of WNode ID followed by 2 bytes of zero. For a workstation, the
node number will be explicitly assigned by the router and notified to
the workstation in the Information Request packet.
Router Type number assignment. Other vendors IPX routing protocols
can make use of the IPXWAN protocol definition by obtaining Router
Types from Novell. This document will then include the new Router
Types (with the references to vendor protocol description documents).
Current Routing Types are:
00 Numbered RIP/SAP
01 NLSP (no RIP/SAP - defined in [8])
02 Unnumbered RIP/SAP
03 On Demand, static routing (no RIP/SAP or NLSP)
04 Workstation (no RIP/SAP)
05-FF Currently undefined
WOption Number assignment. These numbers only need to be assigned
from Novell for the "Timer Request" and "Timer Response" packets.
Packet Types also need to be assigned by Novell. However, the options
within these packets are dependant on the "Router Type" negotiated.
WOption numbers in these packets are then defined by the vendor
defining the Routing Type. The same packet format should still be
maintained.
Router Type 01 will not be described in this document since it
involves knowledge of the NLSP protocol to implement. Please refer to
[8] for a complete specification of these NLSP IPXWAN exchanges and
the NLSP protocol.
Allen [Page 11]
RFC 1634 IPXWAN May 1994
4.1 Timer Request 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 | 00 | Timer Request |
| WNode ID | xx xx xx xx | Primary Net # of |
| | | sending router |
| | | (Hi Lo order) |
| WSequence # | xx | Sequence start at 0 |
| WNum Options | xx | Number of options |
|------------------+-------------------+------------------------|
| WOption Number | xx | Option Identifier |
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -