S. D, Bhaskar Kataria, Aditya Sohoni, M. Tahiliani
{"title":"Implementation of NAT44 and NAT64 using TC-BPF and eXpress Data Path (XDP)","authors":"S. D, Bhaskar Kataria, Aditya Sohoni, M. Tahiliani","doi":"10.1109/IBSSC56953.2022.10037400","DOIUrl":null,"url":null,"abstract":"Large number of new devices connecting to the Internet has overwhelmed the available IPv4 address space. With devices that are IPv6 enabled, there is a need to translate their addresses to IPv4 so that they can communicate with servers that use IPv4. Network Address Translation (NAT) solves this problem by mapping IPv6 addresses to IPv4 and performing the translation at the router between the IPv4-enabled client and IPv6-enabled server. This is called NAT64. NAT is currently used by most of the Internet Service Providers (ISPs) around the world. However, most of the existing implementations involve a lot of kernel overhead. eXpress Data Path (XDP) is a relatively new concept that lets packets be processed faster than the normal network stack. It requires a modification to the kernel and allows packets to move through an integrated fast path in the kernel stack. XDP-NAT is being treated as a feasible alternative to the traditional NAT implementations, owing to its advantages such as low processing overhead and easy implementation. This work focuses on using the packet processing capabilities of XDP to perform address translation. This paper describes the design and a proof-of-concept implementation of NAT64 using XDP.","PeriodicalId":426897,"journal":{"name":"2022 IEEE Bombay Section Signature Conference (IBSSC)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE Bombay Section Signature Conference (IBSSC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IBSSC56953.2022.10037400","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Large number of new devices connecting to the Internet has overwhelmed the available IPv4 address space. With devices that are IPv6 enabled, there is a need to translate their addresses to IPv4 so that they can communicate with servers that use IPv4. Network Address Translation (NAT) solves this problem by mapping IPv6 addresses to IPv4 and performing the translation at the router between the IPv4-enabled client and IPv6-enabled server. This is called NAT64. NAT is currently used by most of the Internet Service Providers (ISPs) around the world. However, most of the existing implementations involve a lot of kernel overhead. eXpress Data Path (XDP) is a relatively new concept that lets packets be processed faster than the normal network stack. It requires a modification to the kernel and allows packets to move through an integrated fast path in the kernel stack. XDP-NAT is being treated as a feasible alternative to the traditional NAT implementations, owing to its advantages such as low processing overhead and easy implementation. This work focuses on using the packet processing capabilities of XDP to perform address translation. This paper describes the design and a proof-of-concept implementation of NAT64 using XDP.