3 ms·
> IPv6 chose to have addresses on the interface connecting to the network instead of having addresses on the node. In contrast to IPv4, IPv6 supports multiple a
by blueflow 2y ago
> IPv6 chose to have addresses on the interface connecting to the network instead of having addresses on the node. In contrast to IPv4, IPv6 supports multiple addresses on an interface, where each of the address has different properties.
IP Addresses were always interface-bound. And you always could have multiple addresse on the same interface. Your IPv4 loopback device has 2^24 addresses bound to it right in this moment. Do ping on 127.12.34.56 and you will see.
- zorked 2y agoHaving several IPv4 addresses per physical interface is a bit of an extension. It is called IP aliasing in Linux and it wasn't always there.
- blueflow 2y agoSince when is it there? Because i had interfaces with both v4 link-local and DHCPv4 addresses since i can remember.
- MadVikingGod 2y agoThe early 90s. I remember a time when you got one address, and found out they could have multiple. It was like black magic.
- deleted 2y ago[deleted]
- cryptonector 2y agoIPv4 itself doesn't say anything about how many addresses you could have on an interface, not that I recall.
- parliament32 2y agoNot quite. The kernel documentation notes that IP aliasing was the original way to have multiple IPs per interface, but is now obsolete, as multiple IPs are directly supported now (and by "now" I mean 2009-ish, with the introduction of iproute2): https://docs.kernel.org/networking/alias.html https://docs.kernel.org/networking/alias.html In addition, the manpage for ip-address makes this clear: > The address is a protocol (IP or IPv6) address attached to a network device. Each device must have at least one address to use the corresponding protocol. It is possible to have several different addresses attached to one device. These addresses are not discriminated, so that the term alias is not quite appropriate for them and we do not use it in this document. https://linux.die.net/man/8/ip https://linux.die.net/man/8/ip
- Hikikomori 2y agoPING 127.12.34.56 (127.12.34.56): 56 data bytes Request timeout for icmp_seq 0 There's also ip unnumbered where an interface can reuse ip from one interface (typically from loopback) on other interfaces.
- blueflow 2y agoYou changed your interface to not implement RFC 5735: 127.0.0.0/8 - This block is assigned for use as the Internet host loopback address. A datagram sent by a higher-level protocol to an address anywhere within this block loops back inside the host. This is ordinarily implemented using only 127.0.0.1/32 for loopback. -- https://datatracker.ietf.org/doc/html/rfc5735#section-3 https://datatracker.ietf.org/doc/html/rfc5735#section-3 An ICMP Ping is a datagram in the sense of the second sentence.
- Hikikomori 2y agoNo, I'm just on a mac. Also: This is ordinarily implemented using only 127.0.0.1/32 for loopback.
- cryptonector 2y agoOn Linux it has a larger netmask and you can have multiple loopback addresses.
- ArchOversight 2y agoOn MacOS it has a larger net mask, but the OS doesn't respond to any address within that range automatically. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP> inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 nd6 options=201<PERFORMNUD,DAD>