everip - The Elastic Versatile Encrypted Relay for IP (EVER/IP) Networking Suite

  •        82

EVER/IP is a new way to think about building the Internet. When the Internet was first developed in the 1980s, there was limited computational power to route millions of messages per second. The solution that the godfathers of the Internet introduced was a prefix-based memory-bound routing table design that requires very expensive custom ASIC and memory to operate at scale. Fast-forward three decades, EVER/IP is the first kind of routing software that does not require memory expensive routing tables, but instead uses the CPU to calculate forwarding direction based entirely on local information.




Related Projects

cjdns - An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing

  •    Assembly

Cjdns implements an encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing. This provides near-zero-configuration networking, and prevents many of the security and scalability issues that plague existing networks. The cjdns developers.

B.A.T.M.A.N. - routing protocol for multi-hop ad-hoc mesh networks

  •    C

B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing protocol for multi-hop ad-hoc mesh networks.

maesh - Simpler Service Mesh

  •    Go

Maesh is a simple, yet full-featured service mesh.. It is container-native and fits as your de-facto service mesh in your Kubernetes cluster. It supports the latest Service Mesh Interface specification SMI that facilitates integration with pre-existing solution. Moreover, Maesh is opt-in by default, which means that your existing services are unaffected until you decide to add them to the mesh. Maesh does not use any sidecar container but handles routing through proxy endpoints running on each node. The mesh controller runs in a dedicated pod and handles all the configuration parsing and deployment to the proxy nodes. Maesh supports multiple configuration options: annotations on user service objects, and SMI objects. Not using sidecars means that Maesh does not modify your kubernetes objects, and does not modify your traffic without your knowledge. Using the Maesh endpoints is all that is required.

NS 3 - Network Simulator

  •    C

Ns is a discrete event simulator targeted at networking research. Ns provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless (local and satellite) networks.

kiali - Kiali project, observability for the Istio service mesh

  •    Go

A Microservice Architecture breaks up the monolith into many smaller pieces that are composed together. Patterns to secure the communication between services like fault tolerance (via timeout, retry, circuit breaking, etc.) have come up as well as distributed tracing to be able to see where calls are going. A service mesh can now provide these services on a platform level and frees the application writers from those tasks. Routing decisions are done at the mesh level.

kuma - The Universal Service Mesh

  •    Go

Kuma is a platform agnostic open-source control plane for Service Mesh and Microservices. It can run and be operated natively across both Kubernetes and VM environments, making it easy to adopt by every team in the organization. Bundling Envoy as a data-plane, Kuma can instrument any L4/L7 traffic to secure, observe, route and enhance connectivity between any service or database. It can be used natively in Kubernetes via CRDs or via a RESTful API across other environments like VMs and Bare Metal.

Byzantium - Configs and code for Project Byzantium.

  •    C

