IP:网际协议

IP:网际协议

IP首部

IP数据报的格式如图3-1所示。普通的IP首部长为20个字节,除非含有选项字段。


图3-1 IP数据报格式及首部中的各字段

最后一个字段是任选项,是数据报中的一个可变长的可选信息。目前,这些任选项定义

如下:

  • 安全和处理限制
  • 记录路径
  • 时间戳
  • 宽松的源站选路
  • 严格的源站选路

这些选项很少被使用,并非所有的主机和路由器都支持这些选项。

选项字段一直都是以 32 bit作为界限,在必要的时候插入值为 0的填充字节。这样就保证IP首部始终是32 bit的整数倍(这是首部长度字段所要求的)。

IP路由选择

从概念上说, IP路由选择是简单的,特别对于主机来说。如果目的主机与源主机直接相连(如点对点链路)或都在一个共享网络上(以太网或令牌环网),那么IP数据报就直接送到目的主机上。否则,主机把数据报发往一默认的路由器上,由路由器来转发该数据报。大多数的主机都是采用这种简单机制。

子网寻址

现在所有的主机都要求支持子网编址( RFC 950 [Mogul and Postel 1985])。不是把I P地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。

这样做的原因是因为 A类和B类地址为主机号分配了太多的空间,可分别容纳的主机数为224-2和226-2。事实上,在一个网络中人们并不安排这么多的主机(各类 I P地址的格式如图1-5所示)。由于全0或全1的主机号都是无效的,因此我们把总数减去2。

在InterNIC获得某类 IP 网络号后,就由当地的系统管理员来进行分配,由他(或她)来决定是否建立子网,以及分配多少比特给子网号和主机号。例如,这里有一个 B类网络地址(140.252),在剩下的16 bit中,8 bit用于子网号,8 bit用于主机号,格式如图 3-5所示。这样就允许有254个子网,每个子网可以有254台主机。


图3-5 B类地址的一种子网编址

子网掩码

任何主机在引导时进行的部分配置是指定主机 IP地址。大多数系统把 IP 地址存在一个磁盘文件里供引导时读用。除了I P地址以外,主机还需要知道有多少比特用于子网号及多少比特用于主机号。这是在引导过程中通过子网掩码来确定的。这个掩码是一个 32 bit的值,其中值为 1的比特留给网络号和子网号,为0的比特留给主机号。图 3-7是一个B类地址的两种不同的子网掩码格式。第一个例子是noao.edu网络采用的子网划分方法,如图 3-5 所示,子网号和主机号都是 8 bit宽。第二个例子是一个B类地址划分成10 bit的子网号和6 bit的主机号。


图3-7 两种不同的B类地址子网掩码的例子

尽管I P地址一般以点分十进制方法表示,但是子网掩码却经常用十六进制来表示,特别是当界限不是一个字节时,因为子网掩码是一个比特掩码。

给定I P地址和子网掩码以后,主机就可以确定 I P数据报的目的是:( 1)本子网上的主机;(2)本网络中其他子网中的主机;( 3)其他网络上的主机。如果知道本机的 I P地址,那么就知道它是否为A类、B类或C类地址(从I P地址的高位可以得知),也就知道网络号和子网号之间的分界线。而根据子网掩码就可知道子网号与主机号之间的分界线。