SRv6网络编程自学系列 | IPv6地址规划

书籍来源:《SRv6网络编程:开启IP网络新时代》

这本书已经出了很多年了,但多年之后因为工作需要再来读一遍,除了温习之外,发现自己学到了更多的知识。一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:SRv6网络编程自学系列 | 汇总_COCOgsta的博客-CSDN博客


如果网络中已经部署了IPv6,并且已经预先规划好了IPv6网段,那么只需要在预留的网段中选择一个作为SRv6的Locator,在网络中分配Locator,原有的IPv6地址规划不需要做任何改动。

如果网络中还没有部署IPv6,并且也没有规划过IPv6网段,那么可以通过以下几个步骤来进行IPv6地址规划:明确本网络的IPv6地址规划原则;确定IPv6地址分配方法;进行IPv6地址的逐级分配。

8.2.1 IPv6地址规划的原则

在SRv6网络中,IPv6地址规划建议遵循如下原则。

  • 统一性原则:统一规划全网的所有IPv6地址,包括业务地址、平台地址、网络地址等。

  • 唯一性原则:每个地址都是全网唯一的。

  • 分离原则:分别规划业务地址和网络地址,方便在网络边缘进行路由控制和流量安全控制;分别规划SRv6 Locator网段、Loopback接口地址和链路地址,这几部分互不重叠,方便控制和管理路由。

  • 层次化和可聚合性原则:地址规划要能够在IGP/BGP域间发布时进行路由聚合,方便引入路由。

    • 建议为每个IP骨干网分配单独的网段。

    • 建议为每个城域网分配单独的网段。

    • 建议从所属城域网网段中为每对城域汇聚设备分配单独的子网段,方便在城域的不同汇聚域之间发布路由时进行路由汇聚。

    • 建议从所属汇聚设备网段中为每个城域接入域分配单独的子网段,方便在不同接入域互相引入路由时进行路由汇聚。

    • 建议从城域接入域所属网段中为每个接入设备分配单独的子网段。

      一个典型的分配样例如图8-11所示,分别为两个骨干承载网规划单独的网段,为城域网下挂的所有设备规划单独的网段,为每对AGG下挂的所有设备规划单独的网段,为每个接入IGP域规划单独的网段。

      图8-11 IPv6网段规划的一个分配样例

      注:RDC即Regional Data Center,区域数据中心。

  • 安全性原则:可以快速地对地址进行溯源,并且方便地按地址过滤流量。

  • 可演进性原则:规划地址时,应在每个地址段内预留一定的地址空间,用于未来业务的发展。

8.2.2 IPv6地址的分配方法

IPv6地址的分配方法通常包含以下几种:顺序分配、离散分配、最佳分配和随机分配。

  1. 顺序分配

在地址块内按照相同的掩码从右向左分配地址,这种分配方法简单,但在分配时需要充分考虑可扩展性,提前预留足够的地址,避免后期增加地址后无法聚合,导致路由数量过多。

如图8-12所示,对于2001:db8:1a::/48的源地址块,如果要划分为多个掩码为52的地址块,按照顺序分配的方法,第1个地址块分配为2001:db8:1a::/52,第2个地址块分配为2001:db8:1a:1000::/52(需注意此处采用十六进制表达,1000中的1代表第48 ~ 52个比特中的0001),依次类推。

图8-12 IPv6地址顺序分配

  1. 离散分配

在地址块内按照相同的掩码进行顺序分配,但从左向右进行分配,最初分配的数据块是离散的,但后续地址扩充后仍然可以进行地址聚合。

如图8-13所示,对于2001:db8:1a::/48的源地址块,如果要划分为多个掩码为52的地址块,按照离散分配的方法,第1个地址块分配为2001:db8:1a::/52,第2个地址块分配为2001:db8:1a:8000::/52(需注意此处采用十六进制表达,8000中的8代表第48 ~ 52个比特中的1000),依次类推。

图8-13 IPv6地址离散分配

  1. 最佳分配

类似IPv4的CIDR技术,在地址分配时不按照相同的掩码进行下一级分配,而是按照顺序分配的方式,根据地址需求分配合适的可用地址块。

如图8-14所示,对于2001:db8:1a::/48的源地址块,第1个应用场景需要52 bit掩码的地址数量,则为第1个应用场景分配52 bit掩码的地址段(2001:db8:1a::/52),第2个和第3个应用场景与其相同,第4个场景需要51位掩码的地址数量,则为第4个应用分配51位掩码的地址段。

图8-14 IPv6地址最佳分配

  1. 随机分配

随机分配地址块。如图8-15所示,对于2001:db8:1a::/48的源地址块,定义一个0~15的十六进制随机数。在每次进行地址块分配的时候,生成一个随机数,如果对应的地址块还没有被分配,就将这个地址块分配出去。

例如,第1次分配时生成的随机数为5,第2次分配时生成的随机数为15(十六进制显示为f),第3次分配时生成的随机数为8。随机分配可以用于对安全性要求较高的场景。

图8-15 IPv6地址随机分配

这几种地址分配方式有各自的优缺点和适用场景,在规划网络地址时可以在不同的层级选用不同的分配方式,例如在IP骨干网中采用顺序分配,在城域网中采用最佳分配。

8.2.3 IPv6地址的逐级分配

根据已经定义好的原则和方法,可以逐级分配IPv6地址。一个IPv6地址规划的样例如图8-16所示。

图8-16 IPv6地址规划样例

采用逐级展开方式对图8-16的地址规划样例进行展示,如图8-17所示。

从24 bit掩码的固定前缀中分出多个27 bit网段,将其分配给不同属性的地址,如果一个27 bit网段的地址不够用,可以分配多个27 bit网段,如图8-17中为用户地址分配了3个27 bit的地址块。最后预留了两个27 bit网段用于未来扩展。

图8-17 采用逐级展开方式的地址规划

  • 对于Network(网络地址),可以从27 bit掩码前缀中分出多个30 bit网段分配给不同的网络类型。同样地,可以给一种网络类型分配多个30 bit网段。在不同的网络类型中继续分出多个32 bit网段分配给不同的地址类型,然后在不同的地址类型中继续分出多个38 bit网段分配给不同的地域。
  • 对于Service Platform(业务平台地址),可以从27 bit掩码前缀中分出多个29bit网段分配给不同的业务,再进一步分出35 bit地址给不同的地域。
  • 对于Users(用户地址),可以从27 bit掩码前缀中分出多个33 bit网段分配给不同地域,然后在每个地域用户中再分出多个35 bit地址用来区分不同优先级的用户。

说明:在实际的网络部署中,建议以4 bit为单位进行IPv6地址的规划,方便后续的运维。

通过确定原则,确定分配方法,并基于原则和方法逐级分配IPv6地址,可以得到一个相对合理的IPv6地址规划结果,为后续的IPv6和SRv6网络设计打下坚实的基础。

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/130448284