'primary address' 对接口意味着什么
What does the 'primary address' mean about the interface
接口主地址是什么意思?在我看来,一个接口只有一个地址。这样对吗?
不,您可以为接口分配额外的 "secondary" 或 "alias" 地址。
例如,这个接口有 3 个地址。主要是“127.0.0.1”。
# ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33648
inet 127.0.0.1 netmask 0xff000000
inet alias 192.168.1.200 netmask 0xffffffff
inet alias 192.168.140.200 netmask 0xffffffff
这意味着该接口可以接受发往这三个地址的数据包。它还可以使用所有这三个作为源地址发送,但正如 Unix 网络编程 所说,您需要专门绑定到辅助地址,因为默认情况下它将使用主地址。
您为什么要这样做?一些原因是:
- 您正在更改计算机的 IP 地址并希望接受流量
一段时间内的旧地址(比如等待 DNS 更改
传播)。
- 您正在使用 anycasting 或其他 High-Availability 技术,其中每个
机器有自己的地址,并且有一个 "service address" 可以
从一台机器移动到另一台机器。
- 您的机器正在充当路由设备。
接口主地址是什么意思?在我看来,一个接口只有一个地址。这样对吗?
不,您可以为接口分配额外的 "secondary" 或 "alias" 地址。 例如,这个接口有 3 个地址。主要是“127.0.0.1”。
# ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33648
inet 127.0.0.1 netmask 0xff000000
inet alias 192.168.1.200 netmask 0xffffffff
inet alias 192.168.140.200 netmask 0xffffffff
这意味着该接口可以接受发往这三个地址的数据包。它还可以使用所有这三个作为源地址发送,但正如 Unix 网络编程 所说,您需要专门绑定到辅助地址,因为默认情况下它将使用主地址。
您为什么要这样做?一些原因是:
- 您正在更改计算机的 IP 地址并希望接受流量 一段时间内的旧地址(比如等待 DNS 更改 传播)。
- 您正在使用 anycasting 或其他 High-Availability 技术,其中每个 机器有自己的地址,并且有一个 "service address" 可以 从一台机器移动到另一台机器。
- 您的机器正在充当路由设备。