[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

EP0955746B1 - A multi-hop Point-to-point protocol - Google Patents

A multi-hop Point-to-point protocol Download PDF

Info

Publication number
EP0955746B1
EP0955746B1 EP99303275A EP99303275A EP0955746B1 EP 0955746 B1 EP0955746 B1 EP 0955746B1 EP 99303275 A EP99303275 A EP 99303275A EP 99303275 A EP99303275 A EP 99303275A EP 0955746 B1 EP0955746 B1 EP 0955746B1
Authority
EP
European Patent Office
Prior art keywords
lac
anchor
packet
tunnel
anchor lac
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP99303275A
Other languages
German (de)
French (fr)
Other versions
EP0955746A3 (en
EP0955746A2 (en
Inventor
Mooi Choo Chuah
Rai Girish
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of EP0955746A2 publication Critical patent/EP0955746A2/en
Publication of EP0955746A3 publication Critical patent/EP0955746A3/en
Application granted granted Critical
Publication of EP0955746B1 publication Critical patent/EP0955746B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/168Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]

Definitions

  • This invention relates generally to communications and, more particularly, to packet communications systems.
  • VPN virtual private network
  • a VPN provides security, and authentication, for a remote user to join a closed user group notwithstanding the use of public facilities.
  • the use of a VPN provides a WAN-like vehicle to the corporation and its employees. (Although the corporate network could also provide direct remote access, e.g., a user dials directly into the corporate network, there are economic advantages to the use of a VPN.)
  • tunneling protocols are used such as the "Point-to-Point Tunneling protocol” (PPTP) and the “Layer 2 Forwarding” (L2F) protocol.
  • PPTP Point-to-Point Tunneling protocol
  • L2F Layer 2 Forwarding protocol
  • a tunnel protocol enables the creation of a private data stream via a public network by placing one packet inside of another.
  • an IP packet is placed inside another IP packet.
  • L2TP Layer 2 Tunneling Protocol
  • L2TP Layer 2 Tunneling Protocol
  • L2TP Layer 2 Tunneling Protocol
  • a typical form of access to a VPN is via a "plain-old-telephone service” (POTS) connection to an "Internet service provider” (ISP) that provides the VPN service.
  • POTS plain-old-telephone service
  • ISP Internet service provider
  • a user incorporates an analog modem into a personal computer, or equivalent, and has a customer account with a particular ISP, referred to herein as the "home” ISP. (It is also assumed that the user's personal computer is properly configured to support one of the above-mentioned tunneling protocols.)
  • the user accesses the VPN by simply making a data call to the home ISP, e.g., dialing a telephone number associated with the "home” ISP and then "logging in” to the VPN.
  • a packet server establishes a multi-hop tunnel between other packet endpoints and relays messages between portions of the multi-hop tunnel.
  • a remote user is allowed to access a VPN via a visiting ISP in addition to their home ISP.
  • a virtual dial-up service is provided via multiple Internet Service Provides (ISPs).
  • ISPs Internet Service Provides
  • a remote user accesses the virtual dial-up service by establishing a connection to a serving ISP.
  • the Serving ISP establishes a first tunnel to an anchor ISP.
  • the latter establishes a tunnel to, e.g., a private intranet.
  • VPN virtual private network
  • FIG. 1 shows an illustrative communications system 100 in accordance with the principles of the invention.
  • PC personal computer
  • PSTN public-switched-network
  • ISP B Internet-switched-network
  • the solid lines between elements of communications system 100 are representative of well-known communications facilities between the respective endpoints, e.g., the connection between PC 110 and PSTN 110 is representative of a local loop connection, the connection between ISP B and Internet 120 is supported by asynchronous transfer mode (ATM) over a synchronous optical network (SONET), etc.
  • ATM synchronous transfer mode
  • SONET synchronous optical network
  • communications system 100 comprises two ISPs: ISP A, represented by ISP A Network, and ISP B, represented by ISP B Network.
  • the ISP B Network comprises Network Access Server (NAS) 115, which includes a point-of-presence (POP) router (not shown) as known in the art, a local network 120, and a router 125.
  • NAS Network Access Server
  • POP point-of-presence
  • the ISP A Network comprises NAS 155, a local network 160, and a router 165.
  • ISP A provides a VPN service for remotely located employees to access an illustrative Corporate Network via Network Server (NS) 135, which provides, among other functions, a routing and firewall capability.
  • NS Network Server
  • the corporate network is assumed to be, e.g., a collection of local area networks (not shown) suitably protected behind NS 135.)
  • a remote user may, even if only temporarily, be located in a portion of the country that is not served by ISP A but is, instead, served by ISP B. Further, ISP A may desire to extend such VPN coverage to other areas. Therefore, and in accordance with the principles of the invention, a remote user is allowed to access a VPN via a visiting, or serving, ISP in addition to their home, or anchor, ISP. (Although it is assumed that ISP A and ISP B are different service providers, this is not necessary to the inventive concept, e.g., they could just be separate networks within the same ISP.) Thus, a user (not shown) located at PC 105 can access the corporate network while, e.g., roaming, about the country.
  • inventive concept is not so limited and can be applied to any tunneling protocol and associated processing equipment.
  • the ISP A network illustrates an Anchor LAC 155 and the ISP B network illustrates a Serving LAC 115.
  • communications system 100 of FIG. 1 provides a multi-hop tunnel.
  • the example of FIG. 1 illustrates a two-hop tunnel. One hop is from the ISP B Network to the ISP A Network and the other hop is from the ISP A Network to the Corporate Network.
  • FIG. 2 shows an illustrative high-level flow chart of a method in accordance with the principles of the invention.
  • the remote user initiates a PPP (Point-to-Point Protocol) connection to ISP B via PSTN 110.
  • PPP Point-to-Point Protocol
  • Serving LAC 115 partially authenticates the user (e.g., using a predefined "username” and "password") and accepts the connection (represented by dotted line 1 of FIG. 1).
  • DNIS dialed number identification service
  • CLID calling line identification
  • PPP LCP Link Control Protocol
  • the Serving LAC completes both the PPP LCP and PPP PAP/CHAP phases, as known in the art, with the user's equipment before initiating any communication with the Anchor LAC in accordance with the inventive concept.
  • PAP Password Authentication Protocol
  • CHAP Challenge-Handshake Authentication Protocol
  • Serving LAC 115 determines is the remote user desires to use a VPN service. (This selection could, e.g., be directly associated with particular "usernames" and/or be associated with a separate request from the user, e.g., via a pop-up "HyperText Transport Protocol" (http) form provided by Serving LAC 115.) If the remote user does not request a virtual dial-up service, Serving LAC 115 provides standard Internet access is step 220. However, if the remote user desires to use a VPN, then Serving LAC 115 identifies as associated Anchor LAC in step 225 (described below).
  • Serving LAC 115 stores a VPN table that a priori associates, e.g., a user's identification with a particular Anchor LAC. A portion of such a table is shown below in Table One.
  • the remote user associated with PC 110 is associated with Anchor LAC ISPA.com, i.e., Anchor LAC 155.
  • ISP B may maintain a database mapping users to services.
  • the mapping In the case of a virtual-dial-up, i.e., an identification of the remote user as being associated with a VPN service, the mapping further identifies the Anchor LAC.
  • the Serving LAC can utilize a Radius Access Request/Response transaction with its local Radius Server for this task, as known in the art.
  • Serving LAC 115 checks to see if a tunnel exists between itself and Anchor LAC 155. As such, Serving LAC 115 maintains a table, as illustrated in Table Two, below, of current tunnels, represented by a tunnel identification (Tid) value, associated call identifiers (Cid) of calls currently using that tunnel, and the associated Anchor LAC IP address. Table Two Tid Cid Anchor LAC IP Address 2 5 h.j.k.l
  • a tunnel is initiated by Serving LAC 115 to the Anchor LAC in step 235 (described below).
  • Serving LAC 115 allocates a new Cid, updates Table Two, and initiates a session with Anchor LAC 155 by forwarding a VPN request to Anchor LAC 155 via local network 120, router 125, Internet 130, router 165, and local network 160 (described further below).
  • Serving LAC 115 conveys user identification information to Anchor LAC 155.
  • Anchor LAC 155 receives the request in step 305.
  • Anchor LAC 155 also performs authentication of the remote user (e.g., using a predefined "username” and "password” as noted above) and accepts the connection (represented by dotted line 2 of FIG. 1).
  • the connection is not accepted (this step is not shown).
  • Serving LAC 115 similarly must convey an error message back to the remote user (not shown).
  • Anchor LAC 155 stores a VPN table that a priori associates, e.g., a user's identification with a particular LNS. A portion of such a table is shown below in Table Three.
  • the remote user associated with PC 110 is associated with LNS 135, represented by IP address g.h.i.j.
  • Anchor LAC 155 checks if this is a valid VPN request using Table Three. If this is not a valid request, Anchor LAC 155 denies the request in step 320. If this is a valid request, Anchor LAC 155 identifies the associated LNS from Table Three in step 325.
  • Anchor LAC maintains the following connection table for each direction of communication for each established VPN session with a remote user: Table Four Serving LAC Serving LAC LNS LNS User Assigned Connection # Tid Cid IP Address Tid Cid IP Address IP Address 5 2 5 d.e.f.g 1 3 g.h.i.j a.b.c.d
  • Anchor LAC associates with each VPN session a connection number.
  • this connection number is mapped to the respective user.
  • This table lists, by connection number, the Serving LAC IP Address (with associated tunnel ID and Call ID values for that hop), and the associated LNS IP Address (with associated tunnel ID and Call ID values for that associated hop).
  • Anchor LAC 155 establishes the VPN session (performs an authentication check, etc.). (Again, if LNS 135 should deny the VPN request (e.g., because of no authentication of the remote user or no capacity), appropriate error messages are generated by the Anchor LAC and the Serving LAC.)
  • the VPN session with LNS 135 is established as in the prior art.
  • Anchor LAC 155 allocates a new Cid and updates Table Four (e.g., adds a new connection). This last connection is represented by dotted line 3 of FIG. 1.
  • the connectivity is a point-to-point PPP session whose endpoints are the remote user's networking application on one end (as represented by PC 110) and the termination of this connectivity into LNS 135 PPP support on the other.
  • endpoints are the remote user's networking application on one end (as represented by PC 110) and the termination of this connectivity into LNS 135 PPP support on the other.
  • accounting can be performed at the Serving LAC, the Anchor LAC, as well as the LNS, i.e., each element may count packets, octets and connection start and stop times.
  • L2TP L2TP
  • control messages between each LAC-LNS pair, and payload packets between the same LAC-LNS pair.
  • the latter are used to transport mL2TP encapsulated PPP packets for user sessions between the LAC-LNS pair.
  • Nr Next Received
  • Ns Next Sent
  • the control messages and payload messages use different sequence number states.
  • the Anchor LAC merely monitors the ( Nr, Ns ) values sent by the Serving LAC. That is, and in accordance with the inventive concept, the Anchor LAC simply retransmits the values received from the Serving LAC to the LNS. In addition, the Anchor LAC now updates its (State Received, State Sent) values ( Sr, Ss ), with the corresponding ( Nr, Ns ) values it has observed from the packets sent by the Serving LAC. Since there will, undoubtedly, be packet losses between the Serving LAC and the Anchor LAC, the Ss ( Sr ) value at the Anchor LAC may be smaller (smaller) than the Ss ( Sr ) value at the Serving LAC. In addition, the Anchor LAC maintains two sets of ( Sr, Ss ) variables, one for the Serving LAC/Anchor LAC control connection and the other for the Anchor LAC/LNS control connection.
  • control messages Before PPP tunneling can occur, in accordance with the inventive concept, between the Serving LAC, the Anchor LAC, and the LNS, control messages must be exchanged between them. Control messages are exchanged over the same tunnel which will be subsequently used to forward payload data once mL2TP call control and management information have been passed (described below).
  • AVP Attribute Value Pairs
  • FIG. 4 An illustrative multi-hop message flow is shown in FIG. 4.
  • a tunnel (identified by a Tid value) and a call (identified by a Cid value) are established between the Serving LAC and the Anchor LAC.
  • a tunnel and a call are established between the Anchor LAC and the LNS.
  • the inventive concept requires the Serving LAC establish a tunnel to the Anchor LAC.
  • the Serving LAC treats the Anchor LAC as an LNS and L2TP procedures are used to initially set up the tunnel.
  • FIGs. 5 - 7. In these FIGs., only the relevant fields are shown for the various control messages. (Note, if the tunnel-id and call-id for the tunnel between the Serving LAC and the Anchor LAC are different from those values for the tunnel between the Anchor LAC and LNS, the Anchor LAC modifies the relevant fields in the packet headers before relaying them in either direction.)
  • the Serving LAC first sends a Start-Control-Connect-Request Message (SCCRQ) message (as defined in L2TP) to the Anchor LAC to configure the tunnel between them.
  • SCCRQ Start-Control-Connect-Request Message
  • the Anchor LAC Upon receipt of this message, the Anchor LAC then responds with an Start-Control-Connect-Reply Message (SCCRP) (this occurs subsequent to any above-described authentication).
  • SCCRP Start-Control-Connect-Reply Message
  • the Serving LAC confirms with a Start-Control-Connection-Connect (SCCCN) message to the Anchor LAC.
  • SCCCN Start-Control-Connection-Connect
  • the Serving LAC sends an Incoming-Call-Request (ICRQ) message to the Anchor LAC as shown in FIG. 6.
  • ICRQ Incoming-Call-Request
  • the Incoming-Call-Request message contains sufficient user data and credentials to enable the Anchor LAC to identify the LNS.
  • the Anchor LAC first initiates the SCCR, SCCRP, SCCCN message exchanges with the LNS as defined in L2TP. Once the tunnel exists, an unused slot within the tunnel, a Cid, is allocated by the Anchor LAC. At this point, and in accordance with the principles of the invention, the Anchor LAC relays the ICRQ message (from the Serving LAC) to notify the LNS of this new dial-up session. As shown in FIG. 6 the Anchor LAC modifies the ICRQ message accordingly before relaying it to the LNS.
  • the modified fields are indicated by a "*", e.g., the assigned call ID.
  • the Anchor LAC also adds a hidden AVP to inform LNS what receive window size it can support. (Note that with the additional hop, the Anchor LAC records the maximum window size negotiated for both the control/payload connections. Also, the window size for the control connection between the Serving LAC and Anchor LAC may be different from that of the control connection between the Anchor LAC and LNS and buffering may be required. To eliminate additional buffering and sequence number monitoring, the Anchor LAC optionally adds an AVP to inform the LNS what receive window size for the payload session the Anchor LAC can support in the Anchor LAC-Serving LAC direction. As a result, the LNS will include only appropriate receive window size values in its ICRP reply and hence only one window size for the payload session in the LNS-Anchor LAC-Serving LAC direction.)
  • the LNS either accepts the connection or rejects it. Rejections MUST include a result condition and MAY include an error indication.
  • the LNS sends an Incoming-Call-Reply (ICRP) message to the Anchor LAC as shown in FIG. 6.
  • ICRP Incoming-Call-Reply
  • the Anchor LAC modifies the ICRP message appropriately and relays it to the Serving LAC in accordance with the invention (again, modified fields are indicated by an "*" in FIG. 6). Since the packet processing delay (PPD) field received from the LNS only includes the processing delay at the LNS, the Anchor LAC add to this value the processing delay at its own node. Then, the ICRQ message is relayed to the Serving LAC.
  • PPD packet processing delay
  • the Serving LAC sends an Incoming-Call-Connected (ICCN) message to the Anchor LAC as shown in FIG. 7.
  • ICCN Incoming-Call-Connected
  • the Serving LAC passes all the LCP Config Request information as well as the Proxy Authentication Information. That is, the Serving LAC is forwarding the results of the LCP Config Request/Ack, PPP PAP/CHAP performed with the user's equipment.
  • the Anchor LAC modifies the PPD field of the received ICCN message before relaying it to the LNS.
  • the Anchor LAC also relays all the Set-Link-Info, Hello and Wan-Error-Notify messages defined in L2TP. (It should be observed that the description above illustrates the concept of multi-hop packet tunnel. For example, FIG. 1 represents a 2-hop packet tunnel.)
  • FIG. 8 another embodiment of the inventive concept is shown.
  • FIG. 8 is similar to FIG. 1.
  • the elements are well-known and will not be described in detail.
  • Like numbers indicate like functions and will not be further described except where necessary.
  • PC 805 includes data communications equipment (not shown) for establishing wireless access through Personal Communications Service (PCS) wireless network 810 to the Internet.
  • PCS wireless network 810 comprises a plurality of mobile switching centers as represented by elements 815 and 820. Each switching center serves a geographical area (not shown).
  • elements 815 and 820 include an NAS, e.g., Serving LACs similar to Serving LAC 115 of FIG. 1.
  • the remote user establishes a VPN session to the corporate network using the above-described multi-hop technique.
  • the remote user is in a geographical area such that this initial connection is routed through element 815 via connections 814 and 816.
  • the initial PPP connection is between element 815 and PC 805.
  • the NAS functions could also be performed in separate pieces of equipment.
  • the other elements such as a local network and router are not shown for simplicity.
  • tunneling protocols such as L2TP
  • L2TP tunneling protocols
  • FIG. 8 does not embody the inventive concept
  • the remote user roams, e.g., to a geographical area served by element 820 (and hence a different NAS) the user's communication session is handed-off to element 820 as known in the art.
  • the existing PPP connection - and hence the VPN session - is dropped and must be re-established since, as noted, there is no ability to transfer existing PPP connections from one NAS to another.
  • the communications system of FIG. 8 overcomes this problem.
  • an NAS or LAC incorporates a "hand-off" feature that allows the existing NAS to hand-off an existing PPP connection to another NAS.
  • 3 new control messages are defined, namely: (i) Continued Call Request, (ii) Continued Call Reply, and (iii) Continued Call Connect.
  • the user does not have to terminate the current PPP connection and then re-establish a new PPP connection.
  • These 3 new control messages comprise a L2TP control message header, message identifier (e.g., continued call request, etc.), and a number of fields (described below).
  • an illustrative hand-off message flow is shown in FIG. 9.
  • a tunnel (identified by a Tid value) and a call (identified by a Cid value) are initially established between element 815, which includes a Serving LAC, and the Anchor LAC.
  • a tunnel and a call are established between the Anchor LAC and the LNS. (A method for establishing this initial VPN session was described above.)
  • the inventive concept allows the existing Serving LAC to transfer the existing PPP connection to a new Serving LAC, as represented by element 820.
  • FIG. 10 is an illustrative flow chart of a method for use in providing a "hand-off feature.”
  • a VPN session exists between PC 805 and the Corporate network via element 815, which includes a Serving LAC, and Anchor LAC 155.
  • PCS wireless network 810 adds to the existing call state variables additional variables indicating the presence (or lack thereof) of a PPP connection for each wireless call, and if a PPP connection exists, PPP connection information that includes the Anchor LAC identification, e.g., the IP address of the Anchor LAC.
  • PCS wireless network 810 detects the need for a hand-off because PC 805 has moved from the geographical area served by element 815 to another geographical area, e.g., the area served by element 820, which includes another Serving LAC.
  • PCS Wireless system provides element 820 with notification of the impending hand-off (The method(s) used by a wireless system to detect and prosecute a hand-off are known in the art and not relevant to the inventive concept. As such, they will not be described herein and are represented by signaling path 811 of FIG. 8.) Since the call state information now includes a PPP session indicator and PPP call information, the new Serving LAC (of element 820) identifies the Anchor LAC in step 415. In step 420, the new Serving LAC (of element 820) checks to see if there is an existing tunnel between itself and the identified Anchor LAC, here Anchor LAC 155.
  • the new Serving LAC first establishes a tunnel (as described earlier) in step 425. Then, and in accordance with the inventive concept, the new Serving LAC sends a Continued-Call-Request (CCRQ) message to the Anchor LAC in step 430.
  • This CCRQ message includes the user's name associated with the existing PPP connection, the Tid and Cid values to be used for the transferred (new) PPP session.
  • the Anchor LAC recovers the user's name from the received CCRQ message and uses this information to determine the LNS and IP address of the old Serving LAC, e.g., from a connection table represented by Table Four, above (this recovered information could also include the respective User Datagram Protocol (UDP) port number).
  • the Anchor LAC sends a Call-Disconnect-Notify message (e.g., see L2TP) to the old Serving LAC and also identifies in, e.g., Table Four, above, the existing call variables associated with this PPP connection to the remote user, such as old tunnel-id, and old call-id.
  • the Serving LAC either sends a signal back to the user so that the existing PPP session can be torn down and a new PPP session can be initiated or the PPP session is simply dropped (steps not shown).
  • the Anchor LAC replies with a Continued-Call-Reply (CCRP) message with an appropriate Receive Window Size.
  • the CCRP message includes information on the current Nr and Ns values.
  • the Anchor LAC updates its connection table, e.g., Table 4, above, by replacing the entries for the Tid, Cid, and Serving LAC IP address fields (identified in step 435), with the new call information for the existing PPP connection.
  • the new Serving LAC stores the Nr, Ns, into its Sr, Ss , values and also stores the receive window size from the received CCRP message, if necessary, and sends a Continued-Call-Connect (CCCN) message to the Anchor LAC, which completes the hand-off
  • FIG. 11 illustrates the above-mentioned new control message transactions in accordance with the principles of the invention. As shown in FIG. 11, a CCRQ message is sent to the identified Anchor LAC.
  • the Anchor LAC field presumes that this information is available during the hand-off. (Alternatively, if the hand-off process does not provide information about the Anchor LAC to the New Serving LAC, the hand-off process must then provide enough user information to the New Serving LAC so that the New Serving LAC can search for the Anchor LAC information using help from a Foreign Radius Server as known in the art. That is, the New Serving LAC enquires about the Anchor LAC from a Home Radius Server via Radius Access/Response messages.)
  • the User AVP information includes user information (such at the user's name) and other user credentials, e.g. multi-hop virtual dial up service, user's identity (MIN), service provider's phone number etc.
  • user information such at the user's name
  • other user credentials e.g. multi-hop virtual dial up service, user's identity (MIN), service provider's phone number etc.
  • the Anchor LAC sends a Call-Disconnect-Notify message to the old Serving LAC. Then, the Anchor LAC replies with a Continued-Call Reply (CCRP) message that includes the current Sr, Ss values that it maintains.
  • CCRP Continued-Call Reply
  • CCCN Continued-Call Connect
  • FIG. 12 another embodiment of the inventive concept is shown, in the context of transferring an existing PPP connection from one NAS to another NAS, where the old NAS has a connection to the LNS.
  • FIG. 12 is similar to FIG. 8.
  • the elements are well-known and will not be described in detail.
  • Like numbers indicate like functions and will not be further described except where necessary.
  • PC 805 includes data communications equipment (not shown) for establishing wireless access through Personal Communications Service (PCS) wireless network 910 to the Internet.
  • PCS wireless network 910 comprises a plurality of mobile switching centers as represented by elements 875 and 880. Each switching center serves a geographical area (not shown).
  • elements 875 and 880 include an NAS, e.g., LACs similar to Anchor LAC 115 of FIG. 1. Initially, it is assumed that the remote user establishes a VPN session to the corporate network as known in the art using, e.g., that portion of L2TP.
  • the remote user is in a geographical area such that this initial connection is routed through element 875 via connections 874 and 876 to LNS 935.
  • the initial PPP connection is between element 875 and PC 805. (Although shown as a part of the switching elements for simplicity, the NAS functions could also be performed in separate pieces of equipment. Similarly, the other elements such as a local network and router are not shown for simplicity.))
  • the same hand-off procedure is carried out for the LAC/LNS pair except that the above-described CCRQ, CCRP, CCCN messages are exchanged between the new LAC and LNS.
  • an illustrative hand-off message flow is shown in FIG. 13.
  • a tunnel identified by a Tid value
  • a call identified by a Cid value
  • the inventive concept allows the existing LAC to transfer the existing PPP connection to a new LAC, as represented by element 880.
  • FIG. 14 is an illustrative flow chart of a method for use in providing a "hand-off feature.”
  • PCS wireless network 910 adds to the existing call state variables additional variables indicating the presence (or lack thereof) of a PPP connection for each wireless call, and if a PPP connection exists, PPP connection information that includes the LNS identification, e.g., the IP address of the LNS.
  • PCS wireless network 910 detects the need for a hand-off because PC 805 has moved from the geographical area served by element 875 to another geographical area, e.g., the area served by element 880, which includes another LAC.
  • PCS Wireless system provides element 880 with notification of the impending hand-off.
  • the method(s) used by a wireless system to detect and prosecute a hand-off are known in the art and not relevant to the inventive concept. As such, they will not be described herein and are represented by signaling path 911 of FIG. 12.
  • the new LAC identifies the LNS in step 515.
  • the new LAC (of element 880) checks to see if there is an existing tunnel between itself and the identified LNS, here LNS 935.
  • the new LAC first establishes a tunnel (as described earlier) in step 525. Then, and in accordance with the inventive concept, the new LAC sends a Continued-Call-Request (CCRQ) message to the LNS in step 530.
  • This CCRQ message includes the user's name associated with the existing PPP connection, the Tid and Cid values to be used for the transferred (new) PPP session.
  • the LNS recovers the user's name from the received CCRQ message and uses this information to determine the IP address of the old LAC (this recovered information could also include the respective User Datagram Protocol (UDP) port number).
  • the LNS sends a Call-Disconnect-Notify message (e.g., see L2TP) to the old LAC and also identifies in, e.g., a connection table similar to that shown in Table Four, above, but sans the Serving LAC information etc., the existing call variables associated with this PPP connection to the remote user, such as old tunnel-id, and old call-id.
  • the new LAC either sends a signal back to the user so that the existing PPP session can be torn down and a new PPP session can be initiated or the PPP session is simply dropped (steps not shown).
  • step 540 the LNS replies with a Continued-Call-Reply (CCRP) message with an appropriate Receive Window Size.
  • the CCRP message includes information on the current Nr and Ns values.
  • step 545 the LNS updates its connection table by replacing the entries for the Tid, Cid, and LAC IP address fields (identified in step 535), with the new call information for the existing PPP connection.
  • step 550 the new LAC updates the Nr, Ns, and receive window size from the received CCRP message, if necessary, and sends a Continued-Call-Connect (CCCN) message to the LNS, which completes the hand-off.
  • CCCN Continued-Call-Connect
  • FIG. 15 illustrates the above-mentioned new control message transactions in accordance with the principles of the invention.
  • a CCRQ message is sent to the identified LNS.
  • the hand-off process must then provide enough user information to the new LAC so that the new LAC can search for the LNS information using help from a Foreign Radius Server as known in the art.
  • the new LAC enquires about the LNS from a Home Radius Server via Radius Access/Response messages.
  • the LNS sends a Call-Disconnect-Notify message to the old LAC.
  • the LNS replies with a Continued-Call Reply (CCRP) message that includes the current Sr, Ss values that it maintains.
  • CCRP Continued-Call Reply
  • the new LAC replies with a Continued-Call Connect (CCCN) message.
  • CCRP Continued-Call Reply
  • CCCN Continued-Call Connect
  • a PPP connection is transferred from one NAS to another NAS.
  • additional call states are defined for the respective NAS as illustrated in Tables Five and Six, below.
  • Table Five - New LAC (or NAS) Call State Event Action New State idle hand-off notification Send CCRQ wait-CCRP-reply wait-CCRP-reply Receive CCRP, not accepted, Clean-up idle wait-CCRP-reply Receive CCRP, accepted, Send CCCN established,
  • the additional, or, new, call state for mL2TP associated with the new LAC (or NAS) for a continued call is the wait-CCRP-reply state.
  • a Call-Disconnect-Notify (CDN) Message is received while in the established state.
  • the old LAC cleans up and disconnects the call, and returns to the idle state.
  • Table Six - Anchor LAC, or LNS Call State Event Action New State established Received CCRQ, not accepted, Send CCRP, with error code, Send CDN to LNS, idle, established Receive CCRP, accepted, Send CDN to old LAC, Send CCRP to new LAC, wait-CCCN wait-CCCN Receive CCCN get ready for data, established, wait-CCCN Receive CDN Clean-up, Idle,
  • the additional, or, new, call state for mL2TP associated with the Anchor LAC, or LNS, for a continued call is the wait-CCCN state.
  • the Anchor LAC swaps the Tid and Cid for the payload packets.
  • the Anchor LAC also monitors the ( Nr, Ns ) values sent by the Serving LAC. (It should be noted that since there may be packet losses between the Serving LAC and the Anchor LAC, it is expected that both the Sr and Ss values at the Anchor LAC may be lagging behind those values maintained at the Serving LAC.)
  • the Anchor LAC does not change the ( Nr, Ns ) of the payload packets in either directions.
  • the Anchor LAC only makes use of its own Sr, Ss values when it receives a Continued-Call Request message from a new Serving LAC.
  • mL2TP With respect to congestion control, the L2TP requirements on when to abide to receive window size, when to send Nr / Ns , and when to send an ACK apply to mL2TP.
  • mL2TP also has the following additional requirements for the Serving LAC and the Anchor LAC.
  • the Anchor LAC is required to monitor the ( Nr, Ns ) value sent by the Serving LAC.
  • the Anchor LAC should include the ( Sr, Ss ) value it maintains in the Continued-Call-Reply message when it replies to the Continued-Call-Connect message it receives from a Serving LAC. Since a network between the Serving LAC and an Anchor LAC is lossy, the Sr value maintained by an Anchor LAC may be lagging behind the Serving LAC.
  • the Serving LAC implements a full receiver rather than a simple receiver, as referred to in the art. This requirement is to prevent the new Serving LAC from passing out-of-sequence or duplicate packets to upper layers when there is a change of Serving LAC during the lifetime of a PPP session.
  • An NAS is a stored-program-control based processor architecture and includes processor 650, memory 660 (for storing program instructions and data, e.g., the above-mentioned connection tables, etc.) and communications interface(s) 665 for coupling to one or more communication facilities as represented by path 666.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Description

    Field of the Invention
  • This invention relates generally to communications and, more particularly, to packet communications systems.
  • Background of the Invention
  • One use of the Internet as a communications vehicle is as an enhanced data backbone for coupling together workgroups to provide what is referred to as a "virtual private network" (VPN). One application of a VPN is in a corporate environment such that employees, e.g., at home, can remotely access, via the Internet, corporate data networks. A VPN provides security, and authentication, for a remote user to join a closed user group notwithstanding the use of public facilities. In effect, the use of a VPN provides a WAN-like vehicle to the corporation and its employees. (Although the corporate network could also provide direct remote access, e.g., a user dials directly into the corporate network, there are economic advantages to the use of a VPN.)
  • To provide a VPN, tunneling protocols are used such as the "Point-to-Point Tunneling protocol" (PPTP) and the "Layer 2 Forwarding" (L2F) protocol. Generally speaking, a tunnel protocol enables the creation of a private data stream via a public network by placing one packet inside of another. In the context of a VPN, an IP packet is placed inside another IP packet. In an attempt to develop an industry standard, the Internet Engineering Task Force (IETF) is developing the "Layer 2 Tunneling Protocol" (L2TP), which is a hybrid of the PPTP and L2F protocols (e.g., see K. Hamzeh, T. Kolar, M. Littlewood, G. Singh Pall, J.Taarud, A. J. Valencia, W. Verthein; Layer Two Tunneling Protocol "L2TP"; Internet draft, March, 1998).
  • For a remote user, a typical form of access to a VPN is via a "plain-old-telephone service" (POTS) connection to an "Internet service provider" (ISP) that provides the VPN service. For example, a user incorporates an analog modem into a personal computer, or equivalent, and has a customer account with a particular ISP, referred to herein as the "home" ISP. (It is also assumed that the user's personal computer is properly configured to support one of the above-mentioned tunneling protocols.) The user accesses the VPN by simply making a data call to the home ISP, e.g., dialing a telephone number associated with the "home" ISP and then "logging in" to the VPN.
  • Malkin Gary Scott: "Dial-In Virtual Private Networks using Layer 3 Tunneling", Proceedings of the Conference on Local Computer Networks, 2 November 1997 (1997-11-02), pages 555-561, presents a design for a Layer 3 Dial-in Virtual Private Network Service (DVS), based on Mobile IP.
  • Summary of the Invention
  • A method and apparatus according to the invention are as set out in the independent claims. Preferred forms are set out in the dependent claims.
  • We have realized that the above-described tunneling protocols do not allow a remote user to log into any ISP other than their home ISP for accessing a VPN. In today's mobile world this is significantly limiting, especially when viewed in the context of a Personal Communications Service (PCS) wireless environment in which the user may physically change their location during the call. In other words, as the remote user changes location, the home ISP may, at least temporarily, be no longer available to the user -thus blocking the user from accessing the VPN.
  • Therefore, and in accordance with the invention, a packet server establishes a multi-hop tunnel between other packet endpoints and relays messages between portions of the multi-hop tunnel. Thus, a remote user is allowed to access a VPN via a visiting ISP in addition to their home ISP.
  • In an embodiment of the invention, a virtual dial-up service is provided via multiple Internet Service Provides (ISPs). In particular, a remote user accesses the virtual dial-up service by establishing a connection to a serving ISP. The Serving ISP establishes a first tunnel to an anchor ISP. The latter establishes a tunnel to, e.g., a private intranet. As a result, a virtual private network (VPN) service is provided that enables remote access, via multiple tunnels, to a private network.
  • Brief Description of the Drawing
    • FIG. 1 shows a communications system in accordance with the principles of the invention;
    • FIGs. 2 - 3 show flow charts of illustrative methods for use in the communications system of FIG. 1;
    • FIG. 4 shows an illustrative multi-hop message flow;
    • FIGs. 5 - 7 show illustrative control message transactions;
    • FIG. 8 shows another embodiment of a communications system in accordance with the principles of the invention;
    • FIG. 9 shows an illustrative hand-off message flow;
    • FIG. 10 shows a flow chart of an illustrative method for use in the communications system of FIG. 8;
    • FIG. 11 shows illustrative control message transactions;
    • FIG. 12 shows another embodiment of a communications system in accordance with the principles of the invention;
    • FIG. 13 shows an illustrative hand-off message flow;
    • FIG. 14 shows a flow chart of an illustrative method for use in the communications system of FIG. 12;
    • FIG. 15 shows illustrative control message transactions;
    • FIG. 16 shows an illustrative high level block diagram of Network Access Server; and
    • FIGs. 17 - 18 show illustrative control message transactions for outgoing calls.
    Detailed Description Multi-Hop Point-to-Point Protocol
  • FIG. 1 shows an illustrative communications system 100 in accordance with the principles of the invention. Other than the inventive concept, the elements are well-known and will not be described in detail. For example, personal computer (PC) 110 includes data communications equipment (not shown) for dial-up access through public-switched-network (PSTN) 110 to ISP B for establishing an Internet connection. Likewise, the solid lines between elements of communications system 100 are representative of well-known communications facilities between the respective endpoints, e.g., the connection between PC 110 and PSTN 110 is representative of a local loop connection, the connection between ISP B and Internet 120 is supported by asynchronous transfer mode (ATM) over a synchronous optical network (SONET), etc. Further, its assumed that the reader is familiar with the above-mentioned L2TP protocol.
  • As can be observed from FIG. 1, communications system 100 comprises two ISPs: ISP A, represented by ISP A Network, and ISP B, represented by ISP B Network. The ISP B Network comprises Network Access Server (NAS) 115, which includes a point-of-presence (POP) router (not shown) as known in the art, a local network 120, and a router 125. Similarly, the ISP A Network comprises NAS 155, a local network 160, and a router 165. It is assumed that ISP A provides a VPN service for remotely located employees to access an illustrative Corporate Network via Network Server (NS) 135, which provides, among other functions, a routing and firewall capability. (The Corporate network is assumed to be, e.g., a collection of local area networks (not shown) suitably protected behind NS 135.)
  • We have observed that a remote user may, even if only temporarily, be located in a portion of the country that is not served by ISP A but is, instead, served by ISP B. Further, ISP A may desire to extend such VPN coverage to other areas. Therefore, and in accordance with the principles of the invention, a remote user is allowed to access a VPN via a visiting, or serving, ISP in addition to their home, or anchor, ISP. (Although it is assumed that ISP A and ISP B are different service providers, this is not necessary to the inventive concept, e.g., they could just be separate networks within the same ISP.) Thus, a user (not shown) located at PC 105 can access the corporate network while, e.g., roaming, about the country.
  • At this point, the following definitions are assumed:
    • mL2TP - the L2TP protocol as defined in K. Hamzeh, T. Kolar, M. Littlewood, G. Singh Pall, J.Taarud, A. J. Valencia, W. Verthein; Layer Two Tunneling Protocol "L2TP"; Internet draft, March, 1998; plus modifications as described herein;.
    • LAC - mL2TP Access Control, i.e., an NAS that supports mL2TP;
    • LNS - a NS that supports mL2TP;
    • Anchor LAC - a LAC that supports tunneling to the LNS for providing a VPN Service; and
    • Serving LAC - a LAC that supports tunneling to the Anchor LAC.
  • (These definitions are used to simplify an illustrative description of the inventive concept. As such, and as those in the art will realize, the inventive concept is not so limited and can be applied to any tunneling protocol and associated processing equipment.)
  • In accordance with the inventive concept, the ISP A network illustrates an Anchor LAC 155 and the ISP B network illustrates a Serving LAC 115. As described further below, and in accordance with the principles of the invention, communications system 100 of FIG. 1 provides a multi-hop tunnel. The example of FIG. 1 illustrates a two-hop tunnel. One hop is from the ISP B Network to the ISP A Network and the other hop is from the ISP A Network to the Corporate Network.
  • Reference should now be made to FIG. 2, which shows an illustrative high-level flow chart of a method in accordance with the principles of the invention. (It is presumed that Serving LAC 115 and the other respective servers are suitably programmed to carry out the below-described methods using conventional programming techniques, which, as such, will not be described herein.) In step 205, the remote user initiates a PPP (Point-to-Point Protocol) connection to ISP B via PSTN 110. In step 210, Serving LAC 115 partially authenticates the user (e.g., using a predefined "username" and "password") and accepts the connection (represented by dotted line 1 of FIG. 1). (Alternatively, DNIS (dialed number identification service), CLID (calling line identification), or other equivalent forms of identification could be used.) Obviously, if Serving LAC 115 can not authenticate the user, the connection is not accepted (this step is not shown).
  • (As background, and as known in the art, when a remote user wishes to establish a new PPP session, PC 110 initiates a PPP LCP (Link Control Protocol) Config Request to the Serving LAC. The Serving LAC completes both the PPP LCP and PPP PAP/CHAP phases, as known in the art, with the user's equipment before initiating any communication with the Anchor LAC in accordance with the inventive concept. (For secure Conduits, the IETF has defined two protocols for security over PPP connections - the Password Authentication Protocol (PAP) and the Challenge-Handshake Authentication Protocol (CHAP) (e.g., see IETF Request for Comment (RFC) 1334, "PPP Authentication Protocols").)
  • In step 215, Serving LAC 115 determines is the remote user desires to use a VPN service. (This selection could, e.g., be directly associated with particular "usernames" and/or be associated with a separate request from the user, e.g., via a pop-up "HyperText Transport Protocol" (http) form provided by Serving LAC 115.) If the remote user does not request a virtual dial-up service, Serving LAC 115 provides standard Internet access is step 220. However, if the remote user desires to use a VPN, then Serving LAC 115 identifies as associated Anchor LAC in step 225 (described below).
  • Serving LAC 115 stores a VPN table that a priori associates, e.g., a user's identification with a particular Anchor LAC. A portion of such a table is shown below in Table One. In this example, the remote user associated with PC 110 is associated with Anchor LAC ISPA.com, i.e., Anchor LAC 155. Table One
    User Identification Anchor LAC
    username ISPA.com
  • (It should be noted that equivalent structures, or operations, could be used, such as simply maintaining a list of fields formatted as "username@ISPA.com," where the portion after the "@" symbol indicates the Anchor LAC. Alternatively, ISP B may maintain a database mapping users to services. In the case of a virtual-dial-up, i.e., an identification of the remote user as being associated with a VPN service, the mapping further identifies the Anchor LAC. Alternatively, the Serving LAC can utilize a Radius Access Request/Response transaction with its local Radius Server for this task, as known in the art.)
  • In step 230, Serving LAC 115 checks to see if a tunnel exists between itself and Anchor LAC 155. As such, Serving LAC 115 maintains a table, as illustrated in Table Two, below, of current tunnels, represented by a tunnel identification (Tid) value, associated call identifiers (Cid) of calls currently using that tunnel, and the associated Anchor LAC IP address. Table Two
    Tid Cid Anchor LAC IP Address
    2 5 h.j.k.l
  • If no tunnel connection currently exists between the Serving LAC and the Anchor LAC, then a tunnel is initiated by Serving LAC 115 to the Anchor LAC in step 235 (described below). Once a tunnel exists between the Serving LAC and the Anchor LAC, Serving LAC 115, in step 240, allocates a new Cid, updates Table Two, and initiates a session with Anchor LAC 155 by forwarding a VPN request to Anchor LAC 155 via local network 120, router 125, Internet 130, router 165, and local network 160 (described further below). In this request, Serving LAC 115 conveys user identification information to Anchor LAC 155.
  • Turning now to FIG. 3, Anchor LAC 155 receives the request in step 305. In step 310, Anchor LAC 155 also performs authentication of the remote user (e.g., using a predefined "username" and "password" as noted above) and accepts the connection (represented by dotted line 2 of FIG. 1). (Alternatively, like the Serving LAC, DNIS, CLID, or other equivalent forms of identification could be used.) If Anchor LAC 155 can not authenticate the user, the connection is not accepted (this step is not shown). (In this case, Serving LAC 115 similarly must convey an error message back to the remote user (not shown).)
  • Anchor LAC 155 stores a VPN table that a priori associates, e.g., a user's identification with a particular LNS. A portion of such a table is shown below in Table Three. In this example, the remote user associated with PC 110 is associated with LNS 135, represented by IP address g.h.i.j. Table Three
    User Identification LNS
    username g.h.i.j
  • (Similar to Serving LAC 115, it should be noted that equivalent structures, or operations, could be used. For example, the Anchor LAC may also perform this function via Radius Access Request/Response messages with a Home Radius Server.) In step 315, Anchor LAC 155 checks if this is a valid VPN request using Table Three. If this is not a valid request, Anchor LAC 155 denies the request in step 320. If this is a valid request, Anchor LAC 155 identifies the associated LNS from Table Three in step 325.
  • It is assumed that the Anchor LAC maintains the following connection table for each direction of communication for each established VPN session with a remote user: Table Four
    Serving LAC Serving LAC LNS LNS User Assigned
    Connection # Tid Cid IP Address Tid Cid IP Address IP Address
    5 2 5 d.e.f.g 1 3 g.h.i.j a.b.c.d
  • Anchor LAC associates with each VPN session a connection number. In addition, this connection number is mapped to the respective user. This table lists, by connection number, the Serving LAC IP Address (with associated tunnel ID and Call ID values for that hop), and the associated LNS IP Address (with associated tunnel ID and Call ID values for that associated hop). In step 330, Anchor LAC 155 establishes the VPN session (performs an authentication check, etc.). (Again, if LNS 135 should deny the VPN request (e.g., because of no authentication of the remote user or no capacity), appropriate error messages are generated by the Anchor LAC and the Serving LAC.) Other than the inventive concept, the VPN session with LNS 135 is established as in the prior art. For example, and in accordance with the principles of the invention, in establishing a new VPN session Anchor LAC 155 allocates a new Cid and updates Table Four (e.g., adds a new connection). This last connection is represented by dotted line 3 of FIG. 1.
  • At this point, the connectivity is a point-to-point PPP session whose endpoints are the remote user's networking application on one end (as represented by PC 110) and the termination of this connectivity into LNS 135 PPP support on the other. (It should be noted that accounting, if necessary, can be performed at the Serving LAC, the Anchor LAC, as well as the LNS, i.e., each element may count packets, octets and connection start and stop times.)
  • In support of the above-described multi-hop virtual dial up service, a form of the L2TP (mL2TP) protocol is used and described further below. As in L2TP, there are two parallel components of mL2TP operating over a given tunnel: control messages between each LAC-LNS pair, and payload packets between the same LAC-LNS pair. The latter are used to transport mL2TP encapsulated PPP packets for user sessions between the LAC-LNS pair. As in L2TP, the Nr (Next Received) and Ns (Next Sent) fields are always present in control messages and are optionally present in payload packets. The control messages and payload messages use different sequence number states. For the above-mentioned LAC/LNS pair scenario, there are no changes to the L2TP draft protocol definition as far as the maintenance and usage of (Nr, Ns) is concerned.
  • However, as between the connection between the Serving LAC and the Anchor LAC, the Anchor LAC merely monitors the (Nr, Ns) values sent by the Serving LAC. That is, and in accordance with the inventive concept, the Anchor LAC simply retransmits the values received from the Serving LAC to the LNS. In addition, the Anchor LAC now updates its (State Received, State Sent) values (Sr, Ss), with the corresponding (Nr, Ns) values it has observed from the packets sent by the Serving LAC. Since there will, undoubtedly, be packet losses between the Serving LAC and the Anchor LAC, the Ss (Sr) value at the Anchor LAC may be smaller (smaller) than the Ss (Sr) value at the Serving LAC. In addition, the Anchor LAC maintains two sets of (Sr, Ss) variables, one for the Serving LAC/Anchor LAC control connection and the other for the Anchor LAC/LNS control connection.
  • Before PPP tunneling can occur, in accordance with the inventive concept, between the Serving LAC, the Anchor LAC, and the LNS, control messages must be exchanged between them. Control messages are exchanged over the same tunnel which will be subsequently used to forward payload data once mL2TP call control and management information have been passed (described below).
  • In accordance with the inventive concept, additional Attribute Value Pairs (AVP)s (described below) are defined for use in the L2TP control messages (hence becoming mL2TP control messages). These additional AVPs are for supporting the multi-hop features and call transfer features described above. As defined in L2TP, AVPs are used to further specify control signaling.
  • As noted above, for the above-described LAC/LNS pair case, there is no change to the procedure described in the above-mentioned L2TP draft. As such, only the multi-hop case, requires additional procedures, described below.
  • An illustrative multi-hop message flow is shown in FIG. 4. As can be observed from FIG. 4, a tunnel (identified by a Tid value) and a call (identified by a Cid value) are established between the Serving LAC and the Anchor LAC. Similarly, a tunnel and a call are established between the Anchor LAC and the LNS. As shown in FIG. 4, the inventive concept requires the Serving LAC establish a tunnel to the Anchor LAC. In the context of this invention, the Serving LAC treats the Anchor LAC as an LNS and L2TP procedures are used to initially set up the tunnel.
  • Once a tunnel has been established, a number of control message transactions occur in order to set up a PPP session in accordance with the principles of the invention. These are illustrated in FIGs. 5 - 7. In these FIGs., only the relevant fields are shown for the various control messages. (Note, if the tunnel-id and call-id for the tunnel between the Serving LAC and the Anchor LAC are different from those values for the tunnel between the Anchor LAC and LNS, the Anchor LAC modifies the relevant fields in the packet headers before relaying them in either direction.)
  • As shown in FIG. 5, the Serving LAC first sends a Start-Control-Connect-Request Message (SCCRQ) message (as defined in L2TP) to the Anchor LAC to configure the tunnel between them. Upon receipt of this message, the Anchor LAC then responds with an Start-Control-Connect-Reply Message (SCCRP) (this occurs subsequent to any above-described authentication). The Serving LAC confirms with a Start-Control-Connection-Connect (SCCCN) message to the Anchor LAC.
  • Following the start control connection message exchanges shown in FIG. 5, the Serving LAC sends an Incoming-Call-Request (ICRQ) message to the Anchor LAC as shown in FIG. 6. The Incoming-Call-Request message contains sufficient user data and credentials to enable the Anchor LAC to identify the LNS.
  • As noted earlier, if no tunnel exists between the Anchor LAC and the LNS, the Anchor LAC first initiates the SCCR, SCCRP, SCCCN message exchanges with the LNS as defined in L2TP. Once the tunnel exists, an unused slot within the tunnel, a Cid, is allocated by the Anchor LAC. At this point, and in accordance with the principles of the invention, the Anchor LAC relays the ICRQ message (from the Serving LAC) to notify the LNS of this new dial-up session. As shown in FIG. 6 the Anchor LAC modifies the ICRQ message accordingly before relaying it to the LNS. The modified fields are indicated by a "*", e.g., the assigned call ID. The Anchor LAC also adds a hidden AVP to inform LNS what receive window size it can support. (Note that with the additional hop, the Anchor LAC records the maximum window size negotiated for both the control/payload connections. Also, the window size for the control connection between the Serving LAC and Anchor LAC may be different from that of the control connection between the Anchor LAC and LNS and buffering may be required. To eliminate additional buffering and sequence number monitoring, the Anchor LAC optionally adds an AVP to inform the LNS what receive window size for the payload session the Anchor LAC can support in the Anchor LAC-Serving LAC direction. As a result, the LNS will include only appropriate receive window size values in its ICRP reply and hence only one window size for the payload session in the LNS-Anchor LAC-Serving LAC direction.)
  • As noted earlier, the LNS either accepts the connection or rejects it. Rejections MUST include a result condition and MAY include an error indication. In either case, the LNS sends an Incoming-Call-Reply (ICRP) message to the Anchor LAC as shown in FIG. 6. The Anchor LAC then modifies the ICRP message appropriately and relays it to the Serving LAC in accordance with the invention (again, modified fields are indicated by an "*" in FIG. 6). Since the packet processing delay (PPD) field received from the LNS only includes the processing delay at the LNS, the Anchor LAC add to this value the processing delay at its own node. Then, the ICRQ message is relayed to the Serving LAC.
  • In response, the Serving LAC sends an Incoming-Call-Connected (ICCN) message to the Anchor LAC as shown in FIG. 7. Inside this message, the Serving LAC passes all the LCP Config Request information as well as the Proxy Authentication Information. That is, the Serving LAC is forwarding the results of the LCP Config Request/Ack, PPP PAP/CHAP performed with the user's equipment. The Anchor LAC modifies the PPD field of the received ICCN message before relaying it to the LNS. (Currently, no use is made the tx connect speed and rx connect speed.) Although not shown, and in accordance with the invention, the Anchor LAC also relays all the Set-Link-Info, Hello and Wan-Error-Notify messages defined in L2TP. (It should be observed that the description above illustrates the concept of multi-hop packet tunnel. For example, FIG. 1 represents a 2-hop packet tunnel.)
  • It should be observed that the multi-hop mL2TP tunnels described above occur exclusively at the frame layer. As such, actual policies of address management by the LNS are irrelevant to the above-described Virtual dial-up service since, for all purposes of the PPP protocol handling, the remote user appears to have connected at the LNS.
  • Mobile Point-to-Point Protocol
  • Turning now to FIG. 8, another embodiment of the inventive concept is shown. FIG. 8 is similar to FIG. 1. Other than the inventive concept, the elements are well-known and will not be described in detail. Like numbers indicate like functions and will not be further described except where necessary.
  • In FIG. 8, PC 805 includes data communications equipment (not shown) for establishing wireless access through Personal Communications Service (PCS) wireless network 810 to the Internet. PCS Wireless services are known in the art and will not be described in detail. PCS wireless network 810 comprises a plurality of mobile switching centers as represented by elements 815 and 820. Each switching center serves a geographical area (not shown). It is assumed that elements 815 and 820 include an NAS, e.g., Serving LACs similar to Serving LAC 115 of FIG. 1. Initially, it is assumed that the remote user establishes a VPN session to the corporate network using the above-described multi-hop technique. In particular, the remote user is in a geographical area such that this initial connection is routed through element 815 via connections 814 and 816. In the context of a wireless PCS application, the initial PPP connection is between element 815 and PC 805. (Although shown as a part of the switching elements for simplicity, the NAS functions could also be performed in separate pieces of equipment. Similarly, the other elements such as a local network and router are not shown for simplicity.)
  • We have realized that in a wireless environment tunneling protocols, such as L2TP, do not allow a remote user to change the existing PPP connection from one switching element to another. For example, assuming for the moment that FIG. 8 does not embody the inventive concept, when the remote user roams, e.g., to a geographical area served by element 820 (and hence a different NAS) the user's communication session is handed-off to element 820 as known in the art. However, the existing PPP connection - and hence the VPN session - is dropped and must be re-established since, as noted, there is no ability to transfer existing PPP connections from one NAS to another. In this context, the communications system of FIG. 8 overcomes this problem.
  • Therefore, and in accordance with the invention, an NAS or LAC incorporates a "hand-off" feature that allows the existing NAS to hand-off an existing PPP connection to another NAS. In accordance with this feature, 3 new control messages are defined, namely: (i) Continued Call Request, (ii) Continued Call Reply, and (iii) Continued Call Connect. As a result of the above, the user does not have to terminate the current PPP connection and then re-establish a new PPP connection. These 3 new control messages comprise a L2TP control message header, message identifier (e.g., continued call request, etc.), and a number of fields (described below).
  • In accordance with the inventive concept, an illustrative hand-off message flow is shown in FIG. 9. As can be observed from FIG. 9, a tunnel (identified by a Tid value) and a call (identified by a Cid value) are initially established between element 815, which includes a Serving LAC, and the Anchor LAC. Similarly, a tunnel and a call are established between the Anchor LAC and the LNS. (A method for establishing this initial VPN session was described above.) As shown in FIG. 9, the inventive concept allows the existing Serving LAC to transfer the existing PPP connection to a new Serving LAC, as represented by element 820.
  • Reference should now be made to FIG. 10, which is an illustrative flow chart of a method for use in providing a "hand-off feature." As noted, it is assumed that a VPN session exists between PC 805 and the Corporate network via element 815, which includes a Serving LAC, and Anchor LAC 155. In accordance with the inventive concept, PCS wireless network 810 adds to the existing call state variables additional variables indicating the presence (or lack thereof) of a PPP connection for each wireless call, and if a PPP connection exists, PPP connection information that includes the Anchor LAC identification, e.g., the IP address of the Anchor LAC.
  • In step 405 of FIG. 10, PCS wireless network 810 detects the need for a hand-off because PC 805 has moved from the geographical area served by element 815 to another geographical area, e.g., the area served by element 820, which includes another Serving LAC. In step 410, PCS Wireless system provides element 820 with notification of the impending hand-off (The method(s) used by a wireless system to detect and prosecute a hand-off are known in the art and not relevant to the inventive concept. As such, they will not be described herein and are represented by signaling path 811 of FIG. 8.) Since the call state information now includes a PPP session indicator and PPP call information, the new Serving LAC (of element 820) identifies the Anchor LAC in step 415. In step 420, the new Serving LAC (of element 820) checks to see if there is an existing tunnel between itself and the identified Anchor LAC, here Anchor LAC 155.
  • If no tunnel exists, the new Serving LAC first establishes a tunnel (as described earlier) in step 425. Then, and in accordance with the inventive concept, the new Serving LAC sends a Continued-Call-Request (CCRQ) message to the Anchor LAC in step 430. This CCRQ message includes the user's name associated with the existing PPP connection, the Tid and Cid values to be used for the transferred (new) PPP session.
  • In step 435, the Anchor LAC recovers the user's name from the received CCRQ message and uses this information to determine the LNS and IP address of the old Serving LAC, e.g., from a connection table represented by Table Four, above (this recovered information could also include the respective User Datagram Protocol (UDP) port number). In this step, the Anchor LAC sends a Call-Disconnect-Notify message (e.g., see L2TP) to the old Serving LAC and also identifies in, e.g., Table Four, above, the existing call variables associated with this PPP connection to the remote user, such as old tunnel-id, and old call-id. (On the other hand, if the Anchor LAC should reject the Continued-Call-Request, the Serving LAC either sends a signal back to the user so that the existing PPP session can be torn down and a new PPP session can be initiated or the PPP session is simply dropped (steps not shown).)
  • In step 440, the Anchor LAC replies with a Continued-Call-Reply (CCRP) message with an appropriate Receive Window Size. The CCRP message includes information on the current Nr and Ns values. In step 445, the Anchor LAC updates its connection table, e.g., Table 4, above, by replacing the entries for the Tid, Cid, and Serving LAC IP address fields (identified in step 435), with the new call information for the existing PPP connection. In step 450, the new Serving LAC stores the Nr, Ns, into its Sr, Ss, values and also stores the receive window size from the received CCRP message, if necessary, and sends a Continued-Call-Connect (CCCN) message to the Anchor LAC, which completes the hand-off
  • In support of the above-described hand-off feature for a PPP protocol, FIG. 11 illustrates the above-mentioned new control message transactions in accordance with the principles of the invention. As shown in FIG. 11, a CCRQ message is sent to the identified Anchor LAC.
  • A CCRQ message comprises the following fields:
    • Assigned Cid,
    • Call Serial No.,
    • Bearer Type,
    • Physical Channel ID,
    • Dialed No.,
    • Dialing No.,
    • Sub-Address,
    • Anchor LAC,
    • Challenge,
    • User AVP,
    • User's name, and
    • User's MIN/phone.
  • The Anchor LAC field presumes that this information is available during the hand-off. (Alternatively, if the hand-off process does not provide information about the Anchor LAC to the New Serving LAC, the hand-off process must then provide enough user information to the New Serving LAC so that the New Serving LAC can search for the Anchor LAC information using help from a Foreign Radius Server as known in the art. That is, the New Serving LAC enquires about the Anchor LAC from a Home Radius Server via Radius Access/Response messages.)
  • The User AVP information includes user information (such at the user's name) and other user credentials, e.g. multi-hop virtual dial up service, user's identity (MIN), service provider's phone number etc.
  • Subsequent to the CCRQ message, the Anchor LAC sends a Call-Disconnect-Notify message to the old Serving LAC. Then, the Anchor LAC replies with a Continued-Call Reply (CCRP) message that includes the current Sr, Ss values that it maintains.
  • A CCRP message comprises the following fields:
    • Assigned Cid,
    • Result-Code,
    • Receive Window Size,
    • PPD,
    • Nr,
    • Ns,
    • Challenge, and
    • Challenge Response.
  • Finally, the new Serving LAC replies with a Continued-Call Connect (CCCN) message. CCCN message comprises the following fields:
    • Connect Speed,
    • Framing Type,
    • Receive Window Size,
    • PPD, and
    • Challenge Response.
  • Turning now to FIG. 12, another embodiment of the inventive concept is shown, in the context of transferring an existing PPP connection from one NAS to another NAS, where the old NAS has a connection to the LNS. (In this example, there is no Serving LAC per se, but simply, e.g., an Anchor LAC that is directly supporting an existing PPP connection.) FIG. 12 is similar to FIG. 8. Other than the inventive concept, the elements are well-known and will not be described in detail. Like numbers indicate like functions and will not be further described except where necessary.
  • In FIG. 12, PC 805 includes data communications equipment (not shown) for establishing wireless access through Personal Communications Service (PCS) wireless network 910 to the Internet. PCS Wireless services are known in the art and will not be described in detail. PCS wireless network 910 comprises a plurality of mobile switching centers as represented by elements 875 and 880. Each switching center serves a geographical area (not shown). It is assumed that elements 875 and 880 include an NAS, e.g., LACs similar to Anchor LAC 115 of FIG. 1. Initially, it is assumed that the remote user establishes a VPN session to the corporate network as known in the art using, e.g., that portion of L2TP. In particular, the remote user is in a geographical area such that this initial connection is routed through element 875 via connections 874 and 876 to LNS 935. In the context of a wireless PCS application, the initial PPP connection is between element 875 and PC 805. (Although shown as a part of the switching elements for simplicity, the NAS functions could also be performed in separate pieces of equipment. Similarly, the other elements such as a local network and router are not shown for simplicity.))
  • In this embodiment, the same hand-off procedure is carried out for the LAC/LNS pair except that the above-described CCRQ, CCRP, CCCN messages are exchanged between the new LAC and LNS. In accordance with the inventive concept, an illustrative hand-off message flow is shown in FIG. 13. As can be observed from FIG. 13, a tunnel (identified by a Tid value) and a call (identified by a Cid value) are initially established between element 875, which includes a LAC, and LNS 935. As shown in FIG. 13, the inventive concept allows the existing LAC to transfer the existing PPP connection to a new LAC, as represented by element 880.
  • Reference should now be made to FIG. 14, which is an illustrative flow chart of a method for use in providing a "hand-off feature." As noted, it is assumed that a VPN session exists between PC 805 and the Corporate network via element 875, which includes a LAC. In accordance with the inventive concept, PCS wireless network 910 adds to the existing call state variables additional variables indicating the presence (or lack thereof) of a PPP connection for each wireless call, and if a PPP connection exists, PPP connection information that includes the LNS identification, e.g., the IP address of the LNS.
  • In step 505 of FIG. 14, PCS wireless network 910 detects the need for a hand-off because PC 805 has moved from the geographical area served by element 875 to another geographical area, e.g., the area served by element 880, which includes another LAC. In step 510, PCS Wireless system provides element 880 with notification of the impending hand-off. (The method(s) used by a wireless system to detect and prosecute a hand-off are known in the art and not relevant to the inventive concept. As such, they will not be described herein and are represented by signaling path 911 of FIG. 12.) Since the call state information now includes a PPP session indicator and PPP call information, the new LAC (of element 880) identifies the LNS in step 515. In step 520, the new LAC (of element 880) checks to see if there is an existing tunnel between itself and the identified LNS, here LNS 935.
  • If no tunnel exists, the new LAC first establishes a tunnel (as described earlier) in step 525. Then, and in accordance with the inventive concept, the new LAC sends a Continued-Call-Request (CCRQ) message to the LNS in step 530. This CCRQ message includes the user's name associated with the existing PPP connection, the Tid and Cid values to be used for the transferred (new) PPP session.
  • In step 535, the LNS recovers the user's name from the received CCRQ message and uses this information to determine the IP address of the old LAC (this recovered information could also include the respective User Datagram Protocol (UDP) port number). In this step, the LNS sends a Call-Disconnect-Notify message (e.g., see L2TP) to the old LAC and also identifies in, e.g., a connection table similar to that shown in Table Four, above, but sans the Serving LAC information etc., the existing call variables associated with this PPP connection to the remote user, such as old tunnel-id, and old call-id. (On the other hand, if the LNS should reject the Continued-Call-Request, the new LAC either sends a signal back to the user so that the existing PPP session can be torn down and a new PPP session can be initiated or the PPP session is simply dropped (steps not shown).)
  • In step 540, the LNS replies with a Continued-Call-Reply (CCRP) message with an appropriate Receive Window Size. The CCRP message includes information on the current Nr and Ns values. In step 545, the LNS updates its connection table by replacing the entries for the Tid, Cid, and LAC IP address fields (identified in step 535), with the new call information for the existing PPP connection. In step 550, the new LAC updates the Nr, Ns, and receive window size from the received CCRP message, if necessary, and sends a Continued-Call-Connect (CCCN) message to the LNS, which completes the hand-off.
  • In support of the above-described hand-off feature for a PPP protocol, FIG. 15 illustrates the above-mentioned new control message transactions in accordance with the principles of the invention. As shown in FIG. 15, a CCRQ message is sent to the identified LNS. (Alternatively, if the hand-off process does not provide information about the LNS to the new LAC, the hand-off process must then provide enough user information to the new LAC so that the new LAC can search for the LNS information using help from a Foreign Radius Server as known in the art. That is, the new LAC enquires about the LNS from a Home Radius Server via Radius Access/Response messages.) Subsequent to the CCRQ message, the LNS sends a Call-Disconnect-Notify message to the old LAC. Then, the LNS replies with a Continued-Call Reply (CCRP) message that includes the current Sr, Ss values that it maintains. Finally, the new LAC replies with a Continued-Call Connect (CCCN) message.
  • As described above, a PPP connection is transferred from one NAS to another NAS. In support of the newly defined messages, additional call states are defined for the respective NAS as illustrated in Tables Five and Six, below. Table Five - New LAC (or NAS)
    Call State Event Action New State
    idle hand-off notification Send CCRQ wait-CCRP-reply
    wait-CCRP-reply Receive CCRP, not accepted, Clean-up idle
    wait-CCRP-reply Receive CCRP, accepted, Send CCCN established,
  • As can be observed, the additional, or, new, call state for mL2TP associated with the new LAC (or NAS) for a continued call is the wait-CCRP-reply state.
  • It should be noted that for the old LAC (or NAS), a Call-Disconnect-Notify (CDN) Message is received while in the established state. In response, the old LAC cleans up and disconnects the call, and returns to the idle state. Table Six - Anchor LAC, or LNS
    Call State Event Action New State
    established Received CCRQ, not accepted, Send CCRP, with error code, Send CDN to LNS, idle,
    established Receive CCRP, accepted, Send CDN to old LAC, Send CCRP to new LAC, wait-CCCN
    wait-CCCN Receive CCCN get ready for data, established,
    wait-CCCN Receive CDN Clean-up, Idle,
    As can be observed, the additional, or, new, call state for mL2TP associated with the Anchor LAC, or LNS, for a continued call is the wait-CCCN state.
  • Payload Message Overviews and Congestion Control for mL2TP
  • With respect to payload messages for mL2TP, the Serving LAC and the LNS follow L2TP procedures. The Anchor LAC swaps the Tid and Cid for the payload packets. The Anchor LAC also monitors the (Nr, Ns) values sent by the Serving LAC. (It should be noted that since there may be packet losses between the Serving LAC and the Anchor LAC, it is expected that both the Sr and Ss values at the Anchor LAC may be lagging behind those values maintained at the Serving LAC.) The Anchor LAC does not change the (Nr, Ns) of the payload packets in either directions. The Anchor LAC only makes use of its own Sr, Ss values when it receives a Continued-Call Request message from a new Serving LAC.
  • With respect to congestion control, the L2TP requirements on when to abide to receive window size, when to send Nr/Ns, and when to send an ACK apply to mL2TP. In addition, mL2TP also has the following additional requirements for the Serving LAC and the Anchor LAC.
  • The Anchor LAC is required to monitor the (Nr, Ns) value sent by the Serving LAC. The Anchor LAC should include the (Sr, Ss) value it maintains in the Continued-Call-Reply message when it replies to the Continued-Call-Connect message it receives from a Serving LAC. Since a network between the Serving LAC and an Anchor LAC is lossy, the Sr value maintained by an Anchor LAC may be lagging behind the Serving LAC.
  • In addition, the Serving LAC implements a full receiver rather than a simple receiver, as referred to in the art. This requirement is to prevent the new Serving LAC from passing out-of-sequence or duplicate packets to upper layers when there is a change of Serving LAC during the lifetime of a PPP session.
  • Turning briefly to FIG. 16, a high level block diagram of a representative NAS is shown. An NAS is a stored-program-control based processor architecture and includes processor 650, memory 660 (for storing program instructions and data, e.g., the above-mentioned connection tables, etc.) and communications interface(s) 665 for coupling to one or more communication facilities as represented by path 666.
  • The foregoing merely illustrates the principles of the invention and it will thus be appreciated that those skilled in the art will be able to devise numerous alternative arrangements. For example, instead of a Serving NAS initiating the establishment of a multi-hop tunnel for incoming calls, the LNS could initiate the establishment of a multi-hop sequence for outgoing calls. Such modifications are straightforward and will not be described herein as illustrated by FIGs. 17 - 18.

Claims (11)

  1. A method for use in providing a user access to a VPN service at a location other than said user's anchor location, the method comprising the steps of:
    accepting point-to-point protocol connections (1) with users for accessing the VPN service, said point-to-point connections establishing a VPN connection between said user and a serving LAC device (115) to enables an alternate VPN connection location; and
    causing to be established, by use of a layer 2 tunneling protocol, a first packet tunnel (2) between an anchor LAC device (155) and said serving LAC device and a second packet tunnel (3) between said anchor LAC device and an endpoint packet server (135), such that the anchor LAC device is disposed between said first and second packet tunnels and relays messages therebetween, and wherein at least some messages established by said layer 2 tunneling protocol are modified by said anchor LAC device prior to relaying them.
  2. The method of claim 1 further comprising the step of tracking connection information, the connection information including a tunnel identification value for the first packet tunnel and a tunnel identification value for the second packet tunnel.
  3. The method of claim 1 wherein said modification of at least some of the messages includes modifying tunnel identification information.
  4. The method of claim 1 wherein said modification of at least some of the messages includes modifying packet processing delay information included in any of the messages to include a packet processing delay for the anchor LAC device.
  5. The method of claim 1 wherein the anchor LAC device and endpoint packet server use a transmission protocol that supports multiple tunnels.
  6. The method of claim 5 wherein the transmission protocol is the Layer 2 Tunneling Protocol.
  7. An anchor LAC device (155) capable of establishing a VPN connection with a serving LAC device (115) to enable an alternate VPN connection location to a user comprising:
    a processing element (650) for causing to be established, by use of a layer 2 tunneling protocol, a first packet tunnel (2) between said anchor LAC device and said serving LAC device and a second packet tunnel (3) between said anchor LAC device and an endpoint packet server (135) wherein at least some messages established by said layer tunneling protocol are modified by said anchor LAC device prior to relaying them between said first and second packet tunnels; and
    a memory element (660) for storing connection information relating the two packet tunnels together, said first packet tunnel enabling said VPN connection to occur through said serving LAC.
  8. The anchor LAC device of claim 7 wherein said modification of at least some of the messages includes a modification of tunnel identification information.
  9. The anchor LAC device of claim 7 wherein said modification of at least some of the messages includes a modification of packet processing delay information included in any of the messages to include a packet processing delay for the anchor LAC device.
  10. The anchor LAC device of claim 7 wherein the anchor LAC device and end point packet server are adapted to use a transmission protocol that supports multiple tunnels.
  11. The anchor LAC device of claim 10 wherein the transmission protocol is the Layer 2 Tunneling Protocol.
EP99303275A 1998-05-08 1999-04-27 A multi-hop Point-to-point protocol Expired - Lifetime EP0955746B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/074,745 US6449272B1 (en) 1998-05-08 1998-05-08 Multi-hop point-to-point protocol
US74745 1998-05-08

Publications (3)

Publication Number Publication Date
EP0955746A2 EP0955746A2 (en) 1999-11-10
EP0955746A3 EP0955746A3 (en) 2003-11-12
EP0955746B1 true EP0955746B1 (en) 2007-01-10

Family

ID=22121441

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99303275A Expired - Lifetime EP0955746B1 (en) 1998-05-08 1999-04-27 A multi-hop Point-to-point protocol

Country Status (5)

Country Link
US (1) US6449272B1 (en)
EP (1) EP0955746B1 (en)
JP (1) JP3470882B2 (en)
CA (1) CA2267002A1 (en)
DE (1) DE69934734T2 (en)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606851B2 (en) 1995-06-06 2013-12-10 Wayport, Inc. Method and apparatus for geographic-based communications service
US5835061A (en) 1995-06-06 1998-11-10 Wayport, Inc. Method and apparatus for geographic-based communications service
US6754712B1 (en) * 2001-07-11 2004-06-22 Cisco Techonology, Inc. Virtual dial-up protocol for network communication
SE9703327L (en) * 1997-09-12 1999-03-13 Ericsson Telefon Ab L M Method and apparatus for data communication
US6233688B1 (en) * 1998-06-30 2001-05-15 Sun Microsystems, Inc. Remote access firewall traversal URL
CA2723504C (en) 1998-10-30 2014-04-29 Virnetx, Inc. An agile network protocol for secure communications with assured system availability
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7188180B2 (en) 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US6829235B1 (en) * 1999-02-19 2004-12-07 Nokia Networks Oy Telecommunications network with parallel session function
US6725047B1 (en) * 1999-06-09 2004-04-20 Tantivy Communications, Inc. Floating IP address for roaming internet connected subscriber units
KR100367657B1 (en) * 1999-09-21 2003-01-10 가부시키가이샤 엔.티.티.도코모 Data conversion apparatus, signal, data conversion method, dce, gateway and communication apparatus
EP1093255B1 (en) * 1999-10-14 2009-12-16 Alcatel Lucent Method for connecting a first user-terminal to a second user-terminal, related devices and related software modules
US7706362B1 (en) * 1999-10-29 2010-04-27 3Com Corporation Method and apparatus for selection of an endpoint device in a point to point link
WO2001037517A2 (en) * 1999-11-03 2001-05-25 Wayport, Inc. Distributed network communication system which enables multiple network providers to use a common distributed network infrastructure
GB9929880D0 (en) * 1999-12-18 2000-02-09 Roke Manor Research Nested TCP/IP protocol enhancement
CA2392957A1 (en) * 1999-12-18 2001-06-21 Roke Manor Research Limited Internet access
US6985964B1 (en) * 1999-12-22 2006-01-10 Cisco Technology, Inc. Network processor system including a central processor and at least one peripheral processor
US6895434B1 (en) * 2000-01-03 2005-05-17 Cisco Technology, Inc. Sharing of NAS information between PoPs
US7197017B1 (en) * 2000-01-04 2007-03-27 Qualcomm, Incorporated Method and apparatus for channel optimization during point-to-point protocol (PPP) session requests
US7190687B1 (en) * 2000-01-04 2007-03-13 Qualcomm Incorporated Method and apparatus for requesting point-to-point protocol (PPP) instances from a packet data services network
CA2396838C (en) * 2000-01-28 2012-08-14 Qualcomm Incorporated Method and apparatus for channel optimization during point-to-point protocol (ppp) session requests
US6654792B1 (en) * 2000-02-28 2003-11-25 3Com Corporation Method and architecture for logical aggregation of multiple servers
US6996628B2 (en) * 2000-04-12 2006-02-07 Corente, Inc. Methods and systems for managing virtual addresses for virtual networks
US7181766B2 (en) * 2000-04-12 2007-02-20 Corente, Inc. Methods and system for providing network services using at least one processor interfacing a base network
US6631416B2 (en) * 2000-04-12 2003-10-07 Openreach Inc. Methods and systems for enabling a tunnel between two computers on a network
US7028333B2 (en) * 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for partners in virtual networks
US7085854B2 (en) * 2000-04-12 2006-08-01 Corente, Inc. Methods and systems for enabling communication between a processor and a network operations center
US7047424B2 (en) * 2000-04-12 2006-05-16 Corente, Inc. Methods and systems for hairpins in virtual networks
US7028334B2 (en) * 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for using names in virtual networks
US20020022483A1 (en) * 2000-04-18 2002-02-21 Wayport, Inc. Distributed network communication system which allows multiple wireless service providers to share a common network infrastructure
US7814212B1 (en) * 2000-04-28 2010-10-12 Chan Hark C Data delivery system using local and remote communications
DE60132193T2 (en) * 2000-05-06 2008-12-18 Level 3 Communications, LLC, Broomfield Method and system for sending information in an external network
KR20020001126A (en) * 2000-06-26 2002-01-09 박종섭 Multi connection method using point to point protocol
EP2288083B1 (en) 2000-06-16 2013-07-31 Fujitsu Limited Communication device having VPN accomodation function
KR20010066996A (en) * 2000-11-07 2001-07-12 이광세 ASIC of VPN using IP-Sec(internet protocol-security)
US20020065906A1 (en) * 2000-11-29 2002-05-30 Davidson John M. Method and apparatus for tunneled communication in an enterprise network
US7111065B2 (en) * 2000-11-29 2006-09-19 Efficient Networks, Inc. Method and apparatus for managing tunneled communications in an enterprise network
US6763018B1 (en) * 2000-11-30 2004-07-13 3Com Corporation Distributed protocol processing and packet forwarding using tunneling protocols
US20020083344A1 (en) * 2000-12-21 2002-06-27 Vairavan Kannan P. Integrated intelligent inter/intra networking device
TWI223942B (en) 2001-02-20 2004-11-11 Li Jian Min Contents transmission network system and creating method thereof
US6978308B2 (en) * 2001-03-21 2005-12-20 International Business Machines Corporation System and method for nesting virtual private networking connections with coincident endpoints
US7533409B2 (en) * 2001-03-22 2009-05-12 Corente, Inc. Methods and systems for firewalling virtual private networks
US7020672B2 (en) * 2001-03-30 2006-03-28 Koninklijke Philips Electronics, N.V. Reduced complexity IDCT decoding with graceful degradation
US7139833B2 (en) 2001-04-04 2006-11-21 Ipr Licensing, Inc. Proxy mobile node capability for mobile IP
JP4501310B2 (en) * 2001-05-28 2010-07-14 株式会社日立製作所 Packet transfer device
US6816890B2 (en) * 2001-05-28 2004-11-09 Hitachi, Ltd. Gateway apparatus with LAC function
US7395354B2 (en) * 2002-02-21 2008-07-01 Corente, Inc. Methods and systems for resolving addressing conflicts based on tunnel information
KR100438431B1 (en) * 2002-02-23 2004-07-03 삼성전자주식회사 Security system for virtual private network service access in communication network and method thereof
US20030233580A1 (en) * 2002-05-29 2003-12-18 Keeler James D. Authorization and authentication of user access to a distributed network communication system with roaming features
JP3927133B2 (en) * 2003-03-05 2007-06-06 株式会社東芝 Electronic device and communication control method used in the same
US7024687B2 (en) * 2003-05-21 2006-04-04 Cisco Technology, Inc. System and method for providing end to end authentication in a network environment
US20050071475A1 (en) * 2003-09-29 2005-03-31 Bennett Donald John Direct internet access in the global system for mobile communications
JP4253569B2 (en) * 2003-12-03 2009-04-15 株式会社日立コミュニケーションテクノロジー Connection control system, connection control device, and connection management device
US20050261970A1 (en) * 2004-05-21 2005-11-24 Wayport, Inc. Method for providing wireless services
US7779461B1 (en) * 2004-11-16 2010-08-17 Juniper Networks, Inc. Point-to-multi-point/non-broadcasting multi-access VPN tunnels
JP4401942B2 (en) * 2004-12-08 2010-01-20 株式会社日立コミュニケーションテクノロジー Packet transfer device and communication network
US20070033646A1 (en) * 2005-08-05 2007-02-08 Sierra Wireless, Inc. A Canadian Corp. Suspension and resumption of secure data connection session
US8108525B2 (en) * 2006-08-03 2012-01-31 Citrix Systems, Inc. Systems and methods for managing a plurality of user sessions in a virtual private network environment
US7995524B2 (en) * 2006-09-07 2011-08-09 Industrial Technology Research Institute Wireless communication system and method
US20080301242A1 (en) * 2007-06-04 2008-12-04 Akella Raji L System and method for protecting chat content
US8261327B2 (en) 2007-07-12 2012-09-04 Wayport, Inc. Device-specific authorization at distributed locations
US8132247B2 (en) * 2007-08-03 2012-03-06 Citrix Systems, Inc. Systems and methods for authorizing a client in an SSL VPN session failover environment
US8566839B2 (en) 2008-03-14 2013-10-22 William J. Johnson System and method for automated content presentation objects
US8600341B2 (en) 2008-03-14 2013-12-03 William J. Johnson System and method for location based exchanges of data facilitating distributed locational applications
US8761751B2 (en) 2008-03-14 2014-06-24 William J. Johnson System and method for targeting data processing system(s) with data
US8634796B2 (en) 2008-03-14 2014-01-21 William J. Johnson System and method for location based exchanges of data facilitating distributed location applications
US8639267B2 (en) 2008-03-14 2014-01-28 William J. Johnson System and method for location based exchanges of data facilitating distributed locational applications
US8923806B2 (en) 2008-03-14 2014-12-30 William J. Johnson System and method for presenting application data by data processing system(s) in a vicinity
JP5614956B2 (en) 2009-08-11 2014-10-29 株式会社バンダイナムコゲームス Program, image generation system
EP2823413A4 (en) 2012-03-07 2016-05-04 Snap Trends Inc Methods and systems of aggregating information of social networks based on geographical locations via a network
US9596271B2 (en) * 2012-10-10 2017-03-14 International Business Machines Corporation Dynamic virtual private network
US9477991B2 (en) 2013-08-27 2016-10-25 Snap Trends, Inc. Methods and systems of aggregating information of geographic context regions of social networks based on geographical locations via a network
US9183525B2 (en) 2013-09-25 2015-11-10 GlobalFoundries, Inc. Method and system for identifying and visualizing work transfers using financial data
US9894489B2 (en) 2013-09-30 2018-02-13 William J. Johnson System and method for situational proximity observation alerting privileged recipients
EP3219060B1 (en) * 2014-11-14 2019-06-05 Bigleaf Networks, LLC Circuit-aware load balancing with dynamic quality of service
JPWO2023175915A1 (en) * 2022-03-18 2023-09-21

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061346A (en) * 1997-01-17 2000-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Secure access method, and associated apparatus, for accessing a private IP network
US6055575A (en) * 1997-01-28 2000-04-25 Ascend Communications, Inc. Virtual private network system and method
US6108350A (en) * 1998-03-09 2000-08-22 3Com Corporation Method and apparatus for detecting the protocol used by an end station and negotiating a protocol used by the endpoint
US6118785A (en) * 1998-04-07 2000-09-12 3Com Corporation Point-to-point protocol with a signaling channel
US6112245A (en) * 1998-04-07 2000-08-29 3Com Corporation Session establishment for static links in Point-to-Point Protocol sessions
US6094437A (en) * 1998-10-09 2000-07-25 Asc - Advanced Switching Communications Layer two tunneling protocol (L2TP) merging and management

Also Published As

Publication number Publication date
DE69934734D1 (en) 2007-02-22
JP3470882B2 (en) 2003-11-25
EP0955746A3 (en) 2003-11-12
DE69934734T2 (en) 2007-10-11
CA2267002A1 (en) 1999-11-08
EP0955746A2 (en) 1999-11-10
US6449272B1 (en) 2002-09-10
JPH11355272A (en) 1999-12-24

Similar Documents

Publication Publication Date Title
EP0955746B1 (en) A multi-hop Point-to-point protocol
US6801509B1 (en) Mobile point-to-point protocol
EP1549006B1 (en) A mobile point-to-point protocol
US6230012B1 (en) IP mobility support using proxy mobile node registration
JP3515983B2 (en) Network access methods, including direct wireless access to the Internet
US6684256B1 (en) Routing method for mobile wireless nodes having overlapping internet protocol home addresses
US6061650A (en) Method and apparatus for transparently providing mobile network functionality
US20060171365A1 (en) Method and apparatus for L2TP dialout and tunnel switching
JPH11275154A (en) Message distribution sequence
US6973088B2 (en) PPP link negotiation in mobile IP systems
JPH11289353A (en) Accounting system for network
JPH11252183A (en) Method for making point-to-point protocol in 'ethernet' (trademark) frame into capsule
JPH11275155A (en) Message in network and communications system
JP2000022758A (en) Interworking function selection system in network
JPH11275156A (en) Communication using pier-to-pier protocol server
JPH11331276A (en) Registration method for network
EP1125418B1 (en) A mobile terminal and wireless device with common ip address
JP2008511206A (en) Managed mobile voice over internet protocol (VoIP) overlay method and architecture

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

RIC1 Information provided on ipc code assigned before grant

Ipc: 7H 04L 29/12 B

Ipc: 7H 04L 29/08 B

Ipc: 7H 04L 29/06 B

Ipc: 7H 04L 12/46 A

17P Request for examination filed

Effective date: 20040504

AKX Designation fees paid

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 20040629

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 69934734

Country of ref document: DE

Date of ref document: 20070222

Kind code of ref document: P

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20071011

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20131121 AND 20131127

REG Reference to a national code

Ref country code: FR

Ref legal event code: CD

Owner name: ALCATEL-LUCENT USA INC.

Effective date: 20131122

REG Reference to a national code

Ref country code: FR

Ref legal event code: GC

Effective date: 20140410

REG Reference to a national code

Ref country code: FR

Ref legal event code: RG

Effective date: 20141015

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 17

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 18

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20160421

Year of fee payment: 18

Ref country code: DE

Payment date: 20160421

Year of fee payment: 18

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20160421

Year of fee payment: 18

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 69934734

Country of ref document: DE

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20170427

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20171229

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20171103

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170502

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170427