mpconn

A flexible multi connectivity tunneling program

https://github.com/drblah/mpconn

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A flexible multi connectivity tunneling program

Basic Info
  • Host: GitHub
  • Owner: drblah
  • License: bsd-2-clause
  • Language: Rust
  • Default Branch: master
  • Size: 160 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 2
  • Open Issues: 2
  • Releases: 3
Created almost 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

mpconn

mpconn aims to be a flexible multi connectivity tunneling program, which supports both layer 2 and 3 tunneling over several transport protocols.

What is multi connectivity?

Multi connectivity is the act of using two or more network paths in order to improve reliability and/or latency. Multi connectivity is especially useful when operating over an inherently unreliable physical layer such as wireless networks. The simplest form of multi connectivity is packet duplication, where each network packet is duplicated and a copy is transmitted over each available physical link. By doing this, it is possible to take advantage of the fact that negative network conditions are often uncorrelated across the various network layers.

Current implemented features

  • Layer 2 tunneling (Ethernet over transport layer)
  • Layer 3 tunneling (IP over transport layer)
  • UDP Remote transport
  • Multi connectivity via packet duplication on multiple network interfaces

Installation

To install mpconn, you need the Rust toolchain with Cargo and libpcap.

Ubuntu

apt-get install libpcap-dev The easiest way to get Rust is to install it using rustup from https://rustup.rs/

Usage

Each endpoint needs a host configuration. This configuration involves one or more remote endpoints to tunnel between, which Remote transport protocol to use and which layer to tunnel. Examples can be found in the testtools directory along with bash scrpts for setting up network namespace based testing environments. On each endpoint, run ./mpconn --config <host-config>.json To get additional logging run it with the RUSTLOG environment variable RUST_LOG=debug ./mpconn --config <host-config>.json

Todo

  • QUIC Remote transport
  • Packing
  • Combine compression and packing
  • Gateway management protocol

Owner

  • Name: Sebastian Damsgaard
  • Login: drblah
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you like this software, and find it useful, please cite it as below."
authors:
- family-names: "Bro Damsgaard"
  given-names: "Sebastian"
  orcid: "https://orcid.org/0000-0002-0078-8673"
- family-names: "Suhr Mogensen"
  given-names: "Rasmus"
  orcid: "https://orcid.org/0000-0002-8566-7917"
title: "mpconn - The open source multi-path connectivity tool"
url: "https://github.com/drblah/mpconn"

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 2
  • Total pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: 18 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.14
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • drblah (2)
Pull Request Authors
  • drblah (5)
  • melisalopezz (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

Cargo.toml cargo