-
Notifications
You must be signed in to change notification settings - Fork 280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for ip6zone protocol in quic transport #634
Comments
The biggest questions will resolve around how these addresses should be handled when they are transferred to other peers. ListeningWhen listening on an address like this, we should just listen on the specified This seems trivial 👍 Interaction with protocolsKademliaSince addresses known to Kademlia are shared with peers in potential different network configurations these addresses are not useful. How should that be handled? Should we just strip the address of the I would consider this the biggest question ❓ IdentifyDifferent to Kademlia, it might be good to care about From where I stand, this seems pretty clear, but there might be pitfalls. ☑️ AutoNAT (v2)These questions are kind of adjacent to the Kademlia ones. How should servers and clients handle these addresses? |
I'm not too familiar with IPv6 Zone Identifiers, so I'd have to spend more time researching here to form a strong opinion. However, RFC 6874 says:
Which would lead me to think that at the very least, we should not be sending multiaddrs with |
It would be great, if
quic
(and maybe other transports as well) had support for theip6zone
protocol, so that it supports multiaddresses like these:This would enable usage of libp2p on local networks without any IP address assignment by utilizing the inherent link-local addresses of the peers. Currently, this isn't possible, because the Unix socket API requires the
scope_id
of asocket_addr
to be set to the index of the network interface which should be used to talk to link-local IP addresses, but no libp2p transport supports this.Ideally, quic would support interface indices and on Unix systems additionally network interface names as the value of
ip6zone
.I have a working prototype of this over at the rust implementation: libp2p/rust-libp2p#5609
The text was updated successfully, but these errors were encountered: