我们为什么需要IPv6

 昨天是世界IPv6日,google的首页给出一个IPv6状况的说明。

 

 学校的网管中心也办了很多活动宣传IPv6对互联网的意义。

 但是我一直不太理解为什么IPv6是需要的,其必要性在什么地方呢?我们现在也不是每个主机都有一个IP地址的,这个世界不是照常运转吗?所以看了一些网络的东西,来讨论IPv6的必要性。

以一个三个人的寝室为例,我们通过一个路由器上网,我们的IP地址为192.168.1.1, 192.168.1.2 192.168.1.2.显然这是路由器给分配的内部地址,我们三个都是没有实际IP地址的

how does a router work

那我们是怎么联网的呢?

IP包头部是

 

,因此当我上外网的时候一个请求是这样的,

 

显然,路由器是不能直接把这个包发送给216.92.56.91的。

因为如果发出去的话,216.92.56.91只会给192.168.0.1对应的实际主机回信, 而我们的IP 192.168.0.1只是局域网内部虚拟的.我的主机根本不可能收到回信。

路由器(比如实际IP为205.206.163.40)会做一下改动,把包转化为

 

发送出去。

等一会儿,外网主机回信了,回的是


因此我们的路由器(205.206.163.40)收到了回信,但是这时路由器遇到了一个问题,路由器应该把这个信发送给局域网上的那个主机呢?是192.168.0.1还是192.168.0.2或者是192.168.0.3呢?

路由器该把这个包交给那个主机呢?

这里就用到了网络地址转换NAT,比如可以加入考虑TCP/UDP层的端口后这样进行转换:

内网IP   外网IP

192.168.1.55:5566 219.152.168.222:9200

192.168.1.59:80   219.152.168.222:9201

192.168.1.59:4465 219.152.168.222:9202

从而当路由器收到网络请求时在内网IP和外网IP之间进行转换。

 

既然一个支持NAT转换的路由器,就可以连接多台没有真是IP地址的主机;也就是说只需给路由器分配IP地址就可以通信了,2**32个路由器在可见的将来足够用了吧,那我们为什么还要IPv6呢?

我想可能的原因是下面三个方面:(才疏学浅,欢迎拍砖)

1,      NAT并不是万能的。只要不是每个主机都有一个特定的IP,就总是会出现很复杂的转换问题。当一个局域网里的主机很多的时候,很难找到一个非常有效的映射,使得内网IP能唯一地对应一个外网IP.

2,      NAT一般都需要用到高层协议的字段(端口号port),因此每收到一个包,需要解包才能计算转换关系,增加了计算量。而且如果转换计算需要用到port的话,那局域网内部主机直接基于IP层的应用就会受阻。

3,       互联网在急速发展,接入互联网的终端数量种类都在增加,NAT的转换会越来越复杂。如果以后进入物联网时代,每个传感器都联网,会更复杂。

 

所以IPV6是一个简单有效的解决方案。

但是这个解决方案的未来怎么样,依然是未知的。


参考:

网络地址转换NAT

how a router works

计算机网络 谢希仁


评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值