网络层Internet Protocol:
在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
IP分组首部的格式功能:
IP 分组首部格式:
Version - 4 位字段,指出当前使用的 IP 版本。
IP Header Length (IHL) ─ 指数据报协议头长度,表示协议头具有 32 位字长 ipv4 组播代理
的数量。指向数据起点。正确协议头最小值为 5。
Type-of-Service ─ 指出上层协议对处理当前数据报所期望的服务质量,并 对数据报按照重要性级别进行分配。这些 8 位字段用于分配优先级、延迟、
吞吐量以及可靠性。(即 TOS)
Total Length ─ 指定整个 IP 数据包的字节长度,包括数据和协议头。其 最大值为 65,535 字节。典型的主机可以接收 576 字节的数据报。
Identification ─ 包含一个整数,用于识别当前数据报。该字段由发送端分 配帮助接收端集中数据报分片。
Flags ─ 由 3 位字段构成,
其中最低位(MF)控制分片,存在下一个分片 置为 1,否则置 0 代表结束分片。
中间位(DF)指出数据包是否可进行分片。
第三位即最高位为最后一片标志位。0表示是最后一片,1 表示不是最后一片。
Fragment Offset ─ 13 位字段,指出与源数据报的起始端相关的分片数据 位置,支持目标 IP 适当重建源数据报。
Time-to-Live ─ 是一种计数器,在丢弃数据报的每个点值依次减 1 直至减 少为 0。这样确保数据包无止境的环路过程(即 TTL)。
Protocol ─ 指出在 IP 处理过程完成之后,有哪种上层协议接收导入数据 包。
Header Checksum ─ 帮助确保 IP 协议头的完整性。由于某些协议头字段 的改变,如生存期(Time to
Live),这就需要对每个点重新计算和检验。 Internet 协议头需要进行处理。
Source Address ─ 源主机 IP 地址。
Destination Address ─ 目标主机 IP 地址。
Options ─ 允许 IP 支持各种选项,如安全性。
wireshark抓包解析:
抓包:
协议解析:
Internet Protocol Version 4, Src: 124.237.176.179, Dst: 10.132.5.5
//确定互联网协议,源地址及目标地址
0100 .... = Version: 4 //互联网协议IPV4
.... 0101 = Header Length: 20 bytes (5) //IP首部大小为20b
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) // 差分,服务字段
0000 00.. = Differentiated Services Codepoint: Default (0) // 区分服务模块
.... ..00 = Explicit Congestion Notification: Not ECN-Capable
Transport (0) // 源端确认节点的传输协议
Total Length: 359 // IP数据包总长度
Identification: 0x85ea (34282) // 标志字段
Flags: 0x40, Don't fragment //标记字段
0... .... = Reserved bit: Not set // 保留位。 0表示没有,1表示有。
.1.. .... = Don't fragment: Set // 分片标志位。0表示分片,1表示不分片。
..0. .... = More fragments: Not set // 最后一片标志位。0表示是最后一片,1 表示不是最后一片。
...0 0000 0000 0000 = Fragment Offset: 0 // 分段偏移量。
Time to Live: 38 // 生存周期,即可以跳跃节点的数量。
Protocol: TCP (6) // IP数据包封装的上层协议为TCP6
Header Checksum: 0x907d [validation disabled] // 头部数据的校验和。
[Header checksum status: Unverified] // 头部数据未验证
Source Address: 124.237.176.179 // 源地址
Destination Address: 10.132.5.5 // 目标地址