网络层协议-精讲篇
网络层协议-精讲篇
网络层作为TCP/IP参考模型中非常重要的一层,学会它是重中之重,下面咱们一起Study.
各字段的含义如下。
➢版本(Version): 该字段包含的是IP的版本号,4bit.目 前IP的版本为 4(即IPv4)。该版本形成于20世纪80年代早期,现在无论是在局域网还是在广域网中,使用的都是IPv4.目前IPv4所面临的最大问题是IP地址空间不足,即将使用的IPv6是IP的下一个版本,但也不能解决IP地址缺乏的问题。
➢首部长度(Header Length):该字段用于表示IP数据包头长度,4bit. IP 数据包头最短为20字节,但是其长度是可变的,具体长度取决于选项字段的长度。
➢优先级与服务类型 (Priority & Type of Service): 该字段用于表示数据包的优先级和服务类型,8bit. 通过在数据包中划分- -定的优先级,用于实现QoS (服务质量)的要求。
➢总长度 (Total Length):该字段用以指示整个IP数据包的长度,16bit. 最长为65 535 字节,包括包头和数据。
➢标识符 (Identification); 该字段用于表示IP数据包的标识符, 16bit.当IP对上层数据进行分片时,它将给所有的分片分配- -组编号, 然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志-一个数据包,以便接收节点可以重组被分片的数据包。
➢标志(Flags): 标志字段,3bit.标志和分片一-起被用来传递信息。例如,对当前的包不能进行分片(当该包从一一个以太网发送到另-一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出。
➢段偏移量(Fragment Offset): 该字段用于表示段偏移量,13bit。 段偏移量中包含的信息是指在-一个分片序列中如何将各分片重新连接起来。
➢TTL (Time to Live): 该字段用于表示IP数据包的生命周期,8bit. 该字段包含
的信息可以防止一个数据包在网络中无限循环地转发下去。TTL值的意义是一个数
据包在被抛弃前在网络中可以经历的最大周转时间。该数据包经过的每-一个路由器
都会检查该字段中的值,当TTL的值为0时,该数据包将被丢弃。TTL对应于一个数据包通过路由器的数目。一个数据包每经过-一个路由器,TTL 将减去1。
➢协议号(Protocol): 协议字段,8bit。 该字段用以指示在IP数据包中封装的是哪
一个协议,是TCP还是UDP, TCP 的协议号为6, UDP的协议号为17。
➢首部校验和(Header Checksum):该字段用于表示校验和,16bit。 校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算报头的校验和,
就如同源机器所做的一样。如果数据没有被改动过,两个计算结果应该是一样的。
➢协议号 (Protocol):协议字段,8bit.该字段用以指示在IP数据包中封装的是哪一个协议,是TCP还是UDP,TCP 的协议号为6,UDP的协议号为17。
➢
首部校验和(Header Checksum): 该字段用于表示校验和,16bit。 校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算报头的校验和,就如同源机器所做的一样。如果数据没有被改动过,两个计算结果应该是一样
的。
➢源 IP地址(Source IP Address):该字段用于表示数据包的源地址,32bit. 这是一个网络地址,指的是发送该数据包的设备的网络地址。
➢目标IP地址(Destination IP Address ):该字段用于表示数据包的目的地址, 32bit。这是一个网络地址,但指的是接收节点的网络地址。
➢可选项 (Options):选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。
下面我们抓包看一下,ICMP的协议号是 1
ARP的缺陷
ARP协议,由于有BUG存在,所以日常使用中,记得安装防火墙软件,进行ARP绑定,等,做好防护措施。
本篇分享到此,下次再会!