98 lines
4.2 KiB
TeX
98 lines
4.2 KiB
TeX
|
\documentclass[../public/实验报告模板]{subfiles}
|
|||
|
|
|||
|
\renewcommand{\mydate}{2023年12月8日}
|
|||
|
\renewcommand{\mylabname}{Internet控制报文协议(ICMP)}
|
|||
|
\renewcommand{\mychapternum}{4}
|
|||
|
|
|||
|
\begin{document}
|
|||
|
\mytitle
|
|||
|
\begin{enumerate}
|
|||
|
\myitem{实验目的}{
|
|||
|
\item 掌握ICMP协议的报文格式
|
|||
|
\item 理解不同类型ICMP报文的具体意义
|
|||
|
\item 了解常见的网络故障
|
|||
|
}
|
|||
|
\myitem{实验设备或环境}{
|
|||
|
\item 采用网络拓扑结构二
|
|||
|
}
|
|||
|
\myitem{实验原理}{
|
|||
|
\item ICMP简介
|
|||
|
\item ICMP报文格式
|
|||
|
\item ICMP封装
|
|||
|
\item ICMP报文类型
|
|||
|
\item ICMP查询报文
|
|||
|
\item ICMP差错报文
|
|||
|
\item ICMP校验和
|
|||
|
}
|
|||
|
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
|||
|
\item 运行Ping命令
|
|||
|
\item ICMP查询报文
|
|||
|
\item ICMP差错报文
|
|||
|
}
|
|||
|
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
|||
|
\item 运行Ping命令
|
|||
|
|
|||
|
捕获的报文对应的“类型”字段是0(ICMP回显应答),“代码”字段是0。
|
|||
|
|
|||
|
报文中的类型、标识号、序列号字段保证了回显请求报文和回显应答报文的一一对应。
|
|||
|
|
|||
|
\item ICMP查询报文
|
|||
|
|
|||
|
\begin{figure}[H]
|
|||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-20-27-37.png}
|
|||
|
\caption{时间戳请求}
|
|||
|
\end{figure}
|
|||
|
\begin{figure}[H]
|
|||
|
\includegraphics[width=1\linewidth]{imgs/2024-01-01-20-27-06.png}
|
|||
|
\caption{时间戳应答}
|
|||
|
\end{figure}
|
|||
|
\begin{table}[H]
|
|||
|
\centering
|
|||
|
\caption{实验结果}
|
|||
|
\begin{tabular}{cc|cc}
|
|||
|
\toprule
|
|||
|
\multicolumn{2}{c}{时间戳请求报文}\vline& \multicolumn{2}{c}{时间戳应答报文}\\
|
|||
|
ICMP字段名 & 字段值 & ICMP字段名 & 字段值 \\
|
|||
|
\midrule
|
|||
|
类型 & 13 & 类型 & 14 \\
|
|||
|
标识号 & 0 & 标识号 & 0 \\
|
|||
|
序列号 & 0 & 序列号 & 0 \\
|
|||
|
发起时间戳 & 0 & 发起时间戳 & 0 \\
|
|||
|
接收时间戳 & 0 & 接收时间戳 & 1347310080 \\
|
|||
|
传送时间戳 & 0 & 传送时间戳 & 1347310080 \\
|
|||
|
\bottomrule
|
|||
|
\end{tabular}
|
|||
|
\end{table}
|
|||
|
\thinkingquestion{
|
|||
|
\item 能否根据时间戳计算出当前的时间?
|
|||
|
|
|||
|
能。
|
|||
|
|
|||
|
\item 使用时间戳得到的时间比从系统得到的时间有什么好处?
|
|||
|
|
|||
|
使用时间戳请求得到的时间是和目标主机一致的,当系统的时间出错时可以据此校准。
|
|||
|
}
|
|||
|
\item ICMP差错报文
|
|||
|
|
|||
|
捕获到的是主机不可达报文。
|
|||
|
|
|||
|
\thinkingquestion{
|
|||
|
\item 为什么要设置TTL字段?
|
|||
|
|
|||
|
防止一个报文在网络中无限制地转发下去。
|
|||
|
|
|||
|
\item 为什么要限制由由失效的 ICMP 差错报文再产生一个 ICMP 报文?
|
|||
|
|
|||
|
防止ICMP报文不断在网络中发送,占用资源。
|
|||
|
|
|||
|
\item 什么样的 ICMP 报文是由路由器发送出的?什么样的 ICMP 报文是由目的主机发送出的?
|
|||
|
|
|||
|
当主机向外部发送报文但出现差错时,路由器会向主机发出ICMP差错报文;当主机向目的主机发送ICMP回显请求时,目的主机会发送出回显应答报文。
|
|||
|
|
|||
|
\item 主机 A 向主机 B 发送数据报,主机 B 从未收到该数据报,而主机 A 也从未收到出问题的通知,试给出可能发生情况的 2 种不同解释。
|
|||
|
|
|||
|
可能是主机A向主机B发出的数据包发到错误的链路上丢失了;或者在链路中的某个地方出现差错,返回ICMP差错报文,但ICMP差错报文丢失或被丢弃了。
|
|||
|
}
|
|||
|
}
|
|||
|
\end{enumerate}
|
|||
|
\end{document}
|