Project Byzantium, a working group of HacDC (http://hacdc.org/) is proud to announce the release of v0.5 beta of Byzantium Linux, a live distribution of Linux which makes it fast and easy to construct an ad-hoc wireless mesh network which can augment or replace the existing telecommunications infrastructure in the event that it is knocked offline (for example, due to a natural disaster) or rendered untrustworthy (through widespread surveillance or disconnection by hostile entities). This release was developed in the days following Hurricane Sandy, and was perfected while the core development team was assisting with disaster relief efforts in the Red Hook neighborhood of New York City in November of 2012. Byzantium Linux is designed to run on any x86 computer with at least one 802.11 a/b/g/n wireless interface. Byzantium can be burned to a CD- or DVD-ROM (the .iso image is a bit over 370 megabytes in size), booted from an external hard drive, or can even be installed in parallel with an existing operating system without risk to the user's data and software. Byzantium Linux will act as a node of the mesh and will automatically connect to other mesh nodes and act as an access point for wifi-enabled mobile devices. This release of Byzantium Linux also incorporates seamless interoperability with mesh networks constructed using the Commotion Wireless (https://commotionwireless.net/) firmware.

alternative-internet - A collection of interesting new networks and tech aiming at decentralisation (in some form)


A collection of interesting networks and technology aiming at re-decentralizing the Internet. If you would like to help in categorising these projects, please submit a PR to this README.md file. LibreMesh includes the development of several tools used for deploying libre/free mesh networks. The firmware (the main piece) allows simple deployment of auto-configurable, yet versatile, multi-radio mesh networks.

flagger - Istio and App Mesh progressive delivery Kubernetes operator

  •    Go

Flagger is a Kubernetes operator that automates the promotion of canary deployments using Istio or App Mesh routing for traffic shifting and Prometheus metrics for canary analysis. The canary analysis can be extended with webhooks for running acceptance tests, load tests or any other custom validation. Flagger implements a control loop that gradually shifts traffic to the canary while measuring key performance indicators like HTTP requests success rate, requests average duration and pods health. Based on analysis of the KPIs a canary is promoted or aborted, and the analysis result is published to Slack.

linkerd - Resilient service mesh for cloud native apps

  •    Scala

Linkerd is a transparent service mesh, designed to make modern applications safe and sane by transparently adding service discovery, load balancing, failure handling, instrumentation, and routing to all inter-service communication.linkerd (pronouned "linker-DEE") acts as a transparent HTTP/gRPC/thrift/etc proxy, and can usually be dropped into existing applications with a minimum of configuration, regardless of what language they're written in. It works with many common protocols and service discovery backends, including scheduled environments like Mesos and Kubernetes.

linkerd2 - Ultralight service mesh for Kubernetes

  •    Go

Linkerd2 is an ultralight service mesh, designed to make modern applications safe and sane by transparently adding service discovery, load balancing, failure handling, instrumentation, and routing to all inter-service communication. Linkerd2 (pronouned "linker-DEE-two") acts as a transparent HTTP/gRPC/thrift/tcp/etc proxy, and can be deployed alongside existing applications regardless of what language they're written in. It works with many common protocols and utilizes Kubernetes as a backend for service discovery.

Meshery - The service mesh management plane

  •    Javascript

Meshery is the multi-service mesh management plane offering lifecycle, configuration and performance management of service meshes and their workloads. Meshery manages the provisioning, configuration and operation your service mesh. While supporting different types of service meshes, Meshery also offers a simple way to explore each service mesh and compare them using bundled sample applications. Interoperate multiple service meshes with service mesh adapters provision, configure, and manage their respective service meshes.

Netgen Mesh Generator

  •    C++

NETGEN is an automatic 3d tetrahedral mesh generator. It accepts input from constructive solid geometry (CSG) or boundary representation (BRep) from STL file format. The connection to a geometry kernel allows the handling of IGES and STEP files. NETGEN contains modules for mesh optimization and hierarchical mesh refinement. Netgen is open source based on the LGPL license. It is available for Unix/Linux and Windows.

3dmatch-toolbox - 3DMatch - a 3D ConvNet-based local geometric descriptor for aligning 3D meshes and point clouds

  •    C++

Matching local geometric features on real-world depth images is a challenging task due to the noisy, low-resolution, and incomplete nature of 3D scan data. These difficulties limit the performance of current state-of-art methods, which are typically based on histograms over geometric properties. In this paper, we present 3DMatch, a data-driven model that learns a local volumetric patch descriptor for establishing correspondences between partial 3D data. To amass training data for our model, we propose an unsupervised feature learning method that leverages the millions of correspondence labels found in existing RGB-D reconstructions. Experiments show that our descriptor is not only able to match local geometry in new scenes for reconstruction, but also generalize to different tasks and spatial scales (e.g. instance-level object model alignment for the Amazon Picking Challenge, and mesh surface correspondence). Results show that 3DMatch consistently outperforms other state-of-the-art approaches by a significant margin. This code is released under the Simplified BSD License (refer to the LICENSE file for details).

BLEMeshChat - Bluetooth LE Mesh Chat for iOS and Android

  •    Objective-C

Bluetooth LE mesh chat prototype for iOS. Android version over here. There's still a lot of unsolved problems, but we're close to a working prototype. For more information about the current draft protocol, check out the Bluetooth LE Mesh Chat Spec wiki.

coolstore-microservices - :ferris_wheel: :sailboat: :ship: A containerized polyglot service mesh based on

  •    CSharp

The structure of README is inspired from GoogleCloudPlatform Demo. CoolStore is a containerised polyglot microservices application consisting of services based on .NET Core, NodeJS and more running on Service Mesh.

kubefwd - Bulk port forwarding Kubernetes services for local development.

  •    Go

Read Kubernetes Port Forwarding for Local Development for background and a detailed guide to kubefwd. kubefwd is a command line utility built to port forward some or all pods within a Kubernetes namespace. kubefwd uses the same port exposed by the service and forwards it from a loopback IP address on your local workstation. kubefwd temporally adds domain entries to your /etc/hosts file with the service names it forwards.

supergloo - The Service Mesh Orchestration Platform

  •    Go

SuperGloo, an open-source project to manage and orchestrate service meshes at scale. SuperGloo is an opinionated abstraction layer that will simplify the installation, management, and operation of your service mesh, whether you use (or plan to use) a single mesh or multiple mesh technologies, on-site, in the cloud, or on any topology that best fits you. SuperGloo helps users kick off their service mesh experience. Users who contemplate working with service mesh can be deterred by the many configuration choices they have to make. SuperGloo solves this problem by providing an opinionated API that automates the installation process, obviating the need for writing and deploying complicated yaml files.

Envoy - C++ front/service proxy

  •    C++

As on the ground microservice practitioners quickly realize, the majority of operational problems that arise when moving to a distributed architecture are ultimately grounded in two areas: networking and observability. It is simply an orders of magnitude larger problem to network and debug a set of intertwined distributed services versus a single monolithic application.

smi-spec - Service Mesh Interface

  •    Makefile

The Service Mesh Interface (SMI) is a specification for service meshes that run on Kubernetes. It defines a common standard that can be implemented by a variety of providers. This allows for both standardization for end-users and innovation by providers of Service Mesh Technology. It enables flexibility and interoperability. The goal of the SMI API is to provide a common, portable set of Service Mesh APIs which a Kubernetes user can use in a provider agnostic manner. In this way people can define applications that use Service Mesh technology without tightly binding to any specific implementation.