Answers:
不幸的是,不,您不正确。
罗恩指出,您没有提供子网掩码,因此,如果我们假设使用有类掩码,则10.xxx地址将具有255.0.0.0掩码,这实际上会将两台主机放在同一网络上。如果是这样,他们将毫无问题地交流。
但是,考虑到问题的性质,我想您打算让这些主机中的每一个使用较小的掩码-我们将继续使用255.255.255.0,它将这两个主机置于两个不同的子网中。
话虽如此,您缺少的核心在于忘记ARP(地址解析协议)。具体来说,HostA决定使用谁来进行ARP。让我解释...
在任何主机将任何数据包放入网络之前,它要做的第一件事就是确定目标IP是在其自己的网络上还是在外部网络上。让我们从主机A的角度进行遍历。
主机A知道其IP(10.1.2.1)和其子网掩码(/ 24,或255.255.255.0)。通过少许子网划分,HostA可以确定其网络跨越10.1.2.0到10.1.2.255范围内的所有IP地址。 (我们将省略NetID和BroadcastIP的详细信息,因为它们暂时不相关)
主机A还知道其目标IP为10.1.3.1,它不在主机A自己的网络内的IP地址范围内。这样,主机A将得出以下结论:目标IP 10.1.3.1在外部网络上,并且主机A只能通过通过路由器讲话才能到达外部网络。更具体地说,是通过HostA的默认网关。
如果此时HostA尚未配置默认网关,则该过程将在此处结束,并出现一般故障。HostA无法与HostB通话。
如果主机A 在配置了默认网关,它会发出一个ARP请求(这本身就是一个广播帧),询问其默认网关的MAC地址- 不是最终的目的地IP的MAC地址。
接收到广播帧的交换机会将数据包泛洪到所有接口上,以包括一个HostB连接到的接口。HostB确实会收到该数据包,但是由于ARP正在查找默认网关的MAC地址(而不是HostB的MAC地址),因此HostB会丢弃并忽略ARP请求,而不会发送任何形式的响应。
这样,HostA将永远不会收到其默认网关的MAC地址,因此将无法封装带有第2层标头的第3层数据包。数据包将在那里失败。
您可以看到此视频中说明的ARP过程。
就是说,尽管与您的问题有些无关,但我确实想对您说的话说话。这可能是术语上的细微差别,但我只是想确保它可以传达。开关仅做两两件事: 转发帧为它知道目的MAC地址,或洪水帧为它不知道目的MAC地址。 交换机从不广播。
一个广播是一个框架谁的目的MAC地址ffff.ffff.ffff
。这是一个专门保留的MAC地址,专门用于广播帧。当交换机遇到发往ffff.ffff.ffff的帧时,其行为是始终淹没该帧。
您可以这样看,因为ffff.ffff.ffff是保留的MAC地址,因此交换机无法学习。因此,每当交换机收到发往ffff.ffff.ffff的内容时,就会被迫将其泛洪到最初接收该帧的VLAN中的所有端口中。