我有一个服务器与多个IP地址创build的操作系统。 系统中只有一个网卡,一个mac与第一个IP相关联。 技术上在这里做什么? networking如何看到这些地址?
在本地(以太网)networking中,您的网卡只会为其分配的每个IP地址回答ARP请求,因此其MAC地址与多个IP相关联。 由于MAC地址是以太网物理层上的所有数据,这就足够了。 从本地networking外部,网关路由器将接收代表其特定子网中的所有IP的数据包,然后将其转发到适当的机器,再次使用具有ARP请求和所有的以太网的物理层。
您可以根据每个网卡拥有尽可能多的IP地址。 IP位于比MAC地址更高的networking层。
您的MAC地址不与任何IP地址“关联”。 您的MAC地址与您的网卡相关联。
如果你打开一个命令提示符,inputipconfig /all
将列出所有的networking信息,这可能会有所帮助。 该列表将是每个网卡。
当networking上的计算机想要find你的服务器时,它会发出一个广播请求,说:“大家好,谁有这个IP地址? 你的服务器会回复“我确实可以在这个MAC地址find我”。 因为这样工作,没有什么能阻止你的服务器回答多个IP地址。
一个IP地址就是一个标签 – 当一个网卡看到的是一个IP地址(标签)或者一个广播地址(另一个标签)的数据包时,它会把它从networking上截获并发送到IP协议栈。 它可以听多个。
如果你想了解更多细节,请阅读OSI模型,特别是1-3层。
编辑 – 我提出了一点不正确,事实certificate。 我真的描述了ARP和MAC地址的情况。 所以,我想这已经有一段时间了,因为我自己花了很多时间在第3层以下。
一个有趣的侧面说明,至less对我来说。
我们用新硬件取代了防火墙,在互联网上的接口上有大约20个附加地址。
交换后,我们只能到达防火墙的主要IP,而不是额外的别名。
我们检查了所有我们能想到的,检查所有的configuration,确保它在那里。
最后,别名具有某种较低的重要性,如果你引入一个具有相同别名的新NIC,networking上的其他设备不一定会切换。
这恰好是当时的凌晨3点,我们的防火墙连接到的路由器不是我们的,所以我们无法重新启动ARPcaching,也无法通过物理访问来重启它。
我想出了将每个IP设置为网卡上的主IP的一个接一个的想法,把它启动,让它更新路由器的ARPcaching,然后继续下一步。 这样做后,他们作为别名IP。