Parallel Lookup and Forwarding in Routers with Hash ...

5 downloads 131 Views 400KB Size Report
policy checks (such as security access control checks);. (3) check the result of the .... presentation slides: http://www.telstra.net/gih/prestns/ietf/bgptable.pdf, Dec.
Parallel Lookup and Forwarding in Routers with Hash Tables Jack Broderick, Department of Electronics Engineering , University of Bolton Abstract: The design of router architecture is the key issue for commercial routers. Using parallel approach to achieve high performance routers is a common approach for QoS requirements. In this paper, we studied the parallel architecture of high performance router, and mainly focus on how to efficiently distribute the data packets to multiple routing agent and the parallel packet forwarding problem. The experimental results show that the proposed algorithm using hash tables is effective and feasible. Keywords: parallel lookup, hash table, routers, forwarding

1

Introduction People in the next generation of router design have made a lot of research work. A cluster-based

router prototype called Suez using the ordinary -7 machine as a node, through a cross replacement as the system backplane, using cluster technology to work together. The research group at the University of Tanzania, at the high-speed exchange also achieves a lot of work. Many other researchers focus on highspeed routing, high-speed routing table processing, including FIB compression algorithms [11][17][35] and IP lookup algorithms [7][19][20][21]. This paper focuses on how to efficiently distribute packets to multiple paths and to handle the scheduling problems by agents. Bloom filters [25][22]and hash tables [34] are also used to achieve fast IP lookup [30], and many more using GPU[16] and TCAM[12][19]. There are also many other algorithms, interested readers refer to [20][21][23][24][25][27][31]. One of the basic functions of the router is to perform the data packets forwarding and route processing. For a router, it needs to complete the following tasks: 1) receiving data packets from the link; 2) parsing the packet header and do analysis (e.g., packet classification); (3) routing table lookup; 4) packet scheduling; (5) to send data 1

packets to the output link. In order to maximize the performance of the router, these functions should be performed by parallel processing.

2

High-performance router architecture High-performance router architecture diagram consists mainly of the following components: 1) line

interface card: responsible for receiving and sending from the link; 2) routing agent board: responsible for the maintenance and routing table and the control tasks to parallel the implementation of routing table lookup; 3) high-speed switching backplane: high - speed data channel; 4) maintenance bus: management, maintenance of information channels, for example, the main routing update information between the control board and CK. And the routing table to find work separately, these work separately. The rationale for this is: routing table lookup and control from the line interface card in the stripping, and can make the line interface card becomes more simple and efficient. Therefore, the line interface card can get a higher send and receive speed to meet the high speed link interface requirements. In addition, the system can also get a better load balancing effect to achieve high system performance. Because route lookup is the bottleneck of the system, we can improve the route lookup of the system by increasing the route agent capacity, the arrival of the data packet is sent to the way load balancing different routing agents.

3. Line interface cards and routing agents The working procedures of the interface card and the routing agent are as follows: (1) receive data packets from the input buffer; (2) packet header will be stripped out and send the data packet header to the packet classifier for policy checks (such as security access control checks); (3) check the result of the policy is illegal (4) if the data packet is valid, enter the packet scheduler; (5) Packet scheduler according to the contents of the packet header, use specific algorithm to determine which routing agent to use; (6) After determining the routing agent, use the header information to construct the route lookup request information, passes through the high speed exchange backboard to enter the road by a lookup

2

request queue; (7) The route lookup engine fetches the request messages from the request queue information, and perform high-speed routing lookup; (8) according to the results of the search to amend the data packet head, together with the output port number, through the high-speed switching backplane, will end. (9) In the input buffer, remove the original data packet and modify the original data through the highspeed exchange backplane, will be transmitted to the output packet port of the line interface card; (10) Receives the output port information from the packet scheduler. (11) Depending on the priority of the output buffer may have different multiple output queues, we can use scheduling algorithm to schedule the data packets in the output buffer;

4 An enhanced hash-based data distribution algorithm On the basis of the above structure, this paper presents a packet distribution algorithm, the realization of the IO. For packet distribution algorithms, the following conditions should be satisfied. (1) must work in load balancing mode, which will be from IO stripped out of the main reasons; (2) the same data flow packets must be in accordance with the arrival. The order is transmitted in turn, especially for the connected data packets, which are because the flow of data packets are very sensitive to the orderly, out of order of the packet may lead to retransmission or timeout, and this will affect performance. The flow-based distribution algorithm is a simple solution, but it has obvious disadvantages: it can lead to unbalanced transmission of the load; the data distributor on the IO must record the information of each data stream, so that the data flow is very large cases will increase the cost of the system. The basic idea of the algorithm is to generate a hash value based on the destination address of each packet and then use that value directly as the routing proxy number to forward to. Because packets with the same destination address are forwarded to the same routing agent (the same address has the same hash value), the order of the packets is guaranteed. But this algorithm has two shortcomings: 1) hash value is only a pseudo-random number and traffic distribution of the situation, the destination address is not evenly distributed case, the hash effect is very poor; and the destination address, so each workload cannot be dynamically adjusted, and cannot guarantee the load balance.

3

4

Conclusion Based on the design of high-performance router architecture, this paper studies the IO-capable packet

distribution algorithm that can work in parallel. Simulation results of the algorithm show that the algorithm is feasible.

References [1] H. Song, M. Kodialam, F. Hao, and T. Lakshman. Building scalable virtual routers with trie braiding. In Proc. IEEE INFOCOM, 2010. [2] N. Stefan and K. Gunnar. IP-address lookup using lc-tries. Selected Areas in Communications, IEEE Journal on, 17(6):1083–1092, 1999. [3] S. Venkatachary and V. George. Fast address lookups using controlled prefix expansion. ACM TOCS,17(1):1–40, 1999. [4] E. Will, V. George, and D. Zubin. Tree bitmap: hardware/software IP lookups with incremental updates. ACM SIGCOMM Computer Communication Review, 34(2):97–122, 2004. [5] J. Zhao, X. Zhang, X. Wang, and X. Xue. Achieving O(1) IP lookup on gpu-based software routers. In ACM SIGCOMM Computer Communication Review, volume 40, pages 429–430. ACM, 2010 [6] Degermark M, Brodnik A, Carlsson S , et al. Small forwarding tables for fast routing lookups[J] .Computer Communication Review, 1997, 27(4):3-14 [7] Yang T, Xie G, Li Y B, et al. Guarantee IP lookup performance with FIB explosion[J]. ACM SIGCOMM Computer Communication Review, 2015, 44(4): 39-50. [8] FPGA data sheet [on line]. Available: http://www.xilinx.com. [9] Quagga routing suite [on line]. Available: http://www.nongnu.org/quagga/. [10] RIPE network coordination centre [on line]. Available: http://www.ripe.net. [11] V. Srinivasan and G.Varghese, “Faster IP Lookups using Controlled Prefix Expansion,” Proc. ACM SIGMETRICS ’98, June 1998. [12] A. J. McAuley and P. Francis, “Fast Routing Table Lookup Using CAMs,” Proc. IEEE INFOCOM ’93, 4

