我认为在java中,NetworkInterface是网卡的抽象。如果这是正确的,为什么一个NetworkInterface
包含多个InetAddress
?
例如我的macbook中的代码:
NetworkInterface en0 = NetworkInterface.getByName("en0");
Enumeration<InetAddress> adrs = en0.getInetAddresses() ;
while(adrs.hasMoreElements()){
InetAddress adr = adrs.nextElement();
System.out.println(adr.getHostAddress());
}
输出:
fe80:0:0:0:7a31:c1ff:feb7:a3a2%4
192.168.1.100
有两个地址,但我没有使用IPv6。
我的问题是,如何理解这两个概念?他们的关系是什么?
答案 0 :(得分:0)
为什么一个NetworkInterface包含多个InetAddress?
因为您可以配置具有多个地址的NIC。大约二十年来一直如此。
有人做了。也许你正在使用DHCP,它来自那里。我没有使用IPv6