http://www.7klian.com

更通用的P2P网络协议栈——Libp2p

数据传输认真节点间数据的流转。为了支持各类异构的网络设备互连,Libp2p焦点要求之一就是传输层不行知,Libp2p支持差异的传输层协议,譬喻TCP、UDP、QUIC等。在传输层成立毗连后还需要思量网络数据的隐私安详,Libp2p对传输通道加密,节点间通过加密通道举办通信。为了高效传输数据,Libp2p支持对毗连举办多路流复用从而支持节点间多个并发畅通信。
· 数据传输
Libp2p作为网络协议栈,主要办理两个问题:
TCP/IP传输协议“multiaddr”的描写如下:
Libp2p是如何办理数据传输问题的
Libp2p应用措施凡是会在节点之间打开很多独立的通信流,而且大概会与某个长途节点同时打开多个并发流。多路流复用答允与长途节点成立一次毗连即可完成整个生命周期的数据收发,同样只需要处理惩罚一次NAT操纵,,因为和同一个长途节点所有的流都共享沟通的底层传输毗连。在设置Libp2p时,会启用流复用模块,Swarm将在拨号长途节点和侦听毗连时利用它们。假如长途节点支持沟通的多路流复用实现,则Swarm将在成立毗连时选择并利用它;假如拨号Swarm已经与之成立毗连的长途节点,则新建流将自动在现有毗连长举办多路复用。

多路流复用
以上进程在节点间成立了毗连,Libp2p是如何担保传输数据隐私的?这里以TCP协议为例举办展开先容。

Network接口是Libp2p对外提供处事的接口,Swarm是Network接口的详细实现。Libp2p在Swarm中维护现有毗连的状态,维护支持的传输层协议。Swarm通过以下操纵支持多传输协议:

Libp2p是什么?

以上为TCP收到一个长途节点毗连请求的挪用流程,主动拨号长途节点挪用进程雷同。这里利用secio包的runHandshakeSync函数对毗连举办加密。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读