计算机网络实验报告
一、实验目的:
1. 掌握ARP协议的报文格式
2. 掌握ARP协议的工作原理
3. 理解ARP高速缓存的作用
4. 掌握ARP请求和应答的实现方法
5. 掌握ARP缓存表的维护过程
二、实验步骤:
…
一,完成网络环境的配置,并进行拓扑验证。
预期问题:拓扑验证出现错误。必须严格按照附录中的拓扑图进行网络环境的配置,如有错误不能向下进行实验。因为在错误的网络配置环境下做的实验结果也是无意义的。
二,完成采集网络传输数据前的准备工作。
【
网关的设定;开通静态路由;主机 A ping 主机 E
成功;清空 ARP 高速缓存;设置协议分析器的过
滤条件;
预期问题:网关设定错误,没有在主机 B 开启静态路由都会造成主机 A Ping 主机 E 不成功。
三,开始实验,启动协议分析器,开始捕获数据。
预期问题:必须先开启数据捕获,再执行主机 A ping 主机 E 操作,否则获取不到数据。
!
四,查看采集到的 ARP 报文,对实验结果进行截图、记录。五,关闭实验平台,将实验系统恢复原状,完成实验。
配置完毕,进行拓扑验证:
%
拓扑验证完毕,各角色的地址如下表所示:
2.实验结果及现象:
图示为A角色捕获到的ARP-request
图示说明:方向:(主机 A)→子网内的所有主机
内容:ARP‐request
协议解析树: Ethernet
目的 MAC 地址= FFFFFF‐FFFFFF :向子网内所有主机发送
源 MAC 地址=6C626D‐707DCE:主机 A 的 MAC 地址
`
协议类型或数据长度=0806(ARP 协议):ARP 协议ARP(地址解析议)硬件类型=1
协议类型=0800
硬件地址长度=6
协议地址长度=4
】
操作码=1(请求)
发送端硬件地址=6C626D‐707DCE (主机A
发送端逻辑地址= (主机 A)
目的端硬件地址=000000‐000000 (未知,请求的硬件地址)
目的端逻辑地址= (主机 B 左网卡)
)
过程描述:主机 A→子网内的所有主机,发送 ARP‐request,请求 IP 地址是(主机B的左网卡)
主机 Aping 主机 E,由于 A 发现 E 与其不是在同一子网,所以主机 A 把发送的数据转发到网关:主机 B 左网卡。这时需要通过 ARP 协议知道网关的 MAC 地址,于是发送请求网关 MAC 地址的 ARP 请求。
图示为A主机捕获到的ARP-response数据
-
数据显示同ARP-request数据。
在 B 运行 arp‐a,显示 arp 缓存表内容:
Interface:(左网卡)6C626D‐707DCE(主机 A 的 MAC 地址)Interface:(右网卡)6C626D‐6DF73D(主机B的MAC地址)
*
右网卡多了主机 E 的 arp 缓存记录,如果捕获 B 的网络连接 2 的网卡数据,就会看到此条数据。
四、思考问题的解答
1. 哪些主机收到了 ARP 请求包,哪台主机给出了 ARP 响应包
答: 在子网一内,主机 B 的左网卡,主机 C,主机 D 收到了主机 A 的 ARP 请求包;主机 B 的左网卡给出了 ARP 响应包。
(
在子网二内,主机 E,主机 F 收到了主机 B 右网卡的 ARP 请求包;主机 E 给出了 ARP 响应包。
2. 比较 ARP 协议在同网段内解析和跨网段的解析有何异同点
答:在同网段内,由于同网的主机都能收到 ARP 请求,并且符合 ARP 请求中目的 IP 地址字段的条件的主机就在同网内,所以这台主机直接将自己的 MAC 地址应答给发送 ARP 请求的主机。
在不同的网段,跨网段的解析中,ARP 请求是从一个网络中的主机发往另一个网络的主机,那么连接这两个网络的路由器就可以回答该请求。过程为:在子网一内,发送 ARP 请求的主机将目的逻辑地址设置为路由器的逻辑地址,路由器将自己的 MAC 地址应答给发送请求的主机。接着,路由器在子网二内发送 ARP 请求,目的 IP 地址为 ping 的目的主机的 IP 地址。此IP 地址的主机收到 ARP 请求后,将应答返回给路由器。这样,通过连接两个子网的路由器,进行 ARP 的回答和请求。路由器在 ARP 缓存表中有了两台主机的 ARP 缓存信息后,起到了 IP 数据报的转发作用。
3. ARP 数据包的长度是固定的吗试加以解释。
答:不固定。
第一,硬件地址长度根据不用的网络类型,是可变的。例如,以太网的物理地址长度是6 字节。
第二,第二,协议地址长度根据不同的协议类型,长度是可变的。例如,IPv4 协议的地址长度是 4 个字节。
4. 试解释为什么 ARP 高速缓存每存入一个项目就要设置 10‐20 分钟
的超时计时器。这个时间设置得太大或太小会出现什么问题
答:ARP 缓存表采用老化机制,在一段时间内,如 10‐20 分钟,如果表中的某一项没有使用,就会被删除,这样可以大大减少 ARP 缓存表的长度,加快查询速度。这个时间如果设置的太大,会出现缓存表中信息过多,降低查询速度的可能。也会出现如教材中提到的,外界的硬件环境发生变化,而 ARP 缓存表没有及时更新,造成 ARP 缓存中的信息失效的可能。这个时间设置得过短的情况:因为两台主机首次通信后,很有可能还会持续的通信数次,这个过程会持续一段时间。所以这个时间设置得过短,会增加 ARP 通信的次数,增加网络中的通信量。
5. 至少举出两种不需要发送 ARP 请求数据包的情况。
答:1,主机之间刚刚进行完通信,在缓存表中还保存着对方主机的地址信息,这时只需要查询 ARP 缓存表,不需要发送 ARP请求。
2,广播发送的时候不需要发送 ARP 请求。
3,在不同子网间,两台主机通过路由器进行 IP 数据包的传输。在路由器中,保存了该两台主机 ARP 缓存信息之后,两台主机只需要把
数据发送给路由器即可。在这之前,一台主机不用发送对子网外主机
的 ARP 请求,它也不需要知道子网外主机的 MAC 地址。
五、实验中遇到的问题和解决方法,待解决的问题
遇到问题:A未能ping通E
解决方案:Internet属性更改后未点确定造成的