网际协议(英语:Internet Protocol,缩写:IP)是TCP/IP体系中两个最主要的协议之一。
与IP协议配套使用的还有三个协议——地址解析协议(英语:Address Resolution Protocol,缩写:ARP)、互联网控制消息协议(英语:Internet Control Message Protocol,缩写:ICMP)、网路群组管理协议(英语:Internet Group Management Protocol,缩写:IGMP)。
IP地址的分类
IP地址的三种编址方式:
- 分类IP地址——最基本的编址方式;
- 子网划分——对最基本的编址方式的改进;
- 构成超网——无分类编址方式。
分类IP地址
将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成——网络段和主机段,如下图所示:
常用的三种类别的IP地址
特殊的IP地址
子网划分
从1985年起,IP地址中增加了一个子网段,使两级的IP地址变为三级的IP地址。
划分子网由机构/组织内部进行,对(机构/组织)外仍然表现为没有划分子网的二级网络;从主机段借用若干位作为子网段,而主机段也就相应减少若干位。
子网划分方法
- 由固定长度子网和变长子网两种子网划分方法;
- 在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的;
- 现在虽然可以使用全
1
和全0
的子网段,但需要路由器和相应软件的支持。
子网掩码
从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分,使用子网掩码可以找出IP地址中的子网部分。
- 子网掩码长32位;
- 子网掩码左边部分的一连串
1
,对应网络段和子网段; - 子网掩码右边部分的一连串
0
,对应主机段。
- 路由器和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器;
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码;
- 若一个路由器连接在两个字网上,就拥有两个网络地址和两个子网掩码。
IP数据报
一个IP数据报由首部和数据部分组成;首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的;在首部的固定部分的后面是一些可选字段,长度可变。
版本:IP协议的版本,长4位;
首部长度:可表示的最大数值是15个单位(一个单位为4字节),因此IP数据报的首部长度的最大值为60字节;长4位;
区分服务:一般情况下不使用该字段,长8位;
总长度:IP数据报的长度,单位为字节,长16位;
标识:一个计数器,用来产生IP数据报的标识,长16位;
标志:长3位,只有前两位有意义,最低位为
MF
,MF=1
表示后面还有分片
,MF=0
表示最后一个分片
,中间位为DF
,只有当DF=0
时才允许分片;片偏移:长13位,较长的分组在分片后,某片在原分组中的相对位置,片偏移以8字节为单位;
生存时间:记为
TTL
,IP数据报在网络中可通过的路由器数量的最大值,长8位;协议:IP数据报携带的数据使用何种协议,长8位;
首部检验和:只校验IP数据报的首部,不校验数据部分,长16位;
源地址:长4字节;
目的地址:长4字节;
可选字段:长度可变,长1字节~40字节,实际很少被使用;
IP转发分组的流程
根据目的网络就能确定下一跳路由器。
特定主机路由
在大多数情况下都允许为特定的目的主机指明一个路由,可使网络管理员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用特定主机路由。
默认路由
默认路由可以减少路由器的路由表所占用的空间和搜索路由表所用的时间,适用于一个只有很少对外连接的网络。
IP数据报的首部没有字段用来指明下一跳路由器的IP地址,当路由器收到待转发的IP数据报,将其送交下层,下层使用ARP协议负责将下一跳路由器的IP地址转换成硬件地址,并将此硬件地址置于数据链路层的MAC帧首部,然后根据该硬件地址找到下一跳路由器。