natasha - Natasha is a fast and scalable, DPDK powered, stateless NAT44 packet processor

  •        289

Natasha is a fast and scalable, DPDK powered, stateless NAT44 packet processor. It can achieve 100Gbits/s translation with 64bytes packets. Natasha is in production at Scaleway with more than 1.2Tbits/s capacity.

https://github.com/scaleway/natasha

Tags
Implementation
License
Platform

   




Related Projects

nff-go - NFF-Go -Network Function Framework for GO (former YANFF)

  •    Go

NFF-Go becomes part of DPDK project umbrella under Linux Foundation! Mirror repo can be found here: http://dpdk.org/browse/apps/nff-go/. We will accept patches through DPDK mail-list and standard DPDK contribution process too. NFF-Go is a set of libraries for creating and deploying cloud-native Network Functions (NFs). It simplifies the creation of network functions without sacrificing performance.

f-stack - F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API

  •    C

With the rapid development of Network Interface Cards the poor performance of data packet processing with the Linux kernel has become the bottleneck in modern network systems. Yet, the increasing demands of the Internet's growth demand a higher performant network processing solution. Kernel bypass has emerged to catch more and more attention. There are various similar technologies such as: DPDK, NETMAP and PF_RING. The main idea of kernel bypass is that Linux is only used to deal with control flow; all data streams are processed in user space. Therefore, kernel bypass can avoid performance bottlenecks caused by kernel packet copying, thread scheduling, system calls, and interrupts. Furthermore, kernel bypass can achieve higher performance with multi-optimizing methods. Within various techniques, DPDK has been widely used because of it's more thorough isolation from kernel scheduling and active community support. To deal with the increasingly severe DDoS attacks the authorized DNS server of Tencent Cloud DNSPod switched from Gigabit Ethernet to 10-Gigabit at the end of 2012. We faced several options: one is to continue to use the original network stack in the Linux kernel, another is to use kernel bypass techniques. After several rounds of investigation; we finally chose to develop our next generation of DNS server based on DPDK. The reason is DPDK provides ultra-high performance and can be seamlessly extended to 40G, or even 100G NIC, in the future.

dpvs - DPVS is a high performance Layer-4 load balancer based on DPDK.

  •    C

DPVS is a high performance Layer-4 load balancer based on DPDK. It's derived from Linux Virtual Server LVS and its modification alibaba/LVS. the name DPVS comes from "DPDK-LVS".

dpdk-ovs - Open vSwitch accelerated by Intel® DPDK

  •    C

To get started right away, we recommend that you check out the documentation contained in the [`docs`][docs] directory. These files provide an in-depth overview of the components, system requirements and basic operation of Intel® DPDK vSwitch. The documents are written in Markdown format, so for best results, view the documentation using a Markdown viewer, or on [GitHub][docs].______

MoonGen - MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT

  •    Lua

LuaJIT + DPDK = fast and flexible packet generator for 10 Gbit/s Ethernet and beyond. MoonGen uses hardware features for accurate and precise latency measurements and rate control. Skip to Installation and Usage if you just want to send some packets.


frp - A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet

  •    Go

frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. Now, it supports tcp, udp, http and https protocol when requests can be forwarded by domains to backward web services. Expose any http and https service behind a NAT or firewall to the internet by a server with public IP address(Name-based Virtual Host Support). Expose any tcp or udp service behind a NAT or firewall to the internet by a server with public IP address.

DPDK - Data Plan Development Kit

  •    C

DPDK is a set of libraries and drivers for fast packet processing. It was designed to run on any processors. The first supported CPU was Intel x86 and it is now extended to IBM Power 8, EZchip TILE-Gx and ARM. These libraries can be used to receive and send packets within the minimum number of CPU cycles (usually less than 80 cycles), develop fast packet capture algorithms (tcpdump-like) and run third-party fast path stacks.

ixy - Simple userspace packet processing for educational purposes 🎓

  •    C

