网络通信 频道

跟随网络节奏 学习IPv6地址的含义

        【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也需要不断实践,你接触得越多,就越容易了解。

0
相关文章