📄 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 in
Laubach [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 1993
6.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 1993
6.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 subaddress
Laubach [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 + -