分析arp协议的理论与实践

上传人:j****9 文档编号:45448322 上传时间:2018-06-16 格式:DOC 页数:4 大小:40.50KB
返回 下载 相关 举报
分析arp协议的理论与实践_第1页
第1页 / 共4页
分析arp协议的理论与实践_第2页
第2页 / 共4页
分析arp协议的理论与实践_第3页
第3页 / 共4页
分析arp协议的理论与实践_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《分析arp协议的理论与实践》由会员分享,可在线阅读,更多相关《分析arp协议的理论与实践(4页珍藏版)》请在金锄头文库上搜索。

1、第 1 页 共 4 页分析协议的理论与实践分析协议的理论与实践邓邓永永辉辉摘摘 要:要:充分认识 ARP 的作用与工作过程有助于我们认识网络、理解 TCP/IP 体系的通信原理,从而指导我们分析网络中故障发生的原因以及采用有效的方法排查故障。 关键词关键词:网段;ARP 协议;RARP 协议; 充分认识 ARP 的作用与工作过程有助于我们认识网络、理解 TCP/IP 体系的通信原理,从而指导我们分析网络中故障发生的原因以及采用有效的方法排查故障。首先,子网掩码,网关与 ARP 协议的概念初学者往往难以一下子掌握。因此很有必要通过实验来帮助学员更加深入直观地了解子网掩码,网关与 ARP 协议的基

2、本概念与工作原理。1 子网掩码子网掩码(Subnet Mask) 子网掩码的主要功能是告知网络设备,一个特定的 IP 地址的哪一部分是包含网络地址与子网地址,哪一部分是主机地址。网络的路由设备只要识别出目的地址的网络号与子网号即可作出路由寻址决策,IP 地址的主机部分不参与路由器的路由寻址操作,只用于在网段中唯一标识一个网络设备的接口。 子网掩码使用与 IP 相同的编址格式,子网掩码为 1 的部分对应于 IP 地址的网络与子网部分,子网掩码为 0 的部分对应于 IP 地址的主机部分。将子网掩码和 IP 地址作“与”操作后,IP 地址的主机部分将被丢弃,剩余的是网络地址和子网地址。 2 网关网关

3、(Gateway) 在 Internet 中的网关一般是指用于连接两个或者两个以上网段的网络设备,通常使用路由器(Router)作为网关。 在 TCP/IP 网络体系中,网关的基本作用是根据目的 IP 地址的网络号与子网号,选择最佳的出口对 IP 分组进行转发,实现跨网段的数据通信。 3 ARP 协议协议(Address Resolution Protocol) 在以太网(Ethernet)中,一个网络设备要和另一个网络设备进行直接通信,除了知道目标设备的网络层逻辑地址(如 IP 地址)外,还要知道目标设备的第二层物理地址(MAC 地址)。ARP 协议的基本功能就是通过目标设备的 IP 地址,

4、查询目标设备的 MAC 地址,以保证通信的顺利进行。 第 2 页 共 4 页当一个网络设备需要和另一个网络设备通信时,它首先把目标设备的 IP 地址与自己的子网掩码进行“与”操作,以判断目标设备与自己是否位于同一网段内。如果目标设备在同一网段内,并且源设备没有获得与目标 IP 地址相对应的 MAC 地址信息,则源设备以第二层广播的形式(目标 MAC 地址为全 1)发送 ARP 请求报文,在 ARP 请求报文中包含了源设备与目标设备的 IP 地址。同一网段中的所有其他设备都可以收到并分析这个 ARP 请求报文,如果某设备发现报文中的目标 IP 地址与自己的 IP 地址相同,则它向源设备发回ARP

5、 响应报文,通过该报文使源设备获得目标设备的 MAC 地址信息。 如果目标设备与源设备不在同一网段,则源设备首先把 IP 分组发向自己的缺省网关(Default Gateway),由缺省网关对该分组进行转发。如果源设备没有关于缺省网关的 MAC信息,则它同样通过 ARP 协议获取缺省网关的 MAC 地址信息。 为了减少广播量,网络设备通过 ARP 表在缓存中保存 IP 与 MAC 地址的映射信息。在一次 ARP 的请求与响应过程中,通信双方都把对方的 MAC 地址与 IP 地址的对应关系保存在各自的 ARP 表中,以在后续的通信中使用。ARP 表使用老化机制,删除在一段时间内没有使用过的 IP

6、 与 MAC 地址的映射关系。 4 实验设计实验设计 我通过设计一个简单的实验来更深入直观地理解上述三个知识点所涉及的基本概念与原理。在实验中,我利用 ping 命令来检验主机间能否进行正常的双向通信。在“ping”的过程中,源主机向目标主机发送 ICMP 的 Echo Request 报文,目标主机收到后,向源主机发回 ICMP 的 Echo Reply 报文,从而可以验证源与目标主机能否进行正确的双向通信。 A 与 B 为实验用的 PC 机,使用 Windows2000 Professional 作操作系统。 实验方案: 步骤 1: 设置两台主机的 IP 地址与子网掩码: A: 192.1

7、68.1.130 255.255.255.0 B: 192.168.1.125 255.255.255.0 两台主机均不设置缺省网关。 用 arp -d 命令清除两台主机上的 ARP 表,然后在 A 与 B 上分别用 ping 命令与对方通信,在 A 与 B 上分别显示, A: Reply from 192.168.1.125: bytes=32 time10ms TTL=128 B: Reply from 192.168.1.130: bytes=32 time10ms TTL=128 用 arp -a 命令可以在两台 PC 上分别看到对方的 MAC 地址。 分析:由于主机将各自通信目标的

