US7957304B2 - System for and method of using a loopback mechanism to perform network testing - Google Patents

System for and method of using a loopback mechanism to perform network testing Download PDF

Info

Publication number
US7957304B2
US7957304B2 US12/487,968 US48796809A US7957304B2 US 7957304 B2 US7957304 B2 US 7957304B2 US 48796809 A US48796809 A US 48796809A US 7957304 B2 US7957304 B2 US 7957304B2
Authority
US
United States
Prior art keywords
network
consumer device
vpn
test packets
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12/487,968
Other versions
US20100322085A1 (en
Inventor
Rohit Satish Kalbag
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verizon Patent and Licensing Inc
Original Assignee
Verizon Patent and Licensing 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 Verizon Patent and Licensing Inc filed Critical Verizon Patent and Licensing Inc
Priority to US12/487,968 priority Critical patent/US7957304B2/en
Assigned to VERIZON PATENT AND LICENSING INC. reassignment VERIZON PATENT AND LICENSING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KALBAG, ROHIT SATISH
Publication of US20100322085A1 publication Critical patent/US20100322085A1/en
Application granted granted Critical
Publication of US7957304B2 publication Critical patent/US7957304B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Definitions

  • Broadband access technologies such as, by way of non-limiting example, cable modems, digital subscriber lines (“DSL”), FiOS, asynchronous transfer mode (“ATM”), frame relays, and satellite—have facilitated voice, video, and other data communication over the Internet and other private and public networks.
  • broadband access technology has allowed service providers to expand content and service offerings to home and business users.
  • products and services that are available that allow the customer's broadband internet connection to be used to provide voice or other kinds of real-time services (e.g. internet access service, video service, gaming applications, etc.).
  • the service provider provides the customer with customer-premises equipment (“CPE”) that the customer may then plug into the customer's residential gateway.
  • CPE customer-premises equipment
  • the CPE may not be able to determine whether it is behind a low-speed link or a high-speed link. Thus, the CPE may not be able to determine how much available throughput it can utilize. Without this information, the CPE may not be able to determine how the available throughput should be allocated amongst multiple services for optimum performance and/or to customize content delivery in accordance with consumer preferences or provider preferences.
  • FIG. 1 is a schematic diagram illustrating an exemplary network environment where the systems for and methods of using a loopback mechanism to perform network testing may be performed in accordance with exemplary embodiments;
  • FIG. 2 is a block diagram of a connectivity access characterization module according to exemplary embodiments
  • FIG. 3 illustrates the appearance of a user interface in accordance with exemplary embodiments.
  • FIG. 4 is a flowchart illustrating a method for using a loopback mechanism to test performance characteristics of a network in accordance with exemplary embodiments.
  • Broadband access technologies such as cable modems, digital subscriber lines (“DSL”), FiOS, asynchronous transfer mode (“ATM”), frame relays, and satellite—have facilitated voice, video, and other data communication over the Internet and other private and public networks.
  • broadband access technology has allowed service providers to expand content and service offerings to home and business users.
  • products and services that are available that allow the customer's broadband internet connection to be used to provide voice or other kinds of real-time services (e.g. internet access service, video service, gaming applications, etc.).
  • the service provider provides the customer with a CPE box that then plugs into the customer's residential gateway.
  • the service provider's CPE box generally provides the essential functionality for the service that the customer has subscribed for.
  • Two non-limiting examples of CPE and their corresponding functionality are: (1) a Voice over Internet Protocol Analog Telephone Adapter (“VoIP ATA”), which enables VoIP phone service, and (2) a FemtoCell, which acts a cellular base station for the home or office. Service traffic from such devices intermingles with the other traffic that may exist on the customer's home or office network. Further, the CPE may not be able to determine what is the available access throughput it can utilize.
  • VoIP ATA Voice over Internet Protocol Analog Telephone Adapter
  • FemtoCell acts a cellular base station for the home or office. Service traffic from such devices intermingles with the other traffic that may exist on the customer's home or office network. Further, the CPE may not be able to determine what is the available access throughput it can utilize.
  • the customer may have access to the Internet via DSL, Cable, FiOS or satellite—all of which have varying throughput potential—but the CPE may not have a way of determining which of these connection types the customer has or how heavily this connection is being used by devices other than that particular CPE.
  • VPN Virtual Private Network
  • IPSec Internet Protocol Security
  • Exemplary systems and methods of the present invention allow for the detection and characterization of the customer's broadband connectivity and provide measures for adapting to the type of broadband connection in a manner that increases network performance.
  • systems and methods may create a loopback route using the Tunnel Inner Address (“TIA”) assigned by the VPN concentrator to route outgoing traffic back to the device.
  • TIA Tunnel Inner Address
  • the VPN client in the CPE may implement routines to create the loopback route for the data packets.
  • Network connectivity performance tests may be carried out on this loopback route.
  • the device By carrying out performance tests on the loopback route, the device can gain data reflecting the characteristics of its broadband access and prioritize its service traffic accordingly.
  • the performance information can be used to estimate the amount of throughput available for the device to dedicate for its service. This can lead to prioritization of voice traffic which may result in a better overall customer experience. Additionally, the information obtained from the performance test can be used to select VPN concentrators and selectively enable higher bandwidth applications.
  • This loopback technique uses the data plane and therefore avoids the limited control-plane resources on the VPN concentrator.
  • the loopback route mechanism avoids IPSec security protocols (such as exchanging certificates, IKE protocols, etc.) which are used to set up and maintain an IPSec session.
  • IPSec security protocols such as exchanging certificates, IKE protocols, etc.
  • the loopback mechanism may allow performance metrics to be calculated without embedded external probes at the service provider's network.
  • systems, modules, methods and/or computer readable mediums for testing network performance and characteristics using a loopback mechanism are provided.
  • FIG. 1 is a schematic diagram illustrating an exemplary network environment where the systems for and methods of using a loopback mechanism to perform network testing may be performed in accordance with exemplary embodiments.
  • CPE 105 may be located at consumer premises 140 , which may be a residential or business environment. Consumer premises 140 is not necessarily defined by any physical structures such as a house, apartment complex, or office building.
  • CPE 105 may include equipment that a service provider may supply to a customer to facilitate the customer's access and enjoyment of subscribed-for services.
  • CPE 105 may be a set top box.
  • CPE 105 may be, by way of non-limiting example, a VoIP ATA or a FemtoCell.
  • a Femtocell may be a cellular base station configured to connect to a service provider's network.
  • CPE 105 may be communicatively coupled with a residential gateway 110 .
  • Residential gateway 110 may be located at consumer premises 140 , which may be a residential or business environment. Residential gateway 110 may also be located outside the consumer premises 140 .
  • Residential gateway 110 could be one of many devices that allow for a connection between a LAN and a WAN. Residential gateway 110 could be, by way of non-limiting example, a DSL modem, a cable modem, a device configured to allow a connection between a LAN and a fiber optic line, or a LAN and a satellite link.
  • Residential gateway 110 may be communicatively coupled to a service provider 125 through a communication link 115 .
  • Communication link 115 may include a physical medium directly linking residential gateway 110 to service provider 125 .
  • Communication link 115 may include several intermediate links connected by network devices.
  • Communication link 115 may include a multitude of parallel physical routes.
  • Communication link 115 is not limited to any particular physical medium.
  • Communication link 115 may be, for example, a fiber connection, a copper, a cable connection or other wired network connection.
  • Communication link 115 may be a wireless connection.
  • Communication link 115 may be any one of a variety of low-speed or high-speed links.
  • Service provider 125 may include one or more VPN concentrators 120 .
  • a VPN concentrator 120 may be a hardware device designed to handle a large number of incoming VPN tunnels. More specifically, A VPN concentrator 120 may be a type of multiplexer configured to combine multiple channels onto a single transmission medium in such a way that all the individual channels can be active simultaneously. While FIG. 1 illustrates VPN concentrator 120 as a single element for the sake of illustrative simplicity, it should be appreciated that VPN concentrator 120 may actually be a multitude of distributed VPN concentrator devices.
  • CPE 105 may include a VPN client configured to create a VPN tunnel between the CPE 105 and VPN concentrator 120 .
  • the creation of the VPN tunnel may use the IPSec security protocol to tunnel between the two endpoints.
  • VPN concentrator 120 may dynamically assign CPE 105 with an IP address (referred to as Tunnel Inner Address (TIA)).
  • IP address referred to as Tunnel Inner Address (TIA)
  • Network 130 may be a wireless network, a wired network or any combination of wireless network and wired network.
  • network 102 may include one or more of a fiber optics network, a passive optical network, a cable network, an Internet network, a satellite network (e.g., operating in Band C, Band Ku or Band Ka), a wireless LAN, a Global System for Mobile Communication (“GSM”), a Personal Communication Service (“PCS”), a Personal Area Network (“PAN”), D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11a, 802.11b, 802.15.1, 802.11n and 802.11g or any other wired or wireless network for transmitting and/or receiving a data signal.
  • GSM Global System for Mobile Communication
  • PCS Personal Communication Service
  • PAN Personal Area Network
  • D-AMPS D-AMPS
  • Wi-Fi Fixed Wireless Data
  • IEEE 802.11a, 802.11b, 802.15.1, 802.11n and 802.11g or any other wired or wireless network for transmitting and/
  • network 130 may include, without limitation, telephone line, fiber optics, IEEE Ethernet 802.3, a wide area network (“WAN”), a local area network (“LAN”), or a global network such as the Internet.
  • network 130 may support, an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof.
  • Network 130 may further include one, or any number of the exemplary types of networks mentioned above operating as a stand-alone network or in cooperation with each other.
  • Network 130 may utilize one or more protocols of one or more network elements to which it is communicatively coupled.
  • Network 130 may translate to or from other protocols to one or more protocols of network devices.
  • network 130 may comprise a plurality of interconnected networks, such as, for example, a service provider network, the Internet, a broadcaster's network, a cable television network, corporate networks, and home networks.
  • Management server 135 may exist at a business premise 145 , the depiction of which is purely exemplary and non-limiting. Management server 135 may be configured to communicate with CPE 105 to remotely cause CPE 105 to execute a performance test. Management server 135 may retrieve the calculated performance metrics from CPE 105 and may display the metrics via an interface and/or store the metrics in memory.
  • FIG. 2 is a block diagram of a connectivity access characterization module according to exemplary embodiments.
  • the connectivity access characterization module 200 may be composed of a packet creation module 202 , an input/output module 204 , a metric determination module 206 , throughput allocation module 208 , and a user communication module 210 .
  • the packet creation module 202 may reside in the CPE 105 illustrated in FIG. 1 .
  • the packet creation module 202 may create a stream of test data packets to be used in a UDP speed test with a VPN concentrator 120 .
  • the packet creation module 202 may be configured to create a VPN tunnel—using, for example, IPSec encryption—from CPE 105 to VPN concentrator 120 .
  • the packet creation module 202 may address the data packet such that the packets are sent to the VPN concentrator, and then sent directly back to CPE 105 , creating a loopback route. To this end, packet creation module 202 may use the IP address of CPE 105 —which may be dynamically assigned by VPN concentrator 120 —as the TIA for the destination IP address of the packet. The packet may then be encrypted and the outer packet destination IP address may be the IP address of VPN concentrator 120 .
  • the packet creation module 202 may include computer readable memory, a processor, and instructions stored in memory or embedded in logic circuitry to implement the steps creating the data packets for the loopback route.
  • the input/output module 204 may reside on CPE 105 , an illustration of which is provided in FIG. 1 .
  • the input/output module may send the data packets created by packet creation module 202 . Once sent, the packets may go through to the outer IP address, which may be VPN concentrator 120 .
  • VPN concentrator 120 may remove the outer packet, and identify the inner packet destination address of the sending device.
  • VPN concentrator 120 may then send the packet to this inner packet destination address, which may then route the packet directly back to the sending device, which may be CPE 105 .
  • the input/output module 204 may function in conjunction with the test packet creation module 202 in that the test packets created and addressed by the test packet creation module are then sent to the TIA by the input/output module 204 .
  • the input/output module 204 may also record in memory the time that the packets are sent to the TIA.
  • the input/output module 204 may also receive the data packets when they return from the loopback route.
  • the input/output module 204 may record in memory the time that these packets are received.
  • the input/output module may also records in memory any packets which were sent but failed to return.
  • the metric determination module 206 may work in conjunction with the input/output module 204 by using the time stamps on the sent and received packets to calculate certain throughput connectivity metrics. By comparing the time stamps on the sent and received data, the round trip time of each packet may be determined. Also by comparing the number of packets sent against the number of packets received, the number of dropped packets may be determined. Using this information, the metric determination module 206 , which may reside on the CPE 105 shown in FIG. 1 , may calculate such metrics as uplink throughput, downlink throughput, packet loss, delay, and jitter.
  • the metric determination module may use the exponential smoothed value of these test results as the estimated overall throughput available for use on the uplink side. In exemplary embodiments up to 80% of it may be used for voice traffic (e.g. Femtocell or VoIP traffic). The other 20% may be available for traffic for the customer's home network. These allocations may be adjusted depending on user or provider priorities or upon various network characteristics.
  • the metric determination module 206 may prioritize the end-customer's voice traffic (including VoIP flows) over data traffic flows in the available throughput available for CPE use.
  • the smoothed statistic s t may be a simple weighted average of the latest observation x t and the previous smoothed statistic s t ⁇ 1 .
  • Exponential smoothing may be applied, and it produces a smoothed statistic as soon as two observations are available. Values of ⁇ close to one have less of a smoothing effect and give greater weight to recent changes in the data, while values of ⁇ closer to zero have a greater smoothing effect and are less responsive to recent changes.
  • the default value for ⁇ may be set at 0.8.
  • the default value for ⁇ may be a value different than 0.8 depending on the desired smoothing effect. In either event, the default value may be adjusted to a value greater than 0 and less than 1.
  • the default value may be adjusted to a lesser value such as, by way of non-limiting example, 0.5.
  • a statistical technique may be used to optimize the value of ⁇ .
  • the value of ⁇ may be configurable via the management server.
  • throughput allocation module 208 may work in conjunction with the metric determination module 206 by taking the determined metrics and then allocating or prioritizing throughput based on the results. For example, voice calls may be at a first priority and throughput may first be allocated for that purpose.
  • Throughput allocation module 208 may also work in conjunction with data packet creation module 202 , input/output module 204 , and metric determination module 206 to run the loopback tests using different VPN concentrators 120 in the loopback route. The performance metrics for various VPN concentrators 120 may be compared against each other. Preferred VPN concentrators may be selected based on the metric comparison. Throughput allocation module 208 may then allocate and prioritize throughput using metrics from the VPN concentrator 120 which provides the most throughput.
  • User communication module 210 allows the determined metrics to be displayed or reports to be generated.
  • the user communication module may also allow the user to execute a loopback test on demand.
  • the user communication module may reside on a management server and/or locally on CPE 105 .
  • FIG. 3 illustrates the appearance of a user interface in accordance with exemplary embodiments.
  • Interface 300 shows one of two tabs that may be displayed by a user communication module (e.g. user communication module 210 of FIG. 2 ).
  • Metrics report tab 305 may display network metrics that may be calculated based on the information learned through the loopback mechanism.
  • Bandwidth allocation tab 310 may provide the user a way to allocate or prioritize throughput resources based on the metrics displayed on metrics report tab 305 .
  • Interface 300 could also include an additional tab that allowed the user to instruct the system to execute a loopback test.
  • FIG. 4 is a flowchart illustrating a method for using a loopback mechanism to test performance characteristics of a network in accordance with exemplary embodiments.
  • the loopback test for network throughput may be performed at random intervals from 1 to 10 hours. This is illustrated at elements 405 and 410 .
  • a packet creation module may create data packets that make up a test stream. The data packets may then be time-stamped and sent to the VPN TIA, as is shown in elements 420 and 425 .
  • An input/output module (e.g. input/output module 204 of FIG. 2 ) may receive the data packets and may time-stamp their return.
  • a metric determination module may calculate the round trip time for each of the received packets and may perform exponential smoothing on the round trip data for the received packets.
  • Exponential smoothing which is described in greater detail in the discussion of FIG. 2 , may be applied when two observations of round trip times have been made. This is illustrated at element 440 and 445 , which shows that the exponential smoothing operation takes as input a round trip time for a current packet and a previous packet. This exponential smoothing operation may be used as an estimate for network throughput.
  • the round trip data information may also be analyzed to determine network jitter.
  • Network jitter refers to the variation in the time between packets arriving, and may be caused by network congestion, timing drift, or route changes.
  • a metric determination module may also calculate the number of packets that did not return, and can thus calculate the percentage of packets lost. Based on the determination of throughput, as determined from the exponential smoothing operation, this information can be used to selectively enable higher bandwidth applications. This is illustrated at element 450 .
  • the network may allocate up to 80% of its throughput for voice traffic (e.g. Femtocell or VoIP traffic). The other 20% may be available for traffic for the customer's home network).
  • the metric determination module 206 may prioritize the end-customer's voice traffic (includes VoIP flows) over data traffic flows in the throughput which is available for CPE use.
  • a report showing these calculated metrics may be generated by a user communication module (e.g. user communication module 210 of FIG. 2 ) Also, the information may be saved on the management server so that it may be queried for later retrieval.
  • a user communication module e.g. user communication module 210 of FIG. 2
  • the information may be saved on the management server so that it may be queried for later retrieval.
  • the description above describes user devices, an analysis system, a communication network having network elements that are coupled to each other via one or more links (e.g., physical or logical), various networks of within a domain of the communication network, and other elements for coupling customers to the communication network, some of which are explicitly depicted, others of which are not.
  • the term “module” may be understood to refer to executable software, firmware, hardware, or various combinations thereof. It is noted that the modules are exemplary. The modules may be combined, integrated, separated, or duplicated to support various applications. Also, a function described herein as being performed at a particular module may be performed at one or more other modules and by one or more other devices instead of or in addition to the function performed at the particular module. Further, the modules may be implemented across multiple devices or other components local or remote to one another. Additionally, the modules may be moved from one device and added to another device, or may be included in both devices.
  • the software described herein may be tangibly embodied in one or more physical media, such as, but not limited to, a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a hard drive, read only memory (ROM), random access memory (RAM), as well as other physical media capable of storing software, or combinations thereof.
  • the figures illustrate various components (e.g., servers, computers, etc.) separately. The functions described as being performed at various components may be performed at other components, and the various components may be combined or separated. Other modifications also may be made.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A system for and method of actively running performance tests is presented. The system and method allow a device connected, via a VPN or IPSec tunnel, to a VoIP or other service provider network, to run network performance tests using the IP address assigned by a VPN concentrator. The device utilizes the IP address assigned by the VPN concentrator as a means for performing loopback testing. These performance tests characterize the connectivity of the network. Systems and methods then use this characterization to do call admission control, traffic shaping or prioritization.

Description

BACKGROUND INFORMATION
Broadband access technologies—such as, by way of non-limiting example, cable modems, digital subscriber lines (“DSL”), FiOS, asynchronous transfer mode (“ATM”), frame relays, and satellite—have facilitated voice, video, and other data communication over the Internet and other private and public networks. Moreover, broadband access technology has allowed service providers to expand content and service offerings to home and business users. As a result, there are many products and services that are available that allow the customer's broadband internet connection to be used to provide voice or other kinds of real-time services (e.g. internet access service, video service, gaming applications, etc.).
Generally, the service provider provides the customer with customer-premises equipment (“CPE”) that the customer may then plug into the customer's residential gateway. The CPE may not be able to determine whether it is behind a low-speed link or a high-speed link. Thus, the CPE may not be able to determine how much available throughput it can utilize. Without this information, the CPE may not be able to determine how the available throughput should be allocated amongst multiple services for optimum performance and/or to customize content delivery in accordance with consumer preferences or provider preferences.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention, together with further objects and advantages, may best be understood by reference to the following description taken in conjunction with the accompanying drawings, in the several figures of which like reference numerals identify like elements, and in which:
FIG. 1 is a schematic diagram illustrating an exemplary network environment where the systems for and methods of using a loopback mechanism to perform network testing may be performed in accordance with exemplary embodiments;
FIG. 2 is a block diagram of a connectivity access characterization module according to exemplary embodiments;
FIG. 3 illustrates the appearance of a user interface in accordance with exemplary embodiments; and
FIG. 4 is a flowchart illustrating a method for using a loopback mechanism to test performance characteristics of a network in accordance with exemplary embodiments.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Broadband access technologies—such as cable modems, digital subscriber lines (“DSL”), FiOS, asynchronous transfer mode (“ATM”), frame relays, and satellite—have facilitated voice, video, and other data communication over the Internet and other private and public networks. Moreover, broadband access technology has allowed service providers to expand content and service offerings to home and business users. Thus, there are many products and services that are available that allow the customer's broadband internet connection to be used to provide voice or other kinds of real-time services (e.g. internet access service, video service, gaming applications, etc.).
Generally the service provider provides the customer with a CPE box that then plugs into the customer's residential gateway. The service provider's CPE box generally provides the essential functionality for the service that the customer has subscribed for. Two non-limiting examples of CPE and their corresponding functionality are: (1) a Voice over Internet Protocol Analog Telephone Adapter (“VoIP ATA”), which enables VoIP phone service, and (2) a FemtoCell, which acts a cellular base station for the home or office. Service traffic from such devices intermingles with the other traffic that may exist on the customer's home or office network. Further, the CPE may not be able to determine what is the available access throughput it can utilize. In other words the customer may have access to the Internet via DSL, Cable, FiOS or satellite—all of which have varying throughput potential—but the CPE may not have a way of determining which of these connection types the customer has or how heavily this connection is being used by devices other than that particular CPE.
Many services also rely on the CPE to create a Virtual Private Network (“VPN”) or Internet Protocol Security (“IPSec”) tunnel to a VPN concentrator hosted at the service provider's network. Establishing a VPN connection secures traffic and provides a secure connection to the service provider's network from the outside world.
Exemplary systems and methods of the present invention allow for the detection and characterization of the customer's broadband connectivity and provide measures for adapting to the type of broadband connection in a manner that increases network performance. To that end, systems and methods may create a loopback route using the Tunnel Inner Address (“TIA”) assigned by the VPN concentrator to route outgoing traffic back to the device. In some embodiments, the VPN client in the CPE may implement routines to create the loopback route for the data packets.
Network connectivity performance tests may be carried out on this loopback route. By carrying out performance tests on the loopback route, the device can gain data reflecting the characteristics of its broadband access and prioritize its service traffic accordingly. The performance information can be used to estimate the amount of throughput available for the device to dedicate for its service. This can lead to prioritization of voice traffic which may result in a better overall customer experience. Additionally, the information obtained from the performance test can be used to select VPN concentrators and selectively enable higher bandwidth applications.
This loopback technique uses the data plane and therefore avoids the limited control-plane resources on the VPN concentrator. The loopback route mechanism avoids IPSec security protocols (such as exchanging certificates, IKE protocols, etc.) which are used to set up and maintain an IPSec session. As a result, the performance metric tests are not limited by the lower capacity of the VPN concentrator to handle these control-plane protocols. The loopback mechanism may allow performance metrics to be calculated without embedded external probes at the service provider's network.
In exemplary embodiments, systems, modules, methods and/or computer readable mediums for testing network performance and characteristics using a loopback mechanism are provided.
FIG. 1 is a schematic diagram illustrating an exemplary network environment where the systems for and methods of using a loopback mechanism to perform network testing may be performed in accordance with exemplary embodiments. As shown, CPE 105 may be located at consumer premises 140, which may be a residential or business environment. Consumer premises 140 is not necessarily defined by any physical structures such as a house, apartment complex, or office building. CPE 105 may include equipment that a service provider may supply to a customer to facilitate the customer's access and enjoyment of subscribed-for services. CPE 105 may be a set top box. CPE 105, may be, by way of non-limiting example, a VoIP ATA or a FemtoCell. A Femtocell may be a cellular base station configured to connect to a service provider's network.
CPE 105 may be communicatively coupled with a residential gateway 110. Residential gateway 110 may be located at consumer premises 140, which may be a residential or business environment. Residential gateway 110 may also be located outside the consumer premises 140. Residential gateway 110 could be one of many devices that allow for a connection between a LAN and a WAN. Residential gateway 110 could be, by way of non-limiting example, a DSL modem, a cable modem, a device configured to allow a connection between a LAN and a fiber optic line, or a LAN and a satellite link.
Residential gateway 110 may be communicatively coupled to a service provider 125 through a communication link 115. Communication link 115 may include a physical medium directly linking residential gateway 110 to service provider 125. Communication link 115 may include several intermediate links connected by network devices. Communication link 115 may include a multitude of parallel physical routes. Communication link 115 is not limited to any particular physical medium. Communication link 115 may be, for example, a fiber connection, a copper, a cable connection or other wired network connection. Communication link 115 may be a wireless connection. Communication link 115 may be any one of a variety of low-speed or high-speed links.
Service provider 125 may include one or more VPN concentrators 120. A VPN concentrator 120 may be a hardware device designed to handle a large number of incoming VPN tunnels. More specifically, A VPN concentrator 120 may be a type of multiplexer configured to combine multiple channels onto a single transmission medium in such a way that all the individual channels can be active simultaneously. While FIG. 1 illustrates VPN concentrator 120 as a single element for the sake of illustrative simplicity, it should be appreciated that VPN concentrator 120 may actually be a multitude of distributed VPN concentrator devices.
CPE 105 may include a VPN client configured to create a VPN tunnel between the CPE 105 and VPN concentrator 120. In an exemplary embodiment, the creation of the VPN tunnel may use the IPSec security protocol to tunnel between the two endpoints. VPN concentrator 120 may dynamically assign CPE 105 with an IP address (referred to as Tunnel Inner Address (TIA)).
Network 130 may be a wireless network, a wired network or any combination of wireless network and wired network. For example, network 102 may include one or more of a fiber optics network, a passive optical network, a cable network, an Internet network, a satellite network (e.g., operating in Band C, Band Ku or Band Ka), a wireless LAN, a Global System for Mobile Communication (“GSM”), a Personal Communication Service (“PCS”), a Personal Area Network (“PAN”), D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11a, 802.11b, 802.15.1, 802.11n and 802.11g or any other wired or wireless network for transmitting and/or receiving a data signal. In addition, network 130 may include, without limitation, telephone line, fiber optics, IEEE Ethernet 802.3, a wide area network (“WAN”), a local area network (“LAN”), or a global network such as the Internet. Also, network 130 may support, an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 130 may further include one, or any number of the exemplary types of networks mentioned above operating as a stand-alone network or in cooperation with each other. Network 130 may utilize one or more protocols of one or more network elements to which it is communicatively coupled. Network 130 may translate to or from other protocols to one or more protocols of network devices. Although network 130 is depicted as one network, it should be appreciated that according to one or more embodiments, network 130 may comprise a plurality of interconnected networks, such as, for example, a service provider network, the Internet, a broadcaster's network, a cable television network, corporate networks, and home networks.
Management server 135 may exist at a business premise 145, the depiction of which is purely exemplary and non-limiting. Management server 135 may be configured to communicate with CPE 105 to remotely cause CPE 105 to execute a performance test. Management server 135 may retrieve the calculated performance metrics from CPE 105 and may display the metrics via an interface and/or store the metrics in memory.
FIG. 2 is a block diagram of a connectivity access characterization module according to exemplary embodiments. The connectivity access characterization module 200 may be composed of a packet creation module 202, an input/output module 204, a metric determination module 206, throughput allocation module 208, and a user communication module 210.
The packet creation module 202 may reside in the CPE 105 illustrated in FIG. 1. The packet creation module 202 may create a stream of test data packets to be used in a UDP speed test with a VPN concentrator 120. The packet creation module 202 may be configured to create a VPN tunnel—using, for example, IPSec encryption—from CPE 105 to VPN concentrator 120.
The packet creation module 202 may address the data packet such that the packets are sent to the VPN concentrator, and then sent directly back to CPE 105, creating a loopback route. To this end, packet creation module 202 may use the IP address of CPE 105—which may be dynamically assigned by VPN concentrator 120—as the TIA for the destination IP address of the packet. The packet may then be encrypted and the outer packet destination IP address may be the IP address of VPN concentrator 120. The packet creation module 202 may include computer readable memory, a processor, and instructions stored in memory or embedded in logic circuitry to implement the steps creating the data packets for the loopback route.
The input/output module 204 may reside on CPE 105, an illustration of which is provided in FIG. 1. The input/output module may send the data packets created by packet creation module 202. Once sent, the packets may go through to the outer IP address, which may be VPN concentrator 120. VPN concentrator 120 may remove the outer packet, and identify the inner packet destination address of the sending device. VPN concentrator 120 may then send the packet to this inner packet destination address, which may then route the packet directly back to the sending device, which may be CPE 105.
The input/output module 204 may function in conjunction with the test packet creation module 202 in that the test packets created and addressed by the test packet creation module are then sent to the TIA by the input/output module 204. The input/output module 204 may also record in memory the time that the packets are sent to the TIA.
The input/output module 204 may also receive the data packets when they return from the loopback route. The input/output module 204 may record in memory the time that these packets are received. The input/output module may also records in memory any packets which were sent but failed to return.
The metric determination module 206 may work in conjunction with the input/output module 204 by using the time stamps on the sent and received packets to calculate certain throughput connectivity metrics. By comparing the time stamps on the sent and received data, the round trip time of each packet may be determined. Also by comparing the number of packets sent against the number of packets received, the number of dropped packets may be determined. Using this information, the metric determination module 206, which may reside on the CPE 105 shown in FIG. 1, may calculate such metrics as uplink throughput, downlink throughput, packet loss, delay, and jitter.
The metric determination module may use the exponential smoothed value of these test results as the estimated overall throughput available for use on the uplink side. In exemplary embodiments up to 80% of it may be used for voice traffic (e.g. Femtocell or VoIP traffic). The other 20% may be available for traffic for the customer's home network. These allocations may be adjusted depending on user or provider priorities or upon various network characteristics. The metric determination module 206 may prioritize the end-customer's voice traffic (including VoIP flows) over data traffic flows in the available throughput available for CPE use. A form of exponential smoothing is given by the formulas: S0=x0; St=α xt+(1−α)st−1=st−1+α(xt−st−1), where α is the smoothing factor, and 0<α<1.
In other words, the smoothed statistic st may be a simple weighted average of the latest observation xt and the previous smoothed statistic st−1. Exponential smoothing may be applied, and it produces a smoothed statistic as soon as two observations are available. Values of α close to one have less of a smoothing effect and give greater weight to recent changes in the data, while values of α closer to zero have a greater smoothing effect and are less responsive to recent changes. The default value for α may be set at 0.8. The default value for α may be a value different than 0.8 depending on the desired smoothing effect. In either event, the default value may be adjusted to a value greater than 0 and less than 1. For example, if a greater smoothing effect is desired, the default value may be adjusted to a lesser value such as, by way of non-limiting example, 0.5. In some embodiments, a statistical technique may be used to optimize the value of α. The value of α may be configurable via the management server.
In exemplary embodiments, throughput allocation module 208 may work in conjunction with the metric determination module 206 by taking the determined metrics and then allocating or prioritizing throughput based on the results. For example, voice calls may be at a first priority and throughput may first be allocated for that purpose. Throughput allocation module 208 may also work in conjunction with data packet creation module 202, input/output module 204, and metric determination module 206 to run the loopback tests using different VPN concentrators 120 in the loopback route. The performance metrics for various VPN concentrators 120 may be compared against each other. Preferred VPN concentrators may be selected based on the metric comparison. Throughput allocation module 208 may then allocate and prioritize throughput using metrics from the VPN concentrator 120 which provides the most throughput.
User communication module 210 allows the determined metrics to be displayed or reports to be generated. The user communication module may also allow the user to execute a loopback test on demand. The user communication module may reside on a management server and/or locally on CPE 105.
FIG. 3 illustrates the appearance of a user interface in accordance with exemplary embodiments. Interface 300 shows one of two tabs that may be displayed by a user communication module (e.g. user communication module 210 of FIG. 2). Metrics report tab 305 may display network metrics that may be calculated based on the information learned through the loopback mechanism.
Bandwidth allocation tab 310 may provide the user a way to allocate or prioritize throughput resources based on the metrics displayed on metrics report tab 305. Interface 300 could also include an additional tab that allowed the user to instruct the system to execute a loopback test.
FIG. 4 is a flowchart illustrating a method for using a loopback mechanism to test performance characteristics of a network in accordance with exemplary embodiments.
In an exemplary embodiment, the loopback test for network throughput may be performed at random intervals from 1 to 10 hours. This is illustrated at elements 405 and 410.
In exemplary embodiments, as illustrated at element 415, a packet creation module (e.g. packet creation module 202 of FIG. 2) may create data packets that make up a test stream. The data packets may then be time-stamped and sent to the VPN TIA, as is shown in elements 420 and 425.
By addressing the packets to the VPN TIA, a loopback mechanism ensues with the packets returning to the sending address. An input/output module (e.g. input/output module 204 of FIG. 2) may receive the data packets and may time-stamp their return.
A metric determination module (e.g. metric determination module 206 of FIG. 2) may calculate the round trip time for each of the received packets and may perform exponential smoothing on the round trip data for the received packets. Exponential smoothing, which is described in greater detail in the discussion of FIG. 2, may be applied when two observations of round trip times have been made. This is illustrated at element 440 and 445, which shows that the exponential smoothing operation takes as input a round trip time for a current packet and a previous packet. This exponential smoothing operation may be used as an estimate for network throughput. The round trip data information may also be analyzed to determine network jitter. Network jitter refers to the variation in the time between packets arriving, and may be caused by network congestion, timing drift, or route changes.
A metric determination module (e.g. metric determination module 206 of FIG. 2) may also calculate the number of packets that did not return, and can thus calculate the percentage of packets lost. Based on the determination of throughput, as determined from the exponential smoothing operation, this information can be used to selectively enable higher bandwidth applications. This is illustrated at element 450.
For example, the network may allocate up to 80% of its throughput for voice traffic (e.g. Femtocell or VoIP traffic). The other 20% may be available for traffic for the customer's home network). The metric determination module 206 may prioritize the end-customer's voice traffic (includes VoIP flows) over data traffic flows in the throughput which is available for CPE use.
As is shown in element 455, a report showing these calculated metrics may be generated by a user communication module (e.g. user communication module 210 of FIG. 2) Also, the information may be saved on the management server so that it may be queried for later retrieval.
The description above describes user devices, an analysis system, a communication network having network elements that are coupled to each other via one or more links (e.g., physical or logical), various networks of within a domain of the communication network, and other elements for coupling customers to the communication network, some of which are explicitly depicted, others of which are not. As used herein, the term “module” may be understood to refer to executable software, firmware, hardware, or various combinations thereof. It is noted that the modules are exemplary. The modules may be combined, integrated, separated, or duplicated to support various applications. Also, a function described herein as being performed at a particular module may be performed at one or more other modules and by one or more other devices instead of or in addition to the function performed at the particular module. Further, the modules may be implemented across multiple devices or other components local or remote to one another. Additionally, the modules may be moved from one device and added to another device, or may be included in both devices.
It is further noted that the software described herein may be tangibly embodied in one or more physical media, such as, but not limited to, a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a hard drive, read only memory (ROM), random access memory (RAM), as well as other physical media capable of storing software, or combinations thereof. Moreover, the figures illustrate various components (e.g., servers, computers, etc.) separately. The functions described as being performed at various components may be performed at other components, and the various components may be combined or separated. Other modifications also may be made.
In the preceding specification, various preferred embodiments have been described with references to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.

Claims (20)

1. A method, comprising:
creating test packets;
adding time stamps to the test packets;
sending the test packets from a consumer device to a virtual private network tunnel inner address, wherein the packets are addressed to return to the consumer device after traversing a virtual private network (VPN);
receiving the test packets at the consumer device, wherein the test packets are time-stamped upon arrival;
determining the time elapsed between the sending and receipt of each received test packet;
calculating network performance metrics based on the determined elapsed times; and
prioritizing use of the network in accordance with the calculated network performance metrics;
wherein the method is configured to probe the liveliness of a VPN concentrator when no traffic is destined to the VPN concentrator.
2. The method according to claim 1, wherein one of the calculated performance metrics is an estimated throughput.
3. The method according to claim 2, further comprising calculating estimated performance metrics are calculated by performing a weighted average of the current and prior performance measurements.
4. The method according to claim 3, wherein the weighted average is performed by performing an exponential smoothing operation on the current and prior performance measurements.
5. The method according to claim 1, wherein the consumer device is configured to facilitate voice traffic.
6. The method according to claim 5, wherein the consumer device is a Voice over Internet Protocol Analog Telephone Adapter.
7. The method according to claim 5, wherein the consumer device is a FemtoCell.
8. The method according to claim 1, wherein voice traffic is given higher priority than all other traffic on the network.
9. The method according to claim 1, comprising:
calculating network performance characteristic for a plurality of VPN concentrators;
comparing the calculated the network performance characteristics for the plurality of VPN concentrators; and
selecting a VPN concentrator on the basis of the comparison.
10. A computer readable non-transitory media containing computer executable code comprising code to perform the acts of the method of claim 1.
11. A system, comprising:
A consumer device communicatively coupled to a service provider network, wherein the consumer device includes a processor and a memory storing computer readable instructions, and is configured to:
create test packets;
add time stamps to the test packets;
send the test packets from a consumer device to a virtual private network tunnel inner address, wherein the packets are addressed to return to the consumer device;
receive the test packets at the consumer device, wherein the test packets are time-stamped upon arrival;
determine the time elapsed between the sending and receipt of each received test packet;
calculate network performance metrics based on the determined elapsed times;
prioritize use of the network in accordance with the calculated network performance metrics;
calculate network performance characteristic for a plurality of virtual private network (VPN) concentrators;
compare network performance characteristic for the plurality of VPN concentrators; and
select a VPN concentrator on the basis of the comparison.
12. The system according to claim 11, wherein one of the calculated performance metrics is an estimated throughput.
13. The system according to claim 12, further comprising calculating estimated performance metrics are calculated by performing a weighted average of the current and prior performance measurements.
14. The system according to claim 13, wherein the weighted average is performed by performing an exponential smoothing operation on the current and prior performance measurements.
15. The system according to claim 11, wherein the consumer device is a device that enables voice traffic.
16. The system according to claim 15, wherein the consumer device is a Voice over Internet Protocol Analog Telephone Adapter.
17. The system according to claim 15, wherein the consumer device is a FemtoCell.
18. The system according to claim 11, wherein voice traffic is given higher priority than all other traffic on the network.
19. The system according to claim 11, wherein the system is performed to probe the liveliness of a VPN concentrator when no traffic is destined to the VPN concentrator.
20. A consumer device communicatively coupled to a service provider network, wherein the consumer device includes a processor and a memory storing computer readable instructions and is configured to:
create test packets;
send the test packets from a consumer device to a virtual private network tunnel inner address, wherein the packets are addressed to return to the consumer device after traversing a virtual private network (VPN);
receive the test packets at the consumer device, wherein the test packets are time-stamped upon arrival;
determine the time elapsed between the sending and receipt of each received test packet;
calculate network performance metrics based on the determined elapsed times; and
prioritize use of the network in accordance with calculated performance metrics;
calculate network performance characteristic for a plurality of VPN concentrators;
compare the calculated network performance characteristic for the plurality of VPN concentrators; and
select a VPN concentrator on the basis of the comparison,
wherein the device is configured to probe the liveliness of a VPN concentrator when no traffic is destined to the VPN concentrator.
US12/487,968 2009-06-19 2009-06-19 System for and method of using a loopback mechanism to perform network testing Active 2029-11-28 US7957304B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/487,968 US7957304B2 (en) 2009-06-19 2009-06-19 System for and method of using a loopback mechanism to perform network testing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/487,968 US7957304B2 (en) 2009-06-19 2009-06-19 System for and method of using a loopback mechanism to perform network testing

Publications (2)

Publication Number Publication Date
US20100322085A1 US20100322085A1 (en) 2010-12-23
US7957304B2 true US7957304B2 (en) 2011-06-07

Family

ID=43354269

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/487,968 Active 2029-11-28 US7957304B2 (en) 2009-06-19 2009-06-19 System for and method of using a loopback mechanism to perform network testing

Country Status (1)

Country Link
US (1) US7957304B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10608920B2 (en) 2017-01-06 2020-03-31 Martello Technologies Corporation Performance testing audio/video communications in network
US10644985B1 (en) 2016-09-29 2020-05-05 Juniper Networks, Inc. Device-contained data plane validation
US10680965B1 (en) 2019-01-17 2020-06-09 Hewlett Packard Enterprise Development Lp Redistribution of VPN tunnels among VPN concentrators

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8493986B2 (en) 2010-05-17 2013-07-23 Cox Communications, Inc. Service gateways for providing broadband communication
US20120140641A1 (en) * 2010-12-03 2012-06-07 Kevin Reese Methods, apparatus and articles of manufacture to test home networks
EP2987277B1 (en) * 2013-03-15 2017-12-06 Telefonaktiebolaget LM Ericsson (publ) Hypervisor and physical machine and respective methods therein for performance measurement
US9306818B2 (en) * 2014-07-17 2016-04-05 Cellos Software Ltd Method for calculating statistic data of traffic flows in data network and probe thereof
TWI519967B (en) * 2015-03-25 2016-02-01 財團法人工業技術研究院 Cloud operation resource dynamic allocation system and method thereof
US9935858B1 (en) * 2015-08-24 2018-04-03 Xangati, Inc Enhanched flow processing
WO2018039034A1 (en) * 2016-08-24 2018-03-01 Google Llc Line rate ethernet traffic testing
CN115378838B (en) * 2022-08-24 2024-02-09 深圳市共进电子股份有限公司 Method, device, medium and system for testing router IPsec

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070274227A1 (en) * 2006-05-24 2007-11-29 At&T Corp. Network latency analysis packet and method
US20090113045A1 (en) * 2007-10-30 2009-04-30 Embarq Holdings Company, Llc System and method for an integrated DSL/cable modem performance test

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070274227A1 (en) * 2006-05-24 2007-11-29 At&T Corp. Network latency analysis packet and method
US20090113045A1 (en) * 2007-10-30 2009-04-30 Embarq Holdings Company, Llc System and method for an integrated DSL/cable modem performance test

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10644985B1 (en) 2016-09-29 2020-05-05 Juniper Networks, Inc. Device-contained data plane validation
US10608920B2 (en) 2017-01-06 2020-03-31 Martello Technologies Corporation Performance testing audio/video communications in network
US10680965B1 (en) 2019-01-17 2020-06-09 Hewlett Packard Enterprise Development Lp Redistribution of VPN tunnels among VPN concentrators

Also Published As

Publication number Publication date
US20100322085A1 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
US7957304B2 (en) System for and method of using a loopback mechanism to perform network testing
US8934349B2 (en) Multiple media fail-over to alternate media
JP5719449B2 (en) System and method for measuring available capacity and narrow link capacity of an IP path from a single endpoint
US9379955B2 (en) Method for queuing data packets and node
RU2770181C2 (en) Method and device for service identification and network device
US8064348B2 (en) Gathering traffic profiles for endpoint devices that are operably coupled to a network
US9654371B2 (en) Determination of system performance parameters in heterogeneous network environments
US20130124719A1 (en) Determining a bandwidth throughput requirement
KR101467137B1 (en) In-service throughput testing in distributed router/switch architectures
CN1773993B (en) Session relay equipment and session relay method
Birke et al. Experiences of VoIP traffic monitoring in a commercial ISP
US8254258B2 (en) Jitter management for packet data network backhaul of call data
US8593950B2 (en) Method and apparatus for providing a weighted bandwidth allocation for a network
Zhong et al. Revisited: Bandwidth estimation methods for mobile networks
US11611612B2 (en) Link quality measurements and link status detection
TWI635723B (en) Fixed line customer network terminal equipment intelligent communication distribution system and method
US20230403434A1 (en) Streaming service rating determination
EP2043305A1 (en) Method and system for load balancing and QoS provisioning in a controlled broadband access sharing system
US11956328B1 (en) Avoiding stuck subscriber sessions on a disaggregated broadband network gateway
Bakhit et al. 3G to Wi-Fi offloading on Android
Hoxha A PRACTICAL APPROACH FOR PROVIDING QOS OF THE INTERNET IN ALBANIA
WO2024068725A1 (en) Method for managing data traffic between a source entity and a recipient entity, and corresponding entity and computer program
Abdalla et al. PERFORMANCE EVALUATION OF VOIP OVER WLAN, WIMAX AND WLAN-WIMAX INTEGRATED NETWORK.
Saffarzadeh Network characterization using active measurements for small cell networks
EP2127271B1 (en) Method for the dynamic calculation of a maximum flow value of a data stream

Legal Events

Date Code Title Description
AS Assignment

Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KALBAG, ROHIT SATISH;REEL/FRAME:022849/0936

Effective date: 20090618

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12