rfc2170.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 564 行 · 第 1/2 页

TXT
564
字号






Network Working Group                                     W. Almesberger
Request for Comments: 2170                                  J. Le Boudec
Category: Informational                                      P. Oechslin
                                               LRC, DI-EPFL, Switzerland
                                                               July 1997


              Application REQuested IP over ATM (AREQUIPA)

Status of this Memo

   This memo provides information for the Internet community.  This memo
   does not specify an Internet standard of any kind.  Distribution of
   this memo is unlimited.

IESG Note:

   This RFC has not had the benefit of the rigorous peer review that is
   part of the process in an IETF working group.  The technology it
   describes has been implemented and is now undergoing testing. It
   would be wise to analyze the results of this testing as well as to
   understand alternatives before committing to this approach for IP
   over ATM with QoS guarantees.

Abstract

   This document specifies a method for allowing ATM-attached hosts that
   have direct ATM connectivity to set up end-to-end IP over ATM
   connections within the reachable ATM cloud, on request from
   applications, and for the exclusive use by the requesting
   applications. This allows the requesting applications to benefit in a
   straightforward way from ATM's inherent ability to guarantee the
   quality of service (QoS).

   Given a mapping from service classes, as defined by INTSERV[6], to
   ATM traffic descriptors, Arequipa can be used to implement integrated
   services over ATM link layers. Usage of Arequipa to provide
   integrated services even if ATM is only available for intermediate
   links is not discussed in this document but should be straight-
   forward.

   The major advantage of using an approach like Arequipa is that it
   needs to be implemented only on the hosts using it. It requires no
   extra service (eg. NHRP or RSVP) to be deployed on the switches or
   routers of the ATM cloud.






Almesberger, et. al.         Informational                      [Page 1]

RFC 2170                        AREQUIPA                       July 1997


   We discuss the implementation of Arequipa for hosts running IPv4 and
   IPv6. As an illustration, we also discuss how World-Wide-Web
   applications can use Arequipa to deliver documents with a guaranteed
   quality of service.

   In particular we show how

     - Arequipa can be implemented in IPv4 by slightly modifying the
     - Arequipa can be implemented in IPv6[3] by the appropriate use of
       flow labels and the extension of the neighbour cache,
     - Arequipa can be used in the Web by adding extra information in
       the headers of HTTP requests and responses.

   Finally, we address safety and security implications.

1. Introduction

   QoS guarantees are important for delivery of multi-media data and
   commercial services on the Internet. When two applications on
   machines running IP over ATM need to transfer data, all the necessary
   gears to guarantee QoS can be found in the ATM layer.  We consider
   the case where it is desired to use end-to-end ATM connections
   between applications residing on ATM hosts that have end-to-end ATM
   connectivity.

   Opening direct ATM connections between two applications is possible,
   but then the already available transport protocols, like TCP, can not
   be reused.

   This is why we propose Application REQuested IP over ATM (AREQUIPA).
   Arequipa allows applications to request that two machines be
   connected by a direct ATM connection with given QoS at the link
   level. Arequipa makes sure that only data from the applications that
   requested the connection actually goes through that connection. After
   setup of the Arequipa connection, the applications can use the
   standard IP protocol suite to exchange data.

2. API semantics

   We now define a semantical API for Arequipa. Note that an actual API
   may perform additional functions (eg.  mapping of a given service
   specification to ATM traffic descriptors)

   We define the three new API functions for the TCP/IP stack:

   Arequipa_preset (socket_descriptor, destination IP address,
                    destination protid/port, destination ATM Address,
                    ATM service and QoS parameters)



Almesberger, et. al.         Informational                      [Page 2]

RFC 2170                        AREQUIPA                       July 1997


     Arequipa_preset establishes or prepares establishment of a new ATM
     connection to the given address with the given ATM service and QoS.
     It makes sure that any further data sent on the specified socket
     will use the new ATM connection.

     Arequipa_preset is invoked before a TCP/IP connection is
     established or before sending data(grams), respectively. (Active
     open.)

   Arequipa_expect (socket_descriptor, allow)

     Arequipa_expect prepares the system to use an expected incoming
     Arequipa connection for outgoing traffic of a given socket. If
     allow equals TRUE then, as soon as the socket receives data from an
     incoming Arequipa connection, all its return traffic is sent over
     that Arequipa connection. If allow equals FALSE the traffic from
     that socket is always sent over the standard IP route. Note that
     Arequipa_expect is only applicable to connection oriented sockets,
     eg. TCP sockets or connected UDP sockets.

     Arequipa_expect is invoked by the peer which is expecting
     data(grams) or accepting connections. (Passive open.) It is
     typically called immediately after a socket has been created. It
     may also be called when a data transfer is already going on.

   Arequipa_close (socket_descriptor)

     Closes the corresponding ATM connection. Any further traffic
     between the endpoints is routed like other traffic. Arequipa_close
     is implied when closing the socket.

   Note that the use of Arequipa_expect or _preset only reflects the
   direction of the initial dialog in the Arequipa connection. Actual
   data can flow in both directions.

   An actual implementation may use less arguments for Arequipa_preset
   if some of the information is already passed by other networking
   operations.

3. Implementation with IPv4

   To implement Arequipa with IPv4, ATMARP must be able not only to
   handle associations of ATM addresses and IP addresses, but also
   associations of one ATM address with an IP address plus endpoint
   (socket). This allows to dedicate an ATM connection for the traffic
   between two endpoints.





Almesberger, et. al.         Informational                      [Page 3]

RFC 2170                        AREQUIPA                       July 1997


   For the active open, a destination ATM address must be associated
   with a socket. In systems using per-socket route and ARP caching,
   this can be done by presetting the caches with the appropriate
   values. Establishment of the SVC is delegated to ATMARP. Care must be
   taken that routing and ARP information obtained through Arequipa does
   not leak to other parts of the system.

   For the passive open, an incoming SVC must be associated with the
   socket that terminates the corresponding connection or data flow.
   Most of this functionality is already available in the existing
   protocol stack. To avoid an incoming Arequipa SVC to be mistaken for
   an IP-over-ATM SVC, the setup message uses a specific Broadband High
   Layer Identifier (BHLI), see below. Seeing the BHLI, ATMARP knows
   that the SVC is of the dedicated type. The socket to which it has to
   be associated is identified as soon as a datagram is received through
   the SVC. If an Arequipa_expect has been done for that socket, then
   the SVC is used for all return traffic of that socket.

   If application A1 on host H1 wants a direct ATM connection to
   application A2 on host H2 it does the following:

   Both applications first get in contact using the standard IP over ATM
   to exchange the ATM address of the receiver (atm2) and the endpoints
   (S1, S2) (i.e. protocol and port number; we assume that a protocol
   with ports, such as TCP or UDP, is used) at both hosts between which
   communication will occur. How this is performed depends on the
   application protocols. In Section 5 we give an example for HTTP.

   A2 invokes Arequipa_expect to indicate that it wants to make use of
   an expected incoming ATM connection.

   A1 invokes Arequipa_preset to open or prepare opening of an ATM
   connection to H2 using ATM address atm2 and the QoS desired by A1 as
   soon as data is sent through S1. The connection is associated with S1
   such that no other traffic  (e.g. generated by other applications)
   uses the new ATM connection.















Almesberger, et. al.         Informational                      [Page 4]

RFC 2170                        AREQUIPA                       July 1997


   An Arequipa connection shall be signaled by using the procedures and
   codings described in RFC1755 [7], with the addition that the BHLI
   information element be included in the SETUP message, with the
   following coding:

    ------------------------------------------------------------------
    | bb_high_layer_information                                      |
    ------------------------------------------------------------------
    |  high_layer_information_type    3            (vendor-specific  |
    |                                               application id.) |
    |  high_layer_information         00-60-D7     (EPFL OUI)        |
    |                                 01-00-00-01  (Arequipa)        |
    ------------------------------------------------------------------

   As soon as data arrives from H1:S1 at H2:S2, the ATM connection the
   data has arrived on is identified as the dedicated connection for
   this data flow and S2 is changed to exclusively send on that
   connection.

   From this point on all traffic exchanged between S1 of A1 and S2 of
   A2 will use the new ATM connection with the desired QoS.

   Note that it is possible for H1 and H2 to belong to the same LIS [2]
   and still decide to use an Arequipa connection between applications,
   in addition to one or several other, non-Arequipa ATM connections
   between hosts H1 and H2. There may also exist several Arequipa
   connections between two hosts.

4. Implementation with IPv6

   With IPv6, sources take advantage of the Flow Label field in the IPv6
   header [3].

   We assume as in [4] that the conceptual host model uses, among
   others, a neighbour cache and a destination cache. The destination
   cache holds entries about destinations to which traffic has been sent
   recently, while the neighbour cache holds entries about neighbours to
   which traffic has been sent recently. With the classical IP over ATM
   model [1], entries in the neighbour cache can only refer to systems
   in the same LIS; we propose to go beyond this limitation and allow
   systems beyond the LIS to appear there and be treated as neighbours,
   in the case where a direct link level connection (here, an ATM
   connection) can be established.

   The destination is keyed in [4] by the IP (destination) address. We
   replace this by the IP (destination) address and flow label.





Almesberger, et. al.         Informational                      [Page 5]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?