I. Introduction
With the development of computer network and communication technology, especially the interconnection of open heterogeneous networks, the design and implementation of protocols have become more and more complex, and the theory and technology of protocol testing have been developed accordingly. Protocol testing includes four types of tests: consistency testing, interoperability testing, performance testing, and robustness testing. Among them, protocol consistency testing is mainly to verify the accuracy of the protocol implementation of network products and to determine whether the protocol implementation of network products complies with the international standards of the protocol, so as to ensure that various implementation versions of the protocol can interoperate and communicate reliably. Therefore, consistency testing is the most basic content of protocol testing and the basis of the other three tests.
Today, the Internet based on TCP/IP protocol has become the foundation of global information development and communication. It uses routers as basic exchange nodes and various local/wide area networks as media. Most of the intra-domain routing protocols of the wide area network use the OSPF protocol to forward routing information, and the OSPF protocol is mainly located on the routers within the domain. It is the core protocol of the existing TCP/IP network relay system. This article introduces the protocol consistency test principle and abstract test method, focusing on the consistency test technology of the OSPF protocol, and discusses the design of the OSPF protocol test set.
2. Protocol Conformance Test
1. Principles of consistency testing
ISO/IEC9646 provides the basic methods and framework for protocol consistency, establishes the design steps and description methods for test sets, and provides guidance for the implementation of test systems.
Protocol conformance testing is essentially a black box test of the implementation under test (IUT) using a set of test sequences in a certain network environment. By comparing the actual output of the IUT with the expected output, the degree to which the IUT is consistent with the protocol description is determined, and the success rate of the IUT that passes the conformance test when interconnected is established. The process and principle of the conformance test are shown in Figure 1. In Figure 1, PICS (PRotocol Implementation Conformance Statement) is a protocol implementation conformance statement, which describes the requirements, capabilities, and option implementation of the implementation; PIXIT (Protocol Implementation Extra Information for Testing) is additional information for the protocol implementation, providing protocol parameters that must be indicated during testing. The specific steps are as follows:
(1) PICS analysis of IUT: Check the static consistency requirements (SCR) of IUT and analyze whether the PICS is consistent with the SCR specified in the relevant standards.
(2) Define the test objectives according to the specification, use the information provided by PIXIT and the consistency test combination to quantify the test cases, write the abstract test set ATS, and then parameterize the ATS to generate the executable test set ETS.
(3) Use ETS to automatically perform consistency testing on the IUT and generate a detailed test report.
(4) Final conformance test of the IUT: Combine the known PICS and PIXIT analysis with the test results to obtain the IUT's conformance conclusion with respect to the standard requirements and record it in the conformance test report.
2. Abstract test method for consistency testing
The consistency test model is that the consistency tester uses the service primitive asp and the protocol data unit PDU to control and observe the output and input from the implementation under test at the control and observation point PCO. Generally speaking, the system where the implementation under test is located is divided into two categories: end system and relay system. ISO/IEC9646 defines different abstract test methods for the consistency test of these two types of systems.
According to the location and function of the upper tester UT and the lower tester LT in the consistency tester, the consistency abstract test methods for the end system are divided into four types: local test method, distributed test method, coordinated test method and remote test method. The local test method can directly observe and control the upper and lower interfaces of the IUT in the system under test, and the other three belong to external test methods. Among them, the distributed test method requires an upper tester UT to provide the ASP of the interface. The coordinated test method does not require an upper-layer external interface, and uses the standard test management protocol TMP to manage and coordinate tests with the lower tester. There is no dedicated upper tester in the remote test method, and some tester functions are implemented by the system under test. The lower tester LT of these three test methods controls and observes the IUT through the protocol data unit PDU transmitted on the communication link.
There are two abstract test methods for consistency testing of the relay system between two subnets: loopback test method and transverse test method. The loopback test method performs a loop connection on the port of the relay system. This loop connection can be completed in the relay system or in the second subnet. There are two observation and control points on the other subnet at the service access point SAP of the relay system, so only one tester is needed. The test function of the loopback test method is too simple and therefore not practical. The transverse test method has an observation and control point on each of the two service access subnets, and requires two testers, which makes it difficult to synchronize the two testers.
3. OSPF Protocol
1. OSPF protocol features
OSPF is a link state protocol based on the Djkstra algorithm, used for routing selection within an autonomous system. OSPF has the following features:
● When the network expands and changes, it converges quickly, and the network overhead caused by the protocol is very small;
●Supports load balancing and can retain multiple routes to the same destination;
●Not easy to generate loops;
● Authenticate routing updates to ensure their validity;
●Supports regional division, can support large-scale networks, and has strong scalability.
The OSPF protocol supports three types of network connections:
●Point-to-point connection between 2 routers;
●Local area network with broadcasting function;
●Wide area network without broadcasting function.
2. OSPF Protocol Principles
The content of OSPF routing protocol can be divided into three parts: exchange diffusion protocol, maintenance of network topology database content, and calculation of routing table. The exchange protocol enables adjacent routers to establish adjacency, and then each content in the network topology database is synchronized with adjacent nodes through the diffusion protocol, so that the network topology database maintained by each node in the entire network is synchronized. When each node learns that the network topology diagram has changed, it recalculates the entire or part of the routing table to achieve rapid routing updates, so that changes in network topology are reflected in the corresponding routing table in a timely manner. [page]
3. OSPF has 5 types of messages
●Hello message: used to discover and maintain the reachability of neighboring stations;
●Database Description message: provides summary information of its link status to neighboring stations;
●Link State Request message: Requests the other party to send detailed information about certain link states;
●Link State Update message: updates the link status to the entire network using the diffusion method;
●Link State Acknowledgment message: confirmation of the link update message.
4. OSPF protocol consistency test method
OSPF is a routing protocol used in the domain, so the OSPF protocol consistency test adopts the transverse test method used in the relay test method. In the transverse test method, in order to make it easier for the two PCOs of the two subnets to achieve synchronization, PCO1 and PCO2 are generally integrated into one tester.
The editor can be the TTCN editor recommended by ISO9646 or other language editors. First, the abstract test set ATS is compiled on the editor. ATS is output in the format of a text file MP with fixed grammar, similar to assembly language or high-level language source program. Then, the MP file is compiled into an executable file ETS by the editor. The processor is the key engine for test execution. It interprets and executes the test set ETS selected by PICS and PIXIT, processes the protocol data unit PDU transmitted by PCO1 or PCO2, and controls the test process according to the content of the test set. Finally, all the information required for the test report is generated. In this test structure, the two ports of IUT correspond to PCO respectively. When the processor sends an OSPF message from PCO1 to SUT, the OSPF message is forwarded from subnet 1 to subnet 2 through the routing of the OSPF module, and the processor obtains the data message from PCO2 in subnet 2. Since PCO1 and PCO2 are both integrated in the tester, the coordination process of the two LTs can be easily controlled.
V. Design of OSPF protocol test suite
The test set is the basis of protocol conformance testing. It defines the behavior of the test system and protocol entities in detail in the form of the most basic test event sequence, so as to make a judgment on whether the test is "passed" or "failed". The test set has the following hierarchical structure: test set → test group → test case → test step → test event. The test set can be described using the TTCN formal language.
Compared with OSI protocol, OSPF protocol behavior is simpler, and there is no data packet exchange for link establishment or flow control between peer entities. According to the recommendations of ISO/IEC9646, we generate test objectives based on protocol description analysis and condition synthesis, design and generate OSPF protocol test set, and write OSPF protocol test specification. The generated OSPF test set includes 5 test groups and a total of 69 test cases (see Table 1).
Table 1 OSPF test set
Test group Test purpose Test example
Ospf-2areas Domain border router function 3
Ospf-2qars Exchange diffusion protocol function 36
Ospf-3qars Path type of data packet, AS external LSA and AS summary LSA function 23
Ospf-stress Strength capability test 6
Ospf-stub Stub network function 1
These test groups (examples) cover the main functions in the OSPF protocol description and have good completeness.
6. Test Application
According to the test method and structure discussed in this article, the test tool uses Agilent's QA Robot tester to perform OSPF protocol consistency testing. The TTCN-based PITS test system developed by Tsinghua University can also be used. The QARobot tester uses the QBOL language to generate ETS, which is compiled through the QBOL editor. It uses the UNIX operating system internally and has a visual interface operation.
We participated in the testing of the core routers of the national "863" broadband information demonstration network. We used the QARobot tester to conduct OSPF protocol consistency tests on the core routers developed by ZTE, Julong and Datang. After the OSPF protocol consistency tests, the functions and performance of the OSPF modules in each router were significantly improved, and the pass rate of the test cases increased from 50% to nearly 90%.
Practice has proven that consistency testing is a good way to detect and locate errors and provide correction suggestions during the design and development of protocol software.
Previous article:A new technology for MCM substrate testing
Next article:A brief discussion on the application of automatic monitoring system for optical cable lines in line maintenance
- Popular Resources
- Popular amplifiers
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Seizing the Opportunities in the Chinese Application Market: NI's Challenges and Answers
- Tektronix Launches Breakthrough Power Measurement Tools to Accelerate Innovation as Global Electrification Accelerates
- Not all oscilloscopes are created equal: Why ADCs and low noise floor matter
- Enable TekHSI high-speed interface function to accelerate the remote transmission of waveform data
- How to measure the quality of soft start thyristor
- How to use a multimeter to judge whether a soft starter is good or bad
- What are the advantages and disadvantages of non-contact temperature sensors?
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- RF Ground - RF is not what you think "ground" is
- Nuvoton 003 Series Platform MS51 Replacement Update N76E003 Guide V1.0
- I, I, I have a question about relays and analog switches...
- Smart TFT with LUA script, making Tetris is so easy
- Last day! Apply for GD32VF series development board and new ATMEGA4809 for free, grab the last train and get on it!
- "Thank you for being here, thank you for the gift" - Thanksgiving Day Grab the Building & Give Thank You Gift Event
- Electronic component failure analysis and typical cases
- Hongmeng Development Board Neptune (VI) - Source Code Compilation 3
- When TEA1062 is on a call, the receiver is very quiet and no sound comes out of the MIC
- For CLC and CRC filtering, it is best to have high-frequency capacitors at both ends of the resistor and inductor. Could you please tell me how to configure the high-frequency capacitors?