4位版本号:指定IP协议的版本,IP4:版本号为4;IP6:版本号为6
4位首部长度:表示IP头部长度是多少。每个bit位代表4个字节,IP长度为 length * 4字节,4个bit位表示的最大数为15,因此,IP协议的最大首部长度是15 * 4字节 = 60字节
8位服务类型:3位优先权字段(应将弃用)、4位TOS字段、1位保留字段。4位TOS字段分别表示:最小延时,最大吞吐量,最高可靠性,最小成本,这4者相互冲突,只能选择一个,对于ssh/telnet这样的应用程序,最小延时最重要对于ftp这样的应用程序,最大吞吐量最重要
16位总长度:IP数据报整体占多少字节
16位标识:唯一的标识主机发送的报文,如果IP报文在数据链路层被分片了,那么每一个片里面的这个id字段相同
3位标志字段:第一位保留,第二位置为1,标识禁止分片,这时候如果IP报文大于MTU,IP模块就会丢弃报文;第3位表示更多分片,如果分片了的话,最后一个分片置为1,其他都是0,类似于一个结束标记
13位分片偏移:是分片相对于原始IP报文开始处的偏移;实际偏移的字节数是这个值 * 8得到,因此,除了最后一个报文之外,其它的报文长度必须是8的整数倍,否则报文不连续
8位生存时间:数据包到达目的地的最大报文跳数,一般是64,每次经过一个路由,TTL -= 1,一直减到0还没到达,那么就丢弃了,这个字段主要是为了防止出现路由循环
8位协议:表示上层协议的类型
16位头部校验和:使用CRC进行校验,来鉴别头部是否损坏
32位源地址和32位目标地址:表示发送端和接受端的IP
选项字段:不定长,最多40字节
最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等).
这个限制是不同的数据链路对应的物理层,产生的限制
以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充为
最大值1500称为以太网的最大传输单元,不同的网络有不同的MTU
如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU,则需要对数据包进行分片
不同的数据链路层标准的MTU是不同的
MTU规定了数据链路层传输的数据大小,对于较大的IP数据包要进行分包
将较大的IP包分成多个小包,并给每个小包打上标签
每个小包IP协议头的16位标识都是相同的
每个小包的IP协议头的3位标志字段中,第二位置为0,标识允许分包,第3为标识结束标记,如果当前包是一个IP数组报分成的小包中的最后一个,第3为标志是1,如果不是 为 0
IP地址由网络号和主机号构成,IP4的长度是4个字节,32位
网络号:保证相互连接的网段具有不同的标识
主机号:同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号
过去把提出一种划分网络号和主机号的方案,把所有的IP划分为五类,如下:
A 类地址为 0.0.0.0到127.255.255.255
B 类地址为 128.0.0.0到191.255.255.255
C 类地址为 192.0.0.0到223.255.255.255
D 类地址为 224.0.0.0到239.255.255.255
E 类地址为 240.0.0.0到247.255.255.255
随着计算机的发展,上述的划分方案凸显出很大的局限性,大多数组织申请B类网络地址,导致B类地址很快分配完了,而A类浪费了大量地址,于是出现了新的划分方法,称为CIDR(无类别域间路由)
引入一个额外的子网掩码来区分网络和主机号
子网掩码也是一个3位的正整数,通常用一串0来结尾
将IP地址和子网掩码进行“按位与”操作,得到的结果就是网络号
网络号和主机号的划分与这个IP地址是A类、B类、还是C类无关
CIDR的IP形式,如:140.252.20.68/24,表示IP地址为140.252.20.68,子网掩码的高24位是1,也就是255.255.255.0
IP地址中主机位全部为0时,就成了当前网络的网络号,代表这个局域网
IP地址中主机位全为1时,就成了当前网络的广播地址,用于给用一个链路中相互连接的所有主机发送数据包
127.*的IP地址表示本机环回地址,通常是127.0.0.1
IP地址的数量限制
IPv4是一个4字节32位的正整数,那么一共有2的32次方个IP地址,大概是43亿,而TCP/IP协议规定,每个主机都需要有一个IP地址
这就意味着,最多有43亿多台主机可以接入网络,但由于一些特殊的IP的存在,实际上数量远不足43亿,并且,IP地址并非是按照主机数量来配置的,而是每一个网卡都需要配置一个或多个IP地址,因此,IP的使用很紧张
在引入了CRID之后,在一定程度上缓解了IP地址不够用的问题,但是仍然不够,这时,提出了三种方式来解决
动态分配IP
NAT技术
IPv6
每一个网卡都需要配置一个或多个IP地址,因此,IP的使用很紧张
在引入了CRID之后,在一定程度上缓解了IP地址不够用的问题,但是仍然不够,这时,提出了三种方式来解决
动态分配IP
NAT技术
IPv6
并不是IPv4的简单升级版,这是两个互不相关的协议,彼此不兼容;IPv6用128位来表示一个IP地址,但是目前IPv6还没有普及