91 lines
4.8 KiB
TeX
91 lines
4.8 KiB
TeX
|
\documentclass[../public/实验报告模板]{subfiles}
|
|||
|
|
|||
|
\renewcommand{\mydate}{2023年12月1日}
|
|||
|
\renewcommand{\mylabname}{地址解析协议(ARP)}
|
|||
|
\renewcommand{\mychapternum}{2}
|
|||
|
|
|||
|
\begin{document}
|
|||
|
\mytitle
|
|||
|
\begin{enumerate}
|
|||
|
\myitem{实验目的}{
|
|||
|
\item 掌握ARP协议的报文格式
|
|||
|
\item 掌握ARP协议的工作原理
|
|||
|
\item 理解ARP高速缓存的作用
|
|||
|
\item 掌握ARP请求和应答的实现方法
|
|||
|
\item 掌握ARP缓存表的维护过程
|
|||
|
}
|
|||
|
\myitem{实验设备或环境}{
|
|||
|
\item 采用网络拓扑结构二
|
|||
|
}
|
|||
|
\myitem{实验原理}{
|
|||
|
\item 物理地址与逻辑地址
|
|||
|
\item ARP协议简介
|
|||
|
\item ARP报文格式
|
|||
|
\item ARP封装
|
|||
|
\item ARP的运行过程
|
|||
|
\item 代理ARP
|
|||
|
\item 协议栈实现代码解析
|
|||
|
\item 各模块推荐流程
|
|||
|
}
|
|||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
|||
|
\item 领略真实的ARP(同一子网)
|
|||
|
\item 编辑并发送ARP报文(同一子网)
|
|||
|
\item 跨路由器地址解析(不同子网)
|
|||
|
\item 发送arp请求,处理输入的arp数据包功能的实现
|
|||
|
}
|
|||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
|||
|
\item 领略真实的ARP(同一子网)
|
|||
|
|
|||
|
\begin{figure}[H]
|
|||
|
\centering
|
|||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-13-37-01.png}
|
|||
|
\caption{主机C的ARP高速缓存}
|
|||
|
\end{figure}
|
|||
|
\begin{figure}[H]
|
|||
|
\centering
|
|||
|
\includegraphics[width=0.8\linewidth]{imgs/2024-01-01-13-41-56.png}
|
|||
|
\caption{主机B的高速缓存}
|
|||
|
\end{figure}
|
|||
|
|
|||
|
ARP高速缓存表由接口、Internet地址、物理地址、类型组成。
|
|||
|
|
|||
|
ARP协议的报文交互过程和ARP高速缓存表的更新过程是主机先广播发送ARP请求报文,目标主机收到后向请求方单播发送ARP应答报文,主机收到后更新ARP高速缓存表。
|
|||
|
|
|||
|
\item 编辑并发送ARP报文(同一子网)
|
|||
|
|
|||
|
主机B、E收到了ARP请求包,主机F给出了ARP响应包。
|
|||
|
|
|||
|
主机A、C、D没有收到ARP请求包,因为主机A、C、D与ARP请求发出者主机E不在一个子网。
|
|||
|
|
|||
|
\item 跨路由器地址解析(不同子网)
|
|||
|
|
|||
|
单一ARP请求报文不呢个跨越子网进行地址解析,因为它是数据链路层协议,只在一个子网内有效。
|
|||
|
|
|||
|
ARP地址解析在跨越子网的通信中起到了联通不同子网的作用。
|
|||
|
|
|||
|
\thinkingquestion{
|
|||
|
\item 哪些主机收到了ARP请求包?哪台主机给出了ARP响应包?
|
|||
|
|
|||
|
主机B、C、D、E、F都收到了ARP请求包。主机F给出了ARP响应包,主机B收到后又转发了这个ARP响应包。
|
|||
|
|
|||
|
\item 比较ARP协议在同网段内解析和跨网段的解析有何异同点?
|
|||
|
|
|||
|
相同之处是ARP协议在同网段和跨网段解析在正确配置时都能解析成功,区别在于ARP协议在同网段内解析不需要路由器开启静态路由服务,而跨网段解析需要路由器开启静态路由服务。
|
|||
|
|
|||
|
\item ARP数据包的长度是固定的吗?试加以解释。
|
|||
|
|
|||
|
不是,ARP可以用于不同的硬件类型和协议类型,不同的硬件类型(比如以太网、无线局域网)可能有不同长度的硬件地址,不同的协议类型(比如IPv4、IPv6)可能有不同长度的逻辑地址。
|
|||
|
|
|||
|
\item 试解释为什么ARP高速缓存每存入一个项目就要设置10-20分钟的超时计时器。这个时间设置得太大或太小会出现什么问题?
|
|||
|
|
|||
|
因为设备的硬件地址和逻辑地址之间的关联可能会变化,比如DHCP租约到期后更换IP地址,或者某个设备离开网络了,因此需要超时计时器,在超时后重新发送ARP报文。
|
|||
|
|
|||
|
这个时间设置得太大会出现不能及时检测到网络变化的情况,设置得太小会导致频繁发送ARP广播请求消耗资源。
|
|||
|
|
|||
|
\item 至少举出两种不需要发送ARP请求数据包的情况。
|
|||
|
|
|||
|
当目的IP与MAC的对应关系在ARP高速缓存中已经查找到了,就不需要发送ARP请求数据包了;当目的IP与主机自己的IP不在同一个网段,这时需要将数据包发给网关,如果网关的IP与MAC的对应关系在ARP高速缓存中已经查找到了,就不需要发送ARP请求数据包了。
|
|||
|
}
|
|||
|
}
|
|||
|
\end{enumerate}
|
|||
|
\end{document}
|