【计算机网络 实验报告5】IP层协议分析

上一篇:【计算机网络 实验报告4】虚拟局域网与ARP协议

目录

实验目的和要求

二、实验环境

三、实验步骤及问题回答

实验心得


实验目的和要求

1、理解IP层的作用以及IP地址的分类方法;

2、理解子网的划分和子网掩码的作用;

3、掌握IP数据包的组成和网络层的基本功能;

二、实验环境

1.能够接入INTERNET的局域网。

2.WINDOWS操作系统的客户端。

3.WIRESHARK软件的电脑(安装包可从官网下载,百度搜索WIRESHARK,可找到官网地址)

三、实验步骤及问题回答

1、ipconfig命令在主机中用于查看本机的网络配置,包括主机的IP地址、MAC地址、网关、DNS配置等信息。在运行中输入cmd,出现界面后输入ipconfig /all,可以看到类似下图的本机网络配置:(具体数据因网络配置有差异)

(1)请填出你所用机器的网路配置。

  1. IP 地址:10.200.21.2
  2. 子网掩码:255.255.255.0
  1. 根据上一步的结果,回答如下问题:实验所用主机的网络地址是多少?是否有子网划分?该主机的IP地址属于哪类?说明实验环境中网络实际可容纳的实际最大机器数目,最小地址和最大地址。与邻座同学对比,网络号是否相同?

网络地址:10.200.21.0

是否有子网划分:是

IP地址类别:A类

实际最大机器数目:254

最小地址:10.200.21.1

最大地址:10.200.21.254

网络号是否相同:是

2.PING命令是ICMP协议的常用命令,其原理如下图所示:

PING命令可通过参数的调整来控制发送封包的大小,格式如下:

ping--l 2000 www.baidu.com

PING命令可通过参数的调整来控制响应封包的数目,格式如下:

ping -n 1 www.baidu.com //只回复一条响应

可以通过WIRESHARK进行封包的抓取。

点开IPV4的下拉菜单即可查看捕获封包情况。

请执行如下操作,并回答问题:

  1. 向百度网站发送大小为600字节的封包,观察捕获结果并在下方截图,回答以下问题:捕获IP封包的头部大小为多少字节?其数据部分长度为多少,是否与你发送的字节数相同,若不同,分析其原因。

IP封包的头部大小:20字节

数据部分长度:608字节

是否相同:否

原因:608字节包括了600字节数据和8字节的TCP头部

(2)一个IP封包的数据部分,理论上最大值可为多少?ping命令 -l参数可以是理论上的最大值吗?其实际可发送的最大值是多少?为什么?

理论最大值:65515

是否可以是最大值:否

实际可发送最大值:1480

原因:在实际网络传输中,IP数据报的最大长度受到数据链路层限制,以太网MTU为1500,扣除IP首部20字节,最大数据长度1480字节。

(3)向你的同学发送大小为5000字节的封包,观察捕获结果并在下方截图,回答以下问题捕获IP封包的头部大小为多少字节?其数据部分长度为多少,是否与你发送的字节数相同,若不同,分析其原因。

ip头部大小:20字节

数据长度:568字节 1480字节

是否相同:否

原因:数据5000字节过长,大于数据链路层MTU,所以必须分片,在实际网络传输中,IP数据报的最大长度受到数据链路层限制,以太网MTU为1500,扣除IP首部20字节,最大数据长度1480字节,5000字节分4片,3*1480,最后一片568字节。

(4)仔细观察两个捕获结果,可以发现(3)比(1)多出了一行,如下图:

请根据实验结果截图并回答如下问题:(3)中的传输是否发生了分片?共分为几片?片偏移分别是多少?你所在网络的MTU是多少字节?PING命令中5000字节,是否包含头部?(提示:不能只捕获ICMP协议数据,还要包括IP协议数据)

是否发生分片:是

分为几片:4

片偏移:0 1480 1960 4440

MTU:1480

是否包含头部:否

