In recent years, the development of the Internet has been very rapid and applications have become increasingly commercialized, making it difficult to predict the development of the number of online users. In addition, more and more users need high-speed access. According to relevant information, the slow speed of Internet access is the primary cause of complaints from many netizens. Therefore, it is increasingly important to improve network bandwidth, network service quality, and network management systems on routers. While ensuring the quality, you can use the bandwidth to discover and diagnose device faults as soon as possible, and quickly and conveniently change configurations and other network management functions as needed, it has become an important factor that directly affects the interests of network users and network operators. In general, the structure of the router is moving towards three directions: faster speed, better service quality, and easier integrated management.
Two main functions of vro
Data path function: searches for each data packet that arrives at the vro without losing it. This function mainly includes: forwarding decision, output link queue scheduling through the backplane. The forwarding function is implemented through dedicated hardware. This operation is required for each vro package. The data path function is very important to improve the performance of the router.
Control Function: mainly includes the management of Route tables and system configuration and management, as well as the exchange of route table information with adjacent routers, through software implementation, etc. These functions are not for each packet, so the usage frequency is relatively low.
Key Technical Issues of routers
At present, some of the key technologies and problems in Router Design have achieved initial results, and some have just begun to study. It should be noted that the development in this field is very fast. In order to facilitate a systematic understanding of these key technical issues, we roughly divide these problems into three categories based on the three major trends of router development. First, problems related to high speed, such as fast search of Route tables, bus backplane and switching structure. Second, QoS problems, such as data stream and packet classification, traffic engineering, and congestion control. Third, problems related to software, such as software stability, configuration and management. It should be noted that such classification is not strict, and some problems may fall into two categories at the same time.
1. Speed-related technologies
Fast search technology for Route tables
CIDRClassless Inter-Doma in Routing is adopted on the Internet to address resource shortage, reduce the number of Route tables, and reduce management difficulty ). In this way, the routing table does not store specific IP addresses, but a network prefix with a variable length. When addressing an IP packet, the router uses the Longest network Prefix to match LPM-Longest Prefix Matching ). For example, assume that there are two table items in the route table: "2018.x.x, output port 1" and "2018.16.x, output port 2" X). If the destination address of an IP packet is 2018.16.5, this package should be output from Port 2. The traditional vro performs the longest network prefix matching for a long time, making route table search a bottleneck of vro speed. In the last two years, some quick lookup algorithms have emerged to support gibits. These algorithms include the improved exact match method, trie-based method, parallel hardware method, protocol change, simplified route table query, and buffer method. These algorithms are easy to implement by hardware and suitable for software implementation. For multicast address addressing, the longest prefix matching method is used for the source address and the target address based on the source address and multicast address table of the IP package.
Exchange Structure and Scheduling Algorithm
The switching structure can be Crossbar, shared storage, or bus. The speed of the Crossbar structure is determined by the scheduler. The speed of the shared memory structure is determined by the read/write speed of the memory. The speed of the shared bus structure is determined by the capacity of the bus and the overhead of arbitration. The scheduler is the core of the Crossbar switching structure. It collects information about packet queues on each input port in each scheduling time slot, A match is obtained between the input port and the output port through a certain scheduling algorithm, providing a path from the input port to the output port. Crossbar with no blocking input buffer and ESLIP Algorithm for scheduling have been adopted by some manufacturers. The difficulty of the scheduler design is that it must not only meet the system throughput requirements of 100%, but also support CoS (Classes of Service ). In the scheduling algorithm, the Weighted Fair Queuing Algorithm WFQ-Weighted Fair Queuing and the improved Weighted Fair Flow Queuing algorithm WF2Q-Weighted Fair Flow Queuing are easy to implement, and the performance is good. In short, to enable the Internet to truly integrate multiple services, as a router connecting to the core device of the network, it is necessary to increase the port speed and switching capacity, provide QoS Assurance and Traffic Engineering TE-Traffic Engineering) functions.
Backplane Bus
Because of the high port rate, the switching structure needs to be accelerated, and there are many connections between the interface board and the switching board, between the control board and the interface board, and between the control board and the switching board, currently, high-speed routers and switches all adopt high-speed backplane buses to improve the system throughput. To improve efficiency, the data line uses a serial differential line, with a speed of 1 ~ per second ~ 2 gibits. To ensure such a high transmission rate and so many connections, the design requirements for Backplane Bus are very high. How to Reduce the data transmission error rate and ensure clock synchronization is a key technology in bus design. A large number of implementation methods using serial bus in the Tiny sans router project of Stanford University are worth studying and learning from.
2. technologies related to service quality
Data Packet Classification Technology
A vro must identify and classify the packets to determine the type of services it shall accept. At the beginning, IETF considered the solution to identify groups based on the IP header's TOSType of Service domain. However, during the development of the Internet, because "Best Effort" transmission is always adopted, and TOS is not considered when the terminal sends an IP packet, TOS has never played a role. Currently on edge devices, the group is identified based on the source IP address, destination IP address, source port number, destination port number, and transport layer protocol type of the IP Group. In addition, IP groups must be identified to implement firewall functions.
During identification, each Identification rule uses the source IP address, destination IP address, source port number, destination port number, and transport layer protocol type. In the above identification rules, each domain may be a range. For example, if there is such an identification rule "202.66.83.X, 202.66.72.X, X, 23, TCP" X, this rule identifies telnet data from the network 202.66.83.X to the network 202.66.72.X. From a geometric point of view, if we use K fields in the IP header for identification, this problem is actually because there are many overlapping entities in a K-dimensional space. Each discriminant rule corresponds to one entity.) every time a group arrives, this group is equivalent to a vertex in a K-dimensional space. In fact, we need to identify the entity with the highest priority of the vertex.
Data Stream Classification
A series of data packets are used as data streams through the given source and destination. A stream can be a series of data packets with TCP connections that have been maintained for a long time, or a series of UDP data packets with sound or image. Generally, a stream has two criteria: Port Pair and host pair. Port Pairs mean that data packets of the same stream must have the same source, Destination Address, TCP/UDP port number, and so on. Currently, three common stream classifiers are available: X/Y classifier, Y indicates the specified time interval, and X indicates the number of data packets. If the number of data packets reached by a certain data stream in time Y is greater than X, the stream is regarded as a long data stream; otherwise, it is a short data stream; the other is the Protocol clascol Classifier ), it specifies that all TCP packets are defined as data streams, and the Port Classifier is used as a Port Classifier. It specifies several special TCP ports as long data streams. Because classification requires packet header check for each packet entering the router, we need a quick classification algorithm.
QoS Problems
If real QoS can be achieved, it is of course the most ideal for the Internet to become a network for commercial applications. When network congestion is unavoidable, IETF puts forward some models and mechanisms to support QoS. There are two main implementation frameworks: ISIntegrated Service and DSDifferentiated Service ). Where, IS application Resource Reservation Protocol RSVP), establish a sending channel before real-time service sending and reserve resources, and DS classifies data packets by marking data packets, enable different data packets to enjoy different services. It is difficult to implement real QoS. Both the output buffer and the shared buffer switching structure require internal acceleration by N times.
MPLS and Traffic Engineering
On the Internet, you can use MPLS to support explicit routing. Explicit routing can make up for the shortcomings of the OSPFOpen Shortest Path First Protocol in traditional IP networks. Its advantage is that ISP can allocate traffic on different paths between two points, thus reducing the blocking rate of busy paths, improving the line utilization, and providing QoS Assurance to a certain extent. You can also establish redundant lines through explicit routes to ensure smooth communication lines when some routers fail. Related IETF working groups and many network equipment manufacturers are doing this and some implementation solutions have been proposed.
Blocking Control
TCP uses a sliding window mechanism to control traffic and congestion. In fact, the sending end adjusts its transmission rate based on network congestion.
The TCP protocol has two characteristics: unfair, RTTRound Trip Time) Short Process sending window increases rapidly, it will occupy a larger bandwidth. The vro should suppress this unfairness. The other is synchronization. The tail discard policy adopted by the previous vro may cause a sharp drop in the transmission windows of many TCP connections when the network is blocked, and then increase at the same time, leading to blocking; in this round, the utilization of the line is very low. This phenomenon is called synchronization. The router should take measures to avoid this phenomenon.
One of the main measures for a router to handle congestion is to use the packet loss nature of the TCP protocol. When the Group is lost, TCP will reduce the transmission rate, thus reducing the burden on the router. Because the TCP protocol is sensitive to packet loss, packet loss will cause a sharp drop in the transmission rate. The router should optimize the buffer management for TCP performance to avoid a sharp decrease in network performance.
Currently, many routers use the Random Early Detection of RED Random Early Detection) method for blocking control. This method causes early packet loss on the premise of blocking, reducing the transmission rate of the terminal to reduce network load, avoid blocking, and suppress synchronization. The biggest disadvantage of the RED algorithm is that it only works for the transport layer protocol that automatically controls traffic similar to the TCP protocol. packet loss on the UDP Router does not prompt the sender to reduce the sending rate. Due to the large proportion of TCP data traffic in the network, the performance of the RED algorithm is still relatively good. Many routers on the Internet use this method for blocking control. It turns out that this method works well.
3. software-related issues
Importance of software
In the past, a vro was regarded as a hardware device for optimal packet forwarding. The software only provides the monitor function. However, with the development of routers, software plays an increasingly important role in routers. In fact, the selection of real-time operating systems such as PSOS and VxWorks in the communication field is crucial for a communication product. If you want to develop highly efficient software, you need the support of the operating system vendor. Cisco has developed its own vro operating system and application software. If this trend continues to develop, end users will be able to easily load various application software modules on routers in the future, enables routers to provide functions such as firewalls, traffic management policies, special application signaling, and routing policies.
Network Management System
The current Network management Protocol is Simple Network management Protocol Version 2.0 (SNMPv2, Simple Network management Protocol v2.0), which is implemented using UDP Protocol in TCP/IP Protocol. Due to the change in the architecture of routers, some network management information needs to be provided by the underlying hardware, which is different from the previous implementation method. The main task here is to provide network managers with adequate Management Information and powerful and flexible Management functions through the implementation of the network Management function and the Management Information Base of the Information database MIB-Management Information.
Billing
For billing of user data traffic, you need to extract IP packet address, port, CoS and other information. Because of the high port rate, the data volume of this part of information is also relatively large, it is unrealistic to process on the interface board. In addition, different ISP charging standards are likely to be different. Therefore, the billing function should be separated. The router interface board is only responsible for providing an interface for billing information and sending billing information. Then, you can write the data to an external storage device for billing. This will reduce the burden on the router and make the billing function more flexible.
Configuration
Router configuration is a very important and difficult task. Once a wrong configuration occurs, it is not only difficult to find it, but also has some difficult-to-understand performance problems. With the development of vro technology, its configuration will become more simple and effective. It will be a long-term task to solve this problem.
Software Stability
As you know, the router hardware can improve stability by using hot backup, dual-power supply, data path backup, and other methods, but the stability of the software is a difficult problem to solve. The prerequisite for the stability of a large network system is the stability of software. The difficulty of software stability lies in that the software status is affected by the interaction of different software.(