由,只要每段通信成功的经过了数据链路层。可以说通信本来是没有任何限制的,只是 ip 从逻辑上(网络层)加以了约束。而其中网络地址是其第一逻辑约束。任何一项针对 ip 的数据发送首先是经过本地网络层的抉择:是丢弃、直接发送还是间接发送。之所以有这样三种选择实际上是先一步在本地作出判断: ①“目标 ip 地址和自己在不在同一网络”其判断的依据由于不知道对方掩码所以只能是自己的子网掩码分别和目标 ip 、源 ip 按位与来进行比较。②相同,否则⑦③检查本地 arp 列表,有相应 mac 地址记录则⑥,否则④④发送 arp request ⑤收到 arp reply 得到的目的 mac 地址,执行⑥,否则⑧⑥将目的 mac 地址写入待发帧并发送数据⑦将网关 mac 地址写入待发帧并发送数据,通过路由转发(间接发送)。若网关无法路由到达则就地丢弃并发出 icmp 通知不可到达。⑧直接丢弃,返回目标不存在其中⑦最终是否能最终到达目标结点还要在每个每个网段网关执行①~⑦( 2 )关于“\\ 主机名”与“\\ip ”的区别运行\\ 主机名时直接使用 bios 检查缓存或广播发出 bios 请求解析目的 mac 地址,该广播是完全物理地址意义上的广播,如果在广播范围内(物理阻隔或路由隔绝)找到主机,主机单播以回应否则报告目标不存在。 bios 是绝对不会跨路由的( rfc1542 标准的路由器,可设置成允许 dhcp 的广播数据通过,仅是一个特例)。因此不论是 vlan 还是 lan 只要广播可以到达的地方就是 bios 的作用范围,完全与 ip 是否处在同一网络无关。解析出目的 mac 就可以看到浏览服务提供的共享资源了。\\ip 则是完全不同的过程,是根据 arp 原理(前面已经有详细讲述)解析出 mac 地址的,因此会受到逻辑网段的限制。然后再通过 mac 地址访问目的主机的浏览服务。