📄 rfc1577.txt
字号:
more individual ATM endpoint addresses. Note: this does not necessarily mean different End System Identifiers (ESIs) when NSAPAs are used. The last octet of an NSAPA is the NSAPA Selector (SEL) field which can be used to differentiate up to 256 different LISs for the same ESI. (Refer to Section 5.1.3.1, "Private Networks" in [9].)4. Packet Format Implementations MUST support IEEE 802.2 LLC/SNAP encapsulation as described in [2]. LLC/SNAP encapsulation is the default packet format for IP datagrams. This memo recognizes that other encapsulation methods may be used however, in the absence of other knowledge or agreement, LLC/SNAP encapsulation is the default.Laubach [Page 6]RFC 1577 Classical IP and ARP over ATM January 1993 This memo recognizes the future deployment of end-to-end signalling within ATM that will allow negotiation of encapsulation method on a per-VC basis. Signalling negotiations are beyond the scope of this memo.5. MTU Size The default MTU size for IP members operating over the ATM network SHALL be 9180 octets. The LLC/SNAP header is 8 octets, therefore the default ATM AAL5 protocol data unit size is 9188 octets [2]. In classical IP subnets, values other than the default can be used if and only if all members in the LIS have been configured to use the non-default value. This memo recognizes the future deployment of end-to-end signalling within ATM that will allow negotiation of MTU size on a per-VC basis. Signalling negotiations are beyond the scope of this document.6. Address Resolution Address resolution within an ATM logical IP subnet SHALL make use of the ATM Address Resolution Protocol (ATMARP) (based on [3]) and the Inverse ATM Address Resolution Protocol (InATMARP) (based on [12]) as defined in this memo. ATMARP is the same protocol as the ARP protocol presented in [3] with extensions needed to support ARP in a unicast server ATM environment. InATMARP is the same protocol as the original InARP protocol presented in [12] but applied to ATM networks. All IP stations MUST support these protocols as updated and extended in this memo. Use of these protocols differs depending on whether PVCs or SVCs are used.6.1 Permanent Virtual Connections An IP station MUST have a mechanism (eg. manual configuration) for determining what PVCs it has, and in particular which PVCs are being used with LLC/SNAP encapsulation. The details of the mechanism are beyond the scope of this memo. All IP members supporting PVCs are required to use the Inverse ATM Address Resolution Protocol (InATMARP) (refer to [12]) on those VCs using LLC/SNAP encapsulation. In a strict PVC environment, the receiver SHALL infer the relevant VC from the VC on which the InATMARP request (InARP_REQUEST) or response (InARP_REPLY) was received. When the ATM source and/or target address is unknown, the corresponding ATM address length in the InATMARP packet MUST be set to zero (0) indicating a null length, otherwise the appropriate address field should be filled in and the corresponding length set appropriately. InATMARP packet format details are presented later inLaubach [Page 7]RFC 1577 Classical IP and ARP over ATM January 1993 this memo. Directly from [12]: "When the requesting station receives the InARP reply, it may complete the [ATM]ARP table entry and use the provided address information. Note: as with [ATM]ARP, information learned via In[ATM]ARP may be aged or invalidated under certain circumstances." It is the responsibility of each IP station supporting PVCs to re- validate [ATM]ARP table entries as part of the aging process. See Section 6.5 on "ATMARP Table Aging".6.2 Switched Virtual Connections SVCs require support for ATMARP in the non-broadcast, non-multicast environment that ATM networks currently provide. To meet this need a single ATMARP Server MUST be located within the LIS. This server MUST have authoritative responsibility for resolving the ATMARP requests of all IP members within the LIS. The server itself does not actively establish connections. It depends on the clients in the LIS to initiate the ATMARP registration procedure. An individual client connects to the ATMARP server using a point-to-point VC. The server, upon the completion of an ATM call/connection of a new VC specifying LLC/SNAP encapsulation, will transmit an InATMARP request to determine the IP address of the client. The InATMARP reply from the client contains the information necessary for the ATMARP Server to build its ATMARP table cache. This information is used to generate replies to the ATMARP requests it receives. The ATMARP Server mechanism requires that each client be administratively configured with the ATM address of the ATMARP Server atm$arp-req as defined earlier in this memo. There is to be one and only one ATMARP Server operational per logical IP subnet. It is RECOMMENDED that the ATMARP Server also be an IP station. This station MUST be administratively configured to operate and recognize itself as the ATMARP Server for a LIS. The ATMARP Server MUST be configured with an IP address for each logical IP subnet it is serving to support InATMARP requests. This memo recognizes that a single ATMARP Server is not as robust as multiple servers which synchronize their databases correctly. This document is defining the client-server interaction by using a simple, single server approach as a reference model, and does not prohibit more robust approaches which use the same client-server interface.Laubach [Page 8]RFC 1577 Classical IP and ARP over ATM January 19936.3 ATMARP Server Operational Requirements The ATMARP server accepts ATM calls/connections from other ATM end points. At call setup and if the VC supports LLC/SNAP encapsulation, the ATMARP server will transmit to the originating ATM station an InATMARP request (InARP_REQUEST) for each logical IP subnet the server is configured to serve. After receiving an InATMARP reply (InARP_REPLY), the server will examine the IP address and the ATM address. The server will add (or update) the <ATM address, IP address> map entry and timestamp into its ATMARP table. If the InATMARP IP address duplicates a table entry IP address and the InATMARP ATM address does not match the table entry ATM address and there is an open VC associated with that table entry, the InATMARP information is discarded and no modifications to the table are made. ATMARP table entries persist until aged or invalidated. VC call tear down does not remove ATMARP table entries. The ATMARP server, upon receiving an ATMARP request (ARP_REQUEST), will generate the corresponding ATMARP reply (ARP_REPLY) if it has an entry in its ATMARP table. Otherwise it will generate a negative ATMARP reply (ARP_NAK). The ARP_NAK response is an extension to the ARMARP protocol and is used to improve the robustness of the ATMARP server mechanism. With ARP_NAK, a client can determine the difference between a catastrophic server failure and an ATMARP table lookup failure. The ARP_NAK packet format is the same as the received ARP_REQUEST packet format with the operation code set to ARP_NAK, i.e., the ARP_REQUEST packet data is merely copied for transmission with the ARP_REQUEST operation code reset to ARP_NAK. Updating the ATMARP table information timeout, the short form: when the server receives an ATMARP request over a VC, where the source IP and ATM address match the association already in the ATMARP table and the ATM address matches that associated with the VC, the server may update the timeout on the source ATMARP table entry: i.e., if the client is sending ATMARP requests to the server over the same VC that it used to register its ATMARP entry, the server should examine the ATMARP requests and note that the client is still "alive" by updating the timeout on the client's ATMARP table entry. Adding robustness to the address resolution mechanism using ATMARP: when the server receives an ARP_REQUEST over a VC, it examines the source information. If there is no IP address associated with the VC over which the ATMARP request was received and if the source IP address is not associated with any other connection, then the server will add the <ATM address, IP address> entry and timestamp into its ATMARP table and associate the entry with this VC.Laubach [Page 9]RFC 1577 Classical IP and ARP over ATM January 19936.4 ATMARP Client Operational Requirements The ATMARP client is responsible for contacting the ATMARP server to register its own ATMARP information and to gain and refresh its own ATMARP entry/information about other IP members. This means, as noted above, that ATMARP clients MUST be configured with the ATM address of the ATMARP server. ATMARP clients MUST: 1. Initiate the VC connection to the ATMARP server for transmitting and receiving ATMARP and InATMARP packets. 2. Respond to ARP_REQUEST and InARP_REQUEST packets received on any VC appropriately. (Refer to Section 7, "Protocol Operation" in [12].) 3. Generate and transmit ARP_REQUEST packets to the ATMARP server and to process ARP_REPLY and ARP_NAK packets from the server appropriately. ARP_REPLY packets should be used to build/refresh its own client ATMARP table entries. 4. Generate and transmit InARP_REQUEST packets as needed and to process InARP_REPLY packets appropriately. InARP_REPLY packets should be used to build/refresh its own client ATMARP table entries. (Refer to Section 7, "Protocol Operation" in [12].) 5. Provide an ATMARP table aging function to remove its own old client ATMARP tables entries after a convenient period of time. Note: if the client does not maintain an open VC to the server, the client MUST refresh its ATMARP information with the server at least once every 20 minutes. This is done by opening a VC to the server and exchanging the initial InATMARP packets.6.5 ATMARP Table Aging An ATMARP client or server MUST have knowledge of any open VCs it has (permanent or switched), their association with an ATMARP table entry, and in particular, which VCs support LLC/SNAP encapsulation. Client ATMARP table entries are valid for a maximum time of 15 minutes. Server ATMARP table entries are valid for a minimum time of 20 minutes. Prior to aging an ATMARP table entry, an ATMARP server MUST generate an InARP_REQUEST on any open VC associated with that entry. If an InARP_REPLY is received, that table entry is updated and not deleted.Laubach [Page 10]RFC 1577 Classical IP and ARP over ATM January 1993 If there is no open VC associated with the table entry, the entry is deleted. When an ATMARP table entry ages, an ATMARP client MUST invalidate the table entry. If there is no open VC associated with the invalidated entry, that entry is deleted. In the case of an invalidated entry and an open VC, the ATMARP client must revalidate the entry prior to transmitting any non address resolution traffic on that VC. In the case of a PVC, the client validates the entry by transmitting an InARP_REQUEST and updating the entry on receipt of an InARP_REPLY. In the case of an SVC, the client validates the entry by transmitting an ARP_REQUEST to the ATMARP Server and updating the entry on receipt of an ARP_REPLY. If a VC with an associated invalidated ATMARP table entry is closed, that table entry is removed.6.6 ATMARP and InATMARP Packet Format Internet addresses are assigned independently of ATM addresses. Each host implementation MUST know its own IP and ATM address(es) and MUST respond to address resolution requests appropriately. IP members MUST also use ATMARP and InATMARP to resolve IP addresses to ATM addresses when needed. The ATMARP and InATMARP protocols use the same hardware type (ar$hrd), protocol type (ar$pro), and operation code (ar$op) data formats as the ARP and InARP protocols [3,12]. The location of these fields within the ATMARP packet are in the same byte position as those in ARP and InARP packets. A unique hardware type value has been assigned for ATMARP. In addition, ATMARP makes use of an additional operation code for ARP_NAK. The remainder of the ATMARP/InATMARP packet format is different than the ARP/InARP packet format. The ATMARP and InATMARP protocols have several fields that have the following format and values: Data: ar$hrd 16 bits Hardware type ar$pro 16 bits Protocol type ar$shtl 8 bits Type & length of source ATM number (q) ar$sstl 8 bits Type & length of source ATM subaddress (r) ar$op 16 bits Operation code (request, reply, or NAK) ar$spln 8 bits Length of source protocol address (s) ar$thtl 8 bits Type & length of target ATM number (x) ar$tstl 8 bits Type & length of target ATM subaddress (y) ar$tpln 8 bits Length of target protocol address (z) ar$sha qoctets source ATM number ar$ssa roctets source ATM subaddressLaubach [Page 11]RFC 1577 Classical IP and ARP over ATM January 1993 ar$spa soctets source protocol address ar$tha xoctets target ATM number ar$tsa yoctets target ATM subaddress ar$tpa zoctets target protocol address Where: ar$hrd - assigned to ATM Forum address family and is 19 decimal (0x0013) [4]. ar$pro - see Assigned Numbers for protocol type number for the protocol using ATMARP. (IP is 0x0800). ar$op - The operation type value (decimal): ARP_REQUEST = 1 ARP_REPLY = 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -