Font Size: a A A

Design And Implementation Of Packet Lookup Technology Based On DPDK

Posted on:2016-03-19Degree:MasterType:Thesis
Country:ChinaCandidate:J YangFull Text:PDF
GTID:2308330473955239Subject:Communication and Information System
Abstract/Summary:PDF Full Text Request
With the continuous development of Internet technology, enterprise networks and datacenter networks have been rapidly growing in scale. The number of datacenter servers may be tens of thousands or even hundreds of thousands. Huge and complex datacenter networks will make the size of routing table very large. With the development of SDN, the number of match fields in flow table increases. In addition, the combination of different match fields makes flow table entries explosive growth. On the other hand, with the network rate growing rapidly, the amounts of packets that reach the switching equipment in the unit time increase, so packets must be timely processed and forwarded.Faced with such a large number of entries, if we continue to use TCAM, the storage cost will increase significantly, and power consumption is relatively large.In addition,the hardware is not flexible to implement lookup algorithm. Linux system handles packets with the cost of interrupt handling, context switching, data copying and other expenses, which seriously affect the ability to quickly process packets.We present a high-speed packet lookup scheme combination of hardware and software. To reduce cost, the forwarding table with large memory is responsible by software. In addition, hardware only transmit packet header to software, thus the bandwidth utilization of PCIe between software and hardware has been reduced.The main work of the thesis contains three parts:1.Implementation of packet forwarding based on DPDK.The advantage of packet lookup based on DPDK is that we can use its user-space polling mode driver, hugepage memory, CPU affinity and other characteristics for fast packet prcessing. 2.Implementation of cuckoo hash table. Cuckoo hash table achieves high memory efficiency and O(1) lookup time. By comparing and analyzing Cuckoo hash algorithm based on fine-grained locking and Cuckoo hash algorithm based on counters, we finally adopt the counter-based Cuckoo hash algorithm and realize two optimization. We add a tag field to accelerate hash bucket matching speed. Search mode of displacement path is optimized to improve insert performance and to reduce the impact on lookup. 3.In order to solve the problem of too many entries in a flow table, OpenFlow adopts multiple tables. Based on this idea, we use multiple logical tables. Each table is responsible for different match fields and then we assign different logical table to different logical core. Each logical core is responsible for different match fields. When the packet stream comes, lookup is processed in pipeline way, then we realize two optimization to improve the performance of multi-level lookup. Finally, we test memory utilization of table, lookup performance, insert performance, multi-level lookup performance, and other related test, then analyze the test results.
Keywords/Search Tags:Scheme of packet lookup, DPDK, Cuckoo hash table, Multi-level lookup
PDF Full Text Request
Related items