IPv6篇之未来可期

编程入门 行业动态 更新时间:2024-10-03 19:23:55

IPv6篇之<a href=https://www.elefans.com/category/jswz/34/1769878.html style=未来可期"/>

IPv6篇之未来可期

前言

IPv6未来可期,个人认为其无穷的潜力在于两方面:庞大的地址空间和扩展报头的设计。如果说庞大的地址空间奠定了IPv6封王之路的基石,那么扩展性则是赋予了IPv6新的皇冠。

举个小栗子:

IPv6的路由报头,type = 0(最原始的)

                     

 SRv6的SRH报头,type = 4

                             

 上述例子只是其中一下部分,IPv6的扩展报头还有多种多样的功能,在未来还有更多意想不到的功能。

拓展报头

通过读取IPv6的Next Header字段,识别扩展报头或者上层协议。IPv4 Option VS IPv6 Next Header

共同点:都具有扩展能力

不同点:

Option :要求每台路由器消耗CPU读取里面内容,压力大。

Next Header + 拓展报头:逐跳选项除外,其他报头不要求每台设备消耗CPU读取。易于扩展。

Next header作用相当于索引,建议读取顺序如下表(TCP/IP路由卷一):

报头下一报头的值(协议号)
IPv6
逐跳可选项0

目的可选项

(只有在路由选择报头中指定的中间路由器才必须处理这个报头)

60
路由选择43
分段44
认证(AH)51
封装安全有效载荷(ESP)50
目的可选项(最后节点必须处理这个报头)60
上层报头根据协议而定

 接下来,大致讲一下部分报头的作用,以及相关字段。

逐跳可选项 (Hop-By-Hop Option)

传送必须被转发路径中的每一个节点都检验处理的信息。例如:路由器告警超大包有效载荷选项等。还有资源预留,以后用于扩展。

Options具体内容 

基于TLV,具体详情看RFC 2460,这里大致介绍8位Type前三位情况。

允许出现无法识别的情况,操作系统不一致,同时也是帮助人员排错,无法识别就处理最高两位:

最高2位作用
00跳过Option
01丢包
10无论组播或者单播报文,都要丢弃,并返回code 2的icmp报文
11单播报文丢弃,返回code 为2的icmp报文

 第三高位

0选项在途中不能更改
1可以更改

在身份验证中,Option数据视为0 。后面内容,详情请看RFC 2460,内容太多,看不过来。

路由选择(Routing)

通过列出在到达目的地的路径中数据包所要经过的节点列表来提供源路由选择功能

  • Next Header(下一头部):8位,索引
  • Hdr Ext Len(当前拓展头部长度):8位,单位8 Byte
  • Routing Type(路由类型):8位,暂时已知四种,0和1(被废弃,安全问题)、3(移动IP)、4(SRH,就是Segment Routing Header)
  • Segment Left(剩余段数):8位,剩余段数,到达目的节点之前,要把中间剩余的段数(IP)列出来。
  • Type - specific data:类型数据,根据类型不同,内容也不同,主要是预留位的问题。

分段(Fragment)

 

 分段报头跟IPv4分段字段一样,只是把位置移到拓展报头。

  • Next Header——下一头部
  • Reserved(预留位):8 bit,作用暂时未知
  • Fragment Offest(段偏移):13 bit,标志当前分片 距离 第一个分片包的位置,IPv4篇有描述
  • Res + M:相当于IPv4的flag置位,IPv4篇有描述
  • Identification(标识):就是序列号,标志分片序列包所属。

题外话

IPv4  vs  IPv6的分片

  • v4分片:路由器或者交换机发现数据包大小,超过端口的MTU,执行分片(路径中随时可能发生)。到达目的地址,执行重新组合。
  • v6分片:分片只发生在源节点。利用ICMPv6,找到路径中最小的MTU。PMTU,执行分片。

设计原因:中间节点执行分片,对路由器消耗大,路由器需要处理大部分报文,导致CPU占用率和延时高。在终端执行,只需要处理自己的报文,路由器只负责转发即可。

 目的可选项(Destion Options)

目的可选项可操作性太多,基于TLV的扩展性,只要对硬件要求不太高,升级操作系统就可以。

