Durability and reliability in today's data networks is of utmost importance. Accordingly, active performance testing of such networks is routinely conducted in which two test end points exchange test data streams. Unfortunately, dynamic address provisioning of network devices significantly impairs a network operator's ability to easily and efficiently test such network devices.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and their equivalents.
Implementations described herein relate to testing of dynamically configured test points on a communications network. In one implementation, a first dynamically addressed test point may relay addressing information or other test setup information to second statically addressed test point. The second statically addressed test point may initiate testing using the received addressing information. In a second implementation, a network management system (NMS) may receive addressing information from one or both of the test points and may exchange the received addressing information with each respective test point to facilitate initiation of testing.
Network devices 110 and 120 may represent any network equipment, such as customer premises equipment including time division multiplexed (TDM) circuits, telephone systems (e.g., a private branch exchange (PBX), a voice over Internet protocol (VoIP) system, etc.), one or more computers, one or more servers, one or more switches, one or more routers, associated with a customer, or other devices/systems associated with a customer. Additionally, network devices 110 and 120 may include other network equipment, such as one or more servers, network collection devices (NCDs), one or more devices for transmitting data to and receiving data from a network, such as network 140, via any number of protocols, such as Ethernet, Frame Relay, asynchronous transfer mode (ATM), time division multiplexing (TDM), Internet protocol (IP), etc.
Network devices 110 and 120 may include addressable layer 3 devices routable within network 100. Consistent with aspects described herein, one of network devices 110 and 120 (e.g., network device 110) may be a statically addressed network device that is provided with a static or nonchanging layer 3 network address, such as an Internet Protocol (IP) address. In some implementations, network device 110 may be provided with a static IP address by a service provider associated with network device 110. The other one of network devices 110 and 120 (e.g., network device 120) may be a dynamically addressed network device that is provided with an IP address by address provisioning server 130. The address provided by address provisioning server 130 may change over time based on the requirements of the network service provider associated with network 100 and the requirements of network device 120. For example, network device 120 may be a CPE router or access point that is configured to request an IP address lease from address provisioning server 130 (e.g., a dynamic host configuration protocol (DHCP) server) associated with network 100. In one implementation, network device 120 may request an IP address from address provisioning server 130 upon power-up or activation of a network adapter. The IP address assigned to network device 120 may be provided as a lease for a predetermined period of time.
Address provisioning server 130 may include any suitable network device configured to forward or assign network addresses to other network devices. As noted above, in one implementation address provisioning server may include a DHCP server associated with network 100. Address provisioning server 130 may receive network (e.g., IP) address requests from network devices, and may assign and provide network addresses in response thereto.
Network devices 110 and 120 may represent origination and destination devices associated with a dedicated private communication service between network device 110 and network device 120 that may be provided by a service provider associated with network 100. Network devices 110 and 120 may represent the same or different entities/customers that are provided with shared or dedicated communication services provided by a service provider associated with network 100.
In one implementation, network devices 110 and 120 may include one or more devices used to measure latency, packet loss, and/or jitter associated with data transmitted from network device 110 to network device 120, as described in detail below. In one implementation, network devices 110 and 120 may each represent a point of data aggregation. For example, network device 110 may be a building Ethernet aggregation system (BEAS) that aggregates Ethernet related customer traffic in a particular customer location (e.g., building, campus, etc.). In this implementation, network device 110 may forward the aggregated or collected customer traffic via network 140 using Ethernet, Gigabit Ethernet, etc. In some implementations, network devices 110 and 120 may also encapsulate the received data in accordance with the synchronous optical network (SONET) standard, via one or more plesiochronous circuits (e.g., DS1, DS3 circuits). Network devices 110 and 120 may also aggregate and forward data via other transport mechanisms/protocols, such as optical carrier level 3 (OC3), OC12, etc., based on the amount of data to be processed and the particular user requirements.
In still other implementations, network devices 110 and 120 may each represent a switch, a router, a gateway, etc., that receives data and routes the data via network 140 to a destination device. In each case, network devices 110 and 120 include measurement logic that is able to measure latency, packet loss, jitter, and/or other parameters associated with routing data via network 140. This measurement information may then be used to evaluate and determine network metrics relating to network service between devices 110 and 120 over network 140.
Network 140 may represent a network used to route traffic or data to/from various devices in network 100, such as network device 110 and network device 120. Network 140 may include a number of devices and links that may be used to connect network devices 110 and 120. Network devices 110 and 120 may connect to network 140 via wired, wireless, or optical communication mechanisms. For example, network devices 110 and 120 may connect to network 140 via a layer 2 network (e.g., an Ethernet network), point-to-point links, the public switched telephone network (PSTN), a wireless network, the Internet, or some other mechanism.
The exemplary configuration illustrated in
Processor 220 may include a processor, microprocessor, or processing logic (e.g., an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc.) that may interpret and execute instructions. Main memory 230 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processor 220. ROM 240 may include a ROM device or another type of static storage device that may store static information and instructions for use by processor 220. Storage device 250 may include a magnetic and/or optical recording medium and its corresponding drive.
Input device 260 may include a mechanism that permits an operator to input information into the client/server entity, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc. Output device 270 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc. Communication interface 280 may include any transceiver-like mechanism that enables the client/server entity to communicate with other devices and/or systems. For example, communication interface 280 may include mechanisms for communicating with another device or system via a network, such as network 140.
As will be described in detail below, the network devices may perform certain network testing relating operations. The network devices entity may perform these operations in response to processor 220 executing software instructions contained in a computer-readable medium, such as memory 230. A computer-readable medium may be defined as a physical or logical memory device and/or carrier wave.
The software instructions may be read into memory 230 from another computer-readable medium, such as data storage device 250, or from another device via communication interface 280. The software instructions contained in memory 230 may cause processor 220 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
Network device 120 may generate a test setup message (block 330). In one implementation, the test setup message may include several types of information including the IP address assigned to network device 120 by address provisioning server 130, lease duration or expiration information associated with the assigned address, and a network device identifier associated with network device 120. Consistent with aspects described herein, each network device associated with network 100 may be provided with a unique identifier used to identify each network device with respect to setting up device and network tests and maintaining test results associated with the tests.
As shown in the exploded illustration, payload field 430 may include several sub-fields including a network device identifier field 450, an IP address lease details field 460, and an assigned IP address field 470. As described above, each testable network device 110/120 may be provided with a unique identifier. This identifier may be provided in field 450. IP address lease details field 460 may include information regarding the duration or expiration of the lease associated with the assigned IP address. Assigned IP address field 470 may include the IP address assigned by address provisioning server 130.
It should be understood that, although test setup message 400 has been illustrated as an IPV4 packet, any suitable data unit may be used for transmitting test setup information between network device 120 and network device 110, such as IPV6, an ATM cell, a SONET overhead packet, etc. depending on the type of network and network devices under test.
Returning to
Network device 110 may receive message 400 (block 350) and may determine whether message 400 is a test setup message (block 360). In one embodiment, network device 110 may identify test setup message 400 in one of several manners. For example, test setup messages may be routed to a specific or known port or ports on network device 110. Alternatively, a value of flag field 440 may be retrieved and, if the value corresponds to a value associated with a test setup message, message 400 may be identified as a test setup message. In yet another implementation, network device 110 may base the determination on a type of packet received, where different types of packets may be used for different types of messages. It should be understood that the manner by which network device 110 recognizes a test setup message may be test protocol implementation dependent.
If the received message is not identified as a test setup message, the process may end (that is, the test related processing of network device 110 may end). However, if it is determined that the received message is a test setup message, network device 110 may send an initial test sequence to network device 120 via network 140 using the information received in the test setup message and based on preconfigured test profiles maintained on network devices 110 and 120 (block 370). Test profiles may include characteristics of the testing to be performed, such as test type, frequency, duration, packet size, etc. Testing may then continue between network devices 110 and 120 (block 380). The testing may include multiple test packets being transmitted between network device 110 and network device 120 using network device 110's statically assigned IP address and network device 120's dynamically assigned IP address.
As in the embodiment of
Network 550 may represent a network used to route traffic or data to/from various devices in network 500, such as network devices 510 and 520, address provisioning server 530, and network management system 540. Network 550 may include a number of devices and links that may be used to connect network devices 510 and 520, address provisioning server 530, and network management system 540. Network devices 510 and 520, address provisioning server 530, and network management system 540 may connect to network 550 via wired, wireless, or optical communication mechanisms. For example, network devices 510 and 520, address provisioning server 530, and network management system 540 may connect to network 550 via a layer 2 network (e.g., an Ethernet network), point-to-point links, the public switched telephone network (PSTN), a wireless network, the Internet, or some other mechanism.
The exemplary configuration illustrated in
Network management system 540 may include a central testing system configured to facilitate testing between network device 510 and network device 520. Network management system 540 may be provided with a static network address known to both network device 510 and network device 520. Network management system 540 may facilitate testing by providing test setup information from dynamically addressed network devices (e.g., device 520) to statically addressed network devices 510. In one implementation, test profiles may be preconfigured on network devices 510 and 520. However, in an alternative implementation, network management system 540 may maintain the test profiles and forward the profiles to network devices 510 and 520 upon initiation of a test request or sequence.
Network device 520 may generate a device registration message, similar to test setup message 400 that includes the IP address and lease details assigned by address provisioning server 530 as well as the unique network device identifier associated with network device 520 (block 615). Next, the device registration message may be transmitted to network management system 540 via network 550 (block 620). As described above, network management system 540 may have a network address that is known to network device 520. This known IP address of network management system 540 may be inserted into IP header field 410 of the device registration message.
Network management system 540 may receive the device registration message (block 625) and extract network device 520's identifier, IP address, and lease conditions from the received message (block 630). Network management system 540 may identify network device 510 as being associated or paired with the received registration message, by for example, looking up test groupings in a database or lookup table (block 635). Network management system 540 may transmit a test setup message to network device 510 that includes the network device identifier, IP address, and lease details associated with network device 520 (block 640).
Upon receipt of the test setup message from network management system 540 (block 645), network device 510 may send an initial test sequence to network device 520 via network 550 using the information received in the second test setup message and based on preconfigured test profiles maintained on network devices 510 and 520 (block 650). Test profiles may include characteristics of the testing to be performed, such as test type, frequency, duration, packet size, etc. Testing may then continue between network devices 510 and 520 (block 655). The processing of
Network devices 510 and 520 may each generate device registration messages, similar to test setup message 400, that include their respective device identifiers, IP addresses, and lease details assigned by address provisioning server 530 (block 715). Next, the device registration messages may be transmitted to network management system 540 via network 550 (block 720). As described above, network management system 540 may have a network address that is known to network devices 510 and 520. This known IP address of network management system 540 may be inserted into IP header field 410 of the device registration messages transmitted by each of network device 510 and 520.
Network management system 540 may receive the device registration messages (block 725) and may extract the network device identifiers, IP addresses, and lease conditions from each received message (block 730). Network management system 540 may then identify respective test source network devices and test destination network devices associated with each received registration message, by for example, looking up test pairings or groupings in a database or lookup table (block 735). In one implementation, each testing operation initiates with a test source device transmitting an initial test sequence to a test destination device. By identifying test source devices associated with the received test setup messages, network device identifiers and addressing information may be provided to an appropriate test source device. In the embodiment of
Once network management system 540 identifies network device 510 as the test source network device, a test setup message may be transmitted to network device 510 that includes the network device identifier, IP address, and lease details associated with network device 520 (block 740). Upon receipt of the second test setup message from network management system 540 (bock 745), network device 510 may send an initial test sequence to network device 520 via network 550 using the information received in the test setup message and based on preconfigured test profiles maintained on network devices 510 and 520 (block 750). Test profiles may include characteristics of the testing to be performed, such as test type, frequency, duration, packet size, etc. Test types may include packet loss testing, jitter testing, throughput testing, packet latency testing, etc. Testing may then continue between network devices 510 and 520 (block 755). The processing of
As described above, the system of
Implementations described herein provide for facilitating of active network testing between statically and dynamically addressed network devices. The foregoing description of exemplary implementations provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
In addition, while series of block have been described with respect to
It will be apparent to one of ordinary skill in the art that various features described above may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement the various features is not limiting of the invention. Thus, the operation and behavior of the features of the invention were described without reference to the specific software code—it being understood that one of ordinary skill in the art would be able to design software and control hardware to implement the various features based on the description herein.
Further, certain portions of the invention may be implemented as “logic” that performs one or more functions. This logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.