Peer Exchange
Peer Exchange Reactor (PEX)确保与好的peers进行连接和通信
Peer类型
- persistent peer
长期保持通信的peer,连接失败可自动重拨
- private peer
私有peer,无需添加到address book,并且不能传播给其它peer
发现(Discovery)
启动时,先连接persistent_peers,如果连接失败,会每隔5s进行重拨几分钟。
如果peer数量小于MaxNumOutboundPeers
,将会定期请求自己拥有的peer,如果还是不能有足够的数量,则再次尝试seeds(seeds是固定peers信息,用于开始启动连接)。
监听(Listening)
peers在可配置的ListenAddr地址监听,并在与其它节点握手时,将监听地址、端口信息保存在NodeInfo信息内。
接受的MaxNumInboundPeers
数量的peers
地址簿(Address Book)
- peers通过NodeID(公钥地址)进行追踪
- 其它peers连接我们或我们连接其它peers都将记录在address book中
- address book 将被分配在一系列桶(buckets)中,并且区分新旧peers,通过IP组来归类
- 添加一个新的peer,如果没有空间,会从桶中移除有问题的peer,来生成一个新空间
网友评论