In a communications network, a final step in establishing a circuit (e.g., a virtual circuit such as an Ethernet Virtual Circuit) often includes a testing process to verify the service integrity and performance characteristics of the circuit. In-service testing may also be performed to ensure that a previously established circuit is operating as desired. Such testing generally requires a service provider to connect external test equipment to both ends of the circuit to verify the circuit's service integrity and performance characteristics. The purpose of the test equipment is to verify that all intermediate switching points in the network are properly configured and that the circuit operates as specified under various traffic conditions and loads. This is a time-consuming and labor and resource-intensive task.
Some systems use a centralized test head included in a network management node (i.e., within the network connecting the two ends of the circuit). Such a centralized test head may, for example, send frames to each end of the circuit separately for testing purposes. However, the end-to-end connection between the two ends is not tested because the frames are originated and terminated on the centralized test head and only pass through one segment of the connection at a time. Accordingly, if one end of the circuit fails the testing, it may be because of problems in the test head itself or problems between the test head and the endpoint being tested. Therefore, current centralized test heads do not provide satisfactory remote testing capabilities.
Accordingly, an improved system and method for performing connection performance analysis in a network environment are desired.
a is a flow chart of one embodiment of a method for verifying the connection of
b is a flow chart of one embodiment of a method for verifying the connection of
The present disclosure relates generally to communication services and, more specifically, to a system and method for connection verification and performance analysis. It is understood, however, that the following disclosure provides many different embodiments or examples. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
The following description uses an Ethernet environment as an example environment and therefore uses Ethernet terminology (e.g., frames). However, it is understood that the methods and systems disclosed herein may be used in other environments, such as those utilizing MultiProtocol Label Switching (MPLS), Internet Protocol (IP), Asynchronous Transfer Mode (ATM), and other technologies based on a protocol data unit (PDU) model. Accordingly, although the term “frame” is used extensively herein for purposes of example, it is understood that other PDUs (e.g., MPLS/IP packets) may be substituted for the term “frame” and alterations made to the Ethernet specific exemplary methods and systems for purposes of compatibility with the particular PDU model. In addition, it is understood that encapsulation (e.g., IP/AAL5/ATM) may be used with the methods and systems discussed herein.
Referring to
A connection (e.g., an Ethernet Virtual Connection (EVC)) 116 couples the provider equipment 104 and 106 (and their corresponding UNIs A and B) via the MEN 102. The EVC of the present example is defined by the Metro Ethernet Forum (MEF) as an association of two or more UNIs. An EVC connects two or more subscriber sites 118 and 120 and enables the transfer of Ethernet service frames between them, and prevents data transfer between subscriber sites that are not part of the same EVC. In the present example, each subscriber site 118 and 120 includes provider equipment and customer equipment coupled by a LAN. For purposes of convenience, the terms “service demarcation point” and “UNI” may be used interchangeably in certain examples, and it is understood that a UNI is contained in provider equipment that is positioned in the network as a service demarcation point. It is also understood that the UNI may represent other service demarcation points, such as a network-to-network interface (NNI).
When establishing an EVC from UNI A to UNI B across the MEN 102, it is often necessary for the MEN provider (not shown) to connect external test equipment 122 and 124 to each end of the circuit to verify the circuit's service integrity and performance characteristics. The purpose of the test equipment 122 and 124 is to verify that all intermediate switching points in the MEN 102 are properly configured and that the EVC 116 operates properly under various traffic conditions and loads. This is a time-consuming and labor and resource-intensive task.
Generally, when creating an Ethernet point-to-point service connection (e.g., the EVC 116), the MEN operator first identifies which physical ports on the provider equipment 104 and 106 are to participate in the EVC 116 between UNIs A and B. The operator then configures the provider equipment 104 and 106 (e.g., on both ends) and all intermediate equipment in the MEN 102 to establish the EVC 116 using the assigned ports. In some systems, the identification and configuration may be accomplished from a central network management node 126 (e.g., a terminal) by a single operator.
If the network operator is to offer a guaranteed level of service to an end subscriber (e.g., a user of the customer equipment 108 or 110), the operator should verify that the EVC configuration is correct across the network between the two sites 118 and 120. To accomplish this, the network operator should verify the service connection and its performance parameters from end-to-end before declaring the EVC “fit for use.” The verification entails the deployment of one or more network technicians 128 and/or 130 to the customer sites 118 and 120 with the Ethernet test equipment 122 and 124. The technicians 128 and 130 connect the test equipment 122 and 124 to the assigned physical ports on both ends of the EVC 116 and proceed to verify the performance and integrity of the EVC under various operating conditions. After the network technicians and operator are satisfied that the connection is functioning properly, the EVC and its associated service is turned over to the subscriber.
Referring to
The CPA functionality may be used to execute a custom or predefined series of tests, such as those detailed in RFC 2544 (entitled “Benchmarking Methodology for Network Interconnect Devices”) from any UNI point in a network that has the CPA functionality. Furthermore, the testing may be controlled remotely from the network management node 126. For example, the management node may use management tunnels (that use VLAN tags, MAC addresses, etc.) and TL1 commands such as OPR-LPBK-E100:<tid>:<aid>:<ctag>; RLS-LPBK-E100:<tid>:<aid>:<ctag>; and TEST-E100:<tid>:<aid>:<ctag>:. One example of a system and method for providing such management capabilities is described in U.S. patent application Ser. No. 10/369,411, filed on Feb. 18, 2003, and entitled “Single-Ended Ethernet Management System and Method,” which is incorporated herein by reference in its entirety.
With additional reference to
Referring to
In this scenario, the single Ethernet port at UNI-C has multiple EVCs 116 and 406 terminated on it. Each individual EVC to UNIs A and B is established in the same manner as the point-to-point EVC described earlier with respect to
Referring to
In the embodiments illustrated in
The CPA may also provide a means to add and test new EVCs without disrupting existing services on a multi-service UNI, including service verification for new point-to-point EVCs on a multipoint Ethernet port without disrupting other “live” connections on the same port. Accordingly, the CPA allows a network operator to significantly reduce the operational expense (and time) of deploying Ethernet services. The CPA may also provide a port loopback on each Ethernet port that loops egress traffic back to the ingress path to enable end-to-end traffic testing.
As is described below, the CPA's functionality may be implemented by a combination of hardware and software components. For example, a hardware component may be used to insert Ethernet test frames into an EVC connection and to extract the Ethernet test frames received from the EVC connection. However, it is understood that various combinations of hardware and software may be used, and that functionality is attributed to hardware or software in the present embodiment for purposes of example only. The software and/or hardware may implemented in different ways, such as in a service card that is placed into provider equipment.
Referring to
Under normal circumstances, the frame injector 610 allows traffic from the MAC block 602 to pass through to the ingress frame processing block 604. Similarly, the frame monitor 612, in normal operation, passes frames transparently in the egress direction from the egress frame processing block 608 to the MAC block 602.
When placed in test mode, the frame injector 610 injects test traffic into the ingress or egress traffic flow (i.e., into the network or towards the subscriber). This test traffic emulates the flow of traffic from a UNI and allows various characteristics of the traffic to be simulated to ensure that the EVC connection performs correctly all the way through the network.
The frame monitor 612, when enabled, sniffs the egress traffic path for EVC test frames and traps them. The frame monitor 612 may then perform various performance calculations on the received traffic to generate performance results (e.g., received traffic rate, transmission delay, jitter, frame sequence reception, total number of received frames, and verification of 802.1p priority bits).
The frame injector 610 and frame monitor 612 may also implement a flow loopback path 614 that allows egress test traffic frames trapped in the frame monitor 612 to be “looped” back to the frame injector 610 for transmission back into the network. This flow loopback enables a single EVC test traffic flow to be looped back without affecting the egress flow of normal EVC traffic. This capability may be used, for example, in multi-service port testing.
The frame injector 610 is a hardware block that provides numerous parameters that may be configured by control software that executes on a separate processor module located in the same chassis. The frame injector 610 allows the control software to create each independent Ethernet traffic flow through the specification of one or more fields of an Ethernet frame. Exemplary fields include:
It is understood that the above fields are for purposes of example only, and that the illustrated fields and the designation of certain fields as optional may vary based on the specific implementation (e.g., a particular Ethernet implementation or the use of IP packets, pseudowire headers, or MPLS tags in other technologies, as well as the use of varying levels of encapsulation).
The frame injector 610 may also automatically calculate and insert the following fields into each test frame prior to transmission:
Each traffic flow may also have a designated rate parameter that specifies the average bits per second transmission rate for the flow. A scheduling mechanism, such as a weighted round-robin scheduling mechanism, may be used to ensure that each flow receives the appropriate bandwidth when multiple flows are enabled. In the case of a single flow, weighted round-robin scheduling may be bypassed.
In some embodiments, upstream traffic (e.g., traffic directed from the MAC block 602 to the ingress frame processing block 604) matching the traffic being injected by the frame injector 610 may be identified and blocked. This prevents the upstream traffic from interfering with the injected test traffic stream.
The function of the frame monitor 612 is to monitor and terminate test frames received from the network. During normal operation, when monitoring is inactive, all frames pass transparently through the frame monitor 612 unchanged. As described previously, in the present example, the frame monitor 612, like the frame injector 610, supports up to three simultaneous, independent monitoring sessions to monitor up to three EVC traffic flows. Performance parameters may be calculated for each flow independently. Traffic passing through the frame monitor 612 may be discarded if it matches certain criteria.
When monitoring is enabled, all non-test frames (normal EVC traffic) continue to pass through the frame monitor 612 unchanged. All test frames, however, are trapped by the frame monitor 612 and are either terminated or looped back to the frame injector 610. The frame monitor 612 may determine various characteristics of some or all test frames, including CRC integrity, sequence ordering, delay and latency, delay distribution (minimum and maximum latency), and throughput (e.g., bits per second). Minimum and maximum latency values may be determined by the frame monitor 612. This supports the calculation of jitter performance on frame transmission.
When operating in flow loopback mode, the frame monitor 612 and frame injector 610 swap Source and Destination MAC addresses to ensure that the received test frame, when injected back into the network, can traverse any Ethernet switches in the network and successfully navigate back to the frame injector 610 that originally sourced the test frame.
In addition, IP address swapping/processing may be required when operating in flow loopback mode to ensure that loopback test frames can successfully navigate any routers or layer 3 switches that may be present in the EVC.
Referring to
With additional reference to
Referring to
Referring to
The remaining functional blocks of the diagram 1100 include an egress select block 1106, a test inject block 1108, an ingress select block 1110, a test monitor block 1112, a monitor select block 1114, and two traffic control blocks 1116a and 1116b. The egress select block 1106 selects the traffic frames that are transmitted to the subscriber, either test frames from the test inject block 1108 or normal frames from the network. The test inject block 1108 generates the test frames and is illustrated in greater detail in
The test monitor block 1112 monitors test frames from the ingress or egress direction and performs analysis on the test traffic. This block is illustrated in greater detail in
A VLAN loopback channel 1118 provides a means for looping test frames received from the network back into the network. Loopback test frames may be identified by means of their VLAN value(s), signatures, and/or other identifiers. This function allows certain test frames to be looped back to a source point without disrupting any other live traffic flows on the same physical port.
With additional reference to
The MAC HDR 1200 is programmable by software and contains the values for Ethernet MAC frame header fields, such as MAC Destination Address, Source Address, VLAN header, and Type/Length fields. These values are used when the test frame is created.
The IP HDR 1202 is programmable by software and contains values for fields in the IP packet header. This allows TOS/DSCP bits to be specified in the IP packet header to simulate IP headers that would be received from subscribers.
The payload pattern generator 1204 is responsible for generating data for the payload of the IP packet and MAC frame. In the present example, there are three software programmable data types: (1) a random pattern generated by this function, (2) a software specified pattern of limited length, which is duplicated and repeated by the payload pattern generator 1204 to fill the remaining payload, and (3) a complete payload content specification (that may be manually defined).
The timestamp generator 1206 is configured to place an internal timestamp in a portion of the payload each time a test frame is generated. The location of the timestamp may be proprietary. The timestamp is used by a Frame monitor function (e.g., the test monitor 1112 of
The sequence generator 1208 provides a unique, incrementing sequence number for each test frame generated for each flow. The sequence number is used by the frame monitor to look for proper packet ordering on receipt. The sequence generator 1208 maintains the sequence numbering for this test flow.
The signature generator 1210 generates a signature used to verify that the associated frame is a test frame. The signature generator 1210 may generate the signature in many different ways, including the use of a checksum, CRC, or a multi-input signature register (MISR).
The frame generator 1212 creates a test frame using data input from the various component contributors (1200-1210). It calculates the frame check sequence (FCS) value for the entire packet/frame and transmits the frame when signaled to do so by the frame insertion manager 1220.
The frame count 1214 maintains a count of the number of test frames that have been transmitted since the test was initiated by software. The value of the frame count is available to software at any point in time. The frame count 1214 may cooperate with the bandwidth controller 1218 to generate a finite number of test frames. Once this (optional) limit is reached, the bandwidth controller 1218 will not request that any further frames be generated until the test is reset by software. This allows a finite number of test frames to be sent.
The byte count 1216 keeps track of the number of bytes sent for the current test duration.
The bandwidth controller 1218 controls the bandwidth for each test flow. The bandwidth or rate of frame generation for a test flow is specified via software. This block uses the software specifications and clock ticks received from the hardware clock 1222 to determine how often to schedule and generate a test frame. Because each individual test flow can have its own rate of generation, the bandwidth controller coordinates between the three possible flows to ensure that each flow receives its proper bandwidth allocation.
The frame insertion manager 1220 is triggered by the bandwidth controller 1218 once the bandwidth controller has determined it is time to generate a frame for a flow. The frame insertion manager 1220 coordinates frame insertion using the internal hardware flow control 1224 to schedule the test frame transmission when an opportunity arises.
The clock 1222 represents the hardware clock ticks that are used to schedule the operation of the frame injector and to derive timestamps. It is understood that other scheduling methods may be used, including controlled methods.
The hardware flow control 1224 coordinates with the transport modules in the system to request a frame inject timeslice. When granted a transmit token, the hardware flow control 1224 notifies the frame insertion manager 1220 to trigger the transmission of the test frame.
With additional reference to
The frame screener 1300 calculates and verifies the FCS for the frame and screens all received frames with a valid FCS to identify test frames in the traffic flow. Test frames are identified using criteria programmed by software. This block also generates a control signal that determines whether the test frame is terminated or whether the test frame is allowed to continue downstream. This control signal may be used by one or both of the traffic control blocks 1116a and 1116b of
The frame capture function 1302 captures and buffers one or more received test frames when a test is initiated. Software can then read the contents of this buffer to examine a frame's contents.
The frame analyzer 1304 uses information programmed by software to locate fields in the test frame that contain test specific data, such as the signature, originating timestamp, and sequence numbers. The signature, sequence, and timestamp numbers are passed to the signature analyzer 1306, sequence analyzer 1308, and latency calculator 1310.
The signature analyzer 1306 utilizes the signature embedded in the test frame to determine whether the frame is a test frame.
The sequence analyzer 1308 utilizes the sequence numbers embedded in the test traffic frames to look for missing and out-of-sequence frames. The sequence analyzer 1308 maintains a count of missing frames that is reported (e.g., to a user) when the test is completed. The sequence analyzer also scans for mis-ordered frames and reports the number of out-of-sequence occurrences in the test results.
The latency calculator 1310 utilizes the timestamp information in the test frame to calculate the round-trip delay from when the frame was sent by the frame insertion manager 1220 (
The frame count 1312 maintains a count of the test frames that have been received since the test was initiated. The byte count 1314 maintains a count of the number of test frame bytes that have been received since the test was initiated.
Although the PDU injector and monitor are described as being in a single service demarcation point, it is understood that a service demarcation point may contain only a monitor or an injector. For example, UNI A of
Although the preceding examples are generally directed to testing whether a new connection is ready for use (e.g., meets predefined performance criteria), it is understood that the CPA functionally described herein may also be applied to in-service testing. For example, if a service provider desires to determine the performance characteristics of a previously established connection, the CPA functionality may be used. Flow-based loopback may be used to identify and test a particular EVC flow for in-service testing purposes. Accordingly, the present application should not be limited to any particular testing scenario, but may be applied to a connection at various points in the connection's existence.
While the invention has been particularly shown and described with reference to the preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. Therefore, the claims should be interpreted in a broad manner, consistent with the present invention.
This application claims priority from U.S. Provisional Patent Application Ser. No. 60/580,871, filed on Jun. 18, 2004, entitled “System and Method for Connection Performance Analysis,” which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60580871 | Jun 2004 | US |