计算机网络(五)--IPv4的挣扎(CIDR与NAT)

IPv4由于其成功的设计,得到了全球范围内的广泛应用。然而其地址空间不足的问题,就像一个终将到来的死刑宣告,那一天一旦到来,互联网的发展将受到极大阻碍。为了解决这个问题,科学家们一方面设计了IPv6协议,并已处于初期部署阶段,另一方面便是提高IPv4地址的利用效率,尽量延缓死刑的到来。而CIDR与NAT便是后者思路下的产物。

一、子网划分与子网掩码

在详述CIDR之前,不得不提的便是子网划分技术。

子网划分将一个大的网络进行进一步切割,划分成多个子网。具体实现是在原划分的基础上,将主机号进行进一步切割,划分成子网号和主机号。同一个网络号下的主机可能属于不同子网,子网可以划分给多个使用单位。

与子网划分相伴而生的便是子网掩码。子网掩码与IP地址相同,是一个32位的2进制数,且1和0必须是分别连续的.每个网络的子网掩码,等于将其对应网络的网络号全置为1,主机号全置为0后产生的值。

子网划分的网络数、主机数将由子网掩码所决定。例如一个B类网络174.123.0.0,对其进行子网划分,将子网掩码设置为255.255.252.0(11111111.11111111.11111100.00000000),可知,在后16位主机号中,前6位被设置成了子网号,剩下10位作为主机号,所以可使用的子网数量位26=64个,可使用的主机号为210-2=1022个(排除全0与全1的主机号)

传统的ABC类地址有默认的子网掩码,即A类地址子网掩码:255.0.0.0,B类地址子网掩码:255.255.0.0,C类地址子网掩码:255.255.255.0

而一个外来IP地址,究竟应该传向哪个子网,也只需与子网掩码进行二进制位与运算,找到对应的IP地址即可。

二、CIDR

1.概述

CIDR,英文全称为Classless Inter-Domain Routing,即无类别域间路由,是一种突破了传统的ABCDE类地址划分,可对IPv4

进行更加细致的网络划分,提高地址利用率的技术。

在传统的地址划分下,实际运用中涌现以下问题:对大多数企业来说,使用一个C类地址,每个地址仅有256个可用主机号太少,而使用B类地址,每个地址下有65535个主机号又太多。这个问题是由于地址划分不够灵活造成的。CIDR的出现,对地址进行了更细致的划分,巧妙地解决了这个问题。

2.划分方式

在子网划分中,IP地址被划分成三段–网络号、子网号、主机号,而CIDR将网络号与子网号合并,三段划分重回两段划分。CIDR下的IP地址表示为a.b.c.d/n,n表示网络号的长度。这样以来,32位IP地址不仅仅是被划分为ABCDE类,而可灵活地划分为数十类,只要网络号长度符合要求即可。

举例:

​ 1)两台IP地址分别为198.189.252.3/22和198.189.253.4/22的主机。这两个IP地址表示成2进制是11000110.10111101.11111100.00000011和11000110.10111101.11111101.00000100,前22位为网络号,显然两台主机网络号相同,属于同一网络的不同主机。

​ 2)两台IP地址分别为198.189.252.3/22和198.189.252.3/20的主机。这两个IP地址去掉网络号长度虽是一样的,经过计算可知,分别属于不同的网络。

3.子网聚合

在子网划分提高IP地址利用率的同时,也可能会带来路由表爆炸的问题。此时,将子网聚合是一个好的解决方法。具体实现表现为求出最小相同网络前缀,缩短网络号长度。

举例:一个网络中有两个子网:198.189.253.0/24与198.189.254.0/24,在路由表中会占据两个表项,但下一跳地址却是相同的。若将子网合并,找到网络号的前22位是相同的,则可用198.189.252.0/22来作为两个子网的超网,路由表中也只需用这一个表项代替之前的两项即可。

三、NAT

1.概述

NAT,英文全称为network address translation,即网络地址转换。其核心思想是重复使用大量的私有IP地址,而以较少的共有IP地址来代表之,以达到缓解IP地址空间枯竭的问题。

NAT技术除了缓解IP地址的枯竭问题外,还可以起到安全防护的功能。由于本地网络暴露给外界的IP地址只是其代表路由器的IP地址,其真正IP地址得以隐藏,自然在安全性上得到了提升。

2.具体实现

在上一节中,我们介绍了IP私有地址,ABD类地址分别有其私有的IP地址。在一个本地网络中,可以使用本类网络的私有IP地址代表各个主机,当需要与外网主机交互时,在路由器处根据NAT表转换成公有IP地址即可。

举例:

如图,有一个本地网络,网络号为192.168.0.0,其内部主机相互传输信息时,只需要使用私有IP地址192.168.0.3、192.168.0.4等即可。当需要与外网主机交互数据时,如213.18.2.4,只需在NAT路由器处,根据NAT路由表进行一次转换,便成了公有IP地址。

2.168.0.4等即可。当需要与外网主机交互数据时,如213.18.2.4,只需在NAT路由器处,根据NAT路由表进行一次转换,便成了公有IP地址。

猜你喜欢

转载自blog.csdn.net/weixin_44580146/article/details/106882898