深入分析ARP协议的理论与实践毕业论(2)
2015-05-16 01:12
导读:在A上设置缺省网关,用arp -d命令清除A中的ARP表,在A上ping一台外网段的主机,如武汉热线(www.wuhan.net.cn 202.103.24.116),再用arp -a可观察到A的ARP表中只有缺省
在A上设置缺省网关,用arp -d命令清除A中的ARP表,在A上ping一台外网段的主机,如武汉热线(www.wuhan.net.cn 202.103.24.116),再用arp -a可观察到A的ARP表中只有缺省网关的MAC地址信息。
分析:当源主机要和外网段的主机进行通信时,它并不需要获取远程主机的MAC地址,而是把IP分组发向缺省网关,由网关IP分组的完成转发过程。如果源主机没有缺省网关MAC地址的缓存记录,则它会通过ARP协议获取网关
的MAC地址,因此在A的ARP表中只观察到网关的MAC地址记录,而观察不到远程主机的MAC地址
5 小结
(1)关于通常意义上“网络地址不同不能互相通信”的说明
深入的探讨发现,在计算机通信过程中无论是什么协议只要能顺利获得MAC地址就能正常通信,无论是否经过路由,只要每段通信成功的经过了数据链路层。可以说通信本来是没有任何限制的,只是IP从逻辑上(网络层)加以了约束。
而其中网络地址是其第一逻辑约束。任何一项针对IP的数据发送首先是经过本地网络层的抉择:是丢弃、直接发送还是间接发送。
之所以有这样三种选择实际上是先一步在本地作出判断:
①“目标IP地址和自己在不在同一网络”其判断的依据由于不知道对方掩码所以只能是自己的子网掩码分别和目标IP、源IP按位与来进行比较。
②相同,否则⑦
③检查本地arp列表,有相应MAC地址记录则⑥,否则④
④发送ARP request
⑤收到ARP reply得到的目的MAC地址,执行⑥,否则⑧
⑥将目的MAC地址写入待发帧并发送数据
⑦将网关MAC地址写入待发帧并发送数据,通过路由转发(间接发送)。若网关无法路由到达则就地丢弃并发出ICMP通知不可到达。
本文来自中国科教评价网
⑧直接丢弃,返回目标不存在
其中⑦最终是否能最终到达目标结点还要在每个每个网段网关执行①~⑦
(2)关于“\\主机名”与“\\IP”的区别
运行\\主机名时直接使用NetBIOS检查缓存或广播发出NetBIOS请求解析目的MAC地址,该广播是完全物理地址意义上的广播,如果在广播范围内(物理阻隔或路由隔绝)找到主机,主机单播以回应否则报告目标不存在。NetBIOS是绝对不会跨路由的(RFC1542标准的路由器,可设置成允许DHCP的广播数据通过,仅是一个特例)。因此不论是VLAN还是LAN只要广播可以到达的地方就是NetBIOS的作用范围,完全与IP是否处在同一网络无关。解析出目的MAC就可以看到浏览服务提供的共享资源了。
\\IP则是完全不同的过程,是根据ARP原理(前面已经有详细讲述)解析出MAC地址的,因此会受到逻辑网段的限制。然后再通过MAC地址访问目的主机的浏览服务。