\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}