标签:特点 代码 运算 包含 http 数据链路层 七层 占用 子网
在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不实用。TCP/IP体系结构则不同,得到的广泛的应用。最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层。
IP地址就是给英特网上的每个主机(路由器)的每个接口分配一个在全世界范围内是唯一的32位的标识符。其组成第一个字段是网络号,第二个字段是主机号。一个主机号在前面的网络号所指明的网络范围内必须是唯一的,所以一个IP地址在整个网络中都是唯一的。目前分为A、B、C、D、E 五类IP地址。
因此我们一般使用的就是ABC三类网络地址,IP地址是32位的二进制代码,为了提高可读性,把32位的IP地址中的每8位用等效的十进制表示出来(点分十进制),于是我们日常生活中常见的IP地址就出现了。
例如:IP地址,128.11.3.31,转化为二进制为 100000000 00001011 00000011 00011111 ,可以看出类别位为 10,可以判断为一个B类地址。
综上网络号和主机号的指派描述可知,IP地址空间共有232个地址。
所有A类地址共有(2^7-2)?(2^24-2)个,大约2^31,占50%;
所有B类地址共有(2^14-1)?(2^16-2)个,大约2^30,占25%;
所有C类地址共有(2^21-1)?(2^8-2)个,大约2^29,占12.5%;
从层次角度来看,硬件地址是数据链路层和物理层使用的地址(常称作MAC地址),而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。在网络层我们进行数据报文从IP1传输到IP2,无论我们中间经过多少次转发,从网络层来看,源地址始终是IP1,目的地址始终是IP2。但是从数据链路层来看,显然就不是这样了,这些是物理地址,很有可能从源节点经过多次中间节点的物理地址的转变才能到达目的节点。
而IP地址和物理地址的之间的转化则需要依靠两个重要的协议ARP(地址解析协议),RARP(逆地址解析协议)。IP地址通过ARP转化成物理地址,物理地址可以通过RARP转化成相应的IP地址。
现在假设这样一个场景,一个数据报起目的地址是145.13.3.10(在子网 145.13.3.0中),已经到达路由器R1(145.13.0.0),那么这个路由器怎么将它转发到145.13.3.0呢?
我们并不知道目的地址是否进行了子网的划分。
这就引出了子网掩码的概念了,子网掩码也是32位,由一串1和0组成,子网掩码中的1对应于IP地址中的网络号位置+子网网络号位置,子网掩码中的0对应与IP地址中现在的主机号位置。
我们只要将IP地址和子网掩码进行“与”运算,如果进行子网的划分,就立刻得出要找的子网的网络地址,如果没有进行子网划分(有默认的子网掩码),则直接能够得出该IP地址的网络地址出来。
无分类编址CIDR,使用变长的子网掩码,可以进一步提高IP地址的资源利用率。有两个特点
第一,消除了传统的ABC类地址及划分子网的概念,CIRD把32位的IP地址划分成为两个部分,网络前缀和剩下的部分,表示方法为,在IP地址后面加上“/”,然后写上网络前缀所占位数。
第二,把网络前缀相同的IP地址组成一个CIDR地址块,例如,IP地址 128.14.35.7/20 用二进制表示 100000000 00001110 00100011 00000111,所以我们很容易可以得出这块地址中最小地址为128.14.32.0,即 100000000 00001110 00100000 00000000,最大地址为128.14.47.255,即 100000000 00001110 00101111 11111111.
为了更加方便进行路由选择,CIDR使用32位的地址掩码,1的个数就是网络前缀的长度,如上面所举例中的/20的地址块的地址掩码是 11111111 11111111 11110000 00000000
因此可以看出,网络前缀越短,其地址块所包含的地址就越多,这样可以根据实际情况更加有效的分配IPv4的地址空间。而由很多个CIDR地址快构成的庞大的网络就就被称为“超网”。
标签:特点 代码 运算 包含 http 数据链路层 七层 占用 子网
原文地址:https://www.cnblogs.com/lanqiu5ge/p/9454559.html