156 lines
7.1 KiB
TeX
156 lines
7.1 KiB
TeX
\documentclass[../public/实验报告模板]{subfiles}
|
||
|
||
\renewcommand{\mydate}{2023年12月8日}
|
||
\renewcommand{\mylabname}{网际协议(IP)}
|
||
\renewcommand{\mychapternum}{3}
|
||
|
||
\begin{document}
|
||
\mytitle
|
||
\begin{enumerate}
|
||
\myitem{实验目的}{
|
||
\item 掌握IP数据报的报文格式
|
||
\item 掌握IP校验和计算方法
|
||
\item 掌握子网掩码和路由转发
|
||
\item 理解特殊IP地址的含义
|
||
\item 理解IP分片过程
|
||
\item 理解协议栈对IP协议的处理方法
|
||
\item 理解IP路由表作用以及IP路由表的管理
|
||
}
|
||
\myitem{实验设备或环境}{
|
||
\item 采用网络拓扑结构二
|
||
}
|
||
\myitem{实验原理}{
|
||
\item IP协议简介
|
||
\item IP地址及其表示方法
|
||
\item 特殊的IP地址
|
||
\item 子网划分
|
||
\item IP报文格式
|
||
\item IP封装
|
||
\item IP数据报分片
|
||
\item IP数据报校验和
|
||
\item 交付与转发
|
||
\item 路由选择
|
||
\item 协议栈实现代码解析
|
||
\item 各模块推荐流程
|
||
}
|
||
\myitemx[label=练习\arabic*\ ]{实验步骤}{
|
||
\item 编辑并发送IP数据报
|
||
\item 特殊的IP地址
|
||
\item IP数据报分片
|
||
\item 子网掩码的作用
|
||
\item IP数据报的接收与发送
|
||
\item IP路由表管理的设计与实现
|
||
}
|
||
\myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{
|
||
\item 编辑并发送IP数据报
|
||
|
||
IP在计算校验和时包括首部的内容。
|
||
|
||
第一步中主机A所编辑的报文,经过主机B到达主机E后,报文数据发生了变化,源MAC变成了主机B的右侧接口的MAC,生存时间从128变为了127,发生变化是因为经过了主机B的转发。
|
||
|
||
生存时间改为1后主机B能捕获到主机A所发送的报文,但主机E不能捕获到。因为主机A将报文间接交付给主机B后,主机B将生存时间减一,发现生存时间为0,于是丢弃此报文,并向A发送ICMP差错报文表示目的不可达。
|
||
|
||
\thinkingquestion{
|
||
\item 说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?
|
||
|
||
IP地址用来标识设备在整个网络中的位置,硬件地址用来标识设备在一个网段内的位置。使用这两种不同的地址是因为既要避免广播范围过大,又要让一个设备能够和全球的其他设备收发报文。
|
||
}
|
||
|
||
\item 特殊的IP地址
|
||
|
||
\begin{enumerate}
|
||
\item 受限广播地址
|
||
\begin{table}[H]
|
||
\centering
|
||
\caption{实验结果}
|
||
\begin{tabular}{cc}
|
||
\toprule
|
||
& 主机号 \\
|
||
\midrule
|
||
收到主机A发送的IP数据报 & B、C、D \\
|
||
未收到主机A发送的IP数据报 & E、F \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
受限广播地址的作用是用来发送给子网内的所有主机的。
|
||
|
||
\item 环回地址
|
||
|
||
主机F没有收到主机E发送的目的地址为127.0.0.1的IP数据报,因为目的地址为127.0.0.1表示环回地址,只有发送的主机自己能收到。
|
||
\end{enumerate}
|
||
\thinkingquestion{
|
||
\item 受限广播地址的作用范围?
|
||
|
||
当前子网。
|
||
|
||
\item 受限广播地址和直接广播地址的区别?
|
||
|
||
受限广播地址只能用于本地网络,直接广播地址可以被路由器转发从而用于更大范围的网络。
|
||
|
||
\item 路由器转发受限广播吗?
|
||
|
||
不转发。
|
||
}
|
||
|
||
\item IP数据报分片
|
||
|
||
\begin{table}[H]
|
||
\centering
|
||
\caption{实验结果}
|
||
\begin{tabular}{c|ccc}
|
||
\toprule
|
||
字段名称 & 分片序号1 & 分片序号2 & 分片序号3 \\
|
||
\midrule
|
||
“标识”字段值 & 869 & 869 & * \\
|
||
“还有分片”字段值 & 1 & 0 & * \\
|
||
“分片偏移量”字段值 & 0 & 97 & * \\
|
||
传输的数据量 & 776 & 224 & * \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
\begin{figure}[H]
|
||
\includegraphics[width=1\linewidth]{imgs/2024-01-01-19-00-41.png}
|
||
\caption{IP数据报分片}
|
||
\end{figure}
|
||
|
||
\thinkingquestion{
|
||
\item Ping的数据部分为3000字节,回显请求报文为何被分为3片而不是2片?
|
||
|
||
因为MTU是包括IP头部的,假设IP头部为20字节,那么第一片只能装1480个字节的数据,第二片也是只能装1480个字节的数据,因此需第三片来装剩下的40个字节的数据。
|
||
|
||
\item 数据部分长度为多少时报文正好被分为2片?
|
||
|
||
以太网的MTU默认为1500,IP头部一般为20字节,那么一片的数据字段最多为1480字节,所以数据部分长度为$1480\times 2=2960$时报文正好被分为2片。
|
||
|
||
\item 不同协议的MTU的范围从296到65535,使用大的MTU有什么好处?使用小的MTU有什么好处?
|
||
|
||
使用大的MTU可以添加更少的帧首部信息,减少冗余。使用小的MTU可以减少信道持续占用的时间,更利于共享广播信道。
|
||
}
|
||
|
||
\item 子网掩码的作用
|
||
|
||
\begin{table}[H]
|
||
\centering
|
||
\caption{实验结果}
|
||
\begin{tabular}{cc}
|
||
\toprule
|
||
& 是否ping通 \\
|
||
\midrule
|
||
主机A---主机B & 是 \\
|
||
主机C---主机D & 是 \\
|
||
主机E---主机F & 是 \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
当两主机的子网掩码不同时,按照发送方的子网掩码来看,如果这两个主机在同一个子网掩码代表的网络中,那么就能ping通;或者主机ping的是网关的时候也可以ping通(目的IP不在本地网络里就会发送到网关)。
|
||
|
||
\thinkingquestion{
|
||
\item IP数据报中的首部校验和并不检验数据报中的数据,这样做的最大好处是什么?缺点是什么?
|
||
|
||
最大好处是避免每经过一个路由器都要重复校验相同的数据;缺点是可能无法发现数据报中的数据错误。
|
||
}
|
||
}
|
||
\end{enumerate}
|
||
\end{document} |