IP协议详解
本文主要介绍了IP服务特点,头部结构,IP分片知识,并用tcpdump抓取数据包,来观察IP数据报传送过程中IP的格式,以及分片的过程。
IP头部信息:IP头部信息出现在每个IP数据报中,用于指定IP通信的源端IP地址、目的端IP地址,指导IP分片和重组。
IP数据报的路由和转发:IP数据报的路由和转发发生在出目标机器之外的所有主机和路由器上。他们决定数据报是否应该转发以及如何转发。
IP服务的特点
IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。
无状态是指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接收都是相互独立、没有上下文关系的。这种服务最大的缺点是无法处理乱序和重复的IP数据报。
无连接是指IP通信双方都不长久的维持对方的任何信息。这样,上层协议每次发送数据时,都必须明确指定对方的IP地址。
不可靠是指IP协议不能保证IP数据报准确的达到接收端。
IPv4头部结构
4位版本号指定IP协议的版本
4位头部长度表示IP有多少个32bit字(4字节)
8为服务类型(Type OfService)包括一个3为优先字段,4位的TOS字段和1位保留字段(必须置0)。4位的TOS字段分别表示:最小延迟,最大吞吐量,最高可靠性和最小费用。其中最多有一个能置为1。
16位总长度是指整个IP数据报的长度,以字节为单位。由于MTU的限制,长度超过MTU的数据豆浆杯分片传输。
16位标识唯一标识主机发送的每一个数据报,同一个数据报的所有分片具有相同标识值。
3位标志字段第一位保留,第二位表示“禁止分片”,第三位表示更多分片,除了数据报最后一个分片外,其他分片都要把她置1.
13位分片偏移是分片对原始IP数据报开始出的偏移。
8位生存时间(Time ToLive,TTL)是数据报到达目的地之前允许经过的路由器跳数。每经过一个路由,该值减1.
8位协议用来区分上层协议,其中ICMP是1&#x