实验心得

通过本次网络层 IP 协议综合实验,我将课本上抽象的理论知识与实际操作相结合,完整掌握了 IP 地址分类、子网划分、IP 数据包结构、数据分片以及网络抓包分析的相关内容,对计算机网络网络层的工作原理有了更加透彻、直观的理解,也提升了网络命令操作与报文分析的实践能力。

实验初期,我通过ipconfig /all命令查看主机网络参数,完成 IP 地址、子网掩码读取,并计算网络地址、地址范围、主机数量,区分 IP 地址类别。结合计算结果我明白了 A 类地址的编址特点,理解子网掩码用于区分网络位与主机位的核心作用,掌握网络地址计算方法,同时清楚局域网内可用主机地址范围、网络号划分规则,理解子网划分能够合理规划地址、提升网络地址利用率。以往仅靠理论记忆地址分类与网段计算较为模糊,经过手动计算与同网段对比,我牢固掌握了网段划分的底层逻辑。

本次实验重点学习了ping命令与 Wireshark 抓包分析,深入探究 ICMP 协议与 IP 数据包结构。通过修改数据包大小、发送次数等参数抓包观察,我明确了 IP 数据报首部固定为 20 字节,理解数据包总长度包含 IP 首部、上层协议头部与有效数据。在发送指定大小数据包时,数据长度与设定值不一致,让我明白 IP 层会封装上层协议头部,网络传输是多层封装叠加的过程。同时我理清了 IP 数据报理论最大长度与以太网实际传输限制,理解 MTU 最大传输单元的约束作用,知晓以太网帧 1500 字节的限制下,扣除 IP 首部后有效数据最大长度为 1480 字节。

在大尺寸数据包传输实验中,我直观观察到 IP 分片现象。当发送数据超过链路层传输上限时,原始数据包会被拆分为多个分片进行传输,接收端再完成重组。通过分析片偏移、分片数量,我理解分片字段的作用、分片传输规则,也明白ping命令设置的数据包大小不包含 IP 首部。分片机制解决了大数据无法一次性传输的问题,是网络跨链路稳定通信的重要保障,也让我深刻体会网络各层次相互制约、协同工作的特点。

本次实验也让我意识到实践操作的重要性。理论知识只停留在概念层面,通过命令操作、抓包分析、数据对比、原因推导,才能真正吃透协议原理。同时我熟练掌握 Windows 网络诊断命令与 Wireshark 基础抓包分析方法,养成严谨分析报文字段、梳理传输原理的习惯。此次实验弥补了理论学习的漏洞,构建完整的网络层知识体系,为后续学习路由协议、高层网络协议打下扎实的实践基础。

相关推荐
Zn_lunar2 小时前
autodl tizi+codex cli
运维·服务器·网络
@insist1232 小时前
网络工程师-实战配置篇(一):深入 BGP 与 VRRP,构建高可靠网络
服务器·网络·php·网络工程师·软件水平考试
源码之家2 小时前
计算机毕业设计:Python城市天气数据挖掘与预测系统 Flask框架 随机森林 K-Means 可视化 数据分析 大数据 机器学习 深度学习(建议收藏)✅
人工智能·爬虫·python·深度学习·机器学习·数据挖掘·课程设计
静听夜半雨3 小时前
万字长文——基于CANoe/CAPL的UDS Bootloader上位机实现(附完整可运行代码及工程文件)
网络·上位机·canoe·can总线·ecu刷写·uds升级·capl编程
ulias2123 小时前
进程初识(1)
linux·运维·服务器·网络·c++
Shingmc33 小时前
【Linux】Socket编程UDP
网络·udp
Shingmc33 小时前
【Linux】网络基础概念
linux·服务器·网络
思麟呀4 小时前
数据链路层和物理层
网络·网络协议·http·智能路由器
春蕾夏荷_7282977254 小时前
libhv vs2019 udp简单的实例
网络·udp·libhv·结构体