Difference between revisions of "Networking"
(Created page with "== Networking designs == === Rust async === === Preventing server overload ===") |
|||
(24 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | The page contains technical content relevant for the scope of the application level networking components. | |
− | == | + | == HTTP(s) Endpoints == |
+ | Documentation about replica components that open listening sockets, so NNS managed nodes can | ||
+ | communicate with replica nodes can be found in [https://gitlab.com/dfinity-lab/public/ic/-/tree/master/rs/http_endpoints rs/http_endpoints/README.adoc] | ||
− | === | + | == Networking Adapters == |
+ | Networking adapters are processes on the ReplicaOS that run next to the main replica process and can issue outgoing calls to the internet. The intent of an adapter is to serve as proxy which sanitises data received externally. Networking adapters are used by [[Bitcoin integration]] and [[HTTPS outcalls]] features. <br> | ||
+ | The main replica process uses [https://docs.rs/tonic/latest/tonic/transport/index.html gRPC] for communicating with the co-located adapters via Unix domain sockets. | ||
+ | |||
+ | == NNS Managed Firewall Configuration == | ||
+ | |||
+ | The IC uses [https://en.wikipedia.org/wiki/Nftables nftables] to restrict outgoing and incoming connectios on each IC node. The registry contains relevant topology information which the IC uses to derive nftables rules. | ||
+ | |||
+ | == Rust == | ||
+ | |||
+ | === Crates === | ||
+ | The following crates are heavily used by the networking components<br> | ||
+ | [https://docs.rs/tokio/latest/tokio/ tokio], [https://docs.rs/tower/latest/tower/ tower], [https://docs.rs/hyper/latest/hyper/ hyper], [https://docs.rs/tonic/latest/tonic/ tonic] | ||
+ | |||
+ | ==See Also== | ||
+ | * '''The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]''' |
Latest revision as of 20:02, 23 January 2023
The page contains technical content relevant for the scope of the application level networking components.
HTTP(s) Endpoints
Documentation about replica components that open listening sockets, so NNS managed nodes can communicate with replica nodes can be found in rs/http_endpoints/README.adoc
Networking Adapters
Networking adapters are processes on the ReplicaOS that run next to the main replica process and can issue outgoing calls to the internet. The intent of an adapter is to serve as proxy which sanitises data received externally. Networking adapters are used by Bitcoin integration and HTTPS outcalls features.
The main replica process uses gRPC for communicating with the co-located adapters via Unix domain sockets.
NNS Managed Firewall Configuration
The IC uses nftables to restrict outgoing and incoming connectios on each IC node. The registry contains relevant topology information which the IC uses to derive nftables rules.
Rust
Crates
The following crates are heavily used by the networking components
tokio, tower, hyper, tonic
See Also
- The Internet Computer project website (hosted on the IC): internetcomputer.org