我有以下情况:
Computer
(对于 Windows)具有单个以太网端口,配置如下 (*)DeviceA
,配置固定IP 192.168.254.254,单独连接到Computer
以太网电缆。它有效:我们可以在浏览器中连接设备的网络界面: http: //192.168.254.254
DeviceB
Computer
,配置固定IP 169.254.0.1,用以太网电缆单独连接到同一IP (当DeviceA未插入时)。
它有效:我们也可以连接设备的网络界面。注意:此 IP 169.254.xx.xx 位于 APIPA范围(自动专用互联网协议寻址)内。
现在,如果我将 和 都连接DeviceA
到DeviceB
交换机(Hirschmann Spider SL 20),该交换机连接到 的Computer
以太网端口,则:
DeviceA
作品DeviceB
不起作用(无法访问)我们可以看到Windows上的计算机网络适配器已经在适配器设置(菜单“属性”)中自动配置了192.169.xx.xx。
问题:如何通过交换机使计算机上的设备 A 和 B 都可用?
我认为使用交换机不会改变 IP 地址配置的任何内容。
使用交换机需要修改设备的静态IP配置是否正常?
(*) 配置:
改变情况的不是开关,而是 的存在
DeviceA
。最有可能发生的情况是:
当
DeviceA
存在时,通过 DHCP从 DeviceAComputer
接收 IP 地址 192.168.254.x/24 ,并认为自己位于 192.168.254.0/24 子网中。如果
DeviceA
不存在,Computer
则不会接收 DHCP 提供的信息,并通过 APIPA 自动配置 IP 地址 169.254.xx/16,并认为自己位于 169.254.0.0/16 子网中。本地子网(地址加“子网掩码”)告诉计算机哪些其他主机是“本地”或不是;即计算机如何确定是将任何给定数据包发送到路由器还是发送到设备本身。
当
Computer
具有 APIPA 地址并且位于 169.254.0.0/16 子网中时,它会将DeviceB
169.254.0.1 视为“本地”——通过 ARP 解析其以太网地址,并将数据包直接发送到 DeviceB 的 MAC 地址。当
Computer
具有 DHCP 地址并且位于 192.168.254.0/24 子网中时,它不会将 169.254.0.1 视为“本地”。如果 DHCP 租约提供了“默认网关”,计算机会将数据包发送到网关的MAC 地址(并且数据包会丢失,因为 DeviceA 不知道 169.254.0.1 应该在哪里,或者可能根本没有配置)完全转发数据包)。
如果没有提供“默认网关”,计算机就会放弃并报告“目标网络无法访问”。
为了解决这个问题,您可能需要同时配置两个
Computer
子网的地址。(不幸的是,在 Windows 上,这意味着两个地址都需要是静态的 - 它不能执行 DHCP+APIPA,甚至不能执行 DHCP+静态。)为此,您可以首先启用静态配置(选择“使用以下 IP 地址”),然后打开“高级...”并将计算机的地址/掩码添加到列表中。然后两个地址都应该显示出来,
ipconfig /all
并且计算机将理解这两个子网都是同一接口上的“本地”。插图(OP接受答案后提供):
(有时建议的另一个选项可能是继续对 192.168.254.x/24 地址使用 DHCP,但在计算机上添加静态路由,告诉它 169.254.0.0/16 实际上在本地可用;不幸的是,此类更改仅适用于一个方向 – 很可能的结果是
Computer
能够将数据包发送到DeviceB
,但设备仍然无法回复它们,因为从 DeviceB 的角度来看,计算机的地址仍然显示为非本地地址。)如果将“192.168.xx”设备连接到以太网端口,则意味着它被静态配置为 192.168.xx 设备,因此它并不完全是“获取”IP – 它已经拥有该 IP。
如果您连接“自动配置”设备,它不会凭空获得 192.168.xx 地址 - 只能从网络上充当 DHCP 服务器并提供该地址的另一台设备获得。
(不过,如果计算机设置为“自动配置”,但“备用配置”选项卡上有 192.168.xx,则仍算作静态配置。)
仅当计算机未配置 192.168.xx(意味着它使用 DHCP)并且网络没有 DHCP 服务器时,才会显示 APIPA 地址。