WO2002069596A2 - Service tunnel over a connectionless network - Google Patents

Service tunnel over a connectionless network Download PDF

Info

Publication number
WO2002069596A2
WO2002069596A2 PCT/US2002/004645 US0204645W WO02069596A2 WO 2002069596 A2 WO2002069596 A2 WO 2002069596A2 US 0204645 W US0204645 W US 0204645W WO 02069596 A2 WO02069596 A2 WO 02069596A2
Authority
WO
WIPO (PCT)
Prior art keywords
private
service
packet
tunnel
services
Prior art date
Application number
PCT/US2002/004645
Other languages
French (fr)
Other versions
WO2002069596A3 (en
Inventor
Alexander Bachmutsky
Henry Tzeng
Chi Fai Ho
Ravi Bail Bhat
Andrzej Koscinsky
Himansu Sahu
Original Assignee
Nokia Intelligent Edge Routers 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 Nokia Intelligent Edge Routers Inc. filed Critical Nokia Intelligent Edge Routers Inc.
Priority to CA002438853A priority Critical patent/CA2438853A1/en
Priority to AU2002244034A priority patent/AU2002244034A1/en
Priority to EP02709555A priority patent/EP1374520A2/en
Publication of WO2002069596A2 publication Critical patent/WO2002069596A2/en
Publication of WO2002069596A3 publication Critical patent/WO2002069596A3/en

Links

Classifications

    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5077Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5087Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to voice services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV

Definitions

  • the present invention pertains to the field of internet protocol (IP) networks. More particularly, the invention relates to a service tunnel for private IP services over a connectionless network.
  • IP internet protocol
  • WANs wide area networks
  • TDM time division multiplexing
  • ATM asynchronous transfer mode
  • the Internet In contrast to the enterprise-oriented connection-oriented networking technologies with centralized control is the Internet, which has exploded in popularity in recent years.
  • the Internet is a loose collection of networks organized into a multilevel hierarchy using a wide variety of interconnection technologies.
  • the Internet is a connectionless datagram switching scheme bound together by addressing, routing, and IP but with decentralized control. Rather than focusing on enterprise communications, the Internet is focused on global packet transport, which involves the forwarding of packets.
  • the Internet is widely used for accessing the World-Wide Web and for global email, but has generally been deficient with respect to certain communications services valued by enterprises, such as security, connectivity, and quality of service.
  • VPN virtual private network
  • IETF Internet Engineering Task Force
  • a VPN is an IP connection between two sites over a public IP network that has its payload traffic encrypted so that only the source and destination can decrypt the traffic packets.
  • the RFC 2547 document discloses using multiprotocol label switching (“MPLS") for forwarding packets over the background and using border gateway protocol (“BGP”) for distributing routes over the backbone.
  • MPLS multiprotocol label switching
  • BGP border gateway protocol
  • RFC 2547 briefly suggests some quality of service techniques, the focus of RFC 2547 is on the transport of packets. Moreover, the VPN scheme described in RFC 2547 is a transport tunnel that starts at the network side, rather than a scheme that starts at the end-user's side.
  • L2TP layer two tunneling protocol
  • L2TP Layer Two Tunneling Protocol
  • RFC 2661 Network Working Group, IETF (August 1999)
  • PPP point-to-point protocol
  • a method for establishing a service tunnel for private internet protocol services over a connectionless network.
  • the private internet protocol services are transported over the service tunnel in accordance with selected respective private internet protocol services.
  • Figure 1 shows a service layer over an optical network
  • Figure 2 illustrates service tunnels in a network
  • Figure 3 shows the protocol structure of a service tunnel
  • Figure 4 shows a service tunnel packet, including the L2TP message header
  • Figure 5 shows the process for setting up and tearing down a service tunnel
  • Figure 6 illustrates the establishment of a service tunnel
  • FIG. 7 shows the format of an Attribute Value pair ("AVP") for the service tunnel
  • Figure 8 shows a Service Type List AVP for the service tunnel
  • Figure 9 shows a Sub-Address AVP for the service tunnel
  • Figure 10 shows an encapsulation services packet for the service tunnel
  • Figure 11 shows a private IP packet.
  • a method for establishing a service tunnel for private internet protocol (IP) services over a connectionless network allows the encapsulation and transport of private IP packets containing data, voice, and video information over an intervening connectionless network between end-users and the providing of enterprise services to end-users.
  • the services provided by the service tunnel include connectivity, addressing, reachability, forwarding, peering, and premium services, such as priority and quality of service.
  • the service tunnel is a modified layer two tunneling protocol (“L2TP”) tunnel and the connectionless network is an IP network.
  • L2TP layer two tunneling protocol
  • the connectionless network is a multiprotocol label switching (“MPLS”) network.
  • Figure 1 illustrates the layered network architecture for one embodiment of the present invention.
  • Layer 1 includes the long haul portion 10 and the local metropolitan sections 8 and 9.
  • the long haul portion 10 and the metropolitan sections 8 and 9 comprise an optical network between network carriers.
  • Layer 1 is the network interface layer. Layer 1 connects a host to the local network hardware. Layer 1 makes a connection to the physical medium. Layer 1 uses a specific protocol for accessing the medium. Layer 1 also places data into frames. Layer 1 , however, does not provide enterprise services to end-users.
  • Layer 1 shown in Figure 1 includes the physical and data link layers of the Open System Interconnect ("OSI") reference model developed by the International Organization for Standards (“ISO").
  • OSI Open System Interconnect
  • ISO International Organization for Standards
  • Layer 3 shown in Figure 1 is the Internet protocol network layer, which for one embodiment is also the service layer.
  • layer 3 provides the enterprise services to end-users.
  • the enterprise services are also referred to as subscriber services or just services.
  • Layer 3 is where the Internet protocol is found. Layer 3 transfers user messages from source host to destination host. Layer 3 is a connectionless datagram service. In layer 3, root selection is based on some metric. Layer 3 uses IP addresses as a road map to locate a host. Layer 3 relies on routers or switches. Layer 3 includes the Internet control message protocol ("ICMP"), which uses an IP datagram to carry message about the state of the communications environment.
  • ICMP Internet control message protocol
  • layer 3 also includes a service tunnel for providing subscriber services to end-users.
  • the service tunnel is a modified L2TP tunnel.
  • the subscriber services are offered using layer 3 without the use of connection-oriented technologies such as frame relay, TDM, and ATM.
  • An intended advantage of the service tunnel is to help to reduce the expenses of network providers by helping to reduce the number of networks needed to be built and maintained.
  • An another intended advantage of the service tunnel is to reduce or eliminate the high fees otherwise required by connection-oriented WAN technologies.
  • the service tunnel found in layer 3 provides services for layers higher than layer 3 in addition to services for layer 3. For example, the service tunnel also provides services for the IP layer 3, the transport layer four and the application layer five (not shown).
  • the transport layer four includes the transmission control protocol ("TCP") and the user datagram protocol ("UDP").
  • TCP transmission control protocol
  • UDP user datagram protocol
  • the service tunnel provides services for the network layer, the transport layer, the session layer, the presentation layer, and the application layer.
  • the layers 3 and above are also referred to as layers 3 plus.
  • layer 3 contains MPLS.
  • MPLS is a connectionless optimized switching technology for IP networks. MPLS involves prepending IP packets with a routing label at an edge of an "MPLS cloud" and performing all forwarding within the cloud based on the label value.
  • the service tunnel found in layer 3 would run over MPLS. That service tunnel would provide services for layers 3 plus.
  • FIG. 2 illustrates a network configuration 11 for implementing an embodiment of the present invention.
  • the public IP network 12 includes virtual routers 21 , 22, and 23.
  • Virtual routers 21-23 provide access to the global Internet, including access to the World Wide Web. Virtual routers 21- 23 thus use IP protocol.
  • network 12 is an MPLS network.
  • virtual routers 21 - 23 would use MPLS protocol in addition to IP protocol.
  • customer premises (“CP”) routers 14, 15, and 16 are at various sites of a single enterprise.
  • customer premises router 14 is coupled to virtual router 21 via a local area network (“LAN”) or a wide area network (“WAN").
  • Customer premises router 15 is coupled to virtual router 22 via a LAN or WAN.
  • Customer premises router 16 is coupled to virtual router 23 via LAN or WAN.
  • Figure 2 also illustrates service tunnels 30, 31 , and 32.
  • Service tunnel 30 is between virtual router 21 and virtual router 22.
  • Service tunnel 31 is between virtual router 22 and virtual router 23.
  • Service tunnel 32 is between virtual router 21 and virtual router 23.
  • each service tunnel is established between two virtual routers, from the point of view of the end users (i.e., subscribers) at each of the customer premises routers 14-16, each service tunnel appears to start from the end-user side, not the network side. This is because the service tunnel provides services to the end users. This contrasts with a transport tunnel, such as MPLS, that starts at the network side.
  • MPLS transport tunnel
  • Figure 2 shows three CP routers, three virtual routers, and three service tunnels.
  • any other number of CP routers, virtual routers, and service tunnels can be used.
  • more than one service tunnel can exist between two virtual routers.
  • Each of the service tunnels 30-32 facilities the tunneling of private IP packets across intervening network 12 in a way that is as transparent as possible to the customer premises routers and the applications running on those customer premises routers.
  • Service tunnels 30-32 allow the formation of IP virtual private networks that offer services to subscribers at the CP routers 14-16.
  • Service tunnel 30 allows the subscriber at customer premises router 14 to send private IP packets over network 12 and have them transported to customer premises router 15.
  • service tunnel 30 allows the subscriber at customer premises router 15 to send private IP packets to customer premises router 14.
  • Service tunnel 31 allows the subscribers at CP routers 15 and 16 to exchange private IP packets.
  • Service tunnel 32 allows the subscribers at CP routers 14 and 16 to exchange private IP packets.
  • the private IP packets sent by CP routers 14- 16 over service tunnels 30-32 can contain data, voice, and video.
  • Each of the service tunnels 30-32 allows sessions to carry different payloads within the same service tunnel.
  • L2TP tunnel described in the RFC 2661 document provides a standard method for tunneling point-to-point protocol ("PPP") packets.
  • Service tunnels 30-32 are each a modified L2TP tunnel.
  • the service tunnels 30-32 each include an extension to L2TP that provides a mechanism to support tunneling of additional payload types over individual sessions within an L2TP tunnel. These extensions provide added functionality that is optional and preserve backwards compatibility.
  • the service tunnels 30-32 each provide subscriber services (also called enterpriser services) to end users.
  • the subscriber services include connectivity services, addressing services, reachability services, forwarding services, peering services, and premium services.
  • the connectivity services allow an end user to connect to all other sites within the subscriber's virtual private network.
  • the connectivity services do not, however, allow an end user to connect to another subscriber's network.
  • Reachability services allow others within the same virtual private network to reach a particular end user. End users are able to advertise their respective addresses. Forwarding services allow an end user to decide how he or she would like to forward packets.
  • Class of service allows data to be tagged with a specific priority level with respect to the transport through service tunnels 30-32. For example, CP router 14 can assign a delivery priority to its outgoing private IP packets to be forwarded through service tunnel 30. This is important because during periods of congestion you do not want voice or video data sets to be dropped by switches or routers. A high priority assignment to these data sets ensures their delivery. Class of service enables "real-time" packets (for example, packets carrying full-motion video data) to be sent at a constant rate without interruption of delivery.
  • Quality of service refers to parameters associated with data prioritization that specify such things as the amount of bandwith a priority data transmission over service tunnels 30-32 requires as well as the maximum amount of latency the transmission can tolerate in order for the transmission to be meaningful. Quality of service is important for transmitting real-time voice and video traffic. For example, a video conferencing application might receive a high priority tag that requires a certain amount of bandwidth, a specific transmission rate, and maximum latency.
  • Addressing services relate to the use of private addresses over the service tunnels 30-32.
  • the addressing services provided by service tunnels 30-32 include the hiding of the addressing scheme used by one enterprise from the general users of the public network 12. In other words, the addressing services provide security with respect to the addresses.
  • the private IP packet addresses of the individual end users of the enterprise are hidden when the packets are transported over the service tunnels 30-32 over the network 12.
  • the private IP addresses can be registered addresses, even though they remain hidden from others outside of the enterprise virtual private network.
  • the service tunnels 30-32 also provide security for the data transmitted by the private IP packets.
  • the private IP packets can be encrypted so that they remain hidden from others outside of the enterprise virtual private network.
  • the peering services provided by the service tunnels 30-32 allow the sending of applications between clients, servers, and other computers within the enterprise over the service tunnels 30-32.
  • Each of the service tunnels 30-32 is established by two virtual routers communicating with each other.
  • service tunnel 30 is established by virtual router 21 establishing a service tunnel between virtual router 21 and virtual router 22.
  • Each of the service tunnels 30-32 is bidirectional, which means that private IP packets can be sent in each direction.
  • Each of the service tunnels 30-32 is also symmetric.
  • the end user specifies the Service Type.
  • the Service Type is IP.
  • service tunnels are possible for other switching technologies, such as, ATM, TDM, or frame relay.
  • the service template refers to a class of service (i.e., priority), a quality of service, or other attributes, such as jitter requirements and the level of security. If, for example, high security is specified, then the data in the private IP packets would be encrypted.
  • Each of the service tunnels 30-32 may serve multiple subscribers or customers.
  • service tunnel 30 may serve enterprises A, B, and C concurrently.
  • the virtual routers may also serve multiple customers.
  • virtual router 21 may serve enterprises A, B, and C.
  • virtual router 22 may serve enterprises A, B, and D.
  • a service tunnel When a service tunnel is established, the end user indicates whether or not multiple enterprises will be using the specific service tunnel. For example, a particular enterprise may decide to pay a premium price to have a service tunnel, such as service tunnel 30, dedicated to that particular enterprise without sharing that service tunnel without any other enterprises. If an enterprise does not request that the service tunnel be dedicated to that particular enterprise exclusively, the service tunnel can serve multiple enterprises.
  • Each of the service tunnels 30-32 supports multiple virtual private network sessions.
  • An enterprise CP router such as CP router 14, maps to the enterprise session within the tunnel.
  • FIG. 3 illustrates the protocol structure for each of the service tunnels 30-32.
  • Each service tunnel uses two types of messages - namely, control messages 48 and data messages 46.
  • Control messages 48 are used in the establishment, maintenance, and clearing (i.e., tearing down) of tunnels and service tunnel sessions.
  • Data messages 46 are used to encapsulate encapsulation services packets 50 and private IP packets 52 carried over the service tunnel.
  • Encapsulation services packets 50 in turn encapsulate private IP packets 52.
  • Each of the service tunnels 30-32 is a modified L2TP tunnel, so the control messages 48 are modified L2TP control messages and the data messages 46 are modified L2TP data messages.
  • Control messages 48 use a reliable control channel 44 within L2TP to guarantee delivery.
  • the fact that the control channel 44 is reliable means that the control channel 44 utilizes an acknowledgment mechanism.
  • the data messages 46 use an unreliable data channel 42 within L2TP for delivery.
  • the fact that the data channel 42 is unreliable means that there is no acknowledgment of the receipt of data from the receiving node to the sending node.
  • Data messages 46 are not retransmitted when packet loss occurs.
  • Private IP packets 52 are passed over L2TP data channel 42 encapsulated in encapsulated services packets 50, further encapsulated in L2TP data messages 46 (within L2TP header), and yet further encapsulated in packet transport layer 4, such as UDP.
  • packet transport layer 4 is TCP.
  • Control messages 48 are sent over L2TP control channel 44 that transmits packets in-band over the same packet transport layer 4.
  • the packet transport layer 4 overlays the IP network 3.
  • the information in the packet transport layer 4 is in turn sent over the internet protocol layer 3.
  • Sequence numbers are required to be present in all control messages 48 and are used to provide reliable delivery on the control channel 44.
  • Data messages 46 may use sequence numbers to reuse packets and detect lost packets.
  • Figure 4 illustrates the service tunnel L2TP packet 60, which includes an L2TP header 62 and a payload portion 96.
  • the payload 96 contains either control messages 38 or data messages 46.
  • the data messages 46 in turn contain encapsulation services packets 50 and private IP packets 52.
  • the service tunnel L2TP packets 60 for the control channel 44 and the data channel 42 share a common header format 62.
  • header 62 The fields of header 62 are as follows.
  • the Type (“T”) bit 65 of L2TP header 62 indicates the type of message. Bit 65 is set to zero for a data message 46 and set to one for a control message 48. If the Length (“L”) bit 66 is set to one, the Length Field 82 is present. The bit 66 must be set to the number one for control messages 48. The X bits 67, 69, and 72 are reserved for future extensions. If the Sequence (“S”) bit 68 is set to one, then the Ns field 88 and the Nr field 90 are present. The S bit 68 must be set to one for control messages 48. If the Offset (“O”) bit 70 is set to one, then the Offset Size Field 92 is present. The Offset bit 70 must be set to zero for control messages 48.
  • the P bit 71 indicates the version of the L2TP message header 62.
  • the Length field 82 indicates the total length of the message 60 in octets.
  • the Length field is optional for data messages 46 but not for control messages 48.
  • the Tunnel I.D. field 84 indicates the identifier for the control connection for the establishment of the service tunnel.
  • the Session I.D. field 86 indicates the identifier for a session within a service tunnel.
  • the Ns field 88 indicates the sequence number for a data message 46 or a control message 48.
  • the Ns field 88 is optional for data messages 46, but not for control messages 48.
  • the Nr field 90 indicates the sequence number expected in the next control message 48 to be received.
  • the Nr field 90 is optional for data messages 46, but not for control messages 48.
  • the Offset Size field 92 specifies the number of octets past the L2TP header 62 at which the payload data 96 is expected to start.
  • the Offset Size field 92 is optional. Actual data within the Offset Padding field 94 is undefined.
  • the Offset Padding field 94 is optional. If the Offset Padding field 94 is present, the L2TP header 62 ends after the last octet of the Offset Padding 94.
  • Figure 5 illustrates the procedures 120 associated with the establishment of a service tunnel, the use of a service tunnel, and the tearing down of the service tunnel.
  • a control connection is used to establish the service tunnel, such as service tunnel 30.
  • an individual session is established within the service tunnel 30.
  • the service tunnel 30 supports multiple sessions.
  • data is transported over the service tunnel 30.
  • the data comprises data messages 46 that encapsulate encapsulation services packets 50 and private IP packets 52.
  • process block 1208 a change is made with respect to the service tunnel session.
  • Process flow then moves to process block 130.
  • data messages 46 that encapsulate encapsulation services packets 50 and private IP packets 52 are transported during the changed session of the service tunnel 30.
  • Process flow then moves to process block 132, at which point the session is released.
  • process block 132 the service tunnel still exists, but the session within the service ends.
  • FIG. 6 illustrates the establishment of service tunnel 30 between virtual router 21 and virtual router 22.
  • Establishing service tunnel 30 comprises two main steps.
  • the first step is the establishment of the control connection 142 for the service tunnel 30.
  • the control connection 142 is established between virtual router 21 and virtual router 22.
  • the second main step is the establishment of the session 144 as triggered by a request from one the CP routers, such as CP router 14.
  • the service tunnel 30 and the corresponding control connection 142 must be established before any transport of data over the session 144 is initiated.
  • service tunnel 30 includes both session 144 and session 146.
  • Session 144 is between end users at CP routers 14 and 15.
  • Session 146 is between CP routers 17 and 19, which are part of a different enterprise than CP router 14 and 15.
  • multiple service tunnels may exist between the same virtual routers.
  • Control messages 48 are used in the establishment maintenance, and tearing down of service tunnels, such as service tunnels 30-32.
  • AVP Attribute Value pair
  • An Attribute Value pair is defined as the variable length concatenation of unique attribute (represented by an integer) and a value containing the actual value identified by the attribute.
  • Figure 7 shows the Attribute Value pair format 160.
  • the format 160 is used for the encoding of each attributes value pair.
  • the fields 170, 171 and 174 together comprise a bit mask describing the general attributes of the AVP 160.
  • the reserved bits of field 174 are set to zero.
  • the Mandatory (“M”) bit 170 controls the behavior required of an implementation that receives an AVP that it does not recognize.
  • the Hidden (“H”) bit 171 identifies the hiding of data in the Attribute Value field 182 of the AVP 160.
  • the Length field 170 encodes the number of octets (including the overall length and bit mask fields) contained in the AVP 160.
  • Field 178 is the Vendor ID field that identifies the particular L2TP extension.
  • the Attribute Type field 180 is a two octet value with a unique interpretation across all AVPs defined under a given Vendor ID 178.
  • the Attribute Value field 182 is the actual value as indicated by the Vendor ID 178 and the Attribute Type 180.
  • the Attribute Value field 182 follows immediately after the Attribute Type field 180 and thus runs for the remaining octets indicated in the Length field 176 (i.e., the Length field 176 minus six octets of header).
  • the minimum length of an AVP 160 is six octets. If the length of the AVP 160 is six octets, then the Attribute Value field 182 is absent.
  • Control message AVPs are used to establish the control connection 142 shown in Figure 6.
  • the control connection 142 is the initial connection that must be achieved between the virtual router 21 and the virtual router 22 before sessions, such as sessions 144 and 146, may be brought up.
  • Establishment of the control connection 142 includes securing the identity of the peer, as well as identifying the peers L2TP version, framing, and bearer capabilities etc.
  • Establishment of the control connection 142 is also indicated by process block 122 in Figure 5.
  • a three message exchange is used to setup the control connection 142 of Figure 6.
  • the following is a typical message exchange.
  • the virtual router 21 sends the Start Control Connection Request (“SCCRQ") control message.
  • the virtual router 22 responds with a Start Control Connection Reply ("SCCRP') control message.
  • SCCRP' Start Control Connection Reply
  • SCCCN Start Control Connection Connected
  • the virtual router 22 then responds with a Zero Length Body (“ZLB”) Acknowledgement message.
  • a zero length body message is a control packet with only an L2TP header 62.
  • ZLB messages are used for explicitly acknowledging packets on the reliable control channel 44.
  • the ZLB Acknowledgement message is sent if there are no further messages waiting in queue for that peer.
  • the Start Control Connection Request control message is thus used to initialize service tunnel 30.
  • the following AVPs must be present in the Start Control Connection Request Control message: (1 ) Message Type AVP, (2) Service Type AVP 200 (described below), (3) Protocol Version, (4) Host Name, (5) Framing Capabilities, and (6) Assigned Tunnel ID.
  • Figure 8 illustrates the format of Service Type AVP 200 that is used for indicating which payload types are supported on sessions of the service tunnel 30.
  • Service Type AVP 200 indicates what types of payloads can be carried by payload 96 of data message 46.
  • the length of the AVP is indicated in Length field 176A.
  • the Vendor ID field 178a has an ID number of 4741.
  • the vendor ID field 178a can contain the number zero and an attribute value chosen.
  • the Attribute Type field 180a contains the 16 bit quantity "!
  • the Attribute Value field 182a indicates one of the service types.
  • the service types can be the types of payloads that can be carried by data messages 46.
  • the types of payloads that can be specified include private IP packets 52, encapsulation service packets 50, PPP frames, ATM cells, frame relay frames, and TDM data, for example.
  • the enterprise using the service tunnel 30 enters into a service contract with a service provider that specifies the particular payload types supported for that enterprise by the service tunnel 30. For example, for one embodiment, service type zero could specify private IP packets 52 and service type A could specify PPP. Service type B could specify ATM cells.
  • the service type specified in Attribute Value field 182a can also indicate the type of connectivity services, reachability services, forwarding services, premium services (such as class of service and quality of service), addressing services, and peering services supported by service tunnel 30 for the particular subscriber or enterprise.
  • the service type specified in Attribute Value field 182a can also be of various (arbitrary) lengths.
  • more than one service type at a time can be specified in Attribute Value field 182a.
  • the service tunnel can handle more than one service type at a time.
  • the Service Type AVP 200 is an indication by an L2TP peer, such as virtual router 21, that resources adequate for the service type identified by the Service Type AVP 200 are required. In the event that the L2TP peer, such as virtual router 22, does not accept the requested service type, then a StopCCN message is returned to the orginator.
  • the StopCCN message should include the Service Type AVP 200 as provided in the message that caused the StopCCN
  • the Service Type AVP 200 may be hidden (i.e., the H bit 171a may be zero or one).
  • the Length (before hiding) of the Service Type AVP 200 is six octets plus the length of the Service Type string of field 182a.
  • the service tunnels 30-32 provide the mechanisms for protocol data units ("PDUs") other than PPP to be tunneled via L2TP.
  • PDUs protocol data units
  • the M bit 170a should not be set on the Service Type AVP 200 unless the PPP tunneling protocol specified in document RFC 2261 is not supported.
  • the M bit 170a should be set to a logic one value on the Service Type AVP 200 in order to ensure that an implementation unaware of the Service Types other than PPP and/or requiring a Service Type PPP tunneling would disallow establishment of the L2TP tunnel.
  • SCCRP Start Control Connection Reply
  • AVPs must be present in the SCCRP: (1) Message Type, (2) Service Type AVP 200, (3) Protocol Version, (4) Framing Capabilities, (5) Host Name, and (6) Assigned Tunnel ID.
  • the Start Control Connection Connected (SCCN) control message is sent in reply to the SCCRP.
  • the SCCCN control message completes the tunnel establishment process.
  • the SCCN control message must include a Message Type AVP.
  • the virtual routers 21 and 22 can optionally send messages to authenticate the formation of the service tunnel 30 shown in Figure 6.
  • Each session such as session 144 shown in Figure 6 corresponds to a single stream of data messages 46 between virtual router 21 and virtual router 22. If private IP packets 50 are specified as the Service Type, then the data messages 46 would carry private IP packets 52 and encapsulation services packets 50 during the sessions. Unlike control connection 142 establishment, session establishment is directional with respect to the virtual router 21 and virtual router 22.
  • the virtual router 21 requests the virtual router 22 to accept a session for private IP packets 52 from CP router 14.
  • the virtual router 22 requests the virtual router 21 to accept a session for private IP packets 52 from CP router 15.
  • a three message exchange is employed to setup a session involving private IP packets 52 incoming from CP router 14.
  • the virtual router 21 detects that CP router 14 wishes to send an incoming stream of private IP packets 52.
  • Virtual router 21 sends an Incoming Call Request (“ICRQ”) control message to virtual router 22.
  • Virtual router 22 responds by sending to virtual router 21 an Incoming Call Reply (“ICRP") control message.
  • ICRP Incoming Call Reply
  • the virtual router 21 responds by sending an Incoming Call Connected (“ICCN”) control message to virtual router 22.
  • a Zero Length Body Acknowledge message is sent from virtual router 22 to virtual router 21 if there are no further messages waiting in the queue for that peer.
  • a three message exchange is employed to setup the session.
  • the following is a typical sequence of events.
  • the virtual router 22 sends an Outgoing Call Request (“OCRQ”) control message to virtual router 21.
  • Virtual router 21 then replies with an Outgoing Call Reply (“OCRP”) control message that virtual router 21 sends to virtual router 22.
  • OCRQ Outgoing Call Request
  • OCRP Outgoing Call Reply
  • the virtual router 21 sends an Outgoing Call Connected ("OCCN") control message to virtual router 22.
  • Virtual router 22 then sends a Zero Length Body Acknowledgement message to virtual router 21 if there are no further messages waiting in queue for that peer.
  • OCCN Outgoing Call Connected
  • the Incoming Call Request message is used to indicate that session 144 is to be established between virtual router 21 and virtual router 22 for the incoming private IP packets 52 and provides the virtual router 22 with parameter information for the session 144.
  • the virtual router 21 may defer establishing the session 144 until virtual router 21 has received an Incoming Call Reply control message from virtual router 22 indicating that the session should be established. This mechanism allows the virtual router 22 to obtain sufficient information about the incoming IP packets 52 before determining whether the session 144 should be established or not.
  • AVPs must be present in the Incoming Call Request message: (1 ) Message Type, (2) Sub-Address AVP 220 (described below), (3) Assigned Session ID, and (4) Call Serial Number.
  • the format of the Sub-Address AVP 220 is shown in Figure 9.
  • the Service Type AVP 220 encodes additional connection identifier information for the incoming or outgoing sending of data messages 46.
  • the Sub- Address AVP 220 must be located immediately following the Message Type AVP, unless it is hidden, in which case the Random Vector AVP will precede it.
  • the M bit 170b for the Sub-Address AVP 220 should be set to one.
  • the Sub-Address AVP 220 may be hidden, so the H bit 171b may be a zero or a one.
  • the Length (before hiding) of the Sub-Address AVP 220 is six octets plus the length of the Sub-Address in field 182b, and the total length is placed in Length field 176b.
  • the Vendor ID field 178b contains the number 4741.
  • the Vendor ID 1786 is zero and an attribute value is chosen.
  • the Attribute Type field 180b contains the 16-bit quantity 23.
  • the Attribute Value field 182b of the Sub-Address AVP 220 contains sub-addresses of various (arbitrary) lengths.
  • the sub-addresses stored in Attribute Value field 182b comprise an opaque sequence of octets transmitted transparently by the network 11.
  • the service tunnel 30 endpoints, such as virtual routers 21 and 22, must understand the meaning of the values stored in Attribute Value field 182b for encapsulation services in this Sub-Address AVP.
  • the sub-addresses stored in Attribute Value field 182b can include the calling party sub-address and the called party sub- address.
  • the Incoming Call Reply control message is used to indicate that the Incoming Call Request control message was successful and for the virtual router 21 to communicate with the CP router 14 that the virtual router 21 is ready to accept private IP packets 50 if the virtual router 21 has not already done so.
  • the Incoming Call Reply control message also allows the virtual router 22 to indicate the necessary parameters for the session 144.
  • the following AVPs must be present in the Incoming Call Reply control message: (1) Message Type and (2) Assigned Session ID.
  • the Incoming Call Connected control message is used to indicate that the Incoming Call Reply control message was accepted, that the virtual router 21 has established communication with the CP router 14, and that the session 144 should move to the established state. It also provides additional information to the virtual router 22 about parameters used for the communication between virtual router 21 and CP router 14. The following AVPs must be present in the Incoming Call Connected control message: (1 ) Message Type, (2) Transmission Connect Speed, and (3) Framing Type.
  • the Outgoing Call Request control message is used to indicate that a session 144 is to be established between the virtual routers 21 and 22 and provides the virtual router 21 with parameter information for both the session 144 and for the private IP packets 52 that are to be sent during the session.
  • the virtual router 22 must have received a Bearer Capabilities AVP during service tunnel establishment from the virtual router 21 in order to request the sending of private IP packets 52 to the virtual router 21.
  • AVPs must be present in the Outgoing Call Request control message: (1 ) Message Type, (2) Sub-Address AVP 220, (3) Assigned Session ID, (4) Call Serial Number, (5) Minimum BPS, (6) Maximum BPS, (7) Bearer Type, (8) Framing Type, and (9) Called Number.
  • the Outgoing Call Reply control message is used to indicate that the virtual router 21 is able to attempt the outbound sending of private IP packets 52 and returns certain parameters regarding the attempt to send private IP packets 52.
  • the following AVPs must be present in the Outgoing Call Reply control message: (1 ) Message Type and (2) Assigned Session ID.
  • the Outgoing Call Connected control message is used to indicate that the result of a requested sending of private IP packets 52 was successful.
  • the Outgoing Call Connected control message also provides information to the virtual router 22 about the particular parameters obtained after the sending of the private IP packets 52 was established.
  • the following AVPs must be present in the Outgoing Call Connected control message: (1 ) Message Type, (2) Transmission Connect Speed, and (3) Framing Type.
  • the encapsulation services packets 50 and private IP packets 52 are transported over the service tunnel 30, which is indicated by process block 126 in Figure 5.
  • the private IP packets 52 are received by virtual router 21 from CP router 14.
  • Virtual router 21 places the private IP packets 52 into the payload portions of encapsulation services packets 50.
  • Virtual router 21 also places the encapsulation services packets 50 (that encapsulate private IP packets 52) into the payload portions 96 of service tunnel L2TP packets 60 to form data messages 46.
  • the virtual router 21 then forwards the data messages 46 (with their encapsulated private IP packets 52 and encapsulated services packets 50) over session 144 and service tunnel 30.
  • the virtual router 22 receives the data messages 46 and extracts the encapsulated services packets 50 and private IP packets 52.
  • the virtual router 22 processes the encapsulated services packets 50 and private IP packets 52 as if they were received on a private IP packet network.
  • the private IP packets 52 are then forwarded by virtual router 22 to CP router 15.
  • the sender of a message associated with a particular session and service tunnel places the Session ID and Tunnel ID (specified by its peer) in the respective Session ID field 86 and Tunnel ID field 84 of the L2TP headers 62 of data messages 46 for all data messages 46.
  • Session ID and Tunnel ID (specified by its peer) in the respective Session ID field 86 and Tunnel ID field 84 of the L2TP headers 62 of data messages 46 for all data messages 46.
  • private IP packets 52 are multiplexed and demultiplexed over a single service tunnel between a given pair of virtual routers, such as virtual router 21 and virtual router 22.
  • Multiple service tunnels may exist between a given pair of virtual routers.
  • multiple sessions may exist within a service tunnel.
  • FIG 10 illustrates encapsulation services ("ES") packet 50 in more detail.
  • Encapsulation services packet 50 includes an encapsulation services header 256 and a payload 250.
  • the encapsulation services header 256 is also referred to as the services tunnel header 256 or the in-band header 256.
  • a private IP packet 52 shown in Figures 3 and 11 is placed by virtual router 21 in the payload portion 250 of encapsulation services packet 50 shown in Figure 3 and 10.
  • the encapsulation services packet 50 is in turn placed by virtual router 21 in the payload portion 96 of L2TP packet 60 to form data message 46.
  • data message 46 encapsulates encapsulation services packet 50, which in turn encapsulates private IP packet 52.
  • the encapsulation services header of 256 of ES packet 50 shown in Figure 10 includes a Version Number field 234.
  • the Version Number of the private IP packet 52 (that is encapsulated as payload 250) is inserted in field 234 in order to ensure forward compatibility.
  • the field 236 of ES header 256 indicates the type of compression used by the private IP packet 52 stored in payload 250. Both sides of service tunnel 30 can negotiate for a compression scheme. Thus, virtual router 21 and virtual router 22 can negotiate for the compression scheme to be used for private IP packet 52 stored in payload 250. Once a compression scheme has been negotiated and agreed to, then virtual router 21 can compress the private IP packets 52 according to that scheme. The field 236 would indicate the type of compression used for the private IP packets 52. The virtual router 22 at the egress side would then decompress the private IP packets 52 using the compression field 236 for guidance as how to decompress the private IP packets 52.
  • the field 238 of encapsulation services header 256 indicates whether the private IP packet 52 stored in payload 250 is encrypted.
  • Both sides of service tunnel 30 negotiate for an encryption scheme when a session, such as session 144, is established.
  • CP router 14 and CP router 15 negotiate for an encryption scheme for service tunnel 30.
  • the virtual router 21 at the egress side of the service tunnel 30 will encrypt the private IP packet 52 in payload 250 according to the encryption scheme.
  • Field 246 of ES header 256 contains an Encryption Index.
  • the Encryption Index 246 points to which encryption key is used. If the private IP packets 52 in payload 250 are encrypted, the virtual router 22 at the egress side uses the key pointed to by the encryption index 246 to de-encrypt the private IP packet 52 in payload 250.
  • the field 240 of the encapulation services header 256 indicates the payload type stored in payload 250.
  • the payload type that is indicated by the value stored in field 240 can either be a control payload or a data payload. Control payloads stored in payload 250 are used for session negotiation and management with respect to the service tunnel 30.
  • the data payload stored in payload 250 is private IP packet 52, which in turn stores customer data being transported over service tunnel 30.
  • a checksum value is stored in field 244 of encapsulation services header 256 for the purposes of error detection and correction with respect to ES packet 50, including payload 250.
  • a checksum is a parameter used to detect errors. Checksums are calculated using a predetermined generator polynomial assigned to the specific checksum field 244. The checksum 244 is included in header 256 to help to ensure that the header 256 will be detected once the ES packet 50 is transported.
  • Field 248 of encapsulation services header 256 stores a sequence number with respect to the ES packet 50.
  • the sequence number stored in field 248 indicates where this particular ES packet 50 fits within the sequence of ES packets over service tunnel 30.
  • the use of sequence numbers in field 248 for ES packets 50 is optional.
  • the sequence number stored in field 248 can be used for security purposes to keep hackers from replaying ES packets 50. Therefore, the sequence number in field 248 is typically used in conjunction with encryption to increase security.
  • a sequence number can be stored in field 248 for control payload types involving session negotiation and management.
  • FIG 11 shows private IP packet 52 that includes a header 302 and a payload 360.
  • the header 302 includes a private IP address 304 used for the transport of the private IP packet 52.
  • the private IP address 304 is also referred to as the inner IP address 304.
  • CP router 14 sending data messages 46 over service tunnel 30 would encapsulate private IP packet 52 in ES packet 50, which in turn would be encapsulated in data message 46.
  • the private IP packet 52 would include an inner IP address 304 that CP router 14 wants to send to CP router 15 for CP router 15's use.
  • Virtual routers 21 , 22, and 23 advertise which virtual private networks they handle and which inner IP addresses on those virtual private networks they handle. For example, virtual routers 21 , 22, and 23 would advertise to each other that they manage virtual private network A and the inner IP addresses associated with the virtual private network A. If CP router 14 wishes to send a data packet to inner IP address 168, CP router 14 sends the private IP packet 52 to virtual router 21. Virtual router 21 realizes that this inner IP address 168 is associated with virtual private network A and then decides how virtual router 21 can reach this inner IP address 168 and virtual private network A.
  • Virtual router 21 has received advertisements from virtual routers 22 and virtual routers 23 regarding the inner IP addresses they can reach. Therefore, virtual router 21 has in a lookup table (i.e., forwarding table) the information regarding the inner IP addresses and how to reach them. Virtual router 21 uses the forwarding table to determine that inner IP address 168 can be reached through virtual router 23. Virtual router 21 then looks up to see which service tunnel can be used to get to virtual router 23. Virtual router 21 also decides which session needs to be used within the service tunnel to get to virtual router 23 to reach the inner IP address of 168. For example, the virtual router 21 determines that service tunnel 32 should be used to get to virtual router 23 and that Session ID 446 within service tunnel 32 should be used to get to virtual router 23 for inner IP address 168.
  • a lookup table i.e., forwarding table
  • Virtual router 21 then encapsulates the private data IP packets 52 of CP router 14 within ES packets 50, which CP router 21 in turn encapsulates within the service tunnel L2TP packets 60, which become the data messages 46.
  • the virtual router 21 sets the Tunnel ID 84 within L2TP header 62 to indicate service tunnel 32.
  • the virtual router 21 also inserts Session ID 446 of L2TP header 62.
  • Virtual router 21 then sends the data messages 46 over service tunnel 32 and session 446 to virtual router 23.
  • the payload 250 of each ES packet 50 is compressed or encrypted according to the encapsulation services header 256.
  • the virtual router 23 receives the service tunnel data messages 46 with their data stored in payload portion 96.
  • Virtual router 23 looks at the Tunnel ID in field 84, which is service tunnel 32, and the Session ID in the field 86, which is Session ID 446, and maps the payload 96 onto virtual private network A.
  • the virtual router 23 then de-encapsulates (i.e., extracts) the payload 96 into private IP data packets 52 having an inner IP address 168 and sends those private IP data packets 52 to CP router 16.
  • CP router 16 uses the inner IP address 168 to look up in its router table where to send the data packets 52.
  • the customer or subscriber at inner IP address 168 then receives the data packets 52 from CP router 16.
  • the session (such as session 144) can be changed at process block 128.
  • An example of a session change would be changing a session from sending voice information to fax information.
  • CP router 14 may decide to stop sending voice information over session 144 and instead wish to send fax information over session 144.
  • the end user at CP router 14 would notify the service provider responsible for maintaining service tunnel 30 of his or her wish to change from a voice session to a fax session. This could be done either manually through a telephone call or by sending an appropriate control message.
  • the service provider would send a message to virtual router 21 to change the type of session from a voice session to a fax session.
  • Virtual router 21 would then send the appropriate control message to virtual control router 22 to ensure that the session is changed from a voice session to a fax session.
  • the change in the character of the session 144 would be done without tearing down the session 144 or tearing down the service tunnel 30.
  • Another example of a change of a session within service tunnel 30, such as session 144, would be a change in addressing.
  • one of the inner IP addresses within a virtual private network might be withdrawn.
  • An employee of an enterprise may leave and his or her inner IP address may be deleted.
  • the service provider would accordingly send an appropriate protocol message to virtual router 21 to change the routing tables.
  • Virtual router 21 would in turn send appropriate messages to the other virtual routers 22 and 23 to have their routing tables changed with respect to the inner IP addresses available on the particular virtual private network. Again, this would be done without tearing down the session or tearing down the tunnel. Instead, there would simply be a change with respect to the session 144 established.
  • In-band signaling can be used to handle service provisioning.
  • Service provisioning has two parts. The first part is the order entry. In other words, an end user or subscriber wishes to change the type of service and submits an order entry to the service provider. The second part of provisioning is the change of the Service Type. In other words, the type of session is changed.
  • Process block 132 shown in Figure 5 refers to releasing a session, such as session 144, which is also referred to as session teardown.
  • Session teardown may be initiated by either the virtual router 21 or virtual router 22 and is accomplished by sending a Call Disconnect Notify ("CDN") message.
  • CDN Call Disconnect Notify
  • Virtual router 21 sends a Call Disconnect Notify control message to virtual router 22.
  • Virtual router 22 responds and sends a Zero Length Body Acknowledge message to virtual router 21.
  • the purpose of the Call Disconnect Notify message is to inform the peer of the disconnection and the reason why the disconnection occurred.
  • the peer must clean up any resources, and does not send back any indication of success or failure of such cleanup.
  • the follow AVPs must be present in the Call Disconnect Notify call message: (1 ) Message Type, (2) Result Code, and (3) Assigned Session ID.
  • Control connection teardown is indicated by process block 134 in Figure 5.
  • Process block 134 refers to tearing down the tunnel. Tearing down the control connection 142 tears down the service tunnel 30. Control connection 142 teardown may be initiated by either virtual router 21 or virtual router 22 and is accomplished by sending a single Stop Control Connection Notification ("StopCCN") control message. The receiver of a Stop Control Connection Notification control message must send a Zero Length Body Acknowledgement message to acknowledge receipt of the message and maintain enough control connections to properly accept Stop Control Connection Notification retransmissions over at least a full retransmission cycle in case the Zero Length Body Acknowledgement message is lost.
  • Stop Control Connection Notification The receiver of a Stop Control Connection Notification control message must send a Zero Length Body Acknowledgement message to acknowledge receipt of the message and maintain enough control connections to properly accept Stop Control Connection Notification retransmissions over at least a full retransmission cycle in case the Zero Length Body Acknowledgement message is lost.
  • the entire service tunnel may be shut down and all sessions on the service tunnel can be shut down by sending the Stop Control Connection Notification control message.
  • the Stop Control Connection Notification control message it is not necessary to teardown each session (such as session 144) individually when tearing down the whole service tunnel.
  • virtual routers 21 through 23 each contain network process servers containing application specific integrated circuit processors.
  • service tunnels 30 through 32 allow the performance monitoring of packet transmissions. For example, the number of packets received and transmitted at each end of the service tunnels can be monitored in order to see how many packets have been lost within the network.
  • the roundtrip time of packets over the service tunnel can be monitored using timestamps. Also, the roundtrip time can be measured by echoing packets back and forth across a service tunnel. A time stamp can be used to stamp the time that a packet enters the service tunnel and a time stamp can be used when the packet is received back over the service tunnel. The average round trip time can then be calculated. Maximum and minimum round trip times give an indication of jitter. This information is useful for administration of the network so that performance of the network can be tuned.
  • redundant service tunnels can be established in order to have backup tunnels in case of service disruptions.
  • call forwarding can be implemented using a two-segment tunnel.
  • tunnels can be segmented and packets can be forwarded over new segments of the tunnels. This alternative embodiment would be useful for cell phones, PDAs, wireless, and mobile IP devices. Methods can be implemented to predict where tunnel segments will be needed as a cell phone moves across geographical areas.
  • tunnel relays are created to relay information from one tunnel to another.
  • the service tunnels 30, 31 , and 32 can transport virtual private networks as sessions, wherein the virtual private networks transport information according to MPLS rather than according to pure IP.
  • network 12 being an MPLS network, which is another alternative embodiment of the present invention.

Abstract

A method for establishing a service tunnel for private internet protocol services over a connectionless network. The private internet protocol services are transported over the service tunnel in accordance with selected resective private internet protocol services.

Description

SERVICE TUNNEL OVER A CONNECTIONLESS NETWORK FIELD OF THE INVENTION
The present invention pertains to the field of internet protocol (IP) networks. More particularly, the invention relates to a service tunnel for private IP services over a connectionless network.
BACKGROUND OF THE INVENTION
Enterprises with remote sides, such as corporations, consulting firms, and law firms, have typically formed wide area networks ("WANs") using frame relay networks or time division multiplexing ("TDM") leased lines. Some larger enterprises have formed WANs using asynchronous transfer mode ("ATM") networks. Those enterprise WANs over the connection- oriented frame relay, TDM, and ATM networking technologies typically provide connectivity between computers in the various enterprise sites, reachability among users in the sites, guaranteed quality of service, priority schemes regarding communications, and relatively good security for data and addresses.
In contrast to the enterprise-oriented connection-oriented networking technologies with centralized control is the Internet, which has exploded in popularity in recent years. The Internet is a loose collection of networks organized into a multilevel hierarchy using a wide variety of interconnection technologies. The Internet is a connectionless datagram switching scheme bound together by addressing, routing, and IP but with decentralized control. Rather than focusing on enterprise communications, the Internet is focused on global packet transport, which involves the forwarding of packets. The Internet is widely used for accessing the World-Wide Web and for global email, but has generally been deficient with respect to certain communications services valued by enterprises, such as security, connectivity, and quality of service.
Because of the widespread use of different kinds of wide-area network technologies, such as frame relay, ATM, TDM, and IP, network providers have had to build and maintain several different networks to satisfy the needs of network users, such as individuals and enterprises. This has been very expensive. Moreover, enterprises have had to pay high fees to use the connection-oriented WAN technologies in order to get the level of service demanded by those enterprises.
Attempts have been made to make the Internet more enterprise friendly. For example, a virtual private network ("VPN") with an IP backbone is described in BGP/MPLS VPNs by E. Rosen and Y. Rekhter, Request for Proposal ("RFC") 2547, Network Working Group, Internet Engineering Task Force ("IETF") (March 1999) ("RFC 2547"). A VPN is an IP connection between two sites over a public IP network that has its payload traffic encrypted so that only the source and destination can decrypt the traffic packets. The RFC 2547 document discloses using multiprotocol label switching ("MPLS") for forwarding packets over the background and using border gateway protocol ("BGP") for distributing routes over the backbone. Although RFC 2547 briefly suggests some quality of service techniques, the focus of RFC 2547 is on the transport of packets. Moreover, the VPN scheme described in RFC 2547 is a transport tunnel that starts at the network side, rather than a scheme that starts at the end-user's side.
Another attempt to make the Internet more enterprise friendly is the layer two tunneling protocol ("L2TP") described in Layer Two Tunneling Protocol "L2TP" by W. Townsley et al., RFC 2661 , Network Working Group, IETF (August 1999) ("RFC 2661"). The RFC 2661 document discloses a scheme for facilitating the tunneling (i.e., encapsulating) of point-to-point protocol ("PPP") packets across an intervening network in a way that is as transparent as possible to both end-users and applications. Although RFC 2661 describes a scheme that starts at the end-user's side, the focus of RFC 2661 is PPP and the transport of packets. SUMMARY OF THE INVENTION
A method is described for establishing a service tunnel for private internet protocol services over a connectionless network. The private internet protocol services are transported over the service tunnel in accordance with selected respective private internet protocol services.
Other features and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description that follows below. BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Figure 1 shows a service layer over an optical network;
Figure 2 illustrates service tunnels in a network;
Figure 3 shows the protocol structure of a service tunnel;
Figure 4 shows a service tunnel packet, including the L2TP message header;
Figure 5 shows the process for setting up and tearing down a service tunnel;
Figure 6 illustrates the establishment of a service tunnel;
Figure 7 shows the format of an Attribute Value pair ("AVP") for the service tunnel; Figure 8 shows a Service Type List AVP for the service tunnel;
Figure 9 shows a Sub-Address AVP for the service tunnel;
Figure 10 shows an encapsulation services packet for the service tunnel; and
Figure 11 shows a private IP packet. DETAILED DESCRIPTION
A method is described for establishing a service tunnel for private internet protocol (IP) services over a connectionless network. The service tunnel allows the encapsulation and transport of private IP packets containing data, voice, and video information over an intervening connectionless network between end-users and the providing of enterprise services to end-users. For one embodiment, the services provided by the service tunnel include connectivity, addressing, reachability, forwarding, peering, and premium services, such as priority and quality of service.
As described in more detail below, for one embodiment the service tunnel is a modified layer two tunneling protocol ("L2TP") tunnel and the connectionless network is an IP network. For an alternative embodiment, the connectionless network is a multiprotocol label switching ("MPLS") network.
Figure 1 illustrates the layered network architecture for one embodiment of the present invention. Layer 1 includes the long haul portion 10 and the local metropolitan sections 8 and 9. For one embodiment, the long haul portion 10 and the metropolitan sections 8 and 9 comprise an optical network between network carriers.
Layer 1 is the network interface layer. Layer 1 connects a host to the local network hardware. Layer 1 makes a connection to the physical medium. Layer 1 uses a specific protocol for accessing the medium. Layer 1 also places data into frames. Layer 1 , however, does not provide enterprise services to end-users.
Layer 1 shown in Figure 1 includes the physical and data link layers of the Open System Interconnect ("OSI") reference model developed by the International Organization for Standards ("ISO").
Layer 3 shown in Figure 1 is the Internet protocol network layer, which for one embodiment is also the service layer. In other words, in addition to being the Internet protocol layer, layer 3 provides the enterprise services to end-users. The enterprise services are also referred to as subscriber services or just services.
Layer 3 is where the Internet protocol is found. Layer 3 transfers user messages from source host to destination host. Layer 3 is a connectionless datagram service. In layer 3, root selection is based on some metric. Layer 3 uses IP addresses as a road map to locate a host. Layer 3 relies on routers or switches. Layer 3 includes the Internet control message protocol ("ICMP"), which uses an IP datagram to carry message about the state of the communications environment.
For one embodiment, layer 3 also includes a service tunnel for providing subscriber services to end-users. The service tunnel is a modified L2TP tunnel. For one embodiment, the subscriber services are offered using layer 3 without the use of connection-oriented technologies such as frame relay, TDM, and ATM. An intended advantage of the service tunnel is to help to reduce the expenses of network providers by helping to reduce the number of networks needed to be built and maintained. An another intended advantage of the service tunnel is to reduce or eliminate the high fees otherwise required by connection-oriented WAN technologies. The service tunnel found in layer 3 provides services for layers higher than layer 3 in addition to services for layer 3. For example, the service tunnel also provides services for the IP layer 3, the transport layer four and the application layer five (not shown). The transport layer four includes the transmission control protocol ("TCP") and the user datagram protocol ("UDP"). Under the OSI model, the service tunnel provides services for the network layer, the transport layer, the session layer, the presentation layer, and the application layer. The layers 3 and above are also referred to as layers 3 plus.
For an alternative embodiment, layer 3 contains MPLS. MPLS is a connectionless optimized switching technology for IP networks. MPLS involves prepending IP packets with a routing label at an edge of an "MPLS cloud" and performing all forwarding within the cloud based on the label value. For that alternative embodiment, the service tunnel found in layer 3 would run over MPLS. That service tunnel would provide services for layers 3 plus.
Figure 2 illustrates a network configuration 11 for implementing an embodiment of the present invention. The public IP network 12 includes virtual routers 21 , 22, and 23. Virtual routers 21-23 provide access to the global Internet, including access to the World Wide Web. Virtual routers 21- 23 thus use IP protocol.
For an alternative embodiment, network 12 is an MPLS network. For that alternative embodiment, virtual routers 21 - 23 would use MPLS protocol in addition to IP protocol.
For one embodiment, customer premises ("CP") routers 14, 15, and 16 are at various sites of a single enterprise. For one embodiment, customer premises router 14 is coupled to virtual router 21 via a local area network ("LAN") or a wide area network ("WAN"). Customer premises router 15 is coupled to virtual router 22 via a LAN or WAN. Customer premises router 16 is coupled to virtual router 23 via LAN or WAN.
Figure 2 also illustrates service tunnels 30, 31 , and 32. Service tunnel 30 is between virtual router 21 and virtual router 22. Service tunnel 31 is between virtual router 22 and virtual router 23. Service tunnel 32 is between virtual router 21 and virtual router 23. Even though each service tunnel is established between two virtual routers, from the point of view of the end users (i.e., subscribers) at each of the customer premises routers 14-16, each service tunnel appears to start from the end-user side, not the network side. This is because the service tunnel provides services to the end users. This contrasts with a transport tunnel, such as MPLS, that starts at the network side.
Figure 2 shows three CP routers, three virtual routers, and three service tunnels. For other embodiments of the invention any other number of CP routers, virtual routers, and service tunnels can be used. Moreover, more than one service tunnel can exist between two virtual routers.
Each of the service tunnels 30-32 facilities the tunneling of private IP packets across intervening network 12 in a way that is as transparent as possible to the customer premises routers and the applications running on those customer premises routers. Service tunnels 30-32 allow the formation of IP virtual private networks that offer services to subscribers at the CP routers 14-16. Service tunnel 30 allows the subscriber at customer premises router 14 to send private IP packets over network 12 and have them transported to customer premises router 15. Likewise, service tunnel 30 allows the subscriber at customer premises router 15 to send private IP packets to customer premises router 14. Service tunnel 31 allows the subscribers at CP routers 15 and 16 to exchange private IP packets. Service tunnel 32 allows the subscribers at CP routers 14 and 16 to exchange private IP packets. The private IP packets sent by CP routers 14- 16 over service tunnels 30-32 can contain data, voice, and video. Each of the service tunnels 30-32 allows sessions to carry different payloads within the same service tunnel.
The L2TP tunnel described in the RFC 2661 document provides a standard method for tunneling point-to-point protocol ("PPP") packets. Service tunnels 30-32 are each a modified L2TP tunnel. The service tunnels 30-32 each include an extension to L2TP that provides a mechanism to support tunneling of additional payload types over individual sessions within an L2TP tunnel. These extensions provide added functionality that is optional and preserve backwards compatibility.
The service tunnels 30-32 each provide subscriber services (also called enterpriser services) to end users. The subscriber services include connectivity services, addressing services, reachability services, forwarding services, peering services, and premium services.
The connectivity services allow an end user to connect to all other sites within the subscriber's virtual private network. The connectivity services do not, however, allow an end user to connect to another subscriber's network.
Reachability services allow others within the same virtual private network to reach a particular end user. End users are able to advertise their respective addresses. Forwarding services allow an end user to decide how he or she would like to forward packets.
Premium services include policies on the priority of packets and the quality of services. Priority is also referred to as class of service ("CoS"). Class of service allows data to be tagged with a specific priority level with respect to the transport through service tunnels 30-32. For example, CP router 14 can assign a delivery priority to its outgoing private IP packets to be forwarded through service tunnel 30. This is important because during periods of congestion you do not want voice or video data sets to be dropped by switches or routers. A high priority assignment to these data sets ensures their delivery. Class of service enables "real-time" packets (for example, packets carrying full-motion video data) to be sent at a constant rate without interruption of delivery.
Data prioritization is only part of the equation, however. The delivery of time sensitive data also requires that sufficient bandwidth be available over service tunnels 30-32 and that transmission delays (i.e., latency) over service tunnels 30-32 be predictable and guaranteed. This is what quality of service is about. Quality of service ("QoS") refers to parameters associated with data prioritization that specify such things as the amount of bandwith a priority data transmission over service tunnels 30-32 requires as well as the maximum amount of latency the transmission can tolerate in order for the transmission to be meaningful. Quality of service is important for transmitting real-time voice and video traffic. For example, a video conferencing application might receive a high priority tag that requires a certain amount of bandwidth, a specific transmission rate, and maximum latency.
Addressing services relate to the use of private addresses over the service tunnels 30-32. The addressing services provided by service tunnels 30-32 include the hiding of the addressing scheme used by one enterprise from the general users of the public network 12. In other words, the addressing services provide security with respect to the addresses. The private IP packet addresses of the individual end users of the enterprise are hidden when the packets are transported over the service tunnels 30-32 over the network 12. The private IP addresses can be registered addresses, even though they remain hidden from others outside of the enterprise virtual private network.
The service tunnels 30-32 also provide security for the data transmitted by the private IP packets. The private IP packets can be encrypted so that they remain hidden from others outside of the enterprise virtual private network.
The peering services provided by the service tunnels 30-32 allow the sending of applications between clients, servers, and other computers within the enterprise over the service tunnels 30-32.
Each of the service tunnels 30-32 is established by two virtual routers communicating with each other. For example, service tunnel 30 is established by virtual router 21 establishing a service tunnel between virtual router 21 and virtual router 22.
Each of the service tunnels 30-32 is bidirectional, which means that private IP packets can be sent in each direction. Each of the service tunnels 30-32 is also symmetric.
When a service tunnel such as service tunnel 30 is set up, the end user specifies the Service Type. For the IP service tunnel that has been described herein, the Service Type is IP. For alternative embodiments, service tunnels are possible for other switching technologies, such as, ATM, TDM, or frame relay.
When a service tunnel is established, the service template is also specified. The service template refers to a class of service (i.e., priority), a quality of service, or other attributes, such as jitter requirements and the level of security. If, for example, high security is specified, then the data in the private IP packets would be encrypted.
Each of the service tunnels 30-32 may serve multiple subscribers or customers. In other words, for example, service tunnel 30 may serve enterprises A, B, and C concurrently. The virtual routers may also serve multiple customers. For example, virtual router 21 may serve enterprises A, B, and C. As another example, virtual router 22 may serve enterprises A, B, and D.
When a service tunnel is established, the end user indicates whether or not multiple enterprises will be using the specific service tunnel. For example, a particular enterprise may decide to pay a premium price to have a service tunnel, such as service tunnel 30, dedicated to that particular enterprise without sharing that service tunnel without any other enterprises. If an enterprise does not request that the service tunnel be dedicated to that particular enterprise exclusively, the service tunnel can serve multiple enterprises. Each of the service tunnels 30-32 supports multiple virtual private network sessions. An enterprise CP router, such as CP router 14, maps to the enterprise session within the tunnel.
Figure 3 illustrates the protocol structure for each of the service tunnels 30-32. Each service tunnel uses two types of messages - namely, control messages 48 and data messages 46. Control messages 48 are used in the establishment, maintenance, and clearing (i.e., tearing down) of tunnels and service tunnel sessions. Data messages 46 are used to encapsulate encapsulation services packets 50 and private IP packets 52 carried over the service tunnel. Encapsulation services packets 50 in turn encapsulate private IP packets 52. Each of the service tunnels 30-32 is a modified L2TP tunnel, so the control messages 48 are modified L2TP control messages and the data messages 46 are modified L2TP data messages.
Control messages 48 use a reliable control channel 44 within L2TP to guarantee delivery. The fact that the control channel 44 is reliable means that the control channel 44 utilizes an acknowledgment mechanism.
The data messages 46 use an unreliable data channel 42 within L2TP for delivery. The fact that the data channel 42 is unreliable means that there is no acknowledgment of the receipt of data from the receiving node to the sending node. Data messages 46 are not retransmitted when packet loss occurs.
Private IP packets 52 are passed over L2TP data channel 42 encapsulated in encapsulated services packets 50, further encapsulated in L2TP data messages 46 (within L2TP header), and yet further encapsulated in packet transport layer 4, such as UDP. For an alternative embodiment, packet transport layer 4 is TCP. Control messages 48 are sent over L2TP control channel 44 that transmits packets in-band over the same packet transport layer 4. The packet transport layer 4 overlays the IP network 3. Thus, the information in the packet transport layer 4 is in turn sent over the internet protocol layer 3.
Sequence numbers are required to be present in all control messages 48 and are used to provide reliable delivery on the control channel 44. Data messages 46 may use sequence numbers to reuse packets and detect lost packets.
All values are placed into their respective fields and sent in network order, which is high order octets first.
Figure 4 illustrates the service tunnel L2TP packet 60, which includes an L2TP header 62 and a payload portion 96. The payload 96 contains either control messages 38 or data messages 46. The data messages 46 in turn contain encapsulation services packets 50 and private IP packets 52. The service tunnel L2TP packets 60 for the control channel 44 and the data channel 42 share a common header format 62.
The fields of header 62 are as follows.
The Type ("T") bit 65 of L2TP header 62 indicates the type of message. Bit 65 is set to zero for a data message 46 and set to one for a control message 48. If the Length ("L") bit 66 is set to one, the Length Field 82 is present. The bit 66 must be set to the number one for control messages 48. The X bits 67, 69, and 72 are reserved for future extensions. If the Sequence ("S") bit 68 is set to one, then the Ns field 88 and the Nr field 90 are present. The S bit 68 must be set to one for control messages 48. If the Offset ("O") bit 70 is set to one, then the Offset Size Field 92 is present. The Offset bit 70 must be set to zero for control messages 48. If the Priority ("P") bit 71 is set to one, then the data message 46 should receive preferential treatment in its local queuing and transmission. This feature is used only with data messages 46. The P bit 71 must be set to zero for all control message 48. The Version ("Ver") field 73 indicates the version of the L2TP message header 62.
The Length field 82 indicates the total length of the message 60 in octets. The Length field is optional for data messages 46 but not for control messages 48.
The Tunnel I.D. field 84 indicates the identifier for the control connection for the establishment of the service tunnel. The Session I.D. field 86 indicates the identifier for a session within a service tunnel. The Ns field 88 indicates the sequence number for a data message 46 or a control message 48. The Ns field 88 is optional for data messages 46, but not for control messages 48.
The Nr field 90 indicates the sequence number expected in the next control message 48 to be received. The Nr field 90 is optional for data messages 46, but not for control messages 48.
The Offset Size field 92, specifies the number of octets past the L2TP header 62 at which the payload data 96 is expected to start. The Offset Size field 92 is optional. Actual data within the Offset Padding field 94 is undefined. The Offset Padding field 94 is optional. If the Offset Padding field 94 is present, the L2TP header 62 ends after the last octet of the Offset Padding 94.
For a field of header 62 that is indicated as optional for some or all messages. The space for that field does not exist in the message if the field is masked as not present.
Figure 5 illustrates the procedures 120 associated with the establishment of a service tunnel, the use of a service tunnel, and the tearing down of the service tunnel. At process block 122, a control connection is used to establish the service tunnel, such as service tunnel 30. Moving to process block 124, an individual session is established within the service tunnel 30. The service tunnel 30 supports multiple sessions.
At process block 126, data is transported over the service tunnel 30. The data comprises data messages 46 that encapsulate encapsulation services packets 50 and private IP packets 52.
At process block 128, a change is made with respect to the service tunnel session. Process flow then moves to process block 130. At process block 130, data messages 46 that encapsulate encapsulation services packets 50 and private IP packets 52 are transported during the changed session of the service tunnel 30.
Process flow then moves to process block 132, at which point the session is released. At process block 132, the service tunnel still exists, but the session within the service ends.
Moving to process block 134, the tunnel is then torn down.
Figure 6 illustrates the establishment of service tunnel 30 between virtual router 21 and virtual router 22. Establishing service tunnel 30 comprises two main steps. The first step is the establishment of the control connection 142 for the service tunnel 30. The control connection 142 is established between virtual router 21 and virtual router 22. The second main step is the establishment of the session 144 as triggered by a request from one the CP routers, such as CP router 14. The service tunnel 30 and the corresponding control connection 142 must be established before any transport of data over the session 144 is initiated.
Multiple service tunnel sessions may exist across a single service tunnel. For example, as shown in Figure 6, service tunnel 30 includes both session 144 and session 146. Session 144 is between end users at CP routers 14 and 15. Session 146 is between CP routers 17 and 19, which are part of a different enterprise than CP router 14 and 15.
Furthermore, multiple service tunnels may exist between the same virtual routers. For example, there can exist multiple service tunnels between virtual router 21 and virtual router 22, instead of just service tunnel 30.
Control messages 48 (see Figure 2) are used in the establishment maintenance, and tearing down of service tunnels, such as service tunnels 30-32. To maximize extensibility while still permitting interoperability, a uniform method for encoding control Message Types and bodies is used throughout L2TP. This encoding is called Attribute Value pair (AVP). An Attribute Value pair is defined as the variable length concatenation of unique attribute (represented by an integer) and a value containing the actual value identified by the attribute.
Figure 7 shows the Attribute Value pair format 160. The format 160 is used for the encoding of each attributes value pair. The fields 170, 171 and 174 together comprise a bit mask describing the general attributes of the AVP 160. The reserved bits of field 174 are set to zero. The Mandatory ("M") bit 170 controls the behavior required of an implementation that receives an AVP that it does not recognize. The Hidden ("H") bit 171 identifies the hiding of data in the Attribute Value field 182 of the AVP 160.
The Length field 170 encodes the number of octets (including the overall length and bit mask fields) contained in the AVP 160. Field 178 is the Vendor ID field that identifies the particular L2TP extension.
The Attribute Type field 180 is a two octet value with a unique interpretation across all AVPs defined under a given Vendor ID 178.
The Attribute Value field 182 is the actual value as indicated by the Vendor ID 178 and the Attribute Type 180. The Attribute Value field 182 follows immediately after the Attribute Type field 180 and thus runs for the remaining octets indicated in the Length field 176 (i.e., the Length field 176 minus six octets of header). The minimum length of an AVP 160 is six octets. If the length of the AVP 160 is six octets, then the Attribute Value field 182 is absent.
Control message AVPs are used to establish the control connection 142 shown in Figure 6. The control connection 142 is the initial connection that must be achieved between the virtual router 21 and the virtual router 22 before sessions, such as sessions 144 and 146, may be brought up. Establishment of the control connection 142 includes securing the identity of the peer, as well as identifying the peers L2TP version, framing, and bearer capabilities etc. Establishment of the control connection 142 is also indicated by process block 122 in Figure 5.
A three message exchange is used to setup the control connection 142 of Figure 6. The following is a typical message exchange. The virtual router 21 sends the Start Control Connection Request ("SCCRQ") control message. The virtual router 22 responds with a Start Control Connection Reply ("SCCRP') control message. The virtual router 21 then sends a Start Control Connection Connected ("SCCCN") control message.
The virtual router 22 then responds with a Zero Length Body ("ZLB") Acknowledgement message. A zero length body message is a control packet with only an L2TP header 62. ZLB messages are used for explicitly acknowledging packets on the reliable control channel 44. The ZLB Acknowledgement message is sent if there are no further messages waiting in queue for that peer.
The Start Control Connection Request control message is thus used to initialize service tunnel 30. The following AVPs must be present in the Start Control Connection Request Control message: (1 ) Message Type AVP, (2) Service Type AVP 200 (described below), (3) Protocol Version, (4) Host Name, (5) Framing Capabilities, and (6) Assigned Tunnel ID.
Figure 8 illustrates the format of Service Type AVP 200 that is used for indicating which payload types are supported on sessions of the service tunnel 30. In other words, Service Type AVP 200 indicates what types of payloads can be carried by payload 96 of data message 46. For Service Type AVP 200, the length of the AVP is indicated in Length field 176A. The Vendor ID field 178a has an ID number of 4741. Alternatively, the vendor ID field 178a can contain the number zero and an attribute value chosen. The Attribute Type field 180a contains the 16 bit quantity "!"
The Attribute Value field 182a indicates one of the service types. The service types can be the types of payloads that can be carried by data messages 46. The types of payloads that can be specified include private IP packets 52, encapsulation service packets 50, PPP frames, ATM cells, frame relay frames, and TDM data, for example. The enterprise using the service tunnel 30 enters into a service contract with a service provider that specifies the particular payload types supported for that enterprise by the service tunnel 30. For example, for one embodiment, service type zero could specify private IP packets 52 and service type A could specify PPP. Service type B could specify ATM cells. The service type specified in Attribute Value field 182a can also indicate the type of connectivity services, reachability services, forwarding services, premium services (such as class of service and quality of service), addressing services, and peering services supported by service tunnel 30 for the particular subscriber or enterprise. The service type specified in Attribute Value field 182a can also be of various (arbitrary) lengths. Moreover, depending upon the terms of the service contract entered into by the enterprise, more than one service type at a time can be specified in Attribute Value field 182a. Thus, the service tunnel can handle more than one service type at a time.
The Service Type AVP 200 is an indication by an L2TP peer, such as virtual router 21, that resources adequate for the service type identified by the Service Type AVP 200 are required. In the event that the L2TP peer, such as virtual router 22, does not accept the requested service type, then a StopCCN message is returned to the orginator. The StopCCN message should include the Service Type AVP 200 as provided in the message that caused the StopCCN
The Service Type AVP 200 may be hidden (i.e., the H bit 171a may be zero or one). The Length (before hiding) of the Service Type AVP 200 is six octets plus the length of the Service Type string of field 182a.
The service tunnels 30-32 provide the mechanisms for protocol data units ("PDUs") other than PPP to be tunneled via L2TP. In order to facilitate this in a backwards compatible manner, the M bit 170a should not be set on the Service Type AVP 200 unless the PPP tunneling protocol specified in document RFC 2261 is not supported. Thus, if RFC 2261 PPP tunneling is not supported by a particular implementation, the M bit 170a should be set to a logic one value on the Service Type AVP 200 in order to ensure that an implementation unaware of the Service Types other than PPP and/or requiring a Service Type PPP tunneling would disallow establishment of the L2TP tunnel.
Returning to the discussion of control messages used to establish the Control Connection 142 of Figure 6, the Start Control Connection Reply ("SCCRP") control message is sent in reply to a received SCCRQ message. The following AVPs must be present in the SCCRP: (1) Message Type, (2) Service Type AVP 200, (3) Protocol Version, (4) Framing Capabilities, (5) Host Name, and (6) Assigned Tunnel ID.
The Start Control Connection Connected (SCCN) control message is sent in reply to the SCCRP. The SCCCN control message completes the tunnel establishment process. The SCCN control message must include a Message Type AVP. After the control connection 142 is established, the virtual routers 21 and 22 can optionally send messages to authenticate the formation of the service tunnel 30 shown in Figure 6.
After a successful control connection 142 establishment, individual sessions may be created, which is indicated by process block 124 of Figure 5. Each session, such as session 144 shown in Figure 6, corresponds to a single stream of data messages 46 between virtual router 21 and virtual router 22. If private IP packets 50 are specified as the Service Type, then the data messages 46 would carry private IP packets 52 and encapsulation services packets 50 during the sessions. Unlike control connection 142 establishment, session establishment is directional with respect to the virtual router 21 and virtual router 22. The virtual router 21 requests the virtual router 22 to accept a session for private IP packets 52 from CP router 14. The virtual router 22 requests the virtual router 21 to accept a session for private IP packets 52 from CP router 15.
A three message exchange is employed to setup a session involving private IP packets 52 incoming from CP router 14. The following is a typical sequence of events. The virtual router 21 detects that CP router 14 wishes to send an incoming stream of private IP packets 52. Virtual router 21 sends an Incoming Call Request ("ICRQ") control message to virtual router 22. Virtual router 22 responds by sending to virtual router 21 an Incoming Call Reply ("ICRP") control message. The virtual router 21 responds by sending an Incoming Call Connected ("ICCN") control message to virtual router 22. A Zero Length Body Acknowledge message is sent from virtual router 22 to virtual router 21 if there are no further messages waiting in the queue for that peer. For establishing a session involving the outgoing transport of private IP packets 52 from CP router 15 to CP router 14 over session 144, a three message exchange is employed to setup the session. The following is a typical sequence of events. The virtual router 22 sends an Outgoing Call Request ("OCRQ") control message to virtual router 21. Virtual router 21 then replies with an Outgoing Call Reply ("OCRP") control message that virtual router 21 sends to virtual router 22.
Once the private IP packets 52 are able to be transported and a connection through session 144 has been obtained, then the virtual router 21 sends an Outgoing Call Connected ("OCCN") control message to virtual router 22. Virtual router 22 then sends a Zero Length Body Acknowledgement message to virtual router 21 if there are no further messages waiting in queue for that peer.
The Incoming Call Request message is used to indicate that session 144 is to be established between virtual router 21 and virtual router 22 for the incoming private IP packets 52 and provides the virtual router 22 with parameter information for the session 144. The virtual router 21 may defer establishing the session 144 until virtual router 21 has received an Incoming Call Reply control message from virtual router 22 indicating that the session should be established. This mechanism allows the virtual router 22 to obtain sufficient information about the incoming IP packets 52 before determining whether the session 144 should be established or not.
The following AVPs must be present in the Incoming Call Request message: (1 ) Message Type, (2) Sub-Address AVP 220 (described below), (3) Assigned Session ID, and (4) Call Serial Number.
The format of the Sub-Address AVP 220 is shown in Figure 9. The Service Type AVP 220 encodes additional connection identifier information for the incoming or outgoing sending of data messages 46. The Sub- Address AVP 220 must be located immediately following the Message Type AVP, unless it is hidden, in which case the Random Vector AVP will precede it.
The M bit 170b for the Sub-Address AVP 220 should be set to one. The Sub-Address AVP 220 may be hidden, so the H bit 171b may be a zero or a one. The Length (before hiding) of the Sub-Address AVP 220 is six octets plus the length of the Sub-Address in field 182b, and the total length is placed in Length field 176b.
For the Service Type AVP 220, the Vendor ID field 178b contains the number 4741. For an alternative embodiment, the Vendor ID 1786 is zero and an attribute value is chosen. The Attribute Type field 180b contains the 16-bit quantity 23.
The Attribute Value field 182b of the Sub-Address AVP 220 contains sub-addresses of various (arbitrary) lengths. The sub-addresses stored in Attribute Value field 182b comprise an opaque sequence of octets transmitted transparently by the network 11. The service tunnel 30 endpoints, such as virtual routers 21 and 22, must understand the meaning of the values stored in Attribute Value field 182b for encapsulation services in this Sub-Address AVP. The sub-addresses stored in Attribute Value field 182b can include the calling party sub-address and the called party sub- address.
If virtual router 21 or virtual router 22 requires the use of the Sub- Address AVP 220 for every session and that router receives a Service Type AVP 200 without the M bit 170a set to zero, then the service tunnel 30 must be torn down. Returning to Figure 6, the Incoming Call Reply control message is used to indicate that the Incoming Call Request control message was successful and for the virtual router 21 to communicate with the CP router 14 that the virtual router 21 is ready to accept private IP packets 50 if the virtual router 21 has not already done so. The Incoming Call Reply control message also allows the virtual router 22 to indicate the necessary parameters for the session 144. The following AVPs must be present in the Incoming Call Reply control message: (1) Message Type and (2) Assigned Session ID.
The Incoming Call Connected control message is used to indicate that the Incoming Call Reply control message was accepted, that the virtual router 21 has established communication with the CP router 14, and that the session 144 should move to the established state. It also provides additional information to the virtual router 22 about parameters used for the communication between virtual router 21 and CP router 14. The following AVPs must be present in the Incoming Call Connected control message: (1 ) Message Type, (2) Transmission Connect Speed, and (3) Framing Type.
The Outgoing Call Request control message is used to indicate that a session 144 is to be established between the virtual routers 21 and 22 and provides the virtual router 21 with parameter information for both the session 144 and for the private IP packets 52 that are to be sent during the session.
The virtual router 22 must have received a Bearer Capabilities AVP during service tunnel establishment from the virtual router 21 in order to request the sending of private IP packets 52 to the virtual router 21.
The following AVPs must be present in the Outgoing Call Request control message: (1 ) Message Type, (2) Sub-Address AVP 220, (3) Assigned Session ID, (4) Call Serial Number, (5) Minimum BPS, (6) Maximum BPS, (7) Bearer Type, (8) Framing Type, and (9) Called Number.
The Outgoing Call Reply control message is used to indicate that the virtual router 21 is able to attempt the outbound sending of private IP packets 52 and returns certain parameters regarding the attempt to send private IP packets 52. The following AVPs must be present in the Outgoing Call Reply control message: (1 ) Message Type and (2) Assigned Session ID.
The Outgoing Call Connected control message is used to indicate that the result of a requested sending of private IP packets 52 was successful. The Outgoing Call Connected control message also provides information to the virtual router 22 about the particular parameters obtained after the sending of the private IP packets 52 was established. The following AVPs must be present in the Outgoing Call Connected control message: (1 ) Message Type, (2) Transmission Connect Speed, and (3) Framing Type.
Once the session 144 has been established, then the encapsulation services packets 50 and private IP packets 52 are transported over the service tunnel 30, which is indicated by process block 126 in Figure 5. With reference to Figures 3 and 6, the private IP packets 52 are received by virtual router 21 from CP router 14. Virtual router 21 places the private IP packets 52 into the payload portions of encapsulation services packets 50. Virtual router 21 also places the encapsulation services packets 50 (that encapsulate private IP packets 52) into the payload portions 96 of service tunnel L2TP packets 60 to form data messages 46. The virtual router 21 then forwards the data messages 46 (with their encapsulated private IP packets 52 and encapsulated services packets 50) over session 144 and service tunnel 30. The virtual router 22 receives the data messages 46 and extracts the encapsulated services packets 50 and private IP packets 52. The virtual router 22 processes the encapsulated services packets 50 and private IP packets 52 as if they were received on a private IP packet network. The private IP packets 52 are then forwarded by virtual router 22 to CP router 15.
The sender of a message associated with a particular session and service tunnel places the Session ID and Tunnel ID (specified by its peer) in the respective Session ID field 86 and Tunnel ID field 84 of the L2TP headers 62 of data messages 46 for all data messages 46. In this manner, private IP packets 52 are multiplexed and demultiplexed over a single service tunnel between a given pair of virtual routers, such as virtual router 21 and virtual router 22. Multiple service tunnels may exist between a given pair of virtual routers. In addition, multiple sessions may exist within a service tunnel.
Figure 10 illustrates encapsulation services ("ES") packet 50 in more detail. Encapsulation services packet 50 includes an encapsulation services header 256 and a payload 250. The encapsulation services header 256 is also referred to as the services tunnel header 256 or the in-band header 256.
A private IP packet 52 shown in Figures 3 and 11 is placed by virtual router 21 in the payload portion 250 of encapsulation services packet 50 shown in Figure 3 and 10. The encapsulation services packet 50 is in turn placed by virtual router 21 in the payload portion 96 of L2TP packet 60 to form data message 46. Thus, data message 46 encapsulates encapsulation services packet 50, which in turn encapsulates private IP packet 52.
The encapsulation services header of 256 of ES packet 50 shown in Figure 10 includes a Version Number field 234. The Version Number of the private IP packet 52 (that is encapsulated as payload 250) is inserted in field 234 in order to ensure forward compatibility.
The field 236 of ES header 256 indicates the type of compression used by the private IP packet 52 stored in payload 250. Both sides of service tunnel 30 can negotiate for a compression scheme. Thus, virtual router 21 and virtual router 22 can negotiate for the compression scheme to be used for private IP packet 52 stored in payload 250. Once a compression scheme has been negotiated and agreed to, then virtual router 21 can compress the private IP packets 52 according to that scheme. The field 236 would indicate the type of compression used for the private IP packets 52. The virtual router 22 at the egress side would then decompress the private IP packets 52 using the compression field 236 for guidance as how to decompress the private IP packets 52.
The field 238 of encapsulation services header 256 indicates whether the private IP packet 52 stored in payload 250 is encrypted. Both sides of service tunnel 30 negotiate for an encryption scheme when a session, such as session 144, is established. Thus CP router 14 and CP router 15 negotiate for an encryption scheme for service tunnel 30. Once the CP routers 14 and 15 have agreed upon encryption and the type of encryption, then the virtual router 21 at the egress side of the service tunnel 30 will encrypt the private IP packet 52 in payload 250 according to the encryption scheme.
Field 246 of ES header 256 contains an Encryption Index. The Encryption Index 246 points to which encryption key is used. If the private IP packets 52 in payload 250 are encrypted, the virtual router 22 at the egress side uses the key pointed to by the encryption index 246 to de-encrypt the private IP packet 52 in payload 250. The field 240 of the encapulation services header 256 indicates the payload type stored in payload 250. The payload type that is indicated by the value stored in field 240 can either be a control payload or a data payload. Control payloads stored in payload 250 are used for session negotiation and management with respect to the service tunnel 30. The data payload stored in payload 250 is private IP packet 52, which in turn stores customer data being transported over service tunnel 30.
A checksum value is stored in field 244 of encapsulation services header 256 for the purposes of error detection and correction with respect to ES packet 50, including payload 250. A checksum is a parameter used to detect errors. Checksums are calculated using a predetermined generator polynomial assigned to the specific checksum field 244. The checksum 244 is included in header 256 to help to ensure that the header 256 will be detected once the ES packet 50 is transported.
Field 248 of encapsulation services header 256 stores a sequence number with respect to the ES packet 50. The sequence number stored in field 248 indicates where this particular ES packet 50 fits within the sequence of ES packets over service tunnel 30. The use of sequence numbers in field 248 for ES packets 50 is optional. The sequence number stored in field 248 can be used for security purposes to keep hackers from replaying ES packets 50. Therefore, the sequence number in field 248 is typically used in conjunction with encryption to increase security. In addition, a sequence number can be stored in field 248 for control payload types involving session negotiation and management.
Payloads stored in payload field 250 of private IP packet 50 will in turn typically have their own headers and payloads. Figure 11 shows private IP packet 52 that includes a header 302 and a payload 360. The header 302 includes a private IP address 304 used for the transport of the private IP packet 52. The private IP address 304 is also referred to as the inner IP address 304. CP router 14 sending data messages 46 over service tunnel 30 would encapsulate private IP packet 52 in ES packet 50, which in turn would be encapsulated in data message 46. The private IP packet 52 would include an inner IP address 304 that CP router 14 wants to send to CP router 15 for CP router 15's use.
The following example of how inner IP addresses (such as those stored at private IP address field 304) are handled by the service tunnels is made with reference to Figure 2. Virtual routers 21 , 22, and 23 advertise which virtual private networks they handle and which inner IP addresses on those virtual private networks they handle. For example, virtual routers 21 , 22, and 23 would advertise to each other that they manage virtual private network A and the inner IP addresses associated with the virtual private network A. If CP router 14 wishes to send a data packet to inner IP address 168, CP router 14 sends the private IP packet 52 to virtual router 21. Virtual router 21 realizes that this inner IP address 168 is associated with virtual private network A and then decides how virtual router 21 can reach this inner IP address 168 and virtual private network A. Virtual router 21 has received advertisements from virtual routers 22 and virtual routers 23 regarding the inner IP addresses they can reach. Therefore, virtual router 21 has in a lookup table (i.e., forwarding table) the information regarding the inner IP addresses and how to reach them. Virtual router 21 uses the forwarding table to determine that inner IP address 168 can be reached through virtual router 23. Virtual router 21 then looks up to see which service tunnel can be used to get to virtual router 23. Virtual router 21 also decides which session needs to be used within the service tunnel to get to virtual router 23 to reach the inner IP address of 168. For example, the virtual router 21 determines that service tunnel 32 should be used to get to virtual router 23 and that Session ID 446 within service tunnel 32 should be used to get to virtual router 23 for inner IP address 168.
Virtual router 21 then encapsulates the private data IP packets 52 of CP router 14 within ES packets 50, which CP router 21 in turn encapsulates within the service tunnel L2TP packets 60, which become the data messages 46. The virtual router 21 sets the Tunnel ID 84 within L2TP header 62 to indicate service tunnel 32. The virtual router 21 also inserts Session ID 446 of L2TP header 62. Virtual router 21 then sends the data messages 46 over service tunnel 32 and session 446 to virtual router 23. The payload 250 of each ES packet 50 is compressed or encrypted according to the encapsulation services header 256.
The virtual router 23 receives the service tunnel data messages 46 with their data stored in payload portion 96. Virtual router 23 looks at the Tunnel ID in field 84, which is service tunnel 32, and the Session ID in the field 86, which is Session ID 446, and maps the payload 96 onto virtual private network A. The virtual router 23 then de-encapsulates (i.e., extracts) the payload 96 into private IP data packets 52 having an inner IP address 168 and sends those private IP data packets 52 to CP router 16. CP router 16 uses the inner IP address 168 to look up in its router table where to send the data packets 52. The customer or subscriber at inner IP address 168 then receives the data packets 52 from CP router 16.
Returning to Figure 5, once a session has been established, process block 124, the session (such as session 144) can be changed at process block 128. An example of a session change would be changing a session from sending voice information to fax information. If service tunnel 30 has been established and session 144 within service tunnel 30 has been established, as shown in Figure 3, CP router 14 may decide to stop sending voice information over session 144 and instead wish to send fax information over session 144. The end user at CP router 14 would notify the service provider responsible for maintaining service tunnel 30 of his or her wish to change from a voice session to a fax session. This could be done either manually through a telephone call or by sending an appropriate control message. The service provider would send a message to virtual router 21 to change the type of session from a voice session to a fax session. Virtual router 21 would then send the appropriate control message to virtual control router 22 to ensure that the session is changed from a voice session to a fax session. The change in the character of the session 144 would be done without tearing down the session 144 or tearing down the service tunnel 30.
Another example of a change of a session within service tunnel 30, such as session 144, would be a change in addressing. For example, one of the inner IP addresses within a virtual private network might be withdrawn. An employee of an enterprise may leave and his or her inner IP address may be deleted. The service provider would accordingly send an appropriate protocol message to virtual router 21 to change the routing tables. Virtual router 21 would in turn send appropriate messages to the other virtual routers 22 and 23 to have their routing tables changed with respect to the inner IP addresses available on the particular virtual private network. Again, this would be done without tearing down the session or tearing down the tunnel. Instead, there would simply be a change with respect to the session 144 established.
Changes done with respect to sessions without tearing down the session or tearing down the tunnel are conducted through in-band signaling because they use encapsulated messages or relate to encapsulated messages. In-band signaling can be used to handle service provisioning. Service provisioning has two parts. The first part is the order entry. In other words, an end user or subscriber wishes to change the type of service and submits an order entry to the service provider. The second part of provisioning is the change of the Service Type. In other words, the type of session is changed.
Process block 132 shown in Figure 5 refers to releasing a session, such as session 144, which is also referred to as session teardown. Session teardown may be initiated by either the virtual router 21 or virtual router 22 and is accomplished by sending a Call Disconnect Notify ("CDN") message. The following is an example of a typical control message exchange between virtual 21 and virtual router 22. Virtual router 21 sends a Call Disconnect Notify control message to virtual router 22. Virtual router 22 responds and sends a Zero Length Body Acknowledge message to virtual router 21.
The purpose of the Call Disconnect Notify message is to inform the peer of the disconnection and the reason why the disconnection occurred. The peer must clean up any resources, and does not send back any indication of success or failure of such cleanup. The follow AVPs must be present in the Call Disconnect Notify call message: (1 ) Message Type, (2) Result Code, and (3) Assigned Session ID.
After the last session within service tunnel 30 is cleared, the control connection 142 may be torn down as well and typically is. Control connection teardown is indicated by process block 134 in Figure 5. Process block 134 refers to tearing down the tunnel. Tearing down the control connection 142 tears down the service tunnel 30. Control connection 142 teardown may be initiated by either virtual router 21 or virtual router 22 and is accomplished by sending a single Stop Control Connection Notification ("StopCCN") control message. The receiver of a Stop Control Connection Notification control message must send a Zero Length Body Acknowledgement message to acknowledge receipt of the message and maintain enough control connections to properly accept Stop Control Connection Notification retransmissions over at least a full retransmission cycle in case the Zero Length Body Acknowledgement message is lost.
For one embodiment of the invention, the entire service tunnel may be shut down and all sessions on the service tunnel can be shut down by sending the Stop Control Connection Notification control message. Thus, for that embodiment, it is not necessary to teardown each session (such as session 144) individually when tearing down the whole service tunnel.
For one embodiment of the present invention, virtual routers 21 through 23 each contain network process servers containing application specific integrated circuit processors.
For one embodiment of the invention, service tunnels 30 through 32 allow the performance monitoring of packet transmissions. For example, the number of packets received and transmitted at each end of the service tunnels can be monitored in order to see how many packets have been lost within the network. For another embodiment, the roundtrip time of packets over the service tunnel can be monitored using timestamps. Also, the roundtrip time can be measured by echoing packets back and forth across a service tunnel. A time stamp can be used to stamp the time that a packet enters the service tunnel and a time stamp can be used when the packet is received back over the service tunnel. The average round trip time can then be calculated. Maximum and minimum round trip times give an indication of jitter. This information is useful for administration of the network so that performance of the network can be tuned.
For an alternative embodiment of the invention, redundant service tunnels can be established in order to have backup tunnels in case of service disruptions.
For an alternative embodiment, call forwarding can be implemented using a two-segment tunnel. For that alternative embodiment, tunnels can be segmented and packets can be forwarded over new segments of the tunnels. This alternative embodiment would be useful for cell phones, PDAs, wireless, and mobile IP devices. Methods can be implemented to predict where tunnel segments will be needed as a cell phone moves across geographical areas.
For another alternative embodiment of the present invention, tunnel relays are created to relay information from one tunnel to another.
For another alternative embodiment of the invention, the service tunnels 30, 31 , and 32 can transport virtual private networks as sessions, wherein the virtual private networks transport information according to MPLS rather than according to pure IP. This contrasts with having network 12 being an MPLS network, which is another alternative embodiment of the present invention.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims

CLAIMSWhat is claimed is:
1. A method comprising: establishing a service tunnel for private internet protocol (IP) services over a connectionless network; transporting private IP packets over the service tunnel in accordance with selected respective private IP services.
2. The method of claim 1 , wherein the connectionless network is an internet protocol (IP) network.
3. The method of claim 1 , wherein the connectionless network is a multiprotocol label switching (MPLS) network.
4. The method of claim 1 , wherein the service tunnel is a modified layer two tunneling protocol (L2TP) tunnel.
5. The method of claim 4, wherein the modified L2TP tunnel supports multiple L2TP tunneling sessions within the modified L2TP tunnel.
6. The method of claim 1 , wherein the private IP services comprise connectivity and addressing services.
7. The method of claim 6, wherein the private IP services further comprise reachability and forwarding services.
8. The method of claim 7, wherein the private IP services further comprise premium services.
9. The method of claim 8, wherein the premium services comprise priority and quality of service.
10. The method of claim 8, wherein the private IP services further comprise peering services.
11. The method of claim 1 , wherein the private IP packets contain data, voice, or video information.
12. The method of claim 1 , wherein the private IP packets are each encapsulated in an encapsulation services packet and a service tunnel packet.
13. The method of claim 1 , wherein establishing a service tunnel for private IP services over a connectionless network comprises:
(1 ) establishing a control connection between at least two network devices to form a tunnel; and
(2) establishing a session between the at least two network devices.
14. The method of claim 13, wherein establishing a control connection further comprises setting a service type for the service tunnel.
15. The method of claim 13, wherein establishing a session further comprises setting a service profile for the service tunnel.
16. The method of claim 13, further comprising changing the session without tearing down the service tunnel.
17. The method of claim 1 , further comprising tearing down the service tunnel after the private IP packets are transported over the service tunnel.
18. A method for transporting packets, comprising: having virtual private routers advertise to each other which virtual private networks they handle and which inner internet protocol (IP) addresses on those virtual private networks they handle; having a first customer premises router send a private IP packet to a first virtual private router of the virtual private routers; having the first virtual router use an inner IP destination address in the private IP packet received from the first customer premises router to select from stored information which virtual private router, service tunnel, and service tunnel session to use to have the private IP packet reach the inner IP destination address; having the first virtual router encapsulate the private IP packet in an encapsulation services packet; having the first virtual router encapsulate the encapsulation services packet in a service tunnel packet; having the first virtual router encapsulate the service tunnel packet in a data message; transporting the data message over the selected service tunnel session within the selected service tunnel to a selected virtual router of the virtual routers; having the selected virtual router use information within a payload of the data message to select from stored information which customer premises router to use to have the private IP packet reach the inner IP destination address; extracting the private IP packet from the payload and transporting the private IP packet to the selected customer premises router; having the selected customer premises router use the inner IP destination address of the private IP packet to select from stored information a destination of the private IP packet; transporting the private IP packet from the selected customer premises router to the destination.
19. The method of claim 18, wherein the private IP packet is transported between virtual routers over an IP network.
20. The method of claim 18, wherein the private IP packet is transported between virtual routers over a multiprotocol label switching (MPLS) network.
21. The method of claim 18, wherein the selected service tunnel is a modified layer two tunneling protocol (L2TP) tunnel.
22. The method of claim 18, wherein the private IP packet can contain data, voice, or video information.
PCT/US2002/004645 2001-02-21 2002-02-15 Service tunnel over a connectionless network WO2002069596A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002438853A CA2438853A1 (en) 2001-02-21 2002-02-15 Service tunnel over a connectionless network
AU2002244034A AU2002244034A1 (en) 2001-02-21 2002-02-15 Service tunnel over a connectionless network
EP02709555A EP1374520A2 (en) 2001-02-21 2002-02-15 Service tunnel over a connectionless network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/792,398 US7225259B2 (en) 2001-02-21 2001-02-21 Service tunnel over a connectionless network
US09/792,398 2001-02-21

Publications (2)

Publication Number Publication Date
WO2002069596A2 true WO2002069596A2 (en) 2002-09-06
WO2002069596A3 WO2002069596A3 (en) 2002-11-21

Family

ID=25156771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/004645 WO2002069596A2 (en) 2001-02-21 2002-02-15 Service tunnel over a connectionless network

Country Status (5)

Country Link
US (1) US7225259B2 (en)
EP (1) EP1374520A2 (en)
AU (1) AU2002244034A1 (en)
CA (1) CA2438853A1 (en)
WO (1) WO2002069596A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1703673A1 (en) * 2004-01-07 2006-09-20 Huawei Technologies Co., Ltd. A method for tearing-down tunnel in wireless local area network
CN100373826C (en) * 2003-09-28 2008-03-05 中兴通讯股份有限公司 Tunnel establishing method of automatic switching optial network

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948003B1 (en) * 2000-03-15 2005-09-20 Ensim Corporation Enabling a service provider to provide intranet services
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7444398B1 (en) 2000-09-13 2008-10-28 Fortinet, Inc. System and method for delivering security services
US7389358B1 (en) 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US7272643B1 (en) * 2000-09-13 2007-09-18 Fortinet, Inc. System and method for managing and provisioning virtual routers
US7111072B1 (en) * 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
US7487232B1 (en) 2000-09-13 2009-02-03 Fortinet, Inc. Switch management system and method
US7574495B1 (en) * 2000-09-13 2009-08-11 Fortinet, Inc. System and method for managing interworking communications protocols
US7139276B1 (en) * 2001-02-27 2006-11-21 Cisco Technology, Inc. Load sharing between L2TP tunnels
US7023879B1 (en) * 2001-03-09 2006-04-04 Cisco Technology, Inc. Dynamic multi-hop ingress to egress L2TP tunnel mapping
US7136374B1 (en) * 2001-03-19 2006-11-14 Juniper Networks, Inc. Transport networks supporting virtual private networks, and configuring such networks
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US7788399B2 (en) * 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
FR2827727B1 (en) * 2001-07-23 2004-01-02 6Wind METHOD FOR THE SIMULTANEOUS OPERATION OF AT LEAST TWO TUNNELS ON AT LEAST ONE NETWORK
US7339908B2 (en) * 2001-07-31 2008-03-04 Arraycomm, Llc. System and related methods to facilitate delivery of enhanced data services in a mobile wireless communications environment
US7363376B2 (en) * 2001-07-31 2008-04-22 Arraycomm Llc Method and apparatus for generating an identifier to facilitate delivery of enhanced data services in a mobile computing environment
JP2003069609A (en) * 2001-08-23 2003-03-07 Fujitsu Ltd System for providing virtual private network service
US20040258056A1 (en) * 2001-11-13 2004-12-23 Tomohiro Ishihara Provider connection system, packet exchange apparatus thereof, dns server, packet exchange method, and computer program thereof
JP4394951B2 (en) * 2001-12-21 2010-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for secure processing of electronic business transactions over the Internet
EP3570178B1 (en) 2002-01-08 2020-05-27 Seven Networks, LLC Secure transport for mobile communication network
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7376125B1 (en) * 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US7116665B2 (en) * 2002-06-04 2006-10-03 Fortinet, Inc. Methods and systems for a distributed provider edge
US7340535B1 (en) * 2002-06-04 2008-03-04 Fortinet, Inc. System and method for controlling routing in a virtual router system
US20040131072A1 (en) * 2002-08-13 2004-07-08 Starent Networks Corporation Communicating in voice and data communications systems
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7533256B2 (en) * 2002-10-31 2009-05-12 Brocade Communications Systems, Inc. Method and apparatus for encryption of data on storage units using devices inside a storage area network fabric
US7266120B2 (en) 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
WO2004063858A2 (en) * 2003-01-03 2004-07-29 Computer Associates Think, Inc. System and method for measuring middleware response time
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US20040196843A1 (en) * 2003-02-20 2004-10-07 Alcatel Protection of network infrastructure and secure communication of control information thereto
US7486622B2 (en) * 2003-04-28 2009-02-03 Alcatel-Lucent Usa Inc. OAM echo messaging to verify a service-based network distribution path
US8098649B2 (en) * 2003-04-28 2012-01-17 Alcatel Lucent Using network transport tunnels to provide service-based data transport
US7720095B2 (en) 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
US7461152B2 (en) * 2004-03-31 2008-12-02 International Business Machines Corporation Apparatus and method for sharing a shared resource across logical partitions or systems
US9197857B2 (en) * 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
US8966551B2 (en) * 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
US7499419B2 (en) * 2004-09-24 2009-03-03 Fortinet, Inc. Scalable IP-services enabled multicast forwarding with efficient resource utilization
US7599377B2 (en) * 2004-10-15 2009-10-06 Temic Automotive Of North America, Inc. System and method for tunneling standard bus protocol messages through an automotive switch fabric network
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
US7848332B2 (en) * 2004-11-15 2010-12-07 Cisco Technology, Inc. Method and apparatus for classifying a network protocol and aligning a network protocol header relative to cache line boundary
US20070115979A1 (en) * 2004-11-18 2007-05-24 Fortinet, Inc. Method and apparatus for managing subscriber profiles
US7808904B2 (en) * 2004-11-18 2010-10-05 Fortinet, Inc. Method and apparatus for managing subscriber profiles
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (en) 2004-12-03 2006-06-30 Seven Networks Internat Oy E-mail service provisioning method for mobile terminal, involves using domain part and further parameters to generate new parameter set in list of setting parameter sets, if provisioning of e-mail service is successful
US8504700B2 (en) * 2004-12-06 2013-08-06 Samsung Electronics Co., Ltd. Method, apparatus, and system for negotiating a session between an access terminal and an access network in a high rate packet data system
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
US9197533B1 (en) * 2005-05-09 2015-11-24 Cisco Technology, Inc. Technique for maintaining and enforcing relative policies with thresholds
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8069166B2 (en) 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US7668920B2 (en) * 2006-03-01 2010-02-23 Fortinet, Inc. Electronic message and data tracking system
US8447802B2 (en) * 2006-03-08 2013-05-21 Riverbed Technology, Inc. Address manipulation to provide for the use of network tools even when transaction acceleration is in use over a network
US8149797B2 (en) * 2006-06-30 2012-04-03 Hewlett-Packard Development Company, L.P. Visualization of RF neighbor correlation in a single view
US20080046571A1 (en) * 2006-08-16 2008-02-21 Nokia Corporation Pervasive inter-domain dynamic host configuration
GB2441371A (en) * 2006-08-29 2008-03-05 Motorola Inc Transmitting packets across a network by compressing and encapsulating them
US8023419B2 (en) * 2007-05-14 2011-09-20 Cisco Technology, Inc. Remote monitoring of real-time internet protocol media streams
US7936695B2 (en) 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US7835406B2 (en) * 2007-06-18 2010-11-16 Cisco Technology, Inc. Surrogate stream for monitoring realtime media
US7817546B2 (en) 2007-07-06 2010-10-19 Cisco Technology, Inc. Quasi RTP metrics for non-RTP media flows
US8782772B2 (en) * 2007-09-28 2014-07-15 Microsoft Corporation Multi-session secure tunnel
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
TR200708644A1 (en) * 2007-12-13 2009-07-21 Atti̇la Özgi̇t Dr. Virtual airbag system.
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) * 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US9401855B2 (en) * 2008-10-31 2016-07-26 At&T Intellectual Property I, L.P. Methods and apparatus to deliver media content across foreign networks
US8190706B2 (en) * 2009-05-04 2012-05-29 Comcast Cable Communications, Llc Network based digital media server
US8190751B2 (en) * 2009-05-04 2012-05-29 Comcast Cable Communications, Llc Personalized media server in a service provider network
US8078665B2 (en) 2009-05-04 2011-12-13 Comcast Cable Holdings, Llc Sharing media content based on a media server
US20100281508A1 (en) 2009-05-04 2010-11-04 Comcast Cable Holdings, Llc Internet Protocol (IP) to Video-on-Demand (VOD) Gateway
US8301982B2 (en) * 2009-11-18 2012-10-30 Cisco Technology, Inc. RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows
WO2011126889A2 (en) 2010-03-30 2011-10-13 Seven Networks, Inc. 3d mobile user interface with configurable workspace management
US8819714B2 (en) 2010-05-19 2014-08-26 Cisco Technology, Inc. Ratings and quality measurements for digital broadcast viewers
CN102271080B (en) * 2010-06-03 2015-04-29 杭州华三通信技术有限公司 Method for preventing BGP (Border Gateway Protocol) session from being disconnected in the event of changing service, and applicable system thereof
US20120005051A1 (en) * 2010-07-01 2012-01-05 International Business Machines Corporation Semi-Automated Customer Model-Based Service Deployment Into Data Centers
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
WO2012018430A1 (en) 2010-07-26 2012-02-09 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9077630B2 (en) 2010-07-26 2015-07-07 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
CA2806557C (en) 2010-07-26 2014-10-07 Michael Luna Mobile application traffic optimization
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8204953B2 (en) 2010-11-01 2012-06-19 Seven Networks, Inc. Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache
EP2635973A4 (en) 2010-11-01 2014-01-15 Seven Networks Inc Caching adapted for mobile application behavior and network conditions
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
GB2495463B (en) 2010-11-22 2013-10-09 Seven Networks Inc Aligning data transfer to optimize connections established for transmission over a wireless network
EP3422775A1 (en) 2010-11-22 2019-01-02 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
GB2501416B (en) 2011-01-07 2018-03-21 Seven Networks Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US10637782B2 (en) 2011-03-23 2020-04-28 Hughes Network Systems, Llc System and method for policy-based multipath WAN transports for improved quality of service over broadband networks
US9240950B2 (en) 2011-03-23 2016-01-19 Hughes Network Systems, Llc System and method for providing quality of service over dedicated local loop networks
US9716659B2 (en) 2011-03-23 2017-07-25 Hughes Network Systems, Llc System and method for providing improved quality of service over broadband networks
WO2012145544A2 (en) 2011-04-19 2012-10-26 Seven Networks, Inc. Device resource sharing for network resource conservation
EP2621144B1 (en) 2011-04-27 2014-06-25 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
GB2505585B (en) 2011-04-27 2015-08-12 Seven Networks Inc Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
EP2737742A4 (en) 2011-07-27 2015-01-28 Seven Networks Inc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
WO2013086214A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A system of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
WO2013086455A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
EP2801236A4 (en) 2012-01-05 2015-10-21 Seven Networks Inc Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US20130268656A1 (en) 2012-04-10 2013-10-10 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
US9300570B2 (en) * 2012-05-22 2016-03-29 Harris Corporation Multi-tunnel virtual private network
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9247569B2 (en) * 2012-09-06 2016-01-26 Intel Corporation Management and optimization of wireless communications multiplexed over multiple layer-three transports with indefinite duration layer-two sessions
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
JP6390618B2 (en) * 2013-07-19 2018-09-19 ソニー株式会社 Content transmission device and content transmission method, content reception device and content reception method, computer program, and content transmission system
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
WO2015021343A1 (en) * 2013-08-08 2015-02-12 Hughes Network Systems, Llc System and method for providing improved quality of service over broadband networks
US9473394B1 (en) 2014-01-10 2016-10-18 Juniper Networks, Inc. Proactive flow table for virtual networks
US10251092B1 (en) * 2015-09-25 2019-04-02 Juniper Networks, Inc. Signaling message reduction for network session teardown and network tunnel teardown
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US11824773B2 (en) 2021-03-30 2023-11-21 Amazon Technologies, Inc. Dynamic routing for peered virtual routers
US20220321471A1 (en) * 2021-03-30 2022-10-06 Amazon Technologies, Inc. Multi-tenant offloaded protocol processing for virtual routers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1001577A1 (en) * 1998-11-12 2000-05-17 Nortel Networks Corporation Voice over Internet protocol network architecture
WO2000030313A2 (en) * 1998-11-12 2000-05-25 Nortel Networks Limited Managing internet protocol connection oriented services

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041166A (en) * 1995-07-14 2000-03-21 3Com Corp. Virtual network architecture for connectionless LAN backbone
US6097719A (en) * 1997-03-11 2000-08-01 Bell Atlantic Network Services, Inc. Public IP transport network
US6137791A (en) * 1997-03-25 2000-10-24 Ericsson Telefon Ab L M Communicating packet data with a mobile station roaming within an incompatible mobile network
US6512754B2 (en) * 1997-10-14 2003-01-28 Lucent Technologies Inc. Point-to-point protocol encapsulation in ethernet frame
US6094437A (en) * 1998-10-09 2000-07-25 Asc - Advanced Switching Communications Layer two tunneling protocol (L2TP) merging and management
JP4110671B2 (en) * 1999-05-27 2008-07-02 株式会社日立製作所 Data transfer device
US6665273B1 (en) * 2000-01-11 2003-12-16 Cisco Technology, Inc. Dynamically adjusting multiprotocol label switching (MPLS) traffic engineering tunnel bandwidth
US6732234B1 (en) * 2000-08-07 2004-05-04 Broadcom Corporation Direct access mode for a cache
US6985935B1 (en) * 2000-12-20 2006-01-10 Cisco Technology, Inc. Method and system for providing network access to PPP clients

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1001577A1 (en) * 1998-11-12 2000-05-17 Nortel Networks Corporation Voice over Internet protocol network architecture
WO2000030313A2 (en) * 1998-11-12 2000-05-25 Nortel Networks Limited Managing internet protocol connection oriented services

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100373826C (en) * 2003-09-28 2008-03-05 中兴通讯股份有限公司 Tunnel establishing method of automatic switching optial network
EP1703673A1 (en) * 2004-01-07 2006-09-20 Huawei Technologies Co., Ltd. A method for tearing-down tunnel in wireless local area network
EP1703673A4 (en) * 2004-01-07 2007-03-21 Huawei Tech Co Ltd A method for tearing-down tunnel in wireless local area network
US7633918B2 (en) 2004-01-07 2009-12-15 Huawei Technologies Co., Ltd. Method for releasing a service tunnel in a wireless local area network

Also Published As

Publication number Publication date
US20020116501A1 (en) 2002-08-22
CA2438853A1 (en) 2002-09-06
EP1374520A2 (en) 2004-01-02
WO2002069596A3 (en) 2002-11-21
AU2002244034A1 (en) 2002-09-12
US7225259B2 (en) 2007-05-29

Similar Documents

Publication Publication Date Title
US7225259B2 (en) Service tunnel over a connectionless network
EP1065858B1 (en) Label switched media gateway and network
US6732314B1 (en) Method and apparatus for L2TP forward error correction
EP1041792B1 (en) Providing quality of service in layer two tunneling protocol networks
CA2289394C (en) Voice over internet protocol network architecture
Ferguson et al. What is a VPN?
US6449272B1 (en) Multi-hop point-to-point protocol
US6917600B1 (en) Mobile point-to-point protocol
CA2350711C (en) Managing internet protocol connection oriented services
EP1757069B1 (en) Data transmission
US6801509B1 (en) Mobile point-to-point protocol
JPH11275154A (en) Message distribution sequence
JP2000022758A (en) Interworking function selection system in network
JP2002534002A (en) Wireless local loop system supporting voice / IP
JPH11289353A (en) Accounting system for network
JPH11275155A (en) Message in network and communications system
JPH11252183A (en) Method for making point-to-point protocol in 'ethernet' (trademark) frame into capsule
CA2381672A1 (en) Method of and system for providing quality of service in ip telephony
CA2402261C (en) System and method in a gprs network for interfacing a base station system with a serving gprs support node
Lee et al. End-to-end QoS architecture for VPNs: MPLS VPN deployment in a backbone network
KR20000076720A (en) Providing quality of service in layer two tunneling protocol networks
US20030187979A1 (en) Method of and a system for data exchange over a data network such as the public internet
Cisco New Features in Release 11.3
Metz Layer 2 over ip/mpls
Ramani et al. The next generation Internet protocol

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2438853

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2002709555

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2002709555

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP