ip地址(IP-CIDR)

引言在沟通生产网络部署的时候,应用开发人员在与网络管理员沟通中经常会遇到很多术语,如何不能很好理解相应的概念沟通起来就会非常费劲,经常遇到的问题如:A、B、C类地址是什么?什么是子网掩码?什么是CIDR?往下看,本文将对这些术语的来龙去脉进行详细解释。一、网络地址分类在internet中,无论想要访问一个终端或者被一个终端访问,都需要一个唯一的标志,也就是IP地址(Internet Protocol Address)。终端之间的互联使用路由器进行转发,路由器维护着一张路由表,路由表记录着IP地址的路由关系

简介在沟通生产网络的部署时,应用程序开发人员在与网络管理员沟通时,经常会遇到许多术语。没有很好的理解相应的概念如何沟通会很困难,常见问题如下:

  • 什么是A、B、C类地址?
  • 什么是子网掩码?
  • 什么是CIDR?
  • 往下看,本文将详细解释这些术语的来龙去脉。

    一、网络地址的分类在互联网中,无论是要访问终端还是被终端访问,都需要一个唯一的标志,即IP地址。终端之间的互连由路由器转发,路由器维护路由表,路由表记录ip地址的路由关系。收到请求后,根据目的地址IP和路由表决定分配。

    因为全球的终端数量是很可怕的,如果每个终端都被分配了一个不规则的IP地址,那么路由表就会记录全球的IP地址,这是一个巨大的数字,路由表会非常庞大,成本和性能都是一个挑战,路由器无法承受。

    所以为了方便寻址,出现了网络号和主机号,即IP地址分为网络地址+主机地址。网络地址用于标识网络,主机地址用于标识网络内部的终端。这样路由器只需要保持一个网络地址的方向就可以找到所有IP对应的网络地址相同的终端。

    在区分网络地址和主机地址时,为了满足不同的网络需求,比如一些大型企业或*机关需要大型网络,而一些小型企业只需要小型网络。如果网络地址和主机地址的数量是固定的,那么在某些使用场景下必然会出现地址不足的情况,有些会被浪费掉。因此,网络地址和主机地址的数量变得动态多变,这是人为分类的,因此出现了五种类型的ABCDE网络地址,分别适用于不同的情况。

    如何区分A、B、C类IP地址?我们知道IP是32位二进制,一般用点分十进制来写,比如192.168.56.11,所以可以简单的用这四个数字来区分:

  • A类地址:IP地址的四段中,第一段代表网络地址,其余三段代表主机地址,即以二进制表示时,由1个字节的网络地址和3个字节的主机地址组成。网络地址的最高位必须是“0”。A类IP地址有7位网络地址标识符和24位主机标识符。由于只有7位数的网络地址标识符,A类网络地址数量较少,可用于1600万台主机以上的大型网络。A类占总地址的50%空。但是,只有126个组织可以分配A类网络地址。有趣的是,每个组织都可以为16,000,000台主机提供地址。非常大的组织将分配整个A类地址块。如今,仍有公司和*机构使用A类地址。例如,通用电气公司拥有3.0.0.0/8,苹果电脑公司拥有17.0.0.0/8,美国邮政署​拥有56.0.0.0/8。
  • b类地址:IP地址的四个数字中,前两个数字是网络地址,剩下的两个数字代表主机地址。如果IP地址用二进制表示,B类IP地址由2字节网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址有14位网络标识符和16位主机标识符。B类网络地址适用于中型网络,每个网络可以容纳6万台以上的计算机。B类占总地址的25%空。多达16,384个组织可以分配B类网络地址,每个网络可以支持65,534台主机。只有那些非常大的公司/组织或*部门才有可能使用所有65,000个地址。类似于A类网络,很多IP地址都浪费在B类地址空之间。
  • C类IP地址是指IP地址的四段中,前三段是网络号,剩下的一段是本地计算机号。如果IP地址用二进制表示,C类IP地址由3个字节的网络地址和1个字节的主机地址组成,网络地址的最高位必须是“110”。C类IP地址的网络标识符为21位,主机标识符为8位。C类网络地址很多,适用于小规模的局域网。每个网络最多只能包含254台计算机。C类占总地址的12.5%空。许多组织可以获得C类网络,但它们受到可以连接的主机总数的限制。事实上,在很多情况下,对于大多数中型企业来说,C类地址通常太小。
  • 种类最大网络数量IP地址范围有效的IP地址范围单个网段中的最大主机数量保留的IP私有IPA126(2^7-2)1.0.0.0-127.255.255.2551.0.0.1-127.255.255.254167772141.0.0.0、127.255.255.25510.0.0.0-10.255.255.255B16384(2^14)128.0.0.0-191.255.255.255128.0.0.1-191.255.255.25465534128.0.0.0、191.255.255.255172.16.0.0-172.31.255.255C2097152(2^21)192.0.0.0-223.255.255.255192.0.0.1-223.255.255.254254192.0.0.0、223.255.255.255192.168.0.0-192.168.255.255可以发现1.0.0.0、128.0.0和192.0.0都不在有效可用的地址范围内。这是因为这些地址都是各种网络分类的网络地址,并且引用这个网络。

    27.255.255.255、191.255.255.255和223.255.255也不在有效IP地址范围内,因为它们属于对应网络的广播地址。

    根据规定,当所有主机位都是0时,就是网络地址,所有1都是网络的广播地址。这两个地址是保留的,不能分配给设备。

    A类地址的网络个数是2 ^ 7-2,减去的两个1都是零,一般从1开始,所以全零不算,另外一个是127的网络,一般用于本地环回,不算在可用范围内。

  • D类地址:D类地址比较特殊,主要用作组播中组播组的IP地址,所以也叫广播地址。其第一个字节的前四位固定为1110,IP地址范围为:224.0.0-239.255.255.255。
  • E类地址:主要留作实验或将来使用。其第一个字节的前四位固定为1111,IP地址范围为:240.0.0-255.255.255.254。
  • 每种类型的地址都有一个私有IP,一般不用在公网,用在私有局域网。比如C类地址的192.168.0.0-192.168.255.255就是一个常见的局域网地址。

    B类地址中的169.254.0.0-169.255.255.255被保留。如果终端被配置为通过DHCP自动获取IP地址,但是找不到DHCP服务器,它将临时从169.254.0.0-169.255.255.255获取一个地址。

    第二,子网掩码说路由器通常需要建立一个转发表来决定如何将请求转发给不同的主机。主机越多,转发表越大,路由器的性能压力也越大。因此,每个IP的映射方案都有缺陷。此外,无论一个网络中有多少台主机,都至少需要分配一个C类网络地址,这导致网络中地址的严重浪费。有什么解决办法吗?答案是子网掩码。

    通过设置子网掩码,您可以指定IP地址的哪些位标识网络地址,哪些位标识主机地址。网络地址相同的IP地址被认为是同一个网络,不需要路由就可以互相通信。这样就把一个比较大的网络划分成了子网,减少了网络上的流量。一些大型企业经常采用这种方式划分子网,更便于管理。子网掩码也称为地址掩码。

    子网掩码也是一个32位二进制数,可以写成点分十进制模式。网络地址对应的所有位都是1,主机地址对应的所有位都是0。网络地址通过32位子网掩码和IP地址之间的二进制逐位逻辑and运算获得,主机地址通过子网掩码和IP地址的二进制逐位反转之间的二进制逻辑AND运算获得。根据这个方法,我们可以知道A类地址的子网掩码是255.0.0.0,B类地址的子网掩码是255.255.0.0,C类地址的子网掩码是255.255.255.0。

    三、CIDR的出现虽然子网掩码解决了路由表的问题,但是网络中仍然存在大量的IP浪费,而且在实际应用中,很多管理员都表示掩码已经配置成了不定形式。其实A、B、C、D、E的分类是名存实亡的。

    CIDR的出现很好地解决了知识产权的浪费和管理问题。它的全称是无类域间路由,即无类域间路由。它基于可变长度子网掩码VLSM来分配任意长度的前缀。它使我们能够将一些不同类型的IP地址组合成一个“超网”地址,打破了不同类型网络地址之间的界限,使分类在不同网络中的未使用的IP地址可以形成一个。

    CIDR采用IP/x,X表示前X位是网络前缀,如192.168.0.1/24,前24位是网络地址,后8位是主机地址。CIDR地址块的最小地址和最大地址可以通过使主机地址全为0和全为1来获得,子网掩码可以通过使网络前缀全为1和主机地址全为0来获得。