-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added short introduce about network, algorithm (#25)
* added short introduce about network, algorithm
- Loading branch information
Showing
7 changed files
with
1,246 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,37 @@ | ||
[![Rust](https://github.com/8xFF/decentralized-sdn/actions/workflows/rust.yml/badge.svg)](https://github.com/8xFF/decentralized-sdn/actions/workflows/rust.yml) | ||
[![codecov](https://codecov.io/gh/8xFF/decentralized-sdn/graph/badge.svg?token=P8W3LUA0EV)](https://codecov.io/gh/8xFF/decentralized-sdn) | ||
|
||
# Bluesea SDN v4: Code name: Pacific Ocean | ||
# Planet Scale Ultra Low Latency SDN written in Rust | ||
|
||
4.0 version be created with main goals: | ||
This project is a planet-scale ultra-low latency Software-Defined Networking (SDN) system. It is designed to support applications such as streaming, Internet of Things (IoT), Virtual Private Networks (VPN), Proxies, and more. The goal of this project is to provide a network infrastructure that can deliver high-quality services with minimal latency, similar to what Cloudflare achieves for their network. | ||
|
||
- Separated satellite with network operation, only take role in create node_id | ||
- Node neighbours is detect with Kademlia DHT k-bucket table, and selected based on RTT or something else .. | ||
## Features | ||
|
||
* **Performance and Scalability**: The project is built with a focus on performance and scalability. It utilizes advanced techniques and technologies to ensure ultra-low latency, even at a planet-scale. This includes efficient routing algorithms, load balancing strategies, and network optimization techniques. | ||
* **Modularity and Flexibility**: The project is designed to be highly modular and flexible, allowing it to be adapted to various use cases. It supports a wide range of applications, including but not limited to streaming, IoT, VPN, and Proxies. | ||
* **Open Source**: The project is open-source, meaning that it is freely available for anyone to use, modify, and distribute. This not only encourages community involvement and collaboration but also allows users to adapt the project to their specific needs. | ||
* **Smart-routing**: The "Smart-routing" feature employs a decentralized algorithm that operates on each node, eliminating the need for a centralized controller. This approach enhances the network's adaptability and responsiveness, ensuring efficient and high-quality service delivery. The algorithm uses a heuristic method to optimize routing based on the current network conditions like (latency, bandwidth, packet loss, hops), making it particularly effective in dynamic network environments. | ||
|
||
## Project structs | ||
## Why Rust | ||
|
||
Project is splited to Core and runner, each core is independed with any other parts | ||
We chose Rust for this project due to its exceptional performance and safety features. Rust is a system programming language that guarantees thread safety without needing a garbage collector. It provides low-level control over system resources, making it ideal for system-level tasks, such as implementing a high-performance networking system. | ||
|
||
Core: | ||
- Transport: Working with data transfer, which take role in sending, receiving data, deal with Packet loss and measure quality of Connection | ||
- RPC: Working with request response | ||
- Kademlia: implement kademlia k-bucket logic | ||
- Router: Bluesea routing table for archiving ultra-low-latency goal | ||
- Service: Bluesea service based and helpers | ||
## Applications | ||
|
||
Service: | ||
- KeyValue | ||
- Pubsub | ||
- Storage | ||
.... | ||
The project has been tested and proven to work effectively in real-world scenarios. It has been used in various applications, including but not limited to streaming, IoT. These applications have all benefited from the ultra-low latency provided by the project. | ||
|
||
Runner: this is combine all parts to a working node | ||
## Contributing | ||
|
||
The project is continuously being improved and updated. We are always looking for ways to make it better, whether that's through optimizing performance, adding new features, or fixing bugs. We welcome contributions from the community and are always looking for new ideas and suggestions. | ||
|
||
## Getting Started | ||
|
||
To get started with the project, you can visit our GitHub repository and explore the codebase. We provide detailed documentation to help you understand how the project works and how to use it. If you have any questions or need assistance, feel free to reach out to us. | ||
|
||
## License | ||
|
||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. | ||
|
||
## Acknowledgments | ||
|
||
We would like to thank all the contributors who have helped in making this project successful. |
Empty file.
Oops, something went wrong.