Skip to content

Why are 0.0.0.0/8 and ::/128 are included? #10

Pinned Answered by daenney
daenney asked this question in Q&A
Discussion options

You must be logged in to vote

I spent a bit of time digging into whether 0.0.0.0/8 and ::/128 could be removed from the list. Turns out we can't, because they actually go places we don't want them to go.

Connecting to either of 0.0.0.0 and [::] works. The addresses aren't valid destination addresses and as such sending it out of this machine wouldn't be valid and the OS should ensure that doesn't happen. In the case of Linux at least, this results in localhost being copied into the destination address instead, resulting in it being functionally equivalent to 127.0.0.1 or ::1 and the packet being sent out through the loopback interface. As such, if a DNS lookup of a name would return 0.0.0.0 for an A-record or :: for A…

Replies: 1 comment 1 reply

Comment options

daenney
Dec 2, 2022
Maintainer Author

You must be logged in to vote
1 reply
@daenney
Comment options

daenney Dec 3, 2022
Maintainer Author

Answer selected by daenney
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant