« ZurückWeiter »
U.S. Patent Jan. 29,2002 Sheet 4 of 5
AS EACH ATM ADAPTER COMES ON-LINE, IT IS PROVISIONED
| WITH A CONTROL VC TO ANC.
ANC BUILDS TABLES:
IP ADDRESSES—MAC ADDRESSES
MAC ADDRESSES—ATM ADDRESSES
SOURCE MAC ADDRESS ) (QoS PARAMETERS
DESTINATION MAC ADDRESS )— (SECURITY PARAMETERS
ANC RECEIVES IARP REQUEST FROM SOURCE DEVICE VIA ATM
ADAPTER AT SOURCE POP USING PRE-PROVISIONED CONTROL VC
ANC TRANSLATES SPECIFIED DEST IP
ADDRESS TO DEST MAC ADDRESS
ANC TRANSLATES DEST MAC ADDRESS TO DEST ATM ADDRESS,
DETERMINES APPROPRIATE ATM VC PARAMETERS
ANC CAUSES ATM NETWORK TO ESTABLISH END-TO-END VC, BETWEEN SOURCE
ATM ADDRESS AND DEST ATM ADDRESS, USING DETERMINED ATM VC PARAMETERS
ANC RETURNS IARP REPLY TO SOURCE DEVICE VIA
SOURCE CONTROL VC AND SOURCE AMT ADAPTER
SOURCE AND DESTINATION CLIENT DEVICES COMMUNICATE VIA
RESPECTIVE ATM ADAPTERS AND ESTABLISHED VC. ATU-R MAINTAINS ACTIVITY TIMEOUT COUNTER
| /- 526
ANC QUERIES TIMEOUT COUNTER IN ATU-R, LEARNS
OF INACTIVITY TIMEOUT
ANC CAUSES ATM NETWORK TO TEAR DOWN VC
METHOD AND APPARATUS FOR
SUPPORTING A CONNECTIONLESS
COMMUNICATION PROTOCOL OVER AN
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to techniques for carrying messages of one protocol over networks of a different protocol. More particularly, the invention involves a technique for carrying 10 messages of a connectionless protocol, such as IP over Ethernet, over a connection-oriented network, such as an ATM network.
2. Description of Related Art
The various nodes or network elements (NE's) of a computer data network communicate with each other via commonly agreed upon communication protocols. These protocols have different layers or levels, each defining a different aspect of the protocol. Each different layer can be 20 thought of as a sub-protocol of the overall protocol, but can also be thought of as a protocol in itself. All of the subprotocols which together define an overall protocol are often referred to as a "protocol stack". The interface between the different layers of a stack are well-defined, so different 25 alternative sub-protocols can be substituted for other subprotocols at the same layer in the stack.
One very common protocol used for computer networking is the so-called Internetworking Protocol (IP). IP is a network layer service and includes provisions for addressing, 30 type-of-service specification, fragmentation and reassembly, and security information. It is defined- in a series of documents maintained by the Internet Engineering Task Force (IETF), most notably, J. Postel, "Internet Protocol," STD0005 (September 1981) (including RFC0791, 35 RFC0950, RFC0919, RFC0922, RFC792, RFC1112), incorporated herein by reference. IP defines a protocol to be used at one layer of the overall communication protocol, specifically the "network" protocol layer. Several common alternative network-level protocols are IPX (defined in Novell, 40 Inc., "Advanced NetWare V2.1 Internetwork Packet Exchange Protocol (IPX) with Asynchronous Event Scheduler (AES)", October 1986, incorporated by reference herein); DECnet; and Xerox PUP. Many modern local area networks (LANs) use an Ethernet protocol as the next layer 45 below IP. Ethernet includes a Media Access Control (MAC) layer protocol, and is defined in IEEE, "IEEE Standards for Local Area Networks: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications" (IEEE Standard No. 802.3) (1985), 50 incorporated herein by reference. When IP and Ethernet are used together in a protocol stack, the combined protocol is sometimes referred to herein as "IP over Ethernet". Similarly, when IPX, DECnet or Xerox PUP are carried over Ethernet, the combined stack is sometimes referred to herein 55 as "IPX over Ethernet", "DECnet over Ethernet" and "PUP over Ethernet", respectively.
The basic unit of data at the network layer is often referred to as a "datagram" (e.g. an "IP datagram"), whereas the basic unit of data at the MAC level is often referred to as a 60 "packet" (as in "Ethernet packet"). Datagrams must be "encapsulated" according to the MAC level protocol in order to be transmitted, which may involve breaking them up into multiple packets. Similarly, the recipient node must extract and re-assemble the datagram from one or more 65 MAC level packets in order to make use of it. Also as used herein, a "message" is a logical data unit that is not intended
to imply any particular encapsulation. Some messages are bigger than a datagram, in which case they need to be divided up into multiple datagrams (and then multiple packets) in order to be transmitted. Other messages consist of a single packet, such as an ARP Request packet.
Wide Area Networks (WANs) typically take advantage of existing communications media for carrying messages over great distances. In particular, usually, the different nodes of a WAN communicate with each other via existing telephony networks such as Integrated Services Digital Networks (ISDN) or Broadband ISDN (B-ISDN). Very often, the telephony network is used to connect a subscriber's data network to an Internet Service Provider (ISP), or a subscriber's home office network to his or her central office network. ISDN and B-ISDN networks have their own protocols for transmitting messages, and when two computer networks need to communicate with each other via a telephony communications path, adapters are usually necessary on both ends of the telephony network to convert messages from a computer networking protocol to an ISDN or B-ISDN protocol and vice-versa.
Telephony protocols, having been designed historically for voice traffic (i.e., telephone calls), are usually connection-oriented protocols. That is, they proceed first with a set-up phase, in which a calling party specifies the "address" (e.g., phone number) of a called party, and the network establishes a "connection" between them. All subsequent communication between the two parties then takes place via the established connection, and no further addressing is needed. At the conclusion of the conversation, the connection is released, or "torn down", releasing the telephony network resources for other connections. Connectionoriented networks and protocols are most cost effective in situations where it is expected that one node will communicate with a second node for a fairly lengthy period of time. Such protocols assume that it is less expensive to take the time and resources for a connection set-up phase than it would cost to examine and properly forward individually addressed message units which, at least for voice traffic, are all likely to be addressed to the same destination for a long period of time.
Computer data communication protocols, on the other hand, are often connectionless protocols, at least at the lowest levels. That is, no "connection" is established between the two communicating nodes at these protocol levels; rather, each message unit contains the address of its destination. Each node that receives packets examines the destination address of the packet in order to determine whether to take or ignore the packet. Connectionless protocols, sometimes also called packet-switched protocols, are most cost effective in computer data networks because traffic in such networks typically consists of numerous messages directed to many different destinations, with a lengthy communication to a single destination taking place only rarely.
Note that a given protocol stack can be connectionoriented or connectionless at different levels. It is even possible for a protocol stack to be connection-oriented at two different layers and connectionless at an intermediate layer, or vice versa. IP and IPX over Ethernet are both connectionless, for example, although higher levels in the stack might well be connection-oriented.
One commonly used connection-oriented protocol is known as ATM (Asynchronous Transfer Mode), defined in a number of specifications published by the ATM Forum, including: ATM Forum, "ATM User-Network Interface
Specification Version 3.1," ATM Forum, Mountain View, California (September, 1994) ("UNI 3.1"); ATM Forum, "ATM User-Network Interface (UNI) Signaling Specification Version 4.0," ATM Forum, Mountain View, California (July 1996) ("UNI 4.0"); and International Telecommunica- 5 tion Union, "Broadband Integrated Services Digital Network (B-ISDN)—Digital Subscribers Signaling System No. 2 (DSS 2)—User-Network Interface (UNI) Layer 3 Specification for Basic Call/Connection Control," ITU-T recommendation Q.2931 (February 1995) ("Q.2931"), all incorporated by reference herein. The term "ATM network," as used herein, refers to a network that conforms to these documents in all relevant respects, whether or not it also conforms to more recent or other specifications as well.
When two parties wish to communicate over a connection-oriented network such as an ATM network, the 15 network establishes a connection from the "point of presence" (or "endpoint") on the connection-oriented-network, through which a first device (e.g. a telephone or a host computer) reaches the network, to the "point of presence" (or "endpoint") on the connection-oriented network through 20 which the second or destination device can be reached. For data connections, for example, each such endpoint on the connection-oriented network has an "adapter" which interfaces the connection-oriented network protocol, on one hand, to the data protocol, on the other hand. Such an adapter 25 may be located entirely within a host computer which is itself an endpoint for data communications, in which case the host computer is referred to herein as an "endsystem" of the connection-oriented network and the "adapter" comprises a level of software in the host computer's protocol 30 stack (below the MAC layer). Alternatively, the adapter may be located within a termination unit of the connectionoriented network, which termination unit is connected on one side to the connection-oriented network and on the other side to a computer data network. The ultimate endpoint for 35 the data communication is located in another node on the computer data network. In this alternative, the "adapter" still comprises a layer of software in a protocol stack, but the protocol stack typically extends only as high as the MAC layer or the network layer. If the protocol stack on the 40 termination unit extends only as high as the MAC layer, then the unit is viewed from the data network as a "bridge", also called a bridging network element (BNE). If the protocol stack on the termination unit extends as high as the network layer, then the unit is viewed from the data network as a 45 "router", also called a routing network element.
When an adapter accepts a packet from a computer data network, the adapter needs to be able to determine whether to transmit it on the connection-oriented network over an existing connection or to create a new connection, and if the 50 latter, which connection-oriented network endpoint to target and what parameters should be used in the new connection. More specifically with respect to a bridging or routing ATM adapter, the adapter needs to be able to determine whether the destination MAC or IP address is reachable via an 55 existing ATM virtual connection (VC) and, if so, which one. If the destination node is not reachable via existing VC's, the adapter needs to be able to determine whether the destination is reachable at all over the ATM network, and if so, what ATM address, quality of service, security parameters and 60 other parameters to use in establishing a new VC. These issues are addressed partially in several internet-related documents proposing standards for the transmission of IP datagrams over ATM networks. Such documents include the following, all incorporated by reference herein: 65
M. Laubach, "Classical IP and ARP over ATM," Request for Comments No. 1577 (1994) ("RFC 1577")
M. Perez, "ATM Signaling Support for IP over ATM," Request for Comments No. 1755 (1995) ("RFC 1755")
M. Maher, "ATM Signalling Support for IP over ATM— UNI 4.0 Update," file draft-ietf-ion-sig-uni4.0-02.txt (March 1997) ("UNI 4.0 Update")
Heinanen, "Multiprotocol Encapsulation over ATM Adaptation Layer 5," Request for Comments No. 1483 (1993) ("RFC 1483")
The above documents mostly assume a network architecture having a plurality of ATM endpoints, each of which has an adapter which interfaces the ATM endpoint with an IP (or other network layer) protocol stack. According to the documents, each ATM adapter maintains a map indicating which IP addresses are reachable via each VC that it has. ATM adapters are also permitted to maintain a cache of recently confirmed IP-to-ATM address translations, whether or not they are reachable on any current VC. When an IP client (software or hardware) directs an IP packet to an IP destination, and it is accepted by the ATM adapter, then the adapter encapsulates it according to a predefined ATM protocol (know as AAL5) and sends it on via an existing VC to the ATM adapter through which the destination IP address can be reached. If no VC is currently established between these adapters, then the originating adapter checks its local cache of IP-to-ATM address translations for the address of a destination ATM adapter through which the destination IP address can be reached, and if present and valid, "calls" the destination adapter to set up a new Switched Virtual Circuit (SVC) before transmitting data. If the desired IP-to-ATM address translation is absent or invalid in the local cache, then the ATM adapter uses an ATM Address Resolution Protocol (ATMARP) protocol to request the translation. According to this protocol, the ATM adapter creates an ATMARP request encapsulated in an ATM cell, containing the desired destination IP address, and sends it to a so-called ATMARP server on the ATM network. The ATM adapter uses a pre-provisioned (or at least pre-identified) point-topoint ATM connection to transmit the ATMARP request. The ATMARP server then examines its own cache of IP-to-ATM address translations, and returns an ATMARP reply message specifying the ATM address through which the destination IP address can be reached. The originating ATM adapter adds the translation to its local cache, "calls" the destination ATM adapter, and proceeds to transmit data on the resulting SVC.
One significant problem with the techniques of the above described documents is that they are expensive to implement in an ATM adapter. Ideally, ATM adapters should be low cost, relatively simple devices which do not do much more than interface between ATM on one side and the data network protocol on the other side. Requiring the ATM adapter to also understand ATMARP and other similar protocols would likely increase both the cost and complexity of the unit.
A second major problem with the above techniques is that the process of transmitting ATMARP requests to an ATMARP server and awaiting a response, as well as the process of establishing a connection across the ATM network once the target ATM network address is known, can take a very long time, in data transmission terms. During this time, the client device (e.g., a host computer on the data network) that originated the data packets which instigated the new connection, has no way to know that a delay has occurred. Thus it continues to transmit data packets on the local data network typically at a high rate of speed. If the ATM adapter attempts to buffer the packets while it awaits completion of the SVC, the data storage requirements of the