首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么IPv6允许一个具有多个地址的接口?

问为什么IPv6允许一个具有多个地址的接口?
EN

Stack Overflow用户
提问于 2012-03-27 09:26:43
回答 1查看 35.2K关注 0票数 24

“单个接口还可以具有任意类型(单播、选播和多播)或范围的多个IPv6地址”--引用RFC 4291表格。

最近我在实验中遇到了这个问题。我查了RFC 4291,毫无头绪.

以下是我的实验简介:

有两个主机,我有两个IPv6地址分别分配给它们。然后,我测试了两个主机之间的连接性。我使用命令"ping6 ipv6_addr“。但事实证明,它不能通过命令ping6访问对等主机的两个地址。

使用示例*(这两个命令都在主机A执行,使用LinuxKenel2.6.32)*

ping6 addr_b_1

ping6 addr_b_2 -无法通过

我想和你们讨论两个问题:

  1. 为什么ipv6协议应该允许这种机制,一个具有多个地址的接口?
  2. 为什么不能同时访问主机a的两个地址(应该是这样的)。IPv6的默认地址选择在RFC 3484)

中定义。

谢谢你们!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-27 16:11:44

早期的IPv4堆栈不支持每个接口的多个IP地址。后来的改进启用了“次要”地址。这在实践中非常有用,IPv6的设计者选择将对它的支持作为标准的一部分,这样您就可以始终相信它是可能的。

IPv6的设计者所做的不仅仅是授权。他们把它作为IPv6协议的重要组成部分。每个IPv6接口都有一个链路本地IP地址.如果接口也能够在更大的网络(如Internet)上进行通信,那么它也有一个全局范围地址。至少有两个地址,就在那儿。如果主机位于多主机的Internet连接后面,那么它可能有更多的地址。在IPv6中,每个接口的多个IP地址并不像在IPv4中那样是事后考虑的。

你提到了缺点,但除非出现错误配置,否则我不认为这种情况会造成任何问题。(也许您可以详细说明您的设置以及为什么一个IP地址工作,而不是另一个IP地址;但是,我保证您有某种错误导致了它)。

另一方面,想想它的优点:

即使没有可用的网络基础设施(即路由器),

  • 设备也可以使用链路本地地址在本地局域网上发现彼此。之后,如果一个路由器被添加,并且全局范围地址可用,这些地址会增加地址集,它们不会替换链接本地地址;因此使用链接本地地址的现有通信不是disrupted.
  • When -一个因特网连接被删除、添加或替换,可以从该集合中提取或添加一个IP地址,而不影响其他地址。由于有了“实践”状态,这使得从一个IP地址到另一个IP地址进行优雅的重命名,并在一段时间内支持这两个接口。

另外:请记住,几乎所有的IPv4堆栈都支持每个接口的多个地址,所以这在v4和v6之间并没有太大的区别。只有非常老的v4栈才不支持它。区别在于v6有自动管理地址集的方法,但在v4中不存在这种方法。

票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9886711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档