【IT168 评论】IPv4地址积极枯竭,让我们先认真看一下IPv6地址,Amazon用EC2共有云提供了IPv6地址,当你启动一台EC2虚拟机时,就可以获取一个类似这样的IPv6地址:fe80::2000:aff:fea7:f7c。
在这个奇怪的识别符里包含着很多含义,一些公司已经解决了IPv6的问题,但是对大多数公司而言,还有很多疑惑,为什么他们这么多疑惑呢?如何了解IPv6地址的含义呢?
点击链接AWS EC2实例(http://www.techrepublic.com/blog/datacenter/connect-to-amazon-ec2-with-a-private-key-using-putty-and-pageant/5085?tag=content;blog-list-river),找到你的网络接口及IPv6地址,让我们仔细分析一下IPv6地址。
你的EC2网络接口名称是eth0
每款物理机都的插口都插了电缆,虚拟EC2也是。每个网络插口都有一堆名称和地址,还有一堆联网软件在运作。这些都算是“接口”。
使用ip addr命令显示EC2网络接口的信息。
[ec2-user@ip-10-167-15-124 ~]$ ip addr
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 22:00:0a:a7:0f:7c brd ff:ff:ff:ff:ff:ff
inet 10.167.15.124/26 brd 10.167.15.127 scope global eth0
inet6 fe80::2000:aff:fea7:f7c/64 scope link
valid_lft forever preferred_lft forever
[ec2-user@ip-10-167-15-124 ~]$
这里包含了很多细节,速写形式使其很难被理解,在这个较低层次,你需要花更多心思向别人描述你的工作,而常见的选择性术语(如“服务器”和“云”)一样,“接口”是对整个情况进行描述的一种简单方式,但是不适合细节的解释。IPv6就是这些细节之一。
信息过载令人费解
在电影和电视领域,音效工程师必须听噪音,然后列出重要的细节,系统管理员也一样——CLI填满了数据,你需要看看好的,然后选出剩下的。
ip addr命令显示出的所有信息分成了两个部分,用于两个网络接口,lo和eth0:
●lo是回路的简称,源自焊接电线。lo接口仅对EC2机器有意义。
● eth0是Ethernet Interface Number 0的简称——以太网是主流网络技术,0源自IT的传统计算方式。Eth0接口是顾客使用的——包括你和你的SSH客户端——所以这是我们所关心的。
我们可以忽略lo部分,只关注eth0部分。
笔者的IPv6地址是fe80::2000:aff:fea7:f7c
IPv6地址在这一行。
Inet6 fe80::2000:aff:fea7:f7c/64 范围的链接
你可以过滤掉大地址两边的词。Inet6是一个标签。和Linux的文本一样,它被缩减了,目的是要节省输入和显示空间。
范围链接可以告诉网络管理员这是用于收发信息的普通地址。
/64附在字符串fe80::2000:aff:fea7:f7c/64的末端,是IPv4遗留下来的产物。它被称为CIDR——这是网管的事情。CIDR被用来将地址分成两半——第一部分被用作网络地址,第二部分则是电脑的地址。
/64并非必需品。IPv6不同于IPv4。fe80开始对于网管的意义是相同的。
16进制令人费解
ip addr命令显示的IPv6地址是fe80::2000:aff:fea:f7c。这是一种转换并非原始地址。电脑所见的IPv6地址并非如此。
二进制数据不利于人们使用,所以IPv6地址被转换成了是十六进制,被分成八个域,而八个域之间用冒号隔开。这是只有专业人士才能看懂的系统。
每个域都是四个十六进制数字的集合。现在,我们已经提到了三个不同的数字体系,这已经足以让大多数人犯晕了。
● 二进制数值是0和1。这是电脑使用的数值。
● 十进制使用1,2,3,4,5,6,7,8和9
●十六进制使用0,1,2,3,4,5,6,7,8,9,a,b,c,d,e和f
IPv6的规则令人费解
如果一个IPv6地址是八组十六进制数值,那么fe80::2000:aff:fea7:f7c又代表什么呢?它只有六组,而不是八组。而且也不是每组都有四个数值。
这个地址没有遵循八组十六进制数值,每组四个数值的模式。不见了两组数值,且现有的六组也长短不一。
●第一组是fe80:——,它是四个十六进制数值。
●第二组没有数值。
●第四组——aff——只有三个数值。
真实情况是,你的系统最先给出的地址是fe80:0000:0000:0000:2000:0aff:fea7:0f7c
然后根据IPv6的缩写规则,就简写成了我们所见的地址。
规则一:可用”::”符合代替一串0。
你的SSH服务器会听取所有接口。在IPv6中,所有接口的地址都是0,像这样:0000:0000:0000:0000:0000:0000:0000:0000。操作系统使用这一法则把冗长的地址缩短。
使用系统管理的技巧,输入netstat-an命令,此命令可显示很多网络接口信息。看看你是否可以在显示的列表中标出那个符号。
规则二:如果每组的第一个数值是零,可以省略。
不断实践
IPv6地址以这种方式出现,互联网里到处都是需要搞清楚如何自动进行对话的机器,从IPv4到IPv6不是件容易的事情,但是我们会让互联网变得更好,和万事万物一样,IPv6也需要不断实践,你接触得越多,就越容易了解。