8、IP 地址与自己的子网掩码相“与”后,发现目标主第 3 页 共 4 页机与自己均位于同一网段(192.168.1.0),因此通过 ARP 协议获得对方的 MAC 地址,从而实现在同一网段内网络设备间的双向通信。 步骤 2: 将 A 的子网掩码改为:255.255.255.128,其他设置保持不变。 操作 1:用 arp -d 命令清除两台主机上的 ARP 表,然后在 A 上 ping B,在 A 上显示结果为:Destination host unreachable 用 arp -a 命令在两台 PC 上均不能看到对方的 MAC 地址。 分析 1:A 将目标设备的 IP 地址(192.168.

9、1.125)和自己的子网掩码(255.255.255.128)相“与”得 192.168.1.0,和自己不在同一网段(A 所在网段为:192.168.1.128),则 A 必须将该IP 分组首先发向缺省网关。由于 A 的缺省网关没有配置,无法对分组进行正确发送,因此显示“目标主机不可到达” 。 操作 2:接着在 B 上 ping A,在 B 上显示结果为:Request timed out 此时用 arp-a 命令可以在两台 PC 上分别看到对方的 MAC 地址。 分析 2:B 将目标设备的 IP 地址(192.168.1.130)和自己的子网掩码(255.255.255.0)相“与” ,发现

10、目标主机与自己均位于同一网段(192.168.1.0),因此,B 通过 ARP 协议获得 A的 MAC 地址,并可以正确地向 A 发送 Echo Request 报文。但由于 A 不能向 B 正确地发回Echo Reply 报文(原因见分析 1),故 B 上显示 ping 的结果为“请求超时” 。在该实验操作中,通过观察 A 与 B 的 ARP 表的变化,可以验证:在一次 ARP 的请求与响应过程中,通信双方就可以获知对方的 MAC 地址与 IP 地址的对应关系,并保存在各自的 ARP 表中。 步骤 3: 在 A 上设置缺省网关,用 arp -d 命令清除 A 中的 ARP 表,在 A 上 p

11、ing 一台外网段的主机,如武汉热线( 202.103.24.116),再用 arp -a 可观察到 A 的 ARP 表中只有缺省网关的 MAC 地址信息。 分析:当源主机要和外网段的主机进行通信时,它并不需要获取远程主机的 MAC 地址,而是把 IP 分组发向缺省网关,由网关 IP 分组的完成转发过程。如果源主机没有缺省网关 MAC 地址的缓存记录,则它会通过 ARP 协议获取网关 的 MAC 地址,因此在 A 的ARP 表中只观察到网关的 MAC 地址记录,而观察不到远程主机的 MAC 地址 5 小结小结 (1)关于通常意义上“网络地址不同不能互相通信”的说明 深入的探讨发现,在计算机通信

12、过程中无论是什么协议只要能顺利获得 MAC 地址就能正常通信,无论是否经过路由,只要每段通信成功的经过了数据链路层。可以说通信本来是没有任何限制的,只是 IP 从逻辑上(网络层)加以了约束。 第 4 页 共 4 页而其中网络地址是其第一逻辑约束。任何一项针对 IP 的数据发送首先是经过本地网络层的抉择:是丢弃、直接发送还是间接发送。 之所以有这样三种选择实际上是先一步在本地作出判断: “目标 IP 地址和自己在不在同一网络”其判断的依据由于不知道对方掩码所以只能是自己的子网掩码分别和目标 IP、源 IP 按位与来进行比较。 相同,否则 检查本地 arp 列表,有相应 MAC 地址记录则,否则

13、发送 ARP request 收到 ARP reply 得到的目的 MAC 地址,执行,否则 将目的 MAC 地址写入待发帧并发送数据 将网关 MAC 地址写入待发帧并发送数据,通过路由转发(间接发送) 。若网关无法路由到达则就地丢弃并发出 ICMP 通知不可到达。 直接丢弃,返回目标不存在 其中最终是否能最终到达目标结点还要在每个每个网段网关执行 (2)关于“主机名”与“IP”的区别 运行主机名时直接使用 NetBIOS 检查缓存或广播发出 NetBIOS 请求解析目的 MAC 地址,该广播是完全物理地址意义上的广播,如果在广播范围内(物理阻隔或路由隔绝)找到主机,主机单播以回应否则报告目标

14、不存在。NetBIOS 是绝对不会跨路由的(RFC1542标准的路由器,可设置成允许 DHCP 的广播数据通过,仅是一个特例) 。因此不论是VLAN 还是 LAN 只要广播可以到达的地方就是 NetBIOS 的作用范围,完全与 IP 是否处在同一网络无关。解析出目的 MAC 就可以看到浏览服务提供的共享资源了。 IP 则是完全不同的过程,是根据 ARP 原理(前面已经有详细讲述)解析出 MAC 地址的,因此会受到逻辑网段的限制。然后再通过 MAC 地址访问目的主机的浏览服务。参考文献:参考文献: 1陈立新.计算机:病毒防治百事通M.北京:清华大学出版社,2001. 2姬志刚.从 qq 开始认识网络安全.中国科教博览,2004(9). 3姬志刚.计算机、网络与信息社会.科技咨询导报.2006(20). 4韩莜卿.计算机病毒分析与防范大全M.北京:电子工业出版社2006.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号