Vol.3, pp.1382-1391,March 1993. [13] T. Yang, Z. Mi, R. Duan, X. Guo, J. Lu, S. Zhang, X. Sun, and B. Liu. An ultra-fast universal incremental update algorithm for trie-based routing lookup. In Proc. ACM/IEEE ICNP, 2012. [14] B. H. Bloom. Space/time trade-offs in hash coding with allowable errors. Communications of the ACM, 13(7):422–426, 1970. [15] E. Will, V. George, and D. Zubin. Tree bitmap: hardware/software IP lookups with incremental updates. ACM SIGCOMM Computer Communication Review, 34(2):97-122, 2004. [16] J. Zhao, X. Zhang, X. Wang, and X. Xue. Achieving O(1) IP lookup on gpu-based software routers. In ACM SIGCOMM Computer Communication Review, volume 40, pages 429-430. ACM, 2010. [17] Yang T, Yuan B, Zhang S, et al. Approaching optimal compression with fast update for large scale routing tables[C]//Proceedings of the 2012 IEEE 20th International Workshop on Quality of Service. 2012: 32. [18] R. Miguel, B. Ernst, and D. Walid. Survey and taxonomy of IP address lookup algorithms. Network, IEEE, 15(2), 2001. [19] Tong Yang, Ruian Duan, Jianyuan Lu, et al. CLUE: achieving fast update over compressed table for parallel lookup with reduced dynamic redundancy[C]//Distributed Computing Systems (ICDCS), 2012 IEEE 32nd International Conference on. IEEE, 2012: 678-687.. [20] B. Lampson, V. Srinivasan, and G. Varghese, “IP Lookups Using Multiway and Multicolumn Search,” Proc. IEEE INFOCOM ’98, Apr. 1998, pp. 1248–56. [21] S. Suri, G. Varghese, and P. R. Warkhede, “Multiway Range Trees: Scalable IP Lookup with Fast Updates,” Tech. rep. 99-28, Washington Univ., 1999. [22] Yang T, Liu A X, Shahzad M, et al. A shifting bloom filter framework for set queries[J]. Proceedings of the VLDB Endowment, 2016, 9(5): 408-419. [23] A. Feldmann and S. Muthukrishnan, “Tradeoffs for Packet Classification,” Proc. IEEE INFOCOM 2000, Mar. 2000, pp. 1193–1202.

5

[24] C. Labovitz, “Scalability of the Internet Backbone Routing Infrastructure,” Ph.D. thesis, Univ. of Michigan, 1999. [25] Yang T, Xie G, Sun X, et al. Towards practical use of Bloom Filter based IP lookup in operational network[C]//2014 IEEE Network Operations and Management Symposium (NOMS). IEEE, 2014: 1-4.

[26] G.

Huston,

“Tracking

the

Internet’s

BGP

Table,”

presentation

slides:

http://www.telstra.net/gih/prestns/ietf/bgptable.pdf, Dec. 2000. [27] D. R. Morrison, “PATRICIA — Practical Algorithm to Retrieve Information Coded in Alphanumeric,” J. ACM, vol. 15, no. 4, Oct. 1968, pp. 514–34. [28] S. Nilsson and G. Karlsson, “IP-Address Lookup Using LC-Tries,” IEEE J. Select. Areas Commun., Vol.17, No.6, pp.1083-1092, June 1999. [29] N. Huang and S. Zhao, “A Novel IP-Routing Lookup Scheme and Hardware Architecture for Multigigabit Switching Routers,” IEEE J. Select. Areas Commun., Vol.17, No.6, pp.1093-1104, June 1999. [30] Tong Yang, Alex X. Liu, Qiaobin Fu, Dongsheng Yang, Steve Uhlig, Xiaoming Li. Fit the Elephant in a Box - Towards IP Lookup at On-chip Memory Access Speed. In Proc. ACM/IEEE ICNP 2016 Poster. [31] W Z Zhang. On the Routing Lookup Algorithm for IPv6[Z], 1999 [32] Ioannis Ioannidis. Adaptive Data Structures for IP Lookups[C]. IEEE INFOCOM 2003 [33] Marcel Waldvogel. Scalable High Speed IP Routing Lookups[C]. ACM SIGCOMM ’ 97,1997 [34] Dharmapurikar S, Krishnamurthy P, Taylor D E. Longest prefix matching using bloom filters[C]//Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications. ACM, 2003: 201-212. [35] Draves R P, King C, Venkatachary S, et al. Constructing optimal IP routing tables[C]//INFOCOM'99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE. IEEE, 1999, 1: 88-97.

6

Suggest Documents