ixy is a simple userspace packet processing framework. It takes exclusive control of a network adapter and implements the whole driver in userspace. Its architecture is similar to DPDK and Snabb and completely different from (seemingly similar) frameworks such as netmap, pfq, pf_ring, or XDP (all of which rely on kernel components). In fact, reading both DPDK and Snabb drivers was crucial to understand some parts of the Intel 82599 datasheet better. Check out the draft of our paper or watch the recording of our talk at 34C3 to learn more.

lagopus - Yet another SDN / OpenFlow software switch

  •    C

Lagopus software switch is a yet another OpenFlow 1.3 software switch implementation. Lagopus software switch is designed to leverage multi-core CPUs for high-performance packet processing and fowarding with DPDK. Many network protocol formats are supported, such as Ethernet, VLAN, QinQ, MAC-in-MAC, MPLS and PBB. In addition, tunnel protocol processing is supported for overlay-type networking with GRE, VxLAN and GTP. Lagopus can run on Intel x86 servers and virtual machine.

scaleway-cli - :computer: Manage BareMetal Servers from Command Line (as easily as with Docker)

  •    Go

Interact with Scaleway API from the command line.Read the blog post.

guide - Kubernetes clusters for the hobbyist.

  •    

The tinkerers of today are the leaders of tomorrow. This guide answers the question of how to setup and operate a fully functional, secure Kubernetes cluster on a cloud provider such as Hetzner Cloud, DigitalOcean or Scaleway. It explains how to overcome the lack of external ingress controllers, fully isolated secure private networking and persistent distributed block storage.

pystun - A Python STUN client for getting NAT type and external IP

  •    Python

A Python STUN client for getting NAT type and external IP. PyStun follows RFC 3489, A server following STUN-bis hasn't been found on internet so RFC3489 is the only implementation.

ice4j - A Java implementation of the ICE protocol

  •    Java

The Interactive Connectivity Establishment (ICE) protocol combines various NAT traversal utilities such as the STUN and TURN protocols in order to offer a powerful mechanism that allows Offer/Answer based protocols such as SIP and XMPP to traverse NATs. This project provides a Java implementation of the ICE protocol that would be usable by both SIP and XMPP applications. The project also provides features such as socket sharing and support for Pseudo TCP.

esp_wifi_repeater - A full functional WiFi Repeater (correctly: a WiFi NAT Router)

  •    C

This is an implementation of a WiFi NAT router on the esp8266 and esp8285. It also includes support for a packet filtering firewall with ACLs, port mapping, traffic shaping, hooks for remote monitoring (or packet sniffing), an MQTT management interface, and power management. For a setup with multiple routers in a mesh to cover a larger area a new mode "Automesh" has been included https://github.com/martin-ger/esp_wifi_repeater#automesh-mode . NEW feature: OTA update support - see https://github.com/martin-ger/esp_wifi_repeater#ota-over-the-air-update-support .

SharpUPnP

  •    DotNet

SharpUPnP is an attempt to create an UPnP library for .NET, mainly focused on functionalities that are related with NAT devices and NAT traversal behavior. The goal of this project is to offer developers a managed-code alternative to the COM Library that is shipped with Windows.

Easy as NAT -Open WiFi Bandwidth Sharing

  •    Java

Our aim is providing fixed nodes with redundancy, share unused bandwidth, and create hotspots with base services(web,email,IM,etc.) for any roaming user. GOAL - To make sharing your excess bandwidth as easy as setting up a NAT (Or XP ICS). Admins Needed!

NStun

  •    

A native C# implementation of the RFC 3489 Internet Draft. Simple Traversal Underneath Network Address Translators (NAT)

Extended WCF Discovery

  •    

Extend the WCF discovery to support: 1. Service publish its real service address - such as external IP when service is behind NAT 2. Client discovery over any network topology (behind NAT) Also (in the roadmap): Binding discovery-clients will receive the binding from the s...






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.