码迷,mamicode.com
首页 > 其他好文 > 详细

IP协议

时间:2016-04-20 20:12:55      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

IP地址的作用

广义地说,IP地址唯一标示了连上互联网上的一台主机,那么只要知道了一台主机的IP地址,那么就可以给该主机发送消息。路由器会根据消息的目的地址选择合适的线路将信息转发到目的主机。

IP地址的三个阶段

IP地址的编址方法一共经过了三个历史阶段。

(1)分类的IP地址。将IP地址分为A,B,C,D,E五大类。

(2)子网的划分。将一个大的网络划分成若干个更小的子网,从而提高了灵活性。

(3)无分类编址方法(无分类域间路由选择CIDR)。

 

分类的IP地址

IPV4地址用4个字节表示,共32个字节。此阶段的IP地址 = 网络号 + 主机号

A类地址的最高位固定为0,所以只要一个IP地址的最高位为0,该IP地址就是A类地址。A类地址用7位表示网络号,24位表示主机号。

B类地址的前两位固定为10,所以只要一个IP地址的前两位为10,该IP地址就是B类地址。B类地址用14位表示网络号,16位表示主机号。

C类地址的前三位固定为110,所以只要一个IP地址的前两位为110,该IP地址就是C类地址。C类地址用21位表示网络号,8位表示主机号。

D类地址的前4位固定为1110,剩下的位数用来表示多播地址。

E类地址的前4位固定为1111,剩下的位数用来表示预留地址。

可以看出,IP地址的前几位固定为XXX是有含义的,即B类地址的网络号正好连在A类地址后面,C类地址地址的网络号也正好接在B类地址后面。

技术分享

(1)私有地址
上面提到IP地址在全世界范围内唯一,任意两台主机的IP地址不能相同,或者会冲突,看到这句话你可能有这样的疑问,像192.168.0.1这样的地址在许多地方都能看到,并不唯一,这是为何?Internet管理委员会规定如下地址段为私有地址,私有地址可以自己组建内网时使用。所以使用路由器组建内网时,都是使用私有地址。当内网的电脑需要访问外部网络时,那么你的路由器必须具备一个上面所说的全球IP地址,此时路由器会使用NAT(network address translate)协议将内网地址转为全球地址,即内网的小伙伴们共用一个全球IP地址。显然的,伙伴一多,就感觉就很卡了。

下面是A、B、C类网络中的私有地址段。你自己组网时就可以用这些地址了。

10.0.0.0~10.255.255.255
172.16.0.0~172.131.255.255
192.168.0.0~192.168.255.255

(2)回送地址
A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127的分组不能出现在任何网络上。
 

子网的划分

第一阶段的IP地址的结构存在以下问题:

(1)IP地址空间的利用率有时很低。每一个A类网络地址能够容纳1000多万台主机,有些组织申请到了一个A类地址,但是又没有那么多主机,就会浪费很多IP地址。

(2)不便于管理。如果一个网络中有1000多万台主机,那么要管理这么多的主机,想想都可怕。

(3)拖慢网络性能。一个网络中有1000多万台主机,一个网络是由一个路由器管理的,那么一个路由器要分组转发1000多万台的主机的数据,能不拖慢网络性能吗。

所以就出现了子网划分技术,将一个很大的网络划分成若干个子网,每个子网用一个路由器转发该子网内主机的信息。就相当于就该网络划分成了若干个网络。但是对外来说,是看不到这些子网的。

此阶段的IP地址 = 网络号 + 子网号 + 主机号

 划分子网的方法是从IP地址中的主机号借若干位来作为子网号,那么主机号也就相应减少了同样的位数。
但是从IP地址中我们无法看到一个IP地址是不是划分了子网,所以就需要子网掩码的帮助。
子网掩码也是用4个字节表示,共32位。子网掩码的特点是前面连续的若干位为1,后面连续的若干位为0。
如果子网掩码的某一位为1,说明IP地址对应位用来做网络号或者子网号。那么只要将IP地址和子网掩码进行&运算得到的结果就表示了网络号+主机号,然后再根据上面A,B,C类地址的特点,就很容易得到哪几位是子网号。
技术分享
 

无分类编址(CIDR)

无分类编址的正式名字是无分类域间路由选择CIDR(Classless Inter-Domain Routing),其最主要的特点有两个。

(1)CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,CIDR使用两级地址结构,即IP地址 = 网络前缀 + 主机号。而且CIDR使用斜线记法,即在IP地址的后面加上斜线"/",然后写上网络前缀所占的位数,这样从IP地址就可以看出该IP地址使用多少位作为网络前缀。不过为了计算机运算方便,还是使用掩码技术来表示网络前缀的长度。

(2)CIDR把网络前缀都相同的连续的IP地址块组成一个CIDR地址块,正是这个技术,使得CIDR可以聚合多个A类或者多个B类,或者多个C类地址为一个地址块,这样使得路由器中的路由表选项大大减少了。

 

现在都是使用CIDR地址表示了,已经不使用分类地址了,但是为了方便表述,还是使用分类地址来介绍。

如下图,该ISP有CIDR地址是206.0.64.0/18,其二进制表示是11001110.00000000.01*,共拥有64个C类网络。如果没有使用CIDR技术,那么互联网与该ISP的连接的路由器的路由表中就需要有64个C类地址的项目。但是如果使用CIDR技术,路由表中只需要记录206.0.64.0/18这个项目就能够找到该ISP了,这就是地址聚合的概念。从这点可以看出CIDR使得IP地址的分配和使用非常的灵活。

技术分享

CIDR同样可以划分子网,上上图中可以看出,ISP分配给大学X一个CIDR地址块206.0.68.0/22,该大学将该地址块分成了4个子网,即只能将网络前缀变长就能够划分出子网了。其实CIDR的子网划分和第二阶段的子网划分其实差不多。

 

该文章在我的个人博客的地址是:http://www.alphaway.org/post-419.html

参考:

划分子网的意义

IP协议

标签:

原文地址:http://www.cnblogs.com/justPassBy/p/5413946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!