100 Gbps Dynamic Extensible Protocol Parser Based on an FPGA
Abstract
:1. Introduction
- (1)
- We use an FPGA to implement packet parsing and protocol management. The data transmission channel of the parser adopts a width of 512 bits and a clock frequency of 200 MHz, which enables it to identify various packet protocols at a line rate of 100 Gbps.
- (2)
- We propose a dynamic extension mechanism for the protocols, which allows extending new protocol parsing rules in real-time at arbitrary locations in the existing parser tree by passing descriptors containing protocol information.
- (3)
- We also provide a multi-queue management mechanism for extended protocols, which supports group management of extended protocol parsing rules. Different from existing parsers designed with a hierarchical pipeline structure, this method can manage the update and execution of various types of extended protocol parsing rules under the same framework and support the storage of more protocol parsing rules.
- (4)
- The bus protocol conversion module is used for stream mode data conversion from an AXI4 bus to an Avalon bus. This module allows the parser to receive two bus protocol signals, making it more flexible to deploy on the mainstream FPGA platforms, such as Intel and ** that needs to be further retrieved is selected. For example, if the packet contains the IPV4 protocol, the queue group of (Ref_pro == IPV4) should be further retrieved to determine whether the packet contains the extended protocol over IPV4.The specific parsing process is as follows: According to the relative offset between the extended protocol and its reference protocol, we locate the position of the field to be identified in the packet header. Then, we extract the 32 bits matching field from this position and compare it with the protocol field and mask stored in the queue group in turn; after the matching is successful, we judge whether we need to parse the second-level extended protocol according to the next_en flag bit.The parsing process of the second-level extension protocol is the same as the above method. However, its Ref_pro is the address of the queue where the first-level extension protocol is located. After the parsing is completed, the queue index where the extended protocol is located is output, and the corresponding transmission channel is allocated for the data.
5. Evaluation and Results
According to the overall framework of DEPP proposed before, we deployed it on Intel Arrias 10, which is a programmable 100 Gbps FPGA board. The parser is designed with SystemVerilog coding and uses C language to encapsulate the access control interface in user space for delivering extended protocol descriptors and queue status detection. The IXIA high-speed network traffic generation tool is used to generate test data streams to evaluate the performance of DEPP in terms of protocol extension and parsing.The device connection is shown in Figure 7. The data packets generated by IXIA device are parsed by DEPP deployed on the FPGA and then distributed to different processing units of the R730 server for a statistic. Finally, we loop the packet back to the IXIA device.The most important feature of the scheme is its high flexibility in the protocol extension. Using the descriptor mechanism, new protocol resolution rules can be added in any location of packets in real-time without affecting the normal running of network devices. Here, we test the average latency consumed by DEPP and TCAM parsers when adding new protocol parsing rules, respectively, and the test results are shown in Figure 8.The delay mainly includes the time to deliver the descriptor from the host and the time to process the descriptor in the hardware. In DEPP, we adopt a pipeline processing mechanism so that the average update delay gradually decreases with the increase of the number of burst transmission rules and is stable within 300 ns. In contrast, the time required for a TCAM-based [25] parser to update each rule is about 3.3 ms, which is four orders of magnitude higher than DEPP.However, the current mainstream hardware reconfigurable parsers mainly rewrite the parsing logic to add new protocols and then reload them into the hardware through synthesis, wiring, and other operations. The overall time overhead is at least in minutes. Secondly, compared with the protocol management method based on TCAM, only the valid field of the protocol and its mask information can be stored in the TCAM, and the protocol positioning logic is not included; however, the descriptor can add protocol parsing rules of any length to any position of the data packet, which has higher flexibility.In order to further verify DEPP’s processing performance and packet throughput of the new protocol resolution rules, five protocol parsing rules as shown in Table 3 are added by extending the protocol descriptor. Pro0 to Pr03 are first-level extension protocols constructed based on high-priority general protocols, and Pro4 is a second-level extension protocol added on the basis of Pro3. Furthermore, we use the IXIA device for sending and receiving packet test.First, the fixed packet size is 1024 bytes, and 10 million packets with the above five protocols are randomly generated at a rate of 100 Gbps using IXIA equipment. The result is shown in Figure 9a, where the blue represents the number of different protocol packets sent by IXIA, and the orange represents the packets passing through the parser. It can be seen from the figure that the number of sending and receiving is the same, indicating that the parser can flexibly handle packets with different protocols. In Figure 9b, we fix the protocol type to Pro0, test the rate of packets of different sizes, and show the percentage of the actual received rate versus the theoretical value on the broken line. From the rate statistics results, except for a small amount of packet loss in the transmission and reception of line-rate small packets, stable packet reception of 100 Gbps can be achieved in other cases. This shows that the parser has high throughput characteristics.In Figure 10, we show the transmission delay of DEPP and the software parser designed with DPDK in a data forwarding system with fixed parsing rules. In order to show the test results better, the software parser was deployed on the Dell R740 server equipped with Mellanox ConnectX-5 NIC. The testing process is as follows: we randomly send data packets containing four-level protocol parsing rules, such as VLAN, IPV4, UDP, and Pro1, and forward them to the ixia device after passing through the parser.Here, we use a fixed four-level protocol parse tree for evaluation, although both can support customizing more complex protocol parsing rules. From the delay test results, it can be clearly seen that, even if the kernel protocol stack is bypassed and the DPDK development kit with high-performance data packet processing is adopted, the transmission delay of data packets is at least microseconds or even milliseconds. In contrast, the transmission delay designed with the DEPP scheme is much smaller. Even if a data packet with a length of 4096 bytes is transmitted, the average delay can be stabilized at about 1200 ns, which greatly improves the processing efficiency of network data.Table 4 shows the resource usage of DEPP deployed in Arria10 with different queue depths. The coverage of DEPP is small, leaving enough resource space for additional logic development. Compared with Openflow’s limited support for 44 protocols, DEPP supports more protocol extensions and can meet a wider range of network protocol extension requirements.6. Conclusions
This paper proposes an ICN dynamically extensible protocol parser based on the FPGA platform, which supports a flexible expansion of protocol parsing rules and high-speed network packet parsing. It has a wide range of application values in data centers, computer clusters, and other traffic-intensive environments. In this solution, we introduced the extended protocol descriptor and multi-queue protocol management mechanism to realize dynamic updates and the efficient parsing of the customized ICN protocol parsing rules, which improved the flexibility and stability of the ICN network. Furthermore, the parser can be flexibly deployed on a variety of FPGA platforms through bus protocol conversion.The experimental results show that DEPP supports adding new protocol parsing rules in real-time on the basis of the general protocol parsing tree and can, in a 100 Gbps high-speed network, accurately identify packet protocols. The high scalability of the parser enables it to be better deployed in various ICN network architectures and supports online updates of network devices, thereby, reducing the network downtime or network congestion caused by protocol updates and meeting future network requirements for high performance and flexibility.At present, DEPP can support the flexible expansion of new protocol parsing rules at the end of the protocol parsing tree; however, it cannot support inserting new protocols in the middle of the original parsing process or even at the root. This is also the focus of my future work.
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Xylomenos, G.; Ververidis, C.N.; Siris, V.A.; Fotiou, N.; Tsilopoulos, C.; Vasilakos, X.; Katsaros, K.V.; Polyzos, G.C. A survey of information-centric networking research. IEEE Commun. Surv. Tutor. 2013, 16, 1024–1049. [Google Scholar] [CrossRef]
- Koponen, T.; Chawla, M.; Chun, B.-G.; Ermolinskiy, A.; Kim, K.H.; Shenker, S.; Stoica, I. A data-oriented (and beyond) network architecture. In Proceedings of the 2007 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, Kyoto, Japan, 27–31 August 2007; pp. 181–192. [Google Scholar]
- Dannewitz, C.; Kutscher, D.; Ohlman, B.; Farrell, S.; Ahlgren, B.; Karl, H. Network of information (netinf)—An information-centric networking architecture. Comput. Commun. 2013, 36, 721–735. [Google Scholar] [CrossRef]
- Wang, J.; Gang, C.; Jiali, Y.; Peng, S. SEANet: Architecture and Technologies of an On-site, Elastic, Autonormous Network. J. Netw. New Media 2020, 6, 1–8. [Google Scholar]
- Parimala, M.; Jafari, S.; Riaz, M.; Aslam, M. Applying the Dijkstra Algorithm to Solve a Linear Diophantine Fuzzy Environment. Symmetry 2021, 13, 1616. [Google Scholar] [CrossRef]
- Gibb, G.; Varghese, G.; Horowitz, M.; McKeown, N. Design principles for packet parsers. In Proceedings of the Architectures for Networking and Communications Systems, San Jose, CA, USA, 21–22 October 2013; pp. 13–24. [Google Scholar]
- Fernandes, E.L.; Rojas, E.; Alvarez-Horcajo, J.; Kis, Z.L.; Sanvito, D.; Bonelli, N.; Cascone, C.; Rothenberg, C.E. The road to BOFUSS: The basic OpenFlow userspace software switch. J. Netw. Comput. Appl. 2020, 165, 102685. [Google Scholar] [CrossRef]
- Shirmarz, A.; Ghaffari, A. Performance issues and solutions in SDN-based data center: A survey. J. Supercomput. 2020, 76, 7545–7593. [Google Scholar] [CrossRef]
- Zhang, T.; Linguaglossa, L.; Giaccone, P.; Iannone, L.; Roberts, J. Performance benchmarking of state-of-the-art software switches for NFV. Comput. Netw. 2021, 188, 107861. [Google Scholar] [CrossRef]
- Kuon, I.; Tessier, R.; Rose, J. FPGA Architecture: Survey and Challenges; Now, Publishers Inc.: Delft, The Netherlands, 2007; pp. 135–253. [Google Scholar]
- Shin, M.-K.; Nam, K.-H.; Kim, H.-J. Software-defined networking (SDN): A reference architecture and open APIs. In Proceedings of the 2012 International Conference on ICT Convergence (ICTC), Jeju, Korea, 15–17 October 2012; pp. 360–361. [Google Scholar]
- McKeown, N.; Anderson, T.; Balakrishnan, H.; Parulkar, G.; Peterson, L.; Rexford, J.; Shenker, S.; Turner, J. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM Comput. Commun. Rev. 2008, 38, 69–74. [Google Scholar] [CrossRef]
- Naous, J.; Erickson, D.; Covington, G.A.; Appenzeller, G.; McKeown, N. Implementing an OpenFlow switch on the NetFPGA platform. In Proceedings of the fourth ACM/IEEE Symposium on Architectures for Networking and Communications Systems, San Jose, CA, USA, 6–7 November 2008; pp. 1–9. [Google Scholar]
- Liu, T. Implementing Open Flow Switch Using FPGA Based Platform. Master’s Thesis, Institutt for Telematikk, Trondheim, Norway, 2014. [Google Scholar]
- Han, J.H.; Mundkur, P.; Rotsos, C.; Antichi, G.; Dave, N.; Moore, A.W.; Neumann, P.G. Blueswitch: Enabling provably consistent configuration of network switches. In Proceedings of the 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Oakland, CA, USA, 7–8 May 2015; pp. 17–27. [Google Scholar]
- OpenFlow Switch Specification, v.1.5.0. Available online: https://www.opennetworking.org/images/stories/downloads/sdn-re-sources/onf-specifications/openflow/openflow-switch-v1.5.0.pdf (accessed on 20 March 2022).
- Song, H. Protocol-oblivious forwarding: Unleash the power of SDN through a future-proof forwarding plane. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, Hong Kong, China, 12–16 August 2013; pp. 127–132. [Google Scholar]
- Bosshart, P.; Daly, D.; Gibb, G.; Izzard, M.; McKeown, N.; Rexford, J.; Schlesinger, C.; Talayco, D.; Vahdat, A.; Varghese, G. P4: Programming protocol-independent packet processors. ACM SIGCOMM Comput. Commun. Rev. 2014, 44, 87–95. [Google Scholar] [CrossRef]
- Bosshart, P.; Gibb, G.; Kim, H.-S.; Varghese, G.; McKeown, N.; Izzard, M.; Mujica, F.; Horowitz, M. Forwarding metamorphosis: Fast programmable match-action processing in hardware for SDN. ACM SIGCOMM Comput. Commun. Rev. 2013, 43, 99–110. [Google Scholar] [CrossRef]
- Attig, M.; Brebner, G. 400 Gb/s programmable packet parsing on a single FPGA. In Proceedings of the 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems, Brooklyn, NY, USA, 3–4 October 2011; pp. 12–23. [Google Scholar]
- Cabal, J.; Benáček, P.; Kekely, L.; Kekely, M.; Puš, V.; Kořenek, J. Configurable FPGA packet parser for terabit networks with guaranteed wire-speed throughput. In Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, CA, USA, 25–27 February 2018; pp. 249–258. [Google Scholar]
- Zolfaghari, H.; Rossi, D.; Cerroni, W.; Okuhara, H.; Raffaelli, C.; Nurmi, J. Flexible software-defined packet processing using low-area hardware. IEEE Access 2020, 8, 98929–98945. [Google Scholar] [CrossRef]
- Benácek, P.; Pu, V.; Kubátová, H. P4-to-vhdl: Automatic generation of 100 gbps packet parsers. In Proceedings of the 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), Washington, DC, USA, 1–3 May 2016; pp. 148–155. [Google Scholar]
- Liu, H.; Qiu, Z.; Pan, W.; Li, J.; Huang, J. HyperParser: A High-Performance Parser Architecture for Next Generation Programmable Switch and SmartNIC. 2021. Available online: https://conferences.sigcomm.org/events/apnet2021/papers/apnet2021-6.pdf (accessed on 20 March 2022).
- **, X.; Liu, H.H.; Gandhi, R.; Srikanth, K. Dynamic scheduling of network updates. ACM SIGCOMM Comput. Commun. Rev. 2014, 44, 539–550. [Google Scholar] [CrossRef]
Type | Method | Flexibility | Delay | Throughput |
---|---|---|---|---|
software parser | Parser designed in software language on the host operating system | high | high | low |
ASIC parser | Fixed-function commodity hardware parser | low | low | high |
NetFPGA | A parser that supports the openflow protocol deployed in NetFPGA | low | low | high |
RMT | A reconfigurable parser designed using P4 language | middle | low | high |
HyperParser | A parser using butterfly network | middle | low | high |
DEPP | dynamic extensible protocol parser based on FPGA | high | low | high |
Field | Width (Bits) | Purpose |
---|---|---|
Ref_pro | 16 | Reference protocol |
Epro_field | 16 | Valid fields of extension protocol |
Epro_prefix | 5 | The field’s length |
offset | 8 | The offset relative to the reference protocol |
next_en | 1 | Next-level extended protocol enable signal |
level | 16 | Level of the extension protocol |
Ref_pro | Epro_field | Epro_prefix | Offset | Next_en | Level | |
---|---|---|---|---|---|---|
Pro0 | IPV4 | 0x00fe | 8 | 0x09 | 0 | 1 |
Pro1 | UDP | 0x0087 | 8 | 0x0a | 0 | 1 |
Pro2 | IPV6 | 0x00dd | 8 | 0x06 | 0 | 1 |
Pro3 | VLAN | 0x8989 | 8 | 0x02 | 1 | 1 |
Pro4 | Pro3 | 0x009b | 8 | 0x1f | 0 | 2 |
Queue Depth | LUT (Total: 427,200) | Rigister (Total: 1,708,800) | RAM (Total: 55,562,240) | |||
---|---|---|---|---|---|---|
Used | Rate | Used | Rate | Used | Rate | |
32 | 5945 | 1.39% | 5334 | 3.12‰ | 22,656 | 4.07‱ |
64 | 10,375 | 2.43% | 7222 | 4.23‰ | 22,656 | 4.07‱ |
128 | 22,226 | 5.20% | 10,777 | 6.31‰ | 22,656 | 4.07‱ |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wang, K.; Guo, Z.; Song, M.; Sha, M. 100 Gbps Dynamic Extensible Protocol Parser Based on an FPGA. Electronics 2022, 11, 1501. https://doi.org/10.3390/electronics11091501
Wang K, Guo Z, Song M, Sha M. 100 Gbps Dynamic Extensible Protocol Parser Based on an FPGA. Electronics. 2022; 11(9):1501. https://doi.org/10.3390/electronics11091501
Chicago/Turabian StyleWang, Ke, Zhichuan Guo, Mangu Song, and Meng Sha. 2022. "100 Gbps Dynamic Extensible Protocol Parser Based on an FPGA" Electronics 11, no. 9: 1501. https://doi.org/10.3390/electronics11091501