IPv6:为什么不对IPv6在P2P链接上使用/ 126?


16

在IPv4中,我们使用/ 30保留地址。那么为什么有人建议在P2P链接上使用/ 64而不是/ 126?我在常规子网上使用了/ 64,但是当P2P链接上只使用两个地址时却没有使用/ 64,这会极大地浪费地址吗?


4
嗨,请考虑RFC 6164中
Mike Pennington

Answers:


14

我们中许多人确实在PTP链接上使用/ 126。我个人希望能够仅根据地址的前64位将某些内容标识为网络基础结构PTP链接,因此我保留了/ 64来从中提取/ 126。不同的人对重要内容有不同的看法,所以…… 耸耸肩

顺便提一下(#1),因为IPv6在IP网络上没有广播地址或网络地址的概念,所以实际上可以使用/ 127代替/ 126。请注意,尽管/ 127的网络掩码是完全有效的,但考虑到/ 127的网络掩码“无效”,某些供应商的设备(错误地)不允许使用它们,这意味着如果您决定尝试使用它们,则可能会遇到一些供应商支持问题。这就是为什么我使用/ 126的原因。

顺便提一下(#2),如果您的链接确实定义为PTP链接,则您应该能够使用任何IP地址,而不必将它们完全放在公共IP网络中。


1
您能否举一个限制/ 127s使用的供应商示例?
Ryan Foley 2014年

4
有一次,FastIron系列以及NetIron系列中的Brocade不允许这样做。我尚未检查最新的固件版本,所以我不知道是否仍然如此。
Jeff McAdams

1
博科也不是一家小公司。很好的见识。
Ryan Foley 2014年

5

答案有两个部分。

首先,直接回答您的问题:有关此主题的官方建议已更改。过去,RFC 3627的标题为“认为有害的路由器之间使用/ 127前缀长度”,但当前的建议有所不同:RFC 6164建议在点对点链接上使用/ 127(而不是/ 126!)。这两个RFC都概述了提出相应建议的原因。

答案的第二部分是,一般而言,在点对点外部链接中,IPv6的前缀长度大于/ 64的情况中断。它实际上不是IPv6本身,而是它使用的许多协​​议,例如SLAAC,邻居发现等。由于点对点链接不涉及任何形式的发现,因此该注意事项不相关,因此/ 127将工作。


5
RFC 6547阐明了以下事实:RFC 3627已被移至“历史状态”,而RFC 6164已作废​​。
罗恩·莫平

3

因为IPv6始终建议对所有链接使用/ 64。

对于问题的第二部分,这是浪费吗?

/ 64有18,446,744,073,709,551,615或18个五千亿地址。

大多数IPv4子网少于255个主机。假设您的网络上有255个主机,并且为它们指定了/ 64前缀。这意味着为255个主机分配了v6地址,而未使用的地址为18,446,744,073,709,551,360。超过99.99%。更准确地说,这是十六个9或100%的“浪费”。

即使您的子网中有1,000,000台主机,也浪费了18,446,744,073,708,551,616个地址,仍超过99.99%。这次只有13个9,但实际上还是100%是“浪费”。

因此,在单个链接上使用一百万个地址或两个地址之间的百分比差异可以忽略不计。

这样您就可以看到这些数字是什么样的。

* Two hosts is 99.9999999999999999891579782751449556599254719913005828857422% unused.
* 255 hosts is 99.9999999999999986176422300809818466404976788908243179321289% unused.
* 1M  hosts is 99.99999999999457898913757247782996273599565029144287109375% unused.
* 4B  hosts is 99.999999976716935634613037109375% unused.

即使将整个IPv4 Internet放在单个/ 64链接上,也会有效地保留100%的地址未使用。当您查看这样的数字时,在链接上使用/ 64以外的任何内容都是很愚蠢的。


2
许多ISP确实将/ 126用于点对点链接。我想旧习惯很难改掉;-)
罗恩·

他们这样做了,但是希望意识到整个IPv4 Internet仍然实际上是/ 64的0%可能带来一些正确的观点。
bahamat 2014年

1
一个可能的原因(我不是ISP)可能是他们可以使用单个/ 64子网并将其所有链接放入其中。它可以使管理和故障排除更加容易。
罗恩·

@bahamat我认为您没有完全回答您的原始问题。“因为IPv6始终建议对所有链接使用/ 64 ”,所以无法回答“为什么有人建议对P2P链接使用/ 64而不是/ 126?”
Ryan Foley 2014年

3
除了我的完整答案外,我还想对此发表评论。IPv6始终建议对所有链接使用/ 64的声明不再有效。 tools.ietf.org/html/rfc6164
Jeff McAdams

2

因此,作为ISP,我想对此添加评论。具体来说,我们将GUA和ULA(唯一本地地址)都用于内部路由。这意味着我们有一个来自/ 32 GUA池的块(/ 48),但是我们在边缘进行了过滤,将其转换为ULA。较大的/ 32 GUA仍被宣传,但是/ 48 ULA在我们的边缘被滤除。我们将此ULA用于我们的许多内部寻址需求(特定于AS)以及PtP链接。

我们所有的PtP链接都是完整的/ 64块,但是在路由器上将它们专门配置为/ 127。这是为了在IPv4和IPv6空间均可能的情况下专门应对乒乓攻击。您很少在IPv4空间中看到它,因为在那里我们都使用/ 30s作为PtP链接。但是,在IPv6空间中,使用/ 64可以创建针对这些类型的攻击的能力(请参阅https://tools.ietf.org/html/rfc6164#section-5.1

如前所述,为这些链接分配一个/ 64似乎是一种浪费,但是一旦您花费大量时间制定IPv6地址计划(最好的阅读方法是https://www.amazon.com/IPv6-Address-Planning-在Designing-Future-ebook-dp-B00PCZMAOW / dp / B00PCZMAOW中,您永远都不会轻易钻研/ 64以上的计划。

同样如前所述,由于我们仅在谈论PtP链接,/ 127不会遇到超出/ 64的任何正常问题。为什么我们不对PtP链接使用未编号的地址?主要用于调试目的,跟踪,监视等。

---我忘了提一下(在重新阅读了上面的一些评论之后...)如果您使用/ 126作为PtP链接,则仍然会遇到与/ 64相同的乒乓问题。为什么?由于/ 126中的00和11位是有效的IPv6地址(而在IPv4中则不是,因此它们具有不同的用途)。因此,尽管/ 32(/ 32的两位)适用于IPv4,但是/ 127(/ 128的1位)是IPv6所需的。


不幸的是,大型运营商(ATT,VzB等)坚持/127不允许链接,并且他们坚持要求我们使用/126链接。我们必须仔细测试用于此目的的任何设备,以确保它不受乒乓球攻击。
罗恩·莫平
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.