这个内容比较散,RFC文档涉及挺多,至少MIPv6是有涉及到,建议看看RFC。目的的选项报头携带了只有一些目的节点才会处理的信息,如MIPv6应用中,需要告诉CN转交地址。

 AH和ESP

AH和ESP属于IPSec的内容,IPSec设计之初是为IPv6而准备的,实现主机到主机之间的通信,故此很多文章都会说,IPv6更加安全。究其原因——扩展报头的安全性,IPSec的内容不在这里阐述。

AH和ESP的区别:

AH:作用于认证、数据完整性和防篡改。

ESP:作用于认证、数据完整性、数据加密。

AH的优势在于认证包括IP报头,校验更加全面,不适合NAT场景。

ESP功能较为全面。

其他相关内容

IPv6还有一个特点,支持移动性。可能在这里大家还不了解IPv6跟移动性有什么关系,这里照搬中兴讲座的《移动IP技术》,2003年。

专业术语

  • 移动节点(MN):装备了移动IP协议的主机
  • 对端节点(CN):与移动节点进行通信的对端通信节点,并不要求装备移动IP
  • 家乡代理(HA):MN家乡链路(同一网络地址)上的路由器,其主要功能是当MN移动到外部子网(不同网段),截获目的IP为MN地址的数据包,并通过隧道(GRE)传递到MN所在链路上。
  • 外地代理(FA):在外地链路上的路由器,其主要功能是代表移动至该链路上的MN接收数据分组,并将其路由至MN。所谓外地链路就是其子网前缀和移动节点IP地址网络前缀不同的链路。

MN的移动地址:

  • 家乡地址(HoA):常规配置的IP地址,该地址不随MN移动而改变,CN始终以此地址作为目的地址和MN通信
  • 转交地址(CoA):MN至外地子网后的临时通信地址,家乡代理以此为目的地址转发给MN。分为两类:外地代理转交地址配置转交地址,区别在于前者做在外地代理上,后者做在MN上。

外地代理转交地址 VS 配置转交地址

  • 外地代理转交地址:好处是减少IP地址配置,也能降低路由表条目。坏处是容易形成三角路由。
  • 配置转交地址:好处是不用绕路,坏处是额外的地址空间。

                             

图来自其他地方哈(这里主要讲路由方面的,无线网络链路层的通信还不了解)。

注意点:

为什么要保证家乡地址不变,CN为何要与HoA通信?

原因:假设现在你走在路上,点开一个网页或者看视频。如果你的手机IP一直变化,导致TCP链接直接断掉并重连,视频和网页会突然断掉。(不要较真视频流量基于UDP,因为视频流是基于TCP和UDP都有)。因此,需要一个不变的IP。

 

三角路由

MN-CN通信(过程简略):

  1. 移动终端发送源地址为HoA,目的地址为CN的数据包。
  2. 通过路由转发,CN收到,并且回复。
  3. 根据HoA路由至HoA所在链路上,被HA所截获。
  4. HA查询路由表,通过隧道封装,将数据包发送至FA。
  5. FA为隧道出口,拆除GRE封装,查询相关表项(在想什么表),发送至MN。

 因此出现:绕路的情况,路径没有最优化(这里是具有代表性)

 IPv6如何解决这个问题?

1. 如果CN知道转交地址,可以直接跳过HA。(IPv6的目的选项,且有安全性保证)

2. MN能够有自己的配置转交地址,可以直接实现CN->MN通信。(v6地址空间足够大)

上述只是一个很浅显的解决方法,实际环境更为复杂,考虑的很多。

总结 

 IPv6未来可期,拓展性很强,庞大的地址空间和拓展报头,同时配合着ICMPv6这把强大利器,堪称完美。关于移动IP的文章,我是看了其他博主,如曹氏宏的文章,产生的疑问,最后找了中兴这边较为完整的文章。不过,移动IP已经是老生长谈的例子,对于初学者甚至学了一两年的,也不是很理解,例子差不多就那几个。但是这些问题还是在3G时代,现在5G时代了,未来的道路谁能清楚,而且IPv4用的还是很香的。如果有大佬愿意教我一下移动IP的内容,欢迎指教

更多推荐

IPv6篇之未来可期

本文发布于:2024-03-15 13:38:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770087.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:未来

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!