SchoolWork-LaTeX/计算机网络/实验报告/实验4.tex

98 lines
4.2 KiB
TeX
Raw Normal View History

\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命令
捕获的报文对应的“类型”字段是0ICMP回显应答“代码”字段是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}