IPv4做错了什么?
自从1981年发布了RFC791标准以来我们就一直在使用IPv4。在那个时候,电脑又大又贵还不多见,而IPv4号称能提供40亿条IP地址,在当时看来,这个数字好大好大。不幸的是,这么多的IP地址并没有被充分利用起来,地址与地址之间存在间隙。
举个例子,一家公司可能有254(28-2)条地址,但只使用其中的25条,剩下的229条被空占着,以备将来之需,于是这些空闲着的地址不能服务于真正需要它们的用户,原因就是网络路由规则的限制。
最终的结果是在1981年看起来那个好大好大的数字,在2014年看起来变得好小好小。
互联网工程任务组(IETF)在90年代初指出了这个问题,并提供了两套解决方案:无类型域间选路(CIDR)、私有IP地址。
在CIDR出现之前,你只能选择三种网络地址长度:24位(共16,777,214个可用地址)、20位(共1,048,574个可用地址)、16位(共65,534个可用地址)。CIDR出现之后,你可以将一个网络再划分成多个子网。
举个例子,如果你需要5个IP地址,你的ISP会为你提供一个子网,里面的主机地址长度为3位,也就是说你最多能得到6个地址。——抛开子网的网络号,3位主机地址长度可以表示0~7共8个地址,但第0个和第7个有特殊用途,不能被用户使用,所以你最多能得到6个地址)。
这种方法让ISP能尽最大效率分配IP地址。“私有地址”这套解决方案的效果是,你可以自己创建一个网络,里面的主机可以访问外网的主机,但外网的主机很难访问到你创建的那个网络上的主机,因为你的网络是私有的、别人不可见的。
你可以创建一个非常大的网络,因为你可以使用16,777,214个主机地址,并且你可以将这个网络分割成更小的子网,方便自己管理。
也许你现在正在使用私有地址。看看你自己的IP地址,如果这个地址在这些范围内10.0.0.0–10.255.255.255、172.16.0.0–172.31.255.255或192.168.0.0–192.168.255.255,就说明你在使用私有地址。
这两套方案有效地将“IP地址用尽”这个灾难延迟了好长时间,但这毕竟只是权宜之计,现在我们正面临最终的审判。
IPv4还有另外一个问题,那就是这个协议的消息头长度可变。
如果数据的路由通过软件来实现,这个问题还好说,但现在路由器功能都是由硬件提供的,处理变长消息头对硬件来说是一件困难的事情。一个大的路由器需要处理来自世界各地的大量数据包,这个时候路由器的负载是非常大的,所以很明显,我们需要固定消息头的长度。
在分配IP地址的同时,还有一个问题,因特网是美国人发明的(这个万恶的资本主义国家占用了大量IP地址),其他国家只得到了IP地址的碎片。我们需要重新定制一个架构,让连续的IP地址能在地理位置上集中分布,这样一来路由表可以做的更小(想想吧,网速肯定更快)。
还有一个问题,这个问题你听起来可能还不大相信,就是IPv4配置起来比较困难,而且还不好改变。你可能不会碰到这个问题,因为你的路由器为你做了这些事情,不用你去操心,但是你的ISP对此一直是很头疼的。
下一代因特网需要考虑上述的所有问题。
IPv6和它的优点
IETF在1995年12月公布了下一代IP地址标准,名字叫IPv6,为什么不是IPv5?→_→因为某个错误原因,“版本5”这个编号被其他项目用去了。IPv6的优点如下:
- 128位地址长度(共有3.402823669×10??个地址)
- 其架构下的地址在逻辑上聚合
- 消息头长度固定
- 支持自动配置和修改你的网络
我们一项一项地分析这些特点:
地址
人们谈到IPv6时,第一件注意到的事情就是它的地址好多好多。为什么要这么多?因为设计者考虑到地址不能被充分利用起来,我们必须提供足够多的地址,让用户去挥霍,从而达到一些特殊目的。
所以如果你想架设自己的IPv6网络,你的ISP可以给你分配拥有64位主机地址长度的网络(可以分配1.844674407×10??台主机),你想怎么玩就怎么玩。
聚合
有这么多的地址,这些地址可以被稀稀拉拉地分配给主机,从而更高效地路由数据包。算一笔帐啊,你的ISP拿到一个80位地址长度的网络空间,其中16位是ISP的子网地址,剩下64位分给你作为主机地址。这样一来,你的ISP可以分配65,534个子网。
然而,这些地址分配不是一成不变地,如果ISP想拥有更多的小子网,完全可以做到(当然土豪ISP可能会要求再来一个80位网络空间)。
最高的48位地址是相互独立地,也就是说ISP与ISP之间虽然可能分到相同地80位网络空间,但是这两个空间是相互隔离的,好处就是一个网络空间里面的地址会聚合在一起。
固定的消息头长度
IPv4消息头长度可变,但IPv6消息头长度被固定为40字节。IPv4会由于额外的参数导致消息头变长,IPv6中如果有额外参数,这些信息会被放到一个紧挨着消息头的地方,不会被路由器处理,当消息到达目的地时,这些额外参数会被软件提取出来。
IPv6消息头有一个部分叫“flow”,是一个20位伪随机数,用于简化路由器对数据包的路由过程。如果一个数据包存在“flow”,路由器就可以根据这个值作为索引查找路由表,不必慢吞吞地遍历整张路由表来查询路由路径。这个优点使IPv6更容易被路由。
自动配置
IPv6中,当主机开机时,会检查本地网络,看看有没有其他主机使用了自己的IP地址。如果地址没有被使用,就接着查询本地的IPv6路由器,找到后就向它请求一个IPv6地址。然后这台主机就可以连上互联网了——它有自己的IP地址,和自己的默认路由器。
如果这台默认路由器宕机,主机就会接着找其他路由器,作为备用路由器。这个功能在IPv4协议里实现起来非常困难。同样地,假如路由器想改变自己的地址,自己改掉就好了。主机会自动搜索路由器,并自动更新路由器地址。路由器会同时保存新老地址,直到所有主机都把自己地路由器地址更新成新地址。
IPv6自动配置还不是一个完整地解决方案。想要有效地使用互联网,一台主机还需要另外的东西:域名服务器、时间同步服务器、或者还需要一台文件服务器。于是dhcp6出现了,提供与dhcp一样的服务,唯一的区别是dhcp6的机器可以在可路由的状态下启动,一个dhcp进程可以为大量网络提供服务。
唯一的大问题
如果IPv6真的比IPv4好那么多,为什么它还没有被广泛使用起来?Google在2014年5月份估计IPv6的市场占有率为4%。一个最基本的原因是“先有鸡还是先有蛋”。服务商想让自己的服务器为尽可能多的客户提供服务,这就意味着他们必须部署一个IPv4地址。
当然,他们可以同时使用IPv4和IPv6两套地址,但很少有客户会用到IPv6,并且你还需要对你的软件做一些小修改来适应IPv6。
另外比较头疼的一点是,很多家庭的路由器压根不支持IPv6。还有就是ISP也不愿意支持IPv6。
我问过我的ISP这个问题,得到的回答是:只有客户明确指出要部署这个时,他们才会用IPv6。然后我问了现在有多少人有这个需求,答案是:包括我在内,共有1个。
与这种现实状况呈明显对比的是,所有主流操作系统Windows、OS 、Linux都默认支持IPv6好多年了。这些操作系统甚至提供软件让IPv6的数据包披上IPv4的皮,来骗过那些会丢弃IPv6数据包的主机,从而达到传输数据的目的。
全文总结
IPv4已经为我们服务了好长时间,但是它的缺陷会在不远的将来遭遇不可克服的困难。IPv6通过改变地址分配规则、简化数据包路由过程、简化首次加入网络时的配置过程等策略,可以完美解决这个问题。
问题是,大众在接受和使用IPv6的过程中进展缓慢,因为改变代价太大了。
好消息是所有操作系统都支持IPv6,所以当你有一天想做出改变,你的电脑只需要改变一点点东西,就能转到全新的架构体系中去。
监测死链 http://www.iis7.com/b/slj/
1,设置linux ipv6地址ip -f inet6 addr add 55:1:1:1::555/64 dev eth0
2,设置win7 ipv6地址为55:1:1:1::165/64
设置好后,直接ping 55:1:1:1::555即可,win7会自动识别v4或者v6地址。
C:Usersxxx>ping 55:1:1:1::555
正在 Ping 55:1:1:1::555 具有 32 字节的数据:
来自 55:1:1:1::555 的回复: 时间=1ms
来自 55:1:1:1::555 的回复: 时间<1ms
55:1:1:1::555 的 Ping 统计信息:
数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 1ms,平均 = 0ms
3,linux中配置vsftped配置文件
[root@xxx ~]# vim /etc/vsftpd/vsftpd.conf
#listen=YES
listen_ipv6=YES
4,重启vsftpd服务
[root@xxx ~]# service vsftpd restart
关闭 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [确定]
关于ip6是镜像服务器吗相关资料如下ip6是镜像服务器
全世界IPv4根域名服务器共计13台,其中主根位于美国,剩余12台IPv4辅根域名服务器9台在美国,两台在欧洲,一台在日本。而本次中国信息通信研究院所申请的是位于欧洲的L辅根域名服务器的镜像服务器。我们来看看究竟什么是镜像服务器?
当然,即便是申请镜像服务器同样需要征得美国ICANN的审批,同意之后才是我国工信部的审批,从这里就可以看出,美国怎么会将自己的优势领域拱手让人呢!镜像服务器只能够同步L辅根域名服务器的数据,但是并不能够对根域名服务器的数据进行更改和新建。说白了,只是L辅根域名服务器的数据备份而已,但是能够缓解L辅根域名服务器的运行压力,提升我国境外网站的访问速度。每年ICANN审批的镜像服务器有很多,例如当前L辅根域名服务器的镜像服务器就高达167个。
如果单纯地认为我国互联网就此不再受制于美国,显然过于天真。
再来谈谈大家都比较感兴趣的话题,美国如果突然断网会对我国网络造成多大的影响!
其实说实话,影响有限,并不是你我想象般巨大。去年12月的时候,俄罗斯就已经宣布成功测试断开全球互联网的一系列测试。不止俄罗斯,伊朗、印度等国家也有类似“断网”的测试。
我国互联网的主要流量依然是境内访问,海外流量相对较少。根据域名服务器的工作原理,只要本地域名服务器记录了相关信息,就不会去向根域名服务器查询。即便美国断开我国连接,并不会影响本地的网络应用,只不过会造成海外网站无法访问的问题。
说白了,美国能够切断我国互联网的外部链接,但是中国内部依然是一个大的局域网,不会对我们内部造成任何的影响,也不会存在网络无法使用的问题(对于绝大多数人是如此,需要海外访问数据的除外)。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)