home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1500s / rfc1577.txt < prev    next >
Text File  |  1994-01-18  |  41KB  |  955 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         M. Laubach
  8. Request for Comments: 1577                  Hewlett-Packard Laboratories
  9. Category: Standards Track                                   January 1994
  10.  
  11.  
  12.                      Classical IP and ARP over ATM
  13.  
  14. Status of this Memo
  15.  
  16.    This document specifies an Internet standards track protocol for the
  17.    Internet community, and requests discussion and suggestions for
  18.    improvements.  Please refer to the current edition of the "Internet
  19.    Official Protocol Standards" (STD 1) for the standardization state
  20.    and status of this protocol.  Distribution of this memo is unlimited.
  21.  
  22. Abstract
  23.  
  24.    This memo defines an initial application of classical IP and ARP in
  25.    an Asynchronous Transfer Mode (ATM) network environment configured as
  26.    a Logical IP Subnetwork (LIS) as described in Section 3.  This memo
  27.    does not preclude the subsequent development of ATM technology into
  28.    areas other than a LIS; specifically, as single ATM networks grow to
  29.    replace many ethernet local LAN segments and as these networks become
  30.    globally connected, the application of IP and ARP will be treated
  31.    differently.  This memo considers only the application of ATM as a
  32.    direct replacement for the "wires" and local LAN segments connecting
  33.    IP end-stations ("members") and routers operating in the "classical"
  34.    LAN-based paradigm. Issues raised by MAC level bridging and LAN
  35.    emulation are beyond the scope of this paper.
  36.  
  37.    This memo introduces general ATM technology and nomenclature.
  38.    Readers are encouraged to review the ATM Forum and ITU-TS (formerly
  39.    CCITT) references for more detailed information about ATM
  40.    implementation agreements and standards.
  41.  
  42. Acknowledgments
  43.  
  44.    This memo could not have come into being without the critical review
  45.    from Jim Forster of Cisco Systems, Drew Perkins of FORE Systems, and
  46.    Bryan Lyles, Steve Deering, and Berry Kercheval of XEROX PARC.  The
  47.    concepts and models presented in [1], written by Dave Piscitello and
  48.    Joseph Lawrence, laid the structural groundwork for this work. ARP
  49.    [3] written by Dave Plummer and Inverse ARP [12] written by Terry
  50.    Bradley and Caralyn Brown are the foundation of ATMARP presented in
  51.    this memo.  This document could have not been completed without the
  52.    expertise of the IP over ATM Working Group of the IETF and the ad hoc
  53.    PVC committee at the Amsterdam IETF meeting.
  54.  
  55.  
  56.  
  57.  
  58. Laubach                                                         [Page 1]
  59.  
  60. RFC 1577             Classical IP and ARP over ATM          January 1993
  61.  
  62.  
  63. 1. Conventions
  64.  
  65.    The following language conventions are used in the items of
  66.    specification in this document:
  67.  
  68.    o   MUST, SHALL, or MANDATORY -- the item is an absolute requirement
  69.        of the specification.
  70.  
  71.    o   SHOULD or RECOMMEND -- this item should generally be followed for
  72.        all but exceptional circumstances.
  73.  
  74.    o   MAY or OPTIONAL -- the item is truly optional and may be followed
  75.        or ignored according to the needs of the implementor.
  76.  
  77. 2.  Introduction
  78.  
  79.    The goal of this specification is to allow compatible and
  80.    interoperable implementations for transmitting IP datagrams and ATM
  81.    Address Resolution Protocol (ATMARP) requests and replies over ATM
  82.    Adaptation Layer 5 (AAL5)[2,6].
  83.  
  84.    Note: this memo defines only the operation of IP and address
  85.    resolution over ATM, and is not meant to describe the operation of
  86.    ATM networks. Any reference to virtual connections, permanent virtual
  87.    connections, or switched virtual connections applies only to virtual
  88.    channel connections used to support IP and address resolution over
  89.    ATM, and thus are assumed to be using AAL5.  This memo places no
  90.    restrictions or requirements on virtual connections used for other
  91.    purposes.
  92.  
  93.    Initial deployment of ATM provides a LAN segment replacement for:
  94.  
  95.       1)  Local area networks (e.g., Ethernets, Token Rings and FDDI).
  96.  
  97.       2)  Local-area backbones between existing (non-ATM) LANs.
  98.  
  99.       3)  Dedicated circuits or frame relay PVCs between IP routers.
  100.  
  101.    Note: In 1), local IP routers with one or more ATM interfaces will be
  102.    able to connect islands of ATM networks.  In 3), public or private
  103.    ATM Wide Area networks will be used to connect IP routers, which in
  104.    turn may or may not connect to local ATM networks.  ATM WANs and LANs
  105.    may be interconnected.
  106.  
  107.    Private ATM networks (local or wide area) will use the private ATM
  108.    address structure specified in the ATM Forum UNI specification [9].
  109.    This structure is modeled after the format of an OSI Network Service
  110.    Access Point Address.  A private ATM address uniquely identifies an
  111.  
  112.  
  113.  
  114. Laubach                                                         [Page 2]
  115.  
  116. RFC 1577             Classical IP and ARP over ATM          January 1993
  117.  
  118.  
  119.    ATM endpoint.  Public networks will use either the address structure
  120.    specified in ITU-TS recommendation E.164 or the private network ATM
  121.    address structure.  An E.164 address uniquely identifies an interface
  122.    to a public network.
  123.  
  124.    The characteristics and features of ATM networks are different than
  125.    those found in LANs:
  126.  
  127.    o   ATM provides a Virtual Connection (VC) switched environment. VC
  128.        setup may be done on either a Permanent Virtual Connection (PVC)
  129.        or dynamic Switched Virtual Connection (SVC) basis. SVC call
  130.        management signalling is performed via implementations of the
  131.        Q.93B protocol [7,9].
  132.  
  133.    o   Data to be passed by a VC is segmented into 53 octet quantities
  134.        called cells (5 octets of ATM header and 48 octets of data).
  135.  
  136.    o   The function of mapping user Protocol Data Units (PDUs) into the
  137.        information field of the ATM cell and vice versa is performed in
  138.        the ATM Adaptation Layer (AAL).  When a VC is created a specific
  139.        AAL type is associated with the VC.  There are four different AAL
  140.        types, which are referred to individually as "AAL1", "AAL2",
  141.        "AAL3/4", and "AAL5".  (Note: this memo concerns itself with the
  142.        mapping of IP and ATMARP over AAL5 only.  The other AAL types are
  143.        mentioned for introductory purposes only.)  The AAL type is known
  144.        by the VC end points via the call setup mechanism and is not
  145.        carried in the ATM cell header.  For PVCs the AAL type is
  146.        administratively configured at the end points when the Connection
  147.        (circuit) is set up.  For SVCs, the AAL type is communicated
  148.        along the VC path via Q.93B as part of call setup establishment
  149.        and the end points use the signaled information for
  150.        configuration.  ATM switches generally do not care about the AAL
  151.        type of VCs.  The AAL5 format specifies a packet format with a
  152.        maximum size of (64K - 1) octets of user data. Cells for an AAL5
  153.        PDU are transmitted first to last, the last cell indicating the
  154.        end of the PDU.  ATM standards guarantee that on a given VC, cell
  155.        ordering is preserved end-to-end.  NOTE: AAL5 provides a non-
  156.        assured data transfer service - it is up to higher-level
  157.        protocols to provide retransmission.
  158.  
  159.    o   ATM Forum signalling defines point-to-point and point-to-
  160.        multipoint Connection setup [9].  Multipoint-to-multipoint VCs
  161.        are not yet specified by ITU-TS or ATM Forum.
  162.  
  163.    o   An ATM Forum ATM endpoint address is either encoded as an NSAP
  164.        Address (NSAPA) or is an E.164 Public-UNI address [9].  In some
  165.        cases, both an ATM endpoint address and an E.164 Public UNI
  166.        address are needed by an ATMARP client to reach another host or
  167.  
  168.  
  169.  
  170. Laubach                                                         [Page 3]
  171.  
  172. RFC 1577             Classical IP and ARP over ATM          January 1993
  173.  
  174.  
  175.        router.  Since the use of ATM endpoint addresses and E.164 public
  176.        UNI addresses by ATMARP are analogous to the use of Ethernet
  177.        addresses, the notion of "hardware address" is extended to
  178.        encompass ATM addresses in the context of ATMARP, even though ATM
  179.        addresses need not have hardware significance.  ATM Forum NSAPAs
  180.        use the same basic format as U.S. GOSIP NSAPAs [11].  Note: ATM
  181.        Forum addresses should not be construed as being U.S. GOSIP
  182.        NSAPAs.  They are not, the administration is different, which
  183.        fields get filled out are different, etc.
  184.  
  185.    This memo describes the initial deployment of ATM within "classical"
  186.    IP networks as a direct replacement for local area networks
  187.    (ethernets) and for IP links which interconnect routers, either
  188.    within or between administrative domains. The "classical" model here
  189.    refers to the treatment of the ATM host adapter as a networking
  190.    interface to the IP protocol stack operating in a LAN-based paradigm.
  191.  
  192.    Characteristics of the classical model are:
  193.  
  194.     o  The same maximum transmission unit (MTU) size is used for all VCs
  195.        in a LIS [2].  (Refer to Section 5.)
  196.  
  197.     o  Default LLC/SNAP encapsulation of IP packets.
  198.  
  199.     o  End-to-end IP routing architecture stays the same.
  200.  
  201.     o  IP addresses are resolved to ATM addresses by use of an ATMARP
  202.        service within the LIS - ATMARPs stay within the LIS.  From a
  203.        client's perspective, the ATMARP architecture stays faithful to
  204.        the basic ARP model presented in [3].
  205.  
  206.     o  One IP subnet is used for many hosts and routers. Each VC
  207.        directly connects two IP members within the same LIS.
  208.  
  209.    Future memos will describe the operation of IP over ATM when ATM
  210.    networks become globally deployed and interconnected.
  211.  
  212.    The deployment of ATM into the Internet community is just beginning
  213.    and will take many years to complete. During the early part of this
  214.    period, we expect deployment to follow traditional IP subnet
  215.    boundaries for the following reasons:
  216.  
  217.     o  Administrators and managers of IP subnetworks will tend to
  218.        initially follow the same models as they currently have deployed.
  219.        The mindset of the community will change slowly over time as ATM
  220.        increases its coverage and builds its credibility.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Laubach                                                         [Page 4]
  227.  
  228. RFC 1577             Classical IP and ARP over ATM          January 1993
  229.  
  230.  
  231.     o  Policy administration practices rely on the security, access,
  232.        routing, and filtering capability of IP Internet gateways: i.e.,
  233.        firewalls. ATM will not be allowed to "back-door" around these
  234.        mechanisms until ATM provides better management capability than
  235.        the existing services and practices.
  236.  
  237.     o  Standards for global IP over ATM will take some time to complete
  238.        and deploy.
  239.  
  240.    This memo details the treatment of the classical model of IP and
  241.    ATMARP over ATM. This memo does not preclude the subsequent treatment
  242.    of ATM networks within the IP framework as ATM becomes globally
  243.    deployed and interconnected; this will be the subject of future
  244.    documents. This memo does not address issues related to transparent
  245.    data link layer interoperability.
  246.  
  247. 3.  IP Subnetwork Configuration
  248.  
  249.    In the LIS scenario, each separate administrative entity configures
  250.    its hosts and routers within a closed logical IP subnetwork.  Each
  251.    LIS operates and communicates independently of other LISs on the same
  252.    ATM network. Hosts connected to ATM communicate directly to other
  253.    hosts within the same LIS. Communication to hosts outside of the
  254.    local LIS is provided via an IP router. This router is an ATM
  255.    Endpoint attached to the ATM network that is configured as a member
  256.    of one or more LISs.  This configuration may result in a number of
  257.    disjoint LISs operating over the same ATM network. Hosts of differing
  258.    IP subnets MUST communicate via an intermediate IP router even though
  259.    it may be possible to open a direct VC between the two IP members
  260.    over the ATM network.
  261.  
  262.    The requirements for IP members  (hosts, routers) operating in an ATM
  263.    LIS configuration are:
  264.  
  265.    o   All members have the same IP network/subnet number and address
  266.        mask [8].
  267.  
  268.    o   All members within a LIS are directly connected to the ATM
  269.        network.
  270.  
  271.    o   All members outside of the LIS are accessed via a router.
  272.  
  273.    o   All members of a LIS MUST have a mechanism for resolving IP
  274.        addresses to ATM addresses via ATMARP (based on [3]) and vice
  275.        versa via InATMARP (based on [12]) when using SVCs.  Refer to
  276.        Section 6 "Address Resolution" in this memo.
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Laubach                                                         [Page 5]
  283.  
  284. RFC 1577             Classical IP and ARP over ATM          January 1993
  285.  
  286.  
  287.    o   All members of a LIS MUST have a mechanism for resolving VCs to
  288.        IP addresses via InATMARP (based on [12]) when using PVCs.  Refer
  289.        to Section 6 "Address Resolution" in this memo.
  290.  
  291.    o   All members within a LIS MUST be able to communicate via ATM with
  292.        all other members in the same LIS; i.e., the virtual Connection
  293.        topology underlying the intercommunication among the members is
  294.        fully meshed.
  295.  
  296.    The following list identifies a set of ATM specific parameters that
  297.    MUST be implemented in each IP station connected to the ATM network:
  298.  
  299.    o   ATM Hardware Address (atm$ha). The ATM address of the individual
  300.        IP station.
  301.  
  302.    o   ATMARP Request Address (atm$arp-req). atm$arp-req is the ATM
  303.        address of an individual ATMARP server located within the LIS.
  304.        In an SVC environment, ATMARP requests are sent to this address
  305.        for the resolution of target protocol addresses to target ATM
  306.        addresses.  That server MUST have authoritative responsibility
  307.        for resolving ATMARP requests of all IP members within the LIS.
  308.        Note: if the LIS is operating with PVCs only, then this parameter
  309.        may be set to null and the IP station is not required to send
  310.        ATMARP requests to the ATMARP server.
  311.  
  312.    It is RECOMMENDED that routers providing LIS functionality over the
  313.    ATM network also support the ability to interconnect multiple LISs.
  314.    Routers that wish to provide interconnection of differing LISs MUST
  315.    be able to support multiple sets of these parameters (one set for
  316.    each connected LIS) and be able to associate each set of parameters
  317.    to a specific IP network/ subnet number. In addition, it is
  318.    RECOMMENDED that a router be able to provide this multiple LIS
  319.    support with a single physical ATM interface that may have one or
  320.    more individual ATM endpoint addresses.  Note: this does not
  321.    necessarily mean different End System Identifiers (ESIs) when NSAPAs
  322.    are used.  The last octet of an NSAPA is the NSAPA Selector (SEL)
  323.    field which can be used to differentiate up to 256 different LISs for
  324.    the same ESI. (Refer to Section 5.1.3.1, "Private Networks" in [9].)
  325.  
  326. 4.  Packet Format
  327.  
  328.    Implementations MUST support IEEE 802.2 LLC/SNAP encapsulation as
  329.    described in [2].  LLC/SNAP encapsulation is the default packet
  330.    format for IP datagrams.
  331.  
  332.    This memo recognizes that other encapsulation methods may be used
  333.    however, in the absence of other knowledge or agreement, LLC/SNAP
  334.    encapsulation is the default.
  335.  
  336.  
  337.  
  338. Laubach                                                         [Page 6]
  339.  
  340. RFC 1577             Classical IP and ARP over ATM          January 1993
  341.  
  342.  
  343.    This memo recognizes the future deployment of end-to-end signalling
  344.    within ATM that will allow negotiation of encapsulation method on a
  345.    per-VC basis.  Signalling negotiations are beyond the scope of this
  346.    memo.
  347.  
  348. 5.  MTU Size
  349.  
  350.    The default MTU size for IP members operating over the ATM network
  351.    SHALL be 9180 octets. The LLC/SNAP header is 8 octets, therefore the
  352.    default ATM AAL5 protocol data unit size is 9188 octets [2].  In
  353.    classical IP subnets, values other than the default can be used if
  354.    and only if all members in the LIS have been configured to use the
  355.    non-default value.
  356.  
  357.    This memo recognizes the future deployment of end-to-end signalling
  358.    within ATM that will allow negotiation of MTU size on a per-VC basis.
  359.    Signalling negotiations are beyond the scope of this document.
  360.  
  361. 6.  Address Resolution
  362.  
  363.    Address resolution within an ATM logical IP subnet SHALL make use of
  364.    the ATM Address Resolution Protocol (ATMARP) (based on [3]) and the
  365.    Inverse ATM Address Resolution Protocol (InATMARP) (based on [12]) as
  366.    defined in this memo.  ATMARP is the same protocol as the ARP
  367.    protocol presented in [3] with extensions needed to support ARP in a
  368.    unicast server ATM environment.  InATMARP is the same protocol as the
  369.    original InARP protocol presented in [12] but applied to ATM
  370.    networks.  All IP stations MUST support these protocols as updated
  371.    and extended in this memo.  Use of these protocols differs depending
  372.    on whether PVCs or SVCs are used.
  373.  
  374. 6.1 Permanent Virtual Connections
  375.  
  376.    An IP station MUST have a mechanism (eg. manual configuration) for
  377.    determining what PVCs it has, and in particular which PVCs are being
  378.    used with LLC/SNAP encapsulation.  The details of the mechanism are
  379.    beyond the scope of this memo.
  380.  
  381.    All IP members supporting PVCs are required to use the Inverse ATM
  382.    Address Resolution Protocol (InATMARP) (refer to [12]) on those VCs
  383.    using LLC/SNAP encapsulation.  In a strict PVC environment, the
  384.    receiver SHALL infer the relevant VC from the VC on which the
  385.    InATMARP request (InARP_REQUEST) or response (InARP_REPLY) was
  386.    received.  When the ATM source and/or target address is unknown, the
  387.    corresponding ATM address length in the InATMARP packet MUST be set
  388.    to zero (0) indicating a null length, otherwise the appropriate
  389.    address field should be filled in and the corresponding length set
  390.    appropriately. InATMARP packet format details are presented later in
  391.  
  392.  
  393.  
  394. Laubach                                                         [Page 7]
  395.  
  396. RFC 1577             Classical IP and ARP over ATM          January 1993
  397.  
  398.  
  399.    this memo.
  400.  
  401.    Directly from [12]: "When the requesting station receives the InARP
  402.    reply, it may complete the [ATM]ARP table entry and use the provided
  403.    address information.  Note: as with [ATM]ARP, information learned via
  404.    In[ATM]ARP  may be aged or invalidated under certain circumstances."
  405.    It is the responsibility of each IP station supporting PVCs to re-
  406.    validate [ATM]ARP table entries as part of the aging process.  See
  407.    Section 6.5 on "ATMARP Table Aging".
  408.  
  409. 6.2 Switched Virtual Connections
  410.  
  411.    SVCs require support for ATMARP in the non-broadcast, non-multicast
  412.    environment that ATM networks currently provide. To meet this need a
  413.    single ATMARP Server MUST be located within the LIS. This server MUST
  414.    have authoritative responsibility for resolving the ATMARP requests
  415.    of all IP members within the LIS.
  416.  
  417.    The server itself does not actively establish connections.  It
  418.    depends on the clients in the LIS to initiate the ATMARP registration
  419.    procedure.  An individual client connects to the ATMARP server using
  420.    a point-to-point VC. The server, upon the completion of an ATM
  421.    call/connection of a new VC specifying LLC/SNAP encapsulation, will
  422.    transmit an InATMARP request to determine the IP address of the
  423.    client.  The InATMARP reply from the client contains the information
  424.    necessary for the ATMARP Server to build its ATMARP table cache. This
  425.    information is used to generate replies to the ATMARP requests it
  426.    receives.
  427.  
  428.    The ATMARP Server mechanism requires that each client be
  429.    administratively configured with the ATM address of the ATMARP Server
  430.    atm$arp-req as defined earlier in this memo. There is to be one and
  431.    only one ATMARP Server operational per logical IP subnet. It is
  432.    RECOMMENDED that the ATMARP Server also be an IP station. This
  433.    station MUST be administratively configured to operate and recognize
  434.    itself as the ATMARP Server for a LIS. The ATMARP Server MUST be
  435.    configured with an IP address for each logical IP subnet it is
  436.    serving to support InATMARP requests.
  437.  
  438.    This memo recognizes that a single ATMARP Server is not as robust as
  439.    multiple servers which synchronize their databases correctly. This
  440.    document is defining the client-server interaction by using a simple,
  441.    single server approach as a reference model, and does not prohibit
  442.    more robust approaches which use the same client-server interface.
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Laubach                                                         [Page 8]
  451.  
  452. RFC 1577             Classical IP and ARP over ATM          January 1993
  453.  
  454.  
  455. 6.3 ATMARP Server Operational Requirements
  456.  
  457.    The ATMARP server accepts ATM calls/connections from other ATM end
  458.    points. At call setup and if the VC supports LLC/SNAP encapsulation,
  459.    the ATMARP server will transmit to the originating ATM station an
  460.    InATMARP request (InARP_REQUEST) for each logical IP subnet the
  461.    server is configured to serve. After receiving an InATMARP reply
  462.    (InARP_REPLY), the server will examine the IP address and the ATM
  463.    address. The server will add (or update) the <ATM address, IP
  464.    address> map entry and timestamp into its ATMARP table.  If the
  465.    InATMARP IP address duplicates a table entry IP address and the
  466.    InATMARP ATM address does not match the table entry ATM address and
  467.    there is an open VC associated with that table entry, the InATMARP
  468.    information is discarded and no modifications to the table are made.
  469.    ATMARP table entries persist until aged or invalidated. VC call tear
  470.    down does not remove ATMARP table entries.
  471.  
  472.    The ATMARP server, upon receiving an ATMARP request (ARP_REQUEST),
  473.    will generate the corresponding ATMARP reply (ARP_REPLY) if it has an
  474.    entry in its ATMARP table.  Otherwise it will generate a negative
  475.    ATMARP reply (ARP_NAK).  The ARP_NAK response is an extension to the
  476.    ARMARP protocol and is used to improve the robustness of the ATMARP
  477.    server mechanism.  With ARP_NAK, a client can determine the
  478.    difference between a catastrophic server failure and an ATMARP table
  479.    lookup failure.  The ARP_NAK packet format is the same as the
  480.    received ARP_REQUEST packet format with the operation code set to
  481.    ARP_NAK, i.e., the ARP_REQUEST packet data is merely copied for
  482.    transmission with the ARP_REQUEST operation code reset to ARP_NAK.
  483.  
  484.    Updating the ATMARP table information timeout, the short form: when
  485.    the server receives an ATMARP request over a VC, where the source IP
  486.    and ATM address match the association already in the ATMARP table and
  487.    the ATM address matches that associated with the VC, the server may
  488.    update the timeout on the source ATMARP table entry: i.e., if the
  489.    client is sending ATMARP requests to the server over the same VC that
  490.    it used to register its ATMARP entry, the server should examine the
  491.    ATMARP requests and note that the client is still "alive" by updating
  492.    the timeout on the client's ATMARP table entry.
  493.  
  494.    Adding robustness to the address resolution mechanism using ATMARP:
  495.    when the server receives an ARP_REQUEST over a VC, it examines the
  496.    source information.  If there is no IP address associated with the VC
  497.    over which the ATMARP request was received and if the source IP
  498.    address is not associated with any other connection, then the server
  499.    will add the <ATM address, IP address> entry and timestamp into its
  500.    ATMARP table and associate the entry with this VC.
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Laubach                                                         [Page 9]
  507.  
  508. RFC 1577             Classical IP and ARP over ATM          January 1993
  509.  
  510.  
  511. 6.4 ATMARP Client Operational Requirements
  512.  
  513.    The ATMARP client is responsible for contacting the ATMARP server to
  514.    register its own ATMARP information and to gain and refresh its own
  515.    ATMARP entry/information about other IP members.  This means, as
  516.    noted above, that ATMARP clients MUST be configured with the ATM
  517.    address of the ATMARP server. ATMARP clients MUST:
  518.  
  519.       1. Initiate the VC connection to the ATMARP server for
  520.          transmitting and receiving ATMARP and InATMARP packets.
  521.  
  522.       2. Respond to ARP_REQUEST and InARP_REQUEST packets received on
  523.          any VC appropriately.  (Refer to Section 7, "Protocol Operation"
  524.          in [12].)
  525.  
  526.       3. Generate and transmit ARP_REQUEST packets to the ATMARP server
  527.          and to process ARP_REPLY and ARP_NAK packets from the server
  528.          appropriately.  ARP_REPLY packets should be used to
  529.          build/refresh its own client ATMARP table entries.
  530.  
  531.       4. Generate and transmit InARP_REQUEST packets as needed and to
  532.          process InARP_REPLY packets appropriately.  InARP_REPLY packets
  533.          should be used to build/refresh its own client ATMARP table
  534.          entries.  (Refer to Section 7, "Protocol Operation" in [12].)
  535.  
  536.       5. Provide an ATMARP table aging function to remove its own old
  537.          client ATMARP tables entries after a convenient period of time.
  538.  
  539.    Note: if the client does not maintain an open VC to the server, the
  540.    client MUST refresh its ATMARP information with the server at least
  541.    once every 20 minutes.  This is done by opening a VC to the server
  542.    and exchanging the initial InATMARP packets.
  543.  
  544. 6.5 ATMARP Table Aging
  545.  
  546.    An ATMARP client or server MUST have knowledge of any open VCs it has
  547.    (permanent or switched), their association with an ATMARP table
  548.    entry, and in particular, which VCs support LLC/SNAP encapsulation.
  549.  
  550.    Client ATMARP table entries are valid for a maximum time of 15
  551.    minutes.
  552.  
  553.    Server ATMARP table entries are valid for a minimum time of 20
  554.    minutes.
  555.  
  556.    Prior to aging an ATMARP table entry, an ATMARP server MUST generate
  557.    an InARP_REQUEST on any open VC associated with that entry. If an
  558.    InARP_REPLY is received, that table entry is updated and not deleted.
  559.  
  560.  
  561.  
  562. Laubach                                                        [Page 10]
  563.  
  564. RFC 1577             Classical IP and ARP over ATM          January 1993
  565.  
  566.  
  567.    If there is no open VC associated with the table entry, the entry is
  568.    deleted.
  569.  
  570.    When an ATMARP table entry ages, an ATMARP client MUST invalidate the
  571.    table entry. If there is no open VC associated with the invalidated
  572.    entry, that entry is deleted. In the case of an invalidated entry and
  573.    an open VC, the ATMARP client must revalidate the entry prior to
  574.    transmitting any non address resolution traffic on that VC. In the
  575.    case of a PVC, the client validates the entry by transmitting an
  576.    InARP_REQUEST and updating the entry on receipt of an InARP_REPLY. In
  577.    the case of an SVC, the client validates the entry by transmitting an
  578.    ARP_REQUEST to the ATMARP Server and updating the entry on receipt of
  579.    an ARP_REPLY. If a VC with an associated invalidated ATMARP table
  580.    entry is closed, that table entry is removed.
  581.  
  582. 6.6 ATMARP and InATMARP Packet Format
  583.  
  584.    Internet addresses are assigned independently of ATM addresses.  Each
  585.    host implementation MUST know its own IP and ATM address(es) and MUST
  586.    respond to address resolution requests appropriately.  IP members
  587.    MUST also use ATMARP and InATMARP to resolve IP addresses to ATM
  588.    addresses when needed.
  589.  
  590.    The ATMARP and InATMARP protocols use the same hardware type
  591.    (ar$hrd), protocol type (ar$pro), and operation code (ar$op) data
  592.    formats as the ARP and InARP protocols [3,12].  The location of these
  593.    fields within the ATMARP packet are in the same byte position as
  594.    those in ARP and InARP packets.  A unique hardware type value has
  595.    been assigned for ATMARP.  In addition, ATMARP makes use of an
  596.    additional operation code for ARP_NAK.  The remainder of the
  597.    ATMARP/InATMARP packet format is different than the ARP/InARP packet
  598.    format.
  599.  
  600.    The ATMARP and InATMARP protocols have several fields that have the
  601.    following format and values:
  602.  
  603.    Data:
  604.      ar$hrd     16 bits  Hardware type
  605.      ar$pro     16 bits  Protocol type
  606.      ar$shtl     8 bits  Type & length of source ATM number (q)
  607.      ar$sstl     8 bits  Type & length of source ATM subaddress (r)
  608.      ar$op      16 bits  Operation code (request, reply, or NAK)
  609.      ar$spln     8 bits  Length of source protocol address (s)
  610.      ar$thtl     8 bits  Type & length of target ATM number (x)
  611.      ar$tstl     8 bits  Type & length of target ATM subaddress (y)
  612.      ar$tpln     8 bits  Length of target protocol address (z)
  613.      ar$sha     qoctets  source ATM number
  614.      ar$ssa     roctets  source ATM subaddress
  615.  
  616.  
  617.  
  618. Laubach                                                        [Page 11]
  619.  
  620. RFC 1577             Classical IP and ARP over ATM          January 1993
  621.  
  622.  
  623.      ar$spa     soctets  source protocol address
  624.      ar$tha     xoctets  target ATM number
  625.      ar$tsa     yoctets  target ATM subaddress
  626.      ar$tpa     zoctets  target protocol address
  627.  
  628.    Where:
  629.  
  630.      ar$hrd  -  assigned to ATM Forum address family and is
  631.                 19 decimal (0x0013) [4].
  632.  
  633.      ar$pro  -  see Assigned Numbers for protocol type number for
  634.                 the protocol using ATMARP. (IP is 0x0800).
  635.  
  636.      ar$op   -  The operation type value (decimal):
  637.                 ARP_REQUEST   = 1
  638.                 ARP_REPLY     = 2
  639.                 InARP_REQUEST = 8
  640.                 InARP_REPLY   = 9
  641.                 ARP_NAK       = 10
  642.  
  643.      ar$spln -  length in octets of the source protocol address. For
  644.                 IP ar$spln is 4.
  645.  
  646.      ar$tpln -  length in octets of the target protocol address. For
  647.                 IP ar$tpln is 4.
  648.  
  649.      ar$sha  -  source ATM number (E.164 or ATM Forum NSAPA)
  650.  
  651.      ar$ssa  -  source ATM subaddress (ATM Forum NSAPA)
  652.  
  653.      ar$spa  -  source protocol address
  654.  
  655.      ar$tha  -  target ATM number (E.164 or ATM Forum NSAPA)
  656.  
  657.      ar$tsa  -  target ATM subaddress (ATM Forum NSAPA)
  658.  
  659.      ar$tpa  -  target protocol address
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Laubach                                                        [Page 12]
  675.  
  676. RFC 1577             Classical IP and ARP over ATM          January 1993
  677.  
  678.  
  679.    The encoding of the 8-bit type and length value for ar$shtl,
  680.    ar$sstl, ar$thtl, and ar$tstl is as follows:
  681.  
  682.      MSB   8     7     6     5     4     3     2     1   LSB
  683.         +-----+-----+-----+-----+-----+-----+-----+-----+
  684.         |  0  | 1/0 |   Octet length of address         |
  685.         +-----+-----+-----+-----+-----+-----+-----+-----+
  686.  
  687.    Where:
  688.  
  689.      bit.8   (reserved) = 0  (for future use)
  690.  
  691.      bit.7   (type)     = 0  ATM Forum NSAPA format
  692.                         = 1  E.164 format
  693.  
  694.      bit.6-1 (length)   = 6 bit unsigned octet length of address
  695.                           (MSB = bit.6, LSB = bit.1)
  696.  
  697.    ATM addresses in Q.93B (as defined by the ATM Forum UNI 3.0
  698.    signalling specification [9]) include a "Calling Party Number
  699.    Information Element" and a "Calling Party Subaddress Information
  700.    Element".  These Information Elements (IEs) SHOULD map to
  701.    ATMARP/InATMARP source ATM number and source ATM subaddress
  702.    respectively.  Furthermore, ATM Forum defines a "Called Party Number
  703.    Information Element" and a "Called Party Subaddress Information
  704.    Element". These IEs map to ATMARP/InATMARP target ATM number and
  705.    target ATM subaddress respectively.
  706.  
  707.    The ATM Forum defines three structures for the combined use of number
  708.    and subaddress [9]:
  709.  
  710.                         ATM Number      ATM Subaddress
  711.                       --------------    --------------
  712.         Structure 1   ATM Forum NSAPA        null
  713.         Structure 2       E.164              null
  714.         Structure 3       E.164         ATM Forum NSAPA
  715.  
  716.    IP members MUST register their ATM endpoint address with their ATMARP
  717.    server using the ATM address structure appropriate for their ATM
  718.    network connection: i.e., LISs implemented over ATM LANs following
  719.    ATM Forum UNI 3.0 should register using Structure 1; LISs implemented
  720.    over an E.164 "public" ATM network should register using Structure 2.
  721.    A LIS implemented over a combination of ATM LANs and public ATM
  722.    networks may need to register using Structure 3.  Implementations
  723.    based on this memo MUST support all three ATM address structures.
  724.  
  725.    ATMARP and InATMARP requests and replies for ATM address structures 1
  726.    and 2 MUST indicate a null ATM subaddress; i.e., ar$sstl.type = 1 and
  727.  
  728.  
  729.  
  730. Laubach                                                        [Page 13]
  731.  
  732. RFC 1577             Classical IP and ARP over ATM          January 1993
  733.  
  734.  
  735.    ar$sstl.length = 0 and ar$tstl.type = 1 and ar$tstl.length = 0.  When
  736.    ar$sstl.length and ar$tstl.length =0, the ar$tsa and ar$ssa fields
  737.    are not present.
  738.  
  739.    Note: the ATMARP packet format presented in this memo is general in
  740.    nature in that the ATM number and ATM subaddress fields SHOULD map
  741.    directly to the corresponding Q.93B fields used for ATM
  742.    call/connection setup signalling messages.  The IP over ATM Working
  743.    Group expects ATM Forum NSAPA numbers (Structure 1) to predominate
  744.    over E.164 numbers (Structure 2) as ATM endpoint identifiers within
  745.    ATM LANs.  The ATM Forum's VC Routing specification is not complete
  746.    at this time and therefore its impact on the operational use of ATM
  747.    Address Structure 3 is undefined. The ATM Forum will be defining this
  748.    relationship in the future.  It is for this reason that IP members
  749.    need to support all three ATM address structures.
  750.  
  751. 6.7 ATMARP/InATMARP Packet Encapsulation
  752.  
  753.    ATMARP and InATMARP packets are to be encoded in AAL5 PDUs using
  754.    LLC/SNAP encapsulation. The format of the AAL5 CPCS-SDU payload field
  755.    for ATMARP/InATMARP PDUs is:
  756.  
  757.                Payload Format for ATMARP/InATMARP PDUs:
  758.                +------------------------------+
  759.                |        LLC 0xAA-AA-03        |
  760.                +------------------------------+
  761.                |        OUI 0x00-00-00        |
  762.                +------------------------------+
  763.                |     Ethertype 0x08-06        |
  764.                +------------------------------+
  765.                |                              |
  766.                |   ATMARP/InATMARP Packet     |
  767.                |                              |
  768.                +------------------------------+
  769.  
  770.    The LLC value of 0xAA-AA-03 (3 octets) indicates the presence of a
  771.    SNAP header.
  772.  
  773.    The OUI value of 0x00-00-00 (3 octets) indicates that the following
  774.    two-bytes is an ethertype.
  775.  
  776.    The Ethertype value of 0x08-06 (2 octets) indicates ARP [4].
  777.  
  778.    The total size of the LLC/SNAP header is fixed at 8-octets. This
  779.    aligns the start of the ATMARP packet on a 64-bit boundary relative
  780.    to the start of the AAL5 CPCS-SDU.
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Laubach                                                        [Page 14]
  787.  
  788. RFC 1577             Classical IP and ARP over ATM          January 1993
  789.  
  790.  
  791.    The LLC/SNAP encapsulation for ATMARP/InATMARP presented here is
  792.    consistent with the treatment of multiprotocol encapsulation of IP
  793.    over ATM AAL5 as specified in [2] and in the format of ATMARP over
  794.    IEEE 802 networks as specified in [5].
  795.  
  796.    Traditionally, address resolution requests are broadcast to all
  797.    directly connected IP members within a LIS. It is conceivable in the
  798.    future that larger scaled ATM networks may handle ATMARP requests to
  799.    destinations outside the originating LIS, perhaps even globally;
  800.    issues raised by ATMARP'ing outside the LIS or by a global ATMARP
  801.    mechanism are beyond the scope of this memo.
  802.  
  803. 7.  IP Broadcast Address
  804.  
  805.    ATM does not support broadcast addressing, therefore there are no
  806.    mappings available from IP broadcast addresses to ATM broadcast
  807.    services. Note: this lack of mapping does not restrict members from
  808.    transmitting or receiving IP datagrams specifying any of the four
  809.    standard IP broadcast address forms as described in [8].  Members,
  810.    upon receiving an IP broadcast or IP subnet broadcast for their LIS,
  811.    MUST process the packet as if addressed to that station.
  812.  
  813. 8.  IP Multicast Address
  814.  
  815.    ATM does not support multicast address services, therefore there are
  816.    no mappings available from IP multicast addresses to ATM multicast
  817.    services.  Current IP multicast implementations (i.e., MBONE and IP
  818.    tunneling, see [10]) will continue to operate over ATM based logical
  819.    IP subnets if operated in the WAN configuration.
  820.  
  821.    This memo recognizes the future development of ATM multicast service
  822.    addressing by the ATM Forum. When available and widely implemented,
  823.    the roll-over from the current IP multicast architecture to this new
  824.    ATM architecture will be straightforward.
  825.  
  826. 9.  Security
  827.  
  828.    Not all of the security issues relating to IP over ATM are clearly
  829.    understood at this time, due to the fluid state of ATM
  830.    specifications, newness of the technology, and other factors.
  831.  
  832.    It is believed that ATM and IP facilities for authenticated call
  833.    management, authenticated end-to-end communications, and data
  834.    encryption will be needed in globally connected ATM networks.  Such
  835.    future security facilities and their use by IP networks are beyond
  836.    the scope of this memo.
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Laubach                                                        [Page 15]
  843.  
  844. RFC 1577             Classical IP and ARP over ATM          January 1993
  845.  
  846.  
  847.    There are known security issues relating to host impersonation via
  848.    the address resolution protocols used in the Internet [13].  No
  849.    special security mechanisms have been added to the address resolution
  850.    mechanism defined here for use with networks using IP over ATM.
  851.  
  852. 10.  Open Issues
  853.  
  854.    o   Interim Local Management Interface (ILMI) services will not be
  855.        generally implemented initially by some providers and vendors and
  856.        will not be used to obtain the ATM address network prefix from
  857.        the network [9].  Meta-signalling does provide some of this
  858.        functionality and in the future we need to document the options.
  859.  
  860.    o   Well known ATM address(es) for ATMARP servers?  It would be very
  861.        handy if a mechanism were available for determining the "well
  862.        known" ATM address(es) for the client's ATMARP server in the LIS.
  863.  
  864.    o   There are many VC management issues which have not yet been
  865.        addressed by this specification and which await the unwary
  866.        implementor.  For example, one problem that has not yet been
  867.        resolved is how two IP members decide which of duplicate VCs can
  868.        be released without causing VC thrashing.  If two IP stations
  869.        simultaneously established VCs to each other, it is tempting to
  870.        allow only one of these VCs to be established, or to release one
  871.        of these VCs immediately after it is established.  If both IP
  872.        stations simultaneously decide to release opposite VCs, a
  873.        thrashing effect can be created where VCs are repeatedly
  874.        established and immediately released.  For the time being, the
  875.        safest strategy is to allow duplicate VCs to be established and
  876.        simply age them like any other VCs.
  877.  
  878. References
  879.  
  880.    [1] Piscitello, D., and J. Lawrence, "IP and ARP over the SMDS
  881.        Service", RFC 1209, Bell Communications Research, March 1991.
  882.  
  883.    [2] Heinanen, J., "Multiprotocol Encapsulation over ATM Adaptation
  884.        Layer 5", RFC 1483, Telecom Finland, July 1993.
  885.  
  886.    [3] Plummer, D., "An Ethernet Address Resolution Protocol - or -
  887.        Converting Network Addresses to 48.bit Ethernet Address for
  888.        Transmission on Ethernet Hardware", STD 37, RFC 826, MIT,
  889.        November 1982.
  890.  
  891.    [4] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1340,
  892.        USC/Information Sciences Institute, July 1992.
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Laubach                                                        [Page 16]
  899.  
  900. RFC 1577             Classical IP and ARP over ATM          January 1993
  901.  
  902.  
  903.    [5] Postel, J., and J. Reynolds, "A Standard for the Transmission of
  904.        IP Datagrams over IEEE 802 Networks", STD 43, RFC 1042,
  905.        USC/Information Sciences Institute, February 1988.
  906.  
  907.    [6] CCITT, "Draft Recommendation I.363", CCITT Study Group XVIII,
  908.        Geneva, 19-29 January 1993.
  909.  
  910.    [7] CCITT, "Draft text for Q.93B", CCITT Study Group XI, 23 September
  911.        - 2 October 1992.
  912.  
  913.    [8] Braden, R., "Requirements for Internet Hosts -- Communication
  914.        Layers", STD 3, RFC 1122, USC/Information Sciences Institute,
  915.        October 1989.
  916.  
  917.    [9] ATM Forum, "ATM User-Network Interface Specification Version
  918.        3.0.", ATM Forum, 480 San Antonio Road, Suite 100, Mountain View,
  919.        CA 94040, June 1993.
  920.  
  921.   [10] Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC
  922.        1112, Stanford University, August 1989.
  923.  
  924.   [11] Colella, R., and Gardner, E., and R. Callon, "Guidelines for OSI
  925.        NSAP Allocation in the Internet", RFC 1237, NIST, Mitre, DEC,
  926.        July 1991.
  927.  
  928.   [12] Bradely, T., and C. Brown, "Inverse Address Resolution Protocol",
  929.        RFC 1293, Wellfleet Communications, Inc., January 1992.
  930.  
  931.   [13] Bellovin, S., "Security Problems in the TCP/IP Protocol Suite",
  932.        ACM Computer Communications Review, Vol. 19, Issue 2, pp. 32-48,
  933.        1989.
  934.  
  935. Security Considerations
  936.  
  937.    Security issues are discussed in Section 9.
  938.  
  939. Author's Address
  940.  
  941.    Mark Laubach
  942.    Hewlett-Packard Laboratories
  943.    1501 Page Mill Road
  944.    Palo Alto, CA 94304
  945.  
  946.    Phone: 415-857-3513
  947.    Fax:   415-857-8526
  948.    EMail: laubach@hpl.hp.com
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Laubach                                                        [Page 17]
  955.