### IP数据报分析
#### 实验目的
本实验旨在通过实际操作加深学生对IP数据报的理解,掌握IP数据报的基本结构及其在网络传输过程中的作用。通过观察和分析真实环境中捕获的数据包,学习如何解析IP数据报的不同字段,并理解它们在通信过程中所扮演的角色。
#### 实验环境
- **软件**:IRIS v4.07.1
- **操作系统**:Windows XP
- **硬件**:PC机或兼容设备
- **条件**:确保能够连接至Internet或局域网,以便进行数据包捕获和分析。
#### 实验方法
1. **清除封包列表**:在开始数据捕获之前,先清空IRIS软件中的封包列表,确保所有后续的数据都是最新的。
2. **设置过滤器**:选择过滤器中的`ftp.flt`,这是一种专门用于捕获FTP流量的过滤器。通过此步骤,可以专注于特定类型的网络通信。
3. **连接FTP服务器**:建立与FTP服务器的连接。当数据流经网络时,IRIS将自动捕获经过过滤器筛选后的数据包。
#### 实验分析
- **MAC地址**:每个数据包都包含源MAC地址和目标MAC地址。这些地址用于在网络层以下的物理层上识别发送方和接收方。
- **协议标识**:数据包中还包括协议标识,指示了使用的上层协议,如TCP、UDP等。
- **IP地址**:源IP地址和目标IP地址标识了网络层上的发送方和接收方。
- **端口号**:源端口和目标端口用于区分同一台主机上的不同服务或应用程序。
- **数据报格式**:IP数据报由首部和数据两部分组成。首部长度通常固定为20字节(5个32位字),但可以通过首部长度字段扩展至最多60字节。
- **类型字段**:数据报的类型字段指示了封装的数据类型,例如08-00DoDIP表示这是IPv4数据报。
- **头部长度**:在本次通信中,Header长度为5(单位为32位字),意味着首部长度为20字节。
- **总长度**:Total长度指整个数据报的长度,包括首部和数据部分。在本例中,Total长度为48字节。
- **标识字段**:Identification字段占据16位,用于唯一标识同一数据流中的数据报片段,便于重组分片。
#### 数据报结构详解
1. **MAC地址**:每台网络设备都有一个唯一的MAC地址,用于标识其在网络中的位置。在数据报中,源MAC地址和目标MAC地址分别位于首部的前两个字段,每个字段占据6个字节。
2. **类型**:类型字段指示了上层协议类型。例如,08-00DoDIP表示使用的是IPv4协议。
3. **版本和头部长度**:版本字段指示了IP协议版本,头部长度字段则指出了IP首部的实际长度。
4. **服务类型**:该字段用于指示数据报的服务质量要求。
5. **总长度**:指示整个数据报的长度,包括首部和数据部分。
6. **标识**:标识字段用于标识属于同一数据流的数据报片段。
7. **标志和片段偏移**:这两个字段用于控制数据报是否被分片以及如何重组分片。
8. **生存时间(TTL)**:生存时间字段用于防止数据报在网络中无限循环。
9. **协议**:该字段指定上层协议类型,例如TCP、UDP等。
10. **首部校验和**:用于检测IP首部中的错误。
11. **源IP地址和目标IP地址**:分别标识了发送方和接收方的IP地址。
12. **选项和填充**:选项字段允许插入额外的信息,而填充字段则用于保证IP首部的长度为32位字的整数倍。
#### 实验结论
通过对IP数据报的详细分析,我们不仅了解了数据报的基本结构,还掌握了如何通过专业工具(如IRIS)来捕获、过滤和解析网络流量。这种实践操作有助于加深对网络协议的理解,并能够在实际工作中应用这些知识解决网络问题。
### 附件
- **附件1**:详细记录了实验过程中的具体操作步骤和观察结果。
- **附件2**:提供了实验过程中捕获的数据包样本及其解析结果,便于进一步研究和讨论。