From @theobat on Sat Mar 11 2017 18:05:33 GMT+0000 (UTC)
As mentioned in the libp2p specs the protocols responsible for Addressing a machine or process is ip either v4 or v6. My questions are simple:
Is there any IP substitute or alternative in the current versions of go-ipfs or js-ipfs ?
It doesn’t seem to be the case given the libp2p link above and the multiaddress specs, but I remember a jbenet’s talk where he said ipfs was not even ip bound and I’m not really proficient in the current go ipfs implementation, perhaps network exchanges happen without using multiaddress ?
Is there a planned integration of any ip substitute for ipfs and for what purpose ?
The libp2p specs mention
Hidden addressing, like SDP, I didn’t find anything about that, perhaps Ipsec ?
Within the set of planned substitutes for IP (or merely alternatives), is there any of them that is non traceable (as far as we know) ? By traceable I mean any possibility to track the routers the protocol’s packets are supposed to use (or the ones it uses dynamically if not deterministic) and what are their use-cases/scopes ? IPv4 uses TTL, ipv6 uses Hop limit, Ipsec I don’t know yet…
I am asking because of my slow-going traceroute thinking. Just having the confirmation that any packet sent or received between two computers is traceable in the current ipfs versions would save me a lot of time !
As a side note: While referring to the actual responsibility of a protocol as opposed to its OSI layer is definitely a huge improvement in terms of education and understanding, it might be a good idea to keep some sort of responsibility name-space in multi-addresses… Perhaps this is just about grouping them by “roles” in the csv table, but it might also be a matter of validation like - is the multiaddress /ip4/127.0.0.1/ip4/1234 accepted in the multiaddress specs ? Nothing seems to forbid this, and yet it doesn’t mean anything to me.
Copied from original issue: https://github.com/ipfs/faq/issues/234