计算机网络教程 之 网络层 (2) IP地址设计和用尽问题

505 阅读6分钟

目录

分类的IP地址设计上有不合理的情况

  1. 存在利用率底下的问题,A类地址主机数超过1000万个,B类6万个,有的单位申请了C类地址,但是本身的主机数不是很多,但为了考虑以后的发展,就导致了浪费。
  2. 每一个物理网路都有一个网络号,使路由器的路由表项目太多,增加了存储成本和转发的效率
  3. 不够灵活,如果一个单位现在需要一个新的网络,但是先申请一个新的IP地址。
  4. 整个IPV4地址空间很快会分配完毕。

历史上为了解决上面的问题,做出了以下的一些改善

划分子网

把两级的IP地址转化成三级的IP地址,增加一个子网号,即在主机号借一些位数当作子网号,主机数量也回减少相应的数量。划分子网是拥有这个网络号的单位内部事情,从外部看还是统一的网络。到达这个网络号的路由器时,就要根据子网号,转发到相应的子网了。 那怎么标记这种子网呢,就要通过子网掩码了,我们通过IP地址是看不出它的子网号的。它的任务就是要找出它的网络号和子网号,而把剩下的主机号过滤掉。通过&运算,把网络号和子网号的位都设置成1,而主机号都设置成0即可。规定所有的网络都要是使用子网掩码,如果不划分子网,那么就是用默认的子网掩码(网络号位数是1,主机号是0)即可。 划分子网增加了灵活性,但是却减少了网络上的主机数量。

无分类地址

通过这个名字,大家就可以知道,这种地址不采用分类,没有了ABCD类地址的约束了。可想而知这样增加了很多的网络号,因为原来分类的地址的网络号位数是固定的。这样分配IP地址就更佳高效了。这种方式使用斜线记法,即在IP地址的后面加上“/网络号位数”。 这样分配也更加灵活,不需要按照8/16/24来具体分配了。

构建超网

表示一种地址的聚合,例如合并多个C类地址,那么这个几个C类地址在路由表中就是一个项目了,就减少了路由表的项目数。并且也可以根据实际情况分配网络的数量,需要几个C类地址等,减少了网络的浪费。

IPV6地址

由于IPV4地址空间快要用尽(现在已经用尽了),解决这个问题,当然是使用更多位数的IP地址,即IPV6。不同之处

  1. 更大的地址空间
    增加了4倍,扩大到了128位,使地址空间增大了2的96次方倍。
  2. 更加灵活的首部
    这样提高了路由器的处理效率,因为可以不尽兴处理。首部长度是固定的了。
  3. 允许协议的扩充
    IPV4的功能是固定的
  4. 改进的选项
    IPV4选项是固定不变的,放在首部的可变部分,v6放在有效载荷中。
  5. 即插即用,不需要使用DHCP

v6数据报由二部分组成,即基本首部和后面的有效载荷。有效载荷包括多个扩展首部和后面的数据部分。 他的首部取消了首部长度字段,因为是首部固定的了。首部的字段数量变成8个了,分别是版本,通信量类,流标号,有效载荷长度,下一个首部,跳数限制,愿地址/目的地址。

v4如果使用了首部的选项,那么沿途的每个路由器都要对这些选项进行一一的检查,这降低了路由器的传送效率。v6把原来的首部选项部分放在了有效载荷的扩展首部部分,而把首部长度设置成固定值。把首部的选项给了原点和终点来处理。大大的提高了路由器的效率。

v6使用16进制记法,使用:分割。允许零压缩,相同的0可以省略。

IPV4 和 V6 如何兼容

因为不可能所有的地址都一下子使用v6的地址,有两种方式解决这个问题

双协议栈

同时装有两种协议栈,这种机器不但可以和v4通信也可以与v6通信。但是发送的过程中,有些数据会丢失,这是不可避免的。

隧道技术

即包装,把v6的包装成v4,就是把v6的数据报放到v4数据报的数据部分,使用时在解析出数据部分即可。

1. 更庞大的网络地址数量

IPv6地址长度为128比特,地址空间增大了2的96次倍。IPv6能够为现在和将来的互联网应用提供更多的网络地址,它能够在现在40亿个IPv4的网络地址的基础上增加大体上340万亿万亿万亿的IPv6网络地址。

2. 更小的路由表

因为IPv6在地址分配时遵循聚类原则,相同区域默认分配相同前缀IP地址。当路由在查找和传递过程中,可以更高效地选择最优路由进行传递,大大节省传递时的开销。

3. IPv6的分段处理

在IPv4的网络中,数据包在传输过程中,路由器会根据其设置的MTU值(最大传输单元,默认为1500字节)来对数据包进行分片传输。

而在IPv6的网络中,主机在发出数据包时,就已经对数据包进行分片处理(默认最小MTU为1280字节),这样在数据传输的过程中就不需要路由器来担任分片工作,大大提高了数据传输的效率。

4. 即插即用

在IPv4的网络中,如果用户不想手动配置IP地址,就得依赖DHCP服务来进行地址自动分配。在IPv6中同样可以通过DHCPv6进行有状态地址分配,但是也可以不依赖DHCPv6来进行无状态地址分配(SLAAC)。

IPv6可以通过NDP进行路由请求和通告,获取IPv6地址的网络前缀,而 IPv6地址的后64位是由网卡的物理地址(MAC)加上转换算法得来,本身就是全球唯一的地址,所以也就很难遇到IP地址冲突现象。

5. 传输安全性

在IPv6网络中,除了对以往IPv4的报文精简改进,最大的区别就是强制使用IPSec安全加密传输,让用户不再担心数据抓包导致信息泄密,也避免了大多数据数欺骗攻击。