【TCP-IP详解卷一:协议】二、IP 协议

来源:互联网 发布:centos php伪静态 编辑:程序博客网 时间:2024/05/18 00:47

1. IP 数据报的格式

    普通IP首部长为20个字节,

     4个字节的32bit值以下面的次序传输:首先是0~7bit,其次是8~15bit,然后是16~23bit,最后是24~31bit。这种传输次序称作big endian字节序。

 

2. 子网寻址

     现在所有的主机都要求支持子网编址。不是把IP地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分为一个子网号和一个主机号。

     在InterNIC获得某类IP网络号后,由当地的系统管理员来进行分配,由系统管理员来决定是否建立子网,以及分配多少bit给子网号和主机号。

   E.g: 一个B类网络地址(140.252),剩下的16bit中, 8bit用于子网号, 8bit用于主机号, 这样就允许有254个子网,每个子网有254台主机。

   (由于全0活着全1的主机号都是无效的,所以,把主机总数减去2)

 

    大多数的子网例子都是B类地址。其实,子网还可用于C类地址,只是它可用的比特数较少而已。很少出现A类地址的子网例子是因为A类地址本身就很少(但是,大多数A类地址都是进行子网划分的)。

 

  子网对外部路由器来说隐藏了内部网络组织(一个校园或公司内部)的细节.

 

3.  子网掩码

    除了I P地址以外,主机还需要知道有多少比特用于子网号及多少比特用于主机号。这是在引导过程中通过子网掩码来确定的。

   这个掩码是一个32 bit的值,其中值为1的比特留给网络号和子网号,为0的比特留给主机号。

 

4. 给定I P地址和子网掩码以后,主机就可以确定I P数据报的目的是:

   (1)本子网上的主机;
   (2)本网络中其他子网中的主机;

   (3)其他网络上的主机。

    如果知道本机的I P地址,那么就知道它是否为A类、B类或C类地址(从I P地址的高位可以得知),也就知道网络号和子网号之间的分界线。而根据子网掩码就可知道子网号与主机号之间的分界线。

 

e.g.

 

   假设我们的主机地址是140.252.1.1(一个B类地址),而子网掩码为255.255.255.0(其中8bit为子网号, 8bit为主机号)。
• 如果目的I P地址是140.252.4.5,那么我们就知道B类网络号是相同的(140.252),但是子网号是不同的(1和4)。
• 如果目的I P地址是140.252.1.22,那么B类网络号还是一样的(140.252),而且子网号也是一样的(1),但是主机号是不同的。
• 如果目的I P地址是192.43.235.6(一个C类地址),那么网络号是不同的,因而进一步的比较就不用再进行了。

 

给定两个I P地址和子网掩码后, I P路由选择功能一直进行这样的比较。