14.IPv6专题

IPV6改造 网络邻居 假设在 IP 为 fe80::14de:fd3b:94c7:09dc 的电脑上共享了一个叫做 share 的目录,要访问该目录,首先要将IP地址中的冒号“:” 替换为短横线“-” ,然后再添加后缀 .ipv6-literal.net 。转换后的IPV6称为 UNC 格式 。因此需要使用如下路径访问 share 目录: //fe80–14de-fd3b-94c7-09dc .ipv6-l... 阅读详情

IPv6的地址分类

  • IPv6地址

    • image-20250304204101331

    • 前缀:标识地址属于哪个网络(网络部分)

    • 接口标识符:标识接口在网络中的具体位置(主机部分)

    • 前缀长度:确定哪一部分是前缀,哪一部分是接口标识符(子网掩码)

  • IPv6有单播地址,组播地址,任播地址,没有广播地址

    image-20250304205341889

  • 单播地址:

    • 唯一标识一个接口,只能分配给一个节点上的一个接口,发送到单播接口上的数据报文将被传送给此地址的接口

    • 根据作用范围不同

      • 链路本地地址

        • FE80::/10:用于链路本地节点之间的通信

        • ipv6中路由器为边界的一个或多个局域网段称为链路;使用其作为目的地址的数据不会被转发到其他链路上;

        • 由 MAC 地址使用 EUI-64 算法计算出接口标识符自动产生,链路本地地址的范围是 FE80~FEBF。

      • 站点本地地址

        • FECO::/10:站点本地地址,私有地址;使用其作为 目的地址的数据报文不会被转发到本站点外的其他站点

      • 全球单播地址

        • 2000::/3:全球单播地址公网地址,IANA(地址分配机构)统一分配,地址范围是 2000-3FFF

      • 特殊地址

        • ::/128:未指定地址 (不分配给任何节点,不能作为目的地址)

        • ::1/128:本地环回地址(不能分配给任何物理接口,类似127.0.0.1)

  • 组播地址:

    • 用来标识一组接口,多个接口可配置相同的组播地址,发送到组播地址的数据报文传送给此地址所标识的所有接口

    • 组播地址范围:FF00::/8,前4比特为fag位,前3比特固定为0,第4比特为1表示临时组播地址,为0表示永久组播地址,后4比特为范围位,表示组播地址的作用范围。

    • FF02::1:链路本地范围所有节点组播地址;FF02::2:链路本地范围所有路由器组播地址

    • 被请求节点(Solicited-node)地址,用于获取同一链路上邻居节点的链路层地址及实现重复地址检测;FF02:0:0:0:0:1:FFXX:XXXX;104位固定格式;

  • 任播地址:

    • 也用来标识一组接口,但是发送区别于组播地址,发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近的一个接口,用于寻找最近的下一跳;

    • 跟单播地址没有区别,从单播地址中分配的,使用单播地址格式;必须在配置时指明它是一个任播地址;即可以将一个单播地址指定为任播地址;

    • 通常应用于服务的负载均衡、任播地址设计用来在给多个主机或者节点提供相同服务时提供冗余功能和负载分担功能。

  • IPv6地址分类有哪些?

    • 单播,组播,任播

链路本地地址的作用

  • 每个开启了IPv6 的接口都会自动产生一个链路本地地址。链路本地地址仅用于同一条链路内部通讯

  • 由 FE80::/10 结合 EUI-64 的接口标识符自动形成的,也可以手工指定,手工指定的前缀要固定为FE80::/10

  • 由于一个接口下可以同时配置多个IPv6 地址,如果运行路由协议时,传出的路由可能会产生多个下一跳。路由协议基于链路本地地址完成邻居的发现和建立所以 IPv6 中的路由协议通告的路由信息的下一跳一般都是链路本地地址,这样比较统一,而且当接口的IPv6 地址变更了,由于链路本地地址不变,所以路由也无需变动,链路本地地址也可以用于IPv6 地址的无状态自动配置和 IPv6 的邻居发现协议。

  • 在 DHCPV6 的场景中,也通过链路本地地址完成 DHCPv6 地址的动态获取

  • 链路本地在存在VRRPv3的场景,需要将虚拟网关IPv6地址设置为链路本地地址,由链路本地地址充当主机网关(不是用撇嘴的ipv6地址)

EUI-64是怎么生成地址的

什么是EUI-64:设备根据MAC地址自动生成接口标识符

  • 1.把接口 48 比特的 MAC 地址转换为二进制表示

  • 2.将 48 比特的 MAC 地址前后各 24 比特对半分开,然后在中间插入 16 比特的FFFE、即二进制的 1111111111111110,使整个地址变成8段

  • 3.设置 U/L位、把首个字节的第7比特取反,通常设置为 1

    • 之所以需要把第 7比特取反的主要原肉是在单播 MAC 中第7 比特的 U/L位和 EU1-64 中第7比特,U/L位的含义相反,在单播 MAC 中第7比特位为0 表示 U,而在 EU164 的第7比特位为1才表示 U。

    • MAC地址的第一个字节第7比特和第八比特的含义:

      • 第7比特标识:全局/本地

      • 第八比特标识:单播/组播

  • 4.把地址转换回十六进制,每4位十六进制数字合并为一段,就得到了4段的十六进制接口标识符

  • 5.最终形成 64比特的EUI-64 接口标识符

  • 串行接口如何形成EUI-64?(接口无MAC地址的情况)

    • 思科设备取设备第一个以太网接口的MAC 进行EUI-64 的转换和形成,会导致一个设备可能有多个接口的EUI-64 接口标识一样,但是因为链路本地地址只在本地链路有效,所以不会产生冲突。

    • 而华三设备串行接口的TEEE EUI-64格式的接口标识符由设备随机生成。

  • image-20250304210216662

ICMPv6 报文类型

img

  • RS(路由器请求):

    • Type=133;组播发送,组播地址FF02::2;只有路由器监听该地址

    • 一般用于无状态地址自动配置中 PC 向路由器发起前缀查询请求

  • RS(路由器公告):

    • Type=134;组播发送,组播地址FF02::1;

    • 一般用于无状态地址自动配置中路由器通告前缀和前缀长度;源为该接口的链路本地地址,目标为组播地址 FF02::1

    • 华三和华为设备默认抑制 RA 报文的通告,需要在路由器的接口上使用命令 undo ipv6 nd ra halt 来激活接口周期发送 RA 报文,RA 报文中包含路由器优先级接口的前缀信息、MTU、接口的 MAC 地址

      • 路由器优先级用于在存在多个网关的场景,并且没有应用 VRRPv3 的场景通过路由器优先级来设置主网关,路由器优先级有 high、low、medium,默认为 medium,同等条件下,优选路由器优先级大的设备为主网关可以通过在接口视图使用命令ipv6 nd router-preference xxx 来设置该接口的路由器优先级。(都一样就随机)

      • 如果存在 VRRPV3 的场景,则选择 Master 设备作为主网关,此时与路由器优先级无关,并且IPv6 的 VRRP 虚拟 IPv6 地址需要设置为链路本地地址

  • NS(邻居请求):

    • Type=135,

    • 一般用于解析 MAC 地址请求,建立 ND 邻居,目的地址为被请求节点组播地址,地址为FF02::1:FF00:/104 目的主机的接口标识符,该组播只有目的主机会监听和响应

  • NA报文(邻居公告):

    • Type=136

    • 般用于应答本机 MAC 地址,响应 ND 邻居建立,单播发送

  • Redirect报文:路由器重定向,Type=137

IPv6 邻居发现协议的功能,即IPV6 ND 的功能

  • IPv6的ND协议实现了IPv4中的一些协议功能,如ARP,ICMP路由器发现和ICMP重定向等,并对这些功能进行了改进;同时,ND协议还提供了其他许多非常重要的功能,如前缀发现,邻居不可达检测,重复地址检测,无状态地址自动配置等;ND称为邻居发现协议;通过ICMPv6,类型133,134,135,136和137来定义的(本质)

    image-20250305105429762

    • 地址解析:已知目的节点的网络层地址,确定链路层地址的方法。ND中的地址解析功能不仅替代了原IPv4中的 ARP 协议,同时还用邻居不可达检测(NUD)来维护邻居节点之间的可达性状态信息。

    • 邻居不可达检测:在获取到邻居节点的链路层地址后,通过发送消息来验证邻居节点是否可达。

    • 重复地址检测(DAD):根据前缀信息生成IPv6 地址或手工配置IPv6 地址后,为保证地址的唯一性,在这个地址可以使用之前IPv6地址是否已经被链路上其他节点所使用

    • 无状态地址自动配置,无状态地址自动配置指主机根据路由器发现/前缀发现所获取的信息,自动配置IPv6地址。包括路由器发现/前缀发现、接口ID 自动生成、重复地址检测等过程。通过无状态自动配置机制,链路上的节点可以自动获得IPv6 全球单播地址。

    • 路由器重定向:当主机启动时,它的路由表中可能只有一条到缺省网关的缺省路由,当在本地链路上存在一个到达目的网络的更好的路由器时,缺省网关会向源主机发送ICMPv6重定向消息,通知主机选择更好的下一跳进行后续报文的发送

IPv6的邻居可达性状态机包含哪些

  • 邻居可达性状态机保存在邻居缓存表中,共有五种:

    • INCOMPLETE(未完成)状态:

      • 正在解析地址,第一次发出了NS请求,还未收到NA应答,邻居的链路层地址尚未确定

      • 当节点第一次发送NS 报文到邻节点时,会同时在邻居缓存表中创建一个到此邻节点的新表项,此时表项状态就是 INCOMPLETE。

    • REACHABLE(可达)状态:

      • 地址解析成功,收到了对方的NA应答,形成了完整的邻居关系

      • 伴随有Reachable_time定时器,超时后转化到Stale状态

    • STALE(失效)状态:

      • 表示未确定邻居是否可达。STALE 状态是一个稳定的状态。--地址解析结果未得到证实

      • 邻居记录老化时间到期,邻居状态变为STALE

      • 在Reachable状态下,收到了未经请求的该IP地址的NA应答,且MAC地址与表中不同,状态会变为Stale

    • DELAY(延迟)状态:

      • 表示未确定邻居是否可达。

      • DELAY 状态也不是一个稳定的状态,而是一个延时等待状态。DELAY 状态下,节点需要收到“可达性证实信息"后,才能进入 REACHABLE 状态。

      • 在Stale状态下,有数据要发往对方时,会向对方发出NS请求,同时状态变为Delay

    • PROBE(探测)状态:

      • 同样表示未确定邻居是否可达。节点会向处于 PROBE状态的邻居持续发送 NS 报文,直到接收到“可达性证实信息"后,才能进入可达状态。

    • 可达性证实的消息来源:

      • 来自上层连接协议的暗示:邻节点之间有TCP连接,且收到了对端节点发出的确认消息则表明邻节点之间可达

      • 来自不可达探测回应:节点发送NS报文后,收到邻节点响应NA报文,认为邻节点可达

IPv6 ND邻居建立过程

image-20250305110755839

img

  • 发起邻居请求(NS)

    • 当节点 A 想要与同一链路上的节点 B 建立邻居关系并进行通信时,A 首先需要知道 B 的链路层地址。A 会在其邻居表中为 B 创建一个缓存条目,并将 B 的邻居状态设置为 “Incomplete(未完成)”。

    • 然后A 构造并发送一个NS报文。NS 报文的目的地址为被请求节点组播地址(FF02::1:FF00:/104 加上 B 的接口标识符),源地址为 A 自己的链路本地地址。报文中包含目标节点 B 的 IPv6 地址,用于请求 B 的链路层地址。

  • 接收邻居请求并回应(B 节点操作)

    • 节点 B 接收到 A 发送的 NS 报文后,B 会在自己的邻居表中为 A 创建一个缓存条目,并将 A 的邻居状态设置为 “Stale”。

    • B 会构造并发送一个NA报文作为对 A 的 NS 报文的回应。NA 报文的目的地址为 A 的链路本地地址(单播),源地址为 B 自己的链路本地地址。报文中包含 B 的链路层地址信息,以及其他可能的标志位等信息,用于告知 A 自己的链路层地址。

    • 发送完 NA 报文后,B 将 A 的邻居状态设置为 “Delay”,在这个状态下,B 等待来自 A 的 “可达性证实信息”,以确认 A 确实能够与自己通信。

  • 处理邻居通告(A 节点操作)

    • 节点 A 收到 B 发送的 NA 报文后,A 会检查报文中的信息。如果一切正常,A 将 B 的邻居状态从 “Incomplete” 变为 “Reachable”,表示 A 现在可以与 B 进行正常通信,并记录 B 的链路层地址。此时 A 可以发送 Echo request 等报文开始通信。

    • 如果 A 没有在规定时间内收到 B 的 NA 报文,A 的邻居表中 B 的邻居状态会在固定时间后从 “Incomplete” 变为 “Empty(空)”,A 会删除该邻居表项。

  • 可达性确认及后续状态变化(B 节点操作)

    • 在 “Delay” 状态下,由于节点之间没有 TCP 连接,B 如果没有收到 “可达性证实信息”(例如 A 发送的正常数据报文等),经过一段时间后,B 会将 A 的邻居状态从 “Delay” 变为 “Probe”。

    • 在 “Probe” 状态下,B 会每隔一定时间间隔发送单播的 NS 报文给 A,以探测 A 是否仍然可达。如果 B 在发送固定次数的 NS 报文后收到了 A 的 NA 应答,B 将 A 的邻居状态变为 “Reachable”;如果没有收到应答,B 会将 A 的邻居状态变为 “Empty” 并删除该邻居表项。

  • 可达状态的维护与超时

    • 无论是 A 还是 B,在邻居状态为 “Reachable” 时,如果长时间不再发送报文(即经过邻居可达时间,Reachable_time),对方的邻居状态会进入 “Stale” 状态,表示不确定对方是否仍然可达。

    • 在 “Stale” 状态下,如果节点要向处于 “Stale” 状态的邻居发送数据,则将邻居状态由 “Stale” 变为 “Delay”,并发送 NS 请求。如果在 “Delay” 状态期间收到对方的 NA 应答,则邻居状态变为 “Reachable”;如果经过固定时间后没有收到应答,邻居状态变为 “Probe”,然后按照 “Probe” 状态的处理方式继续进行。

IPv6地址无状态自动配置过程

image-20250305110822278

(最好不要说冲突检测的过程)

ND协议在节点间交互RS和RA报文实现

  • 1.生成链路本地地址:

    • 主机首先会根据自身接口标识符,按照特定规则自动产生链路本地地址。链路本地地址用于在本地链路范围内进行通信。

  • 2.重复地址检测:

    • 主机发出邻居请求报文,在本地链路范围内进行重复地址检测。

    • 如果在重复地址检测过程中发现地址冲突,主机将停止自动配置过程,需要通过手工配置的方式来设置合适的地址。

    • 若重复地址检测结果显示地址不冲突,那么生成的链路本地地址将生效,此时节点也就具备了本地链路通信的能力

  • 3.PC发出路由器请求报文/主机接收到路由器定期发送的 RA报文

    • PCA会以自己的本地链路地址作为源地址,发送 RS (路由请求)报文。主动向路由器请求获取前缀信息;这个 RS 报文会被发送到所有路由器的组播地址 FF02::2。

    • 或者主机接收到路由器定期发送的 RA报文

  • 4.路由器回复路由器通告报文:

    • 当路由器 RTA 接收到PCA 发送的 RS 报文后,会进行响应。

    • 路由器 RTA 会用它自身的链路本地地址作为源地址,发送 RA 报文。这个 RA 报文会被发送到所在节点的组播地址 FF02::1。

    • 在 RA 报文中,携带了路由器自身的前缀和前缀长度等地址配置信息,以便让请求的主机获取到这些关键信息。

  • 5.主机生成全球唯一单播地址:

    • 主机根据接收到的 RA 报文中的前缀信息,以及通过 EUI-64 规范生成的接口标识符,经过计算组合得到 IPv6 全球单播地址。

    • 同时,在这个过程中,主机 A 还会配置其他相关的网络参数,以确保网络连接的正常运行。

  • 成功实现 IPv6 地址无状态自动配置的条件

    • 路由器要开启IPv6 功能(华三设备默认开启,思科和华为默认关闭)

    • 路由器的接口地址前缀的掩码只能为/64

    • 路由器的接口要能周期发送 RA 报文,需要通过命令手工激活周期发送 RA报文

      • undo ipv6 nd ra halt

IPv6 如何完成 MAC 地址的解析

image-20250305110852747

  • 假设存在主机 A,其 IPv6 地址为 2021::1234:5678/64,想要访问主机 B,主机 B 的 IPv6 地址是 2021::8765:4321/64

  • 主机 A 发送邻居请求(NS)报文:

    • 源IPv6地址/目的IPv6地址/源MAC地址/目的MAC地址

    • 目的ipv6地址:是B节点的组播地址FF02::1:FF65:4321被请求节点组播地址是根据目标单播地址的后 24 位生成的。好处是,主机想要解析某个 IPv6 地址的链路层地址时,可以向这个组播地址发送请求,而不必向所有节点广播

    • 目标 MAC 地址:目标 MAC 地址是被请求节点映射出来的组播 IPv6 MAC 地址 33:33:FF:65:43:21。IPv6 规定,组播 IPv6 地址到 MAC 地址的映射有特定规则,对于被请求节点组播地址,其对应的 MAC 地址前 2 个字节固定为 33:33,后面是 IPv6 地址的后 32 位转换而来。

    • NS 报文内容:NS 报文中包含了本地要解析的 Target Address(这里就是主机 B 的 IPv6 地址 2021::8765:4321)。这个 Target Address 告诉接收方,主机 A 想要解析哪个 IPv6 地址对应的链路层地址。

  • 主机 B 处理邻居请求(NS)报文:

    • 判断是否接收 NS 报文:

      • 主机 B 收到组播的 NS 报文后,会根据接口的 Joined group address(es)(即接口加入的组播组地址列表)来判断是否接收并处理该 NS 报文。

      • 如果该 NS 报文的目标组播 IPv6 地址(FF02::1:FF65:4321)与本地接口加入的某个组播组地址一致,那么主机 B 就会接收这个 NS 报文;

      • 如果不一致,主机 B 就不会进一步处理该 NS 报文

    • 判断是否回应 NA 报文:

      • 当主机 B 接收了 NS 报文后,会再根据 NS 报文中的 Target Address(主机 B 的 IPv6 地址 2021::8765:4321)来判断是否要进行回应。

      • 如果 Target Address 与接收 NS 报文的主机 B 的 IPv6 地址一致,说明主机 A 要解析的就是主机 B 的链路层地址,那么主机 B 就会以单播方式回应邻居通告(NA)报文;

      • 如果 Target Address 与接收 NS 报文的 IPv6 地址不一致,主机 B 也不会进行回应

IPv6过度技术有哪些

  • 双栈技术:

    • 网络中所有节点同时运行IPv4 和 IPv6,主机通过 DNS 解析的结果来判断是通过IPv4还是IPv6来访问目标网络

    • 优点是实现简单,互通性好,且允许应用逐渐从IPv4过度

    • 缺点是成本大,部署周期比较长,不能解决IPv4地址紧缺的问题

  • 隧道技术:

    • 通过在IPv6报文外封装IPv4头部,使用IPv6报文可以穿越IPv4网络,是目前IPv6过度技术最常用的方案

    • GRE隧道,内层用IPv6封装承载用户IPv6数据,外层加上一个GRE头部,然后GRE隧道套上一个公网的IPv4头部;封装格式ipv4:gre:ipv6:data通过ipv4网络结合GRE来承载IPv6数据,需要手工指定隧道的源和目标,也称为手工隧道

      image-20250305110930193

    • 6to4隧道,使用固定的6to4地址格式,隧道自动完成封装,使用简单,使用前固定前缀2002::/16,需要手动将IPv4地址转换成十六进制,嵌入到IPv6的路由下一跳中,6to4隧道也属于自动隧道技术,即只指定隧道的源,没有指定隧道的目标。

      image-20250305110958557

    • 6to4 中继:普通 IPv6 网络需要与 6to4 网络通过 IPv4 网络互通,这可以通过 6to4 中继路由器方式实现。所谓 6to4 中继,就是通过 6to4 隧道转发的IPv6 报文的目的地址不是 6to4 地址,但转发的下一跳是 6to4 地址,该下一跳为路由器我们称为6to4中继;隧道的ipv4目的地址依然从下一跳6to4地址获得

      image-20250305111026960

    • ISATAP 隧道:建文在主机和路由器之间的隧道,需要在主机端发起连接请求,适用于单机穿越IPv4 访问 IPv6 网络,可以使用任意前缀,结合固定的0000:5EFE可以自动将IPv4地址进行转换成IPv6前缀信息;ISATP也是属于自动隧道技术

    • ISATAP 地址接口标识格式

      image-20250305111040519

    • ISATAP 应用场景

      image-20250305111103167

    • 6PE隧道,利用现有的IPv4 MPLS网络进行的隧道传输,需要结合BGP为BGP条目分配公网标签来实现站点间IPv6业务可达,数据在传输过程中只有一个标签

      image-20250305111145351

    • 6VPE 隧道,利用现有的 IPv4 网络,架设 IPv6 的 MPLS VPN,采用多层标签来实现不同 IPv6 站点的业务可达。

      image-20250305111207288

    • NAT-PT使用地址和协议转换技术对IPv4和 IPv6 协议进行互相转换。与 NAT原理类似,也分为静态NAT-PT动态 NAT-PT,NATPT-PT.

6to4隧道地址的计算方式

  • 地址格式为 2002.ABCD:EFGH 子网号::/64

  • ARCDEFGH 的计算方式

    • 把本网络出口的IPv4地址转换为十六进制表示

    • 每段填充至少2位十六进制数字,不足2位的在前面加0

    • 每段填充至2位十六进制数字,不足2位的在前面加0

    • 每两段合并一段,就得出了 ABCD:EFGH 两段十六进制的地址子网号是用于在本网络内部给不同网段分配 6to4 地址

6to4 隧道的工作原理

  • IP6 报文到达 IPv4 出口路由器,匹配到 IPv6 路由把报文发往 Tunnel 口

  • Tunnel口根据报文的源目6to4地址中的第二段和第三段还原出源目IPv4地址,然后再IPv6头部前封装 IPv4 头部,源目 |P 就是还原出来的 IPv4地址

  • 报文在 IPv4 网络中传输到对端的IPv4 出自路由器,解除掉IPv4 头部后,还原成 IPV6 报文,再查询 IPv6路由表后转发至相应的主机

IPv6 路由头部字段:

在 IPv6 网络中,路由头部有着特殊的作用,它实现的效果类似于 IPv4 可选字段中的松散路由和严格路由,主要用于指示数据包在网络中的转发路径,从而让发送方能够对数据报文的传输路径进行控制。

  1. 路由头部字段的构成与含义:

    • 路由头部字段(Routing Header)包含了多种重要信息。其中有一个 8 位的路由类型标识符,用于标识不同类型的路由头部。目前存在两种类型,分别是已被弃用的 RH0(其路由类型标识符为 0)和常用的 RH2(其路由类型标识符为 2)。

    • 还有一个 8 位的剩余部分字段,这个字段非常关键,它表示在数据包到达目的地之前,还需要经过的中间节点数量,也就是还有多少段路由需要处理。此外,路由头部还包含保留位以及若干个 IP 地址。

  2. 路由头部在转发过程中的处理机制:

    • 在 IPv6 网络中,路由头部在数据包转发过程中,中间节点不会对其进行处理,一直到数据包到达目的地址时才会进行相应操作。当到达目的地址后,剩余部分字段就会被用来确定下一跳地址。具体来说,会从地址向量中取出下一跳地址,并将这个地址与 IPv6 头部中的目的 IP 地址进行交换。随着数据包不断转发,剩余部分字段的数值会越来越小,因为每经过一个节点,需要经过的剩余节点数就会减少,同时头部中的地址列表会实时反映转发数据报所经过的节点地址。

  3. 举例说明:

    image-20250305111321007

  • S为发送方,R1,R2,R3,R4为4台路由器D为目的地址网络连接如图:

    image-20250305111358874

    • 假设源节点 S 要发送报文到目的节点 D,并且要求报文必须依次经过中间节点 R2、R3、R4 后才能到达 D。在这种情况下,S 发送的报文的目的 IP 会被设置为 R2(因为第一步要先到达 R2),而路由头部的剩余部分字段会包含 R3、R4 和目标地址 D,这里一共有 3 个地址,也就意味着剩下还需要经过的节点有 R3、R4 和 D。

    • 当数据报文到达节点 R1 时,由于路由头部字段中没有 R1 的相关信息,所以 R1 不会对该报文做任何与路由头部相关的处理,而是直接将报文发送至 R2。

    • R2 收到报文后,发现自己是当前报文的目的地址,于是它会进行一个操作:把路由头部中剩余部分的第一个 IP 地址(也就是 R3)和 IPv6 头部的目的 IP(此时是 R2)做调换。经过调换后,该数据报文的目的 IP 变为了 R3,而路由头部中的 IP 地址变成了 R2、R4、D,然后 R2 把报文发送至 R3。

    • 同理,当 R3 收到数据报文后,发现自己是当前的目的地址,因为 R3 能感知到自己是指定路径中的第二跳(根据剩余部分字段中地址的顺序和剩余部分字段的值来判断),所以它会把头部中剩余部分的第二个 IP 地址(也就是 R4)和目的 IP(此时是 R3)做调换。这样一来,该数据报文的目的 IP 变为了 R4,而路由头部中的 IP 地址变成了 R2、R3、D,然后 R3 把报文发送至 R4。

    • R4 收到报文后,会继续按照同样的方法,将剩余部分的第三个 IP(也就是 D)与目的 IP 进行变换,然后将报文转发至 D。至此,数据报文成功地按照预先要求的路径到达了目的地

  • SR-MPLS转发特点:边转发边弹标签

  • SRv6转发特点:边转发边更改目标IPv6地址

IPv6 的 MTU与IPv4 相比有什么区别?

  • 分片机制

    • 在 IPv4 中,报文如果过大,必须要分片进行发送,所以在每个节点发送报文之前,设备都会根据发送接口的最大传输单元MTU(Maximum Transmission Unit)来对报文进行分片,所以对于IPv4来说可能需要在发送数据过程中,在中间的节点进行多次的分片,严重影响数据的转发效率。

    • 在 IPv6 中,为了减少中间转发设备的处理压力,中间转发设备不对IPv6 报文进行分片,报文的分片将在源节点进行。当中间转发设备的接口收到一个报文后,如果发现报文长度比转发接口的MTU值大,则会将其丢弃;同时将转发接口的 MTU 值通过 ICMRv6 报文的 Pecket Too Big 消息发给源端主机,源端主机以该值重新发送IPv6 报文。这样带来了额外流量开销、而 IPv6 通过 PMTU 机制可以确保只在发送数据的源端进行分片,在目标设备进行重组,可以极大的提高数据的装发效率

  • PMTU机制

    • 源节点在发送数据时,首先假设路径最大传输单元(PMTU)就是其出接口的 MTU 值,并基于这个假设发出一个试探性的报文。

    • 在报文转发的路径上,如果存在某个转发设备的接口 MTU 值小于源节点当前假设的 MTU 值,那么这个转发设备就会向源节点发送 Packet Too Big 报文。这个报文中会携带该转发设备接口自身的 MTU 值。

    • 源节点收到 Packet Too Big 报文后,会将自己对 PMTU 的假设值更新为新收到的 MTU 值,然后根据这个新的 MTU 值重新对报文进行处理并再次发送。

    • 重复上述过程,源节点不断根据收到的 Packet Too Big 报文中的 MTU 值调整自己对 PMTU 的假设,并重新发送报文。如此反复,直到报文成功到达目的地。当报文到达目的地后,源节点就能够确定到达该目的地的实际 PMTU 值了。通过这种方式,源节点可以动态地适应网络路径上不同的 MTU 限制,避免了在中间节点进行分片的情况,提高了数据传输的效率。

    image-20250305111420052

IPv6 的逐跳选项扩展头部

  • 在 IPV6 中,某些功能需要沿途的所有路由器都支持,该功能就要通过逐跳选项的扩展头部来完成

  • 目前 IPV6只定义了一个逐跳选项:巨型净荷选项,意思是对大型数据包的封装支持,如果希重实现从源到目的能够顺利的传输一个巨型报文,就会通过巨型净荷的逐跳选项,来描述该巨型净荷的长度。

  • 只有沿途每个路由器都能够处理该逐跳选项时,路由器才能使用巨型净荷选项来发送大型 IP 包。因此,该选项在逐跳扩展头中使用,要求沿途的每个路由器都必须检查此信息

  • 如果沿途的路电器不能识别该逐跳选项时,可以采取下面四中处理方式:

    • 忽略此选项

    • 完成对扩展头部2其余部分的处理

    • 丢弃整个包

    • 丢弃包,并向源发送一个ICMPv6 报文来通告错误

ospfv3 的 router-id 可以自动生成吗

(H3C通常需要手工设置)

  • 如果当前设备存在活跃的IPv4 地址,则 OSPFv3 会自动生成 router-id。

  • 如果当前设备未存在获取的 IPv4 地址,则需要手工设置 OSPFv3 的 router-id

常见的 IPv6 扩展报头有哪些

  • 逐跳选项报头:

    • 该选项主要用于为在传送路径上的每跳转发指定发送参数,传送路径上的每台中间节点都要读取并处理该字段,主要用于巨型载荐、设备提示和用于资源预留。

  • 目的选项报头:

    • 目的选项报头携带了一些只有目的节点才会处理的信息。目前目的选项报文头主要应用于移动 IPv6。

  • 路由报头:

    • 路由报头和 IPv4的 Loose Source and Record Route 选项类似,该报头能够被 IPv6 源节点用来强制数据包经过特定的设备。

  • 分段报头:

    • 同IPv4一样,IPV6 报文发送也受到 MTU 的限制。当报文长度超过MTU时就需要将报文分段发送,而在IPv6单,分段发送使用的是分段报头。

  • 认证报头:

    • 该报头由 IPSec 使用,提供认证、数据完整性以及重放保护。它还对IPv6 基本报头中的一些字段进行保护

  • 封装安全净载报头:

    • 该报头由IPSec使用,提供认证、数据完整性以及重放保护和 IPv6 数据报的保密,类似于认证报头

AI 边缘计算控制器GEAC91 AI 边缘计算控制器GEAC91是AI边缘计算控制器是一款基于 NVIDIA Jetson AGX Xavier处理 器、面向智能边缘计算应用场景的解决方案。 阅读详情

相关推荐

STM32L051低功耗模式下LPUART的使用

STM32L0系列低功耗UART配置代码清单及注释,大家可参考学习使用。

嵌入式工程师 2104

IPv6地址划分,你会了嘛?

在全球单播地址中,规定如2001:BCFF:FEA6::/48表示一个IPv6路由前缀,2001:BCFF:FEA6:6C01::/64表示一个IPv6子网前缀。上面提到的站点本地地址由于起初的标准定义模糊而被弃用,而后RFC又重新定义了唯一本地地址以满足本地环境中私有IPv6地址的使用。单播可分为:全球单播地址(可理解为公网地址---IPv6)、本地链路地址、站点本地地址、回环地址、未指定地址、内嵌IPv4地址。形式:0:0:0:0:0:0:0:0/128   --> ::/128;

qq_25467441的博客 4156

跨境电商ERP开发之Shopee开发者账号申请

引言:由于电子信息技术和经济全球化的进一步发展,电子商务在国际贸易中的影响力和关键作用日渐突显,已变成中国出口贸易的市场趋势。跨境电商未来的发展前景必定是有助于减少经济成本、推动全球贸易便利化,有助于提高国内群众福祉,有助于打造良好的营商环境,从而推动经济长期健康发展。 gitee仓库地址: https://gitee.com/naturalwish/SSERP/tree/master 以下授权教学同ShopeeOpen Platform - Developer Guide 申请流程 ..

naturalwish的专栏 3640

IPv6链路本地地址ACL规则配置与示例

这条配置是用于网络访问控制列表(ACL)的规则,通常出现在防火墙、代理服务器(如 Squid)或其他网络设备的配置中。它的作用是定义一个名为localnet的访问控制组,匹配源地址(src)为 IPv6 链路本地地址(fe80::/10)的流量。

Leon_Jinhai_Sun的博客 930

【YOLO26实战全攻略】08——YOLO26模型导出与部署全攻略:从训练权重到生产环境(含5种格式+INT8量化+实战案例)

本文聚焦YOLO26模型从训练权重到生产环境的全流程部署,针对“训练精度高、部署效果差”的行业痛点,详解其无NMS端到端推理、量化友好架构、全格式导出三大核心优势。内容涵盖ONNX、TensorRT、OpenVINO、TFLite、CoreML五种主流格式的导出原理与实操步骤,深入剖析INT8量化、混合量化等边缘优化技术,并通过智慧园区车辆检测虚拟案例,完整演示从模型准备、格式导出、引擎适配到性能验证的全流程。文中提供可直接复制运行的代码、详细执行结果及避坑指南,兼顾新手入门与进阶读者提升,更好的帮助读者。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 502

创建 Qt Quick 项目

来看看如何使用 Qt Creator 创建 Qt Quick 项目!

青春不老,奋斗不止! 1万+

ipv6单播地址包括哪两种类型_IPv6基础详解,地址分类,基本IPv6配置,两分钟快速掌握...

一、IPv6基础1、IPv6地址总长度为128比特,冒分十六进制,地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替2、IPv6地址分为两部分: 网络前缀(相当于网络ID)+接口标识(相当于主机ID)3、IPv6地址分为单播地址、任播地址(Anycast Address)、组播地址三种类型。没有广播地址类型4、每个16位的分段中开头的零可以省略5、一个或多个相邻的全零的分段可以用双冒...

weixin_39738667的博客 3080

【二.图像处理核心技术】【5.形态学操作:腐蚀/膨胀/开闭运算】

想象一下,你拍了一张布满雪花点的老照片,或者扫描了字迹断裂的文档,这时候形态学操作就是你的像素整形师!它们能让模糊的边界变清晰,把断裂的笔画连起来,甚至从X光片里揪出癌细胞。今天我们要聊的,是计算机视觉界的"广场舞双雄"——腐蚀和膨胀。这俩操作就像给像素点们请了个健身教练,要么集体减肥(腐蚀),要么组团增肌(膨胀)。下次当你用美颜相机时,不妨会心一笑——这看似魔法的背后,正是形态学在默默耕耘。腐蚀的规则很简单:如果一个像素点周围的邻居不全白,它就"狗带"(变黑)。:先用砂纸打磨(腐蚀),再喷漆填补(膨胀)

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 426

ipv6地址的分类(关于FE80开头, FEC0开头的IPV6地址等的介绍)

自《IPV6详解》 ipv6地址总的来说可分为三大类:单播地址,泛播地址和组播地址     (后面两种网上很多介绍) 单播地址还可分为几类:可集聚全球单播地址,链路本地单播地址和站点本地单播地址. 见IPV6地址分配表: 这样的分配方案支持可集聚地址、本地用地址和组播地址的直接分配,并有保留给 N S A P地址和I P X地址的空间。 其余的地址空间留给将来用。可用于已有使

19万+

YOLOv8进阶:SEAM注意力与Repulsion Loss双剑合璧,突破遮挡检测瓶颈

做目标检测时,最头疼的莫过于目标被遮挡的场景——行人被树木挡住一半、车辆被广告牌遮挡部分轮廓……这些情况往往让模型“犯迷糊”。但现在,有了SEAM注意力模块和Repulsion Loss排斥损失,我们就能让YOLOv8在遮挡场景下也能“拨开迷雾见真章”。这篇教程会带你一步步理解这两个技术,并亲手把它们融入YOLOv8,让你的检测模型在复杂场景下也能稳如泰山。

FJN110的博客 233

YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率

本文记录的是基于MobileOne的YOLOv11骨干网络改进方法研究。MobileOne的基础模块通过重参数化,。在将其替换YOLOv11的骨干网络后,实现模型轻量化。

Limiiiing的博客 1425

IPv6地址

在我们现有的网络中,几乎所有网络都使用IP协议作为通信的地址协议,我们的网络使用IP来表示地址信息,每一个 节点都应该分配一个唯一 的地址, 才能保证通信正常。现在正常使用的IP协议为版本4,用32位来表示,地址空间为65536X65536,结果约为42.9亿,需要说明的是,虽然地址共有42.9亿之多,但并不表示这些地址可以供42.9亿个节点使用,因为我们的地址是分网段的,也就是说即使在一个节点的情况下,分配地址时,也是分配一个网段而不是一个地址,所以这样就使得版本4的IP地址一下子变得空间陕小,再加了有相

商务合作|种草文章|产品测评 9946

清洁机器人之屏幕(中,大LCD)方案--ITE 联阳986x系列 soc显控芯片介绍

清洁机器人之屏幕(中,大LCD)方案--ITE 联阳986x系列 soc显控芯片介绍

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 2666

《21天精通IPv4 to IPv6》第14天:第二周综合回顾——如何落地IPv6?

欢迎来到《21天精通IPv4 to IPv6》系列教程的第14天!今天,作为猫头虎博主,我将带领大家回顾第二周的学习内容,强化关键知识点,帮助你更好地理解并实施IPv6的落地策略。本文将包含大量相关的词条,如IPv6迁移策略、云服务中的IPv6实施、物联网IPv6应用,确保读者能够全面理解和应用这一周学习的内容。主题内容总结企业网络IPv6迁移迁移策略、案例分析、关键步骤云和容器中的IPv6部署策略、容器配置、操作指南物联网中的IPv6重要性、应用案例、关键应用点IPv6高级路由。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

关闭IPV6,ubuntu 14.04

转载自http://www.2cto.com/os/201209/153056.html ubuntu 12.10关闭ipv6的方法   cat /proc/sys/net/ipv6/conf/all/disable_ipv6   显示0说明ipv6开启,1说明关闭   如果开启,关闭ipv6的方法:   www.2cto.com   在 /etc/sysctl.conf 增加下

再见。 9748

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【HCIE】14.IPV6基础

IPV4地址不够用(NAT,私网地址,变长子网划分)IPV4报文是可变长的,所以还要先去查看长度字段才能分出哪些是头部,这样就造成了速度较慢,无法用在现在对网络速度要求非常快的物联网时代IPV4的校验字段可以不用(以太有校验,TCP也有校验,这样还需要对IPV4的报文进行校验)IPV4的分片功能(大多数报文不会分片,但是padding字段还是要读取的)

走马 368

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IPV6的介绍

一、IPV4与IPV6对比 1.地址短缺,这是升级到IPV6的主要动力 2.IPV4只有32Bits地址长度,只有40亿左右的可用地址 3.地址不够用的主要原因是地址分配的极不合理,给中国等发展中国家分配的比较少 4.中国即止202年8月,大概只有2502个IPV4地址,B类地址池不足200个,A类地址一个没有 5.80年代推出的IPV4为了适应当时的复杂网络类型(协议种类比较多)包头设计复杂,常规一共需要12个字段 6.包头存在Option选项,导致长度不固定,路由器转发数据包需要先分析整个包头,然后判断

weixin_44383922的博客 3861

IPv6技术精要--第14-16章 IPv6路由选择

本章要点: 1. IPv6路由表 IPv4和IPv6分别有一张独立的路由表,可以使用命令show ipv6 route显示IPv6路由表: 命令show ipv6 route有多个选项 1.1 直连路由 显示的路由表中代码字段C表示这是一个直连网络,这与相同代码的IPv4路由相似。当配置了全局单播地址或唯一本地单播地址的IPv6接口处于up状态时,包括接口的状态、线路协议、IPv6前缀以及前缀长度在内的信息都被加入路由表。 R1的路由表中存在三条直连路由,每个配置了可路由IPv6地址的接口都

学无止境,勤则可达;志存高远,恒亦能成! 3211

linux系统下ping ipv6

前言 ipv6正在逐渐的普及,内网设备支持ipv6协议,其相关的设备也会相应的ipv6地址 同一台交换机下互ping其ipv6地址 查看a服务器的网卡信息 [root@a ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 i

weixin_42715225的博客 1万+

Linux各版本IPv6的配置-自动初始化IPv6配置

IPv6各个操作系统配置IPv6类型参考链接前提条件检查IPv6模块是否加载配置/etc/sysctl.conf配置/etc/modprobe.d/disable_ipv6.confCentos7.*操作系统DHCP配置Static配置Centos8.*操作系统Centos6.*操作系统Ubuntu14.04操作系统Ubuntu16.04操作系统Ubuntu18.04操作系统Opensuse操作系...

qq_37497397的博客 3523

潘多拉固件设置ipv6_OpenWRT IPv6配置

关于在OpenWRT上如何配置IPv6的方法,自己总结的一点,欢迎各位大神们指正错误!硬件为网件(Netgear)WNDR 4300/3700,OpenWRT固件为Chaos Calmer 15.05.11. OpenWRT IPv6主要实现方式有以下几种:IPv6 中继IPv6 穿透IPv6 NAT下文皆假设OpenWRT为初始化配置2. IPv6 中继2.1 简介中继模式可以让接入客户端获取原...

weixin_39580682的博客 5290

Linux下IPV6通信

1. IPv6简介 1.1 简介     通常我们在Linux下使用的都是IPv4的方式来进行网络编程通信,本次介绍Linux下IPv6方式通信方式。     IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也

weixin_40407893的博客 6308

华为 IPv6与IPv4

猛兽总是独行,牛羊才成群结队。 —鲁迅 文章目录 一、前 言 二、IPv6地址表示方法 三、IPv4&IPv6报头对比 四、拓扑 五、基本配置与分析 六、ICMPv6协议 七、跟踪邻居状态 八、IPv6地址分类

艺博东的博客 8588

Wireshark协议分析之IPv6

一:前言 IPv4的最大地址空间仅允许有4.3亿个地址。但实际上减去特殊用途的预留地址,比如测试地址、广播地址、内网地址,实际可用的地址空间更加有限。解决IPv4地址耗尽的措施,唯一途径就是开发IP规范的新版本。 IPv6相比IPv4在报文结构和通信方式上有较大改变 二:IPv6地址 IPv4地址被局限在32位,提供2的32次方个地址,IPv6有128位,提供2的128次方个地址 因为I...

马赛克的博客 9848

Ubuntu 14.04 禁用ipv6

参考: 关闭IPV6,ubuntu 14.04 Ubuntu 14.04 禁用ipv6 1.检查ipv6是否开启: cat /proc/sys/net/ipv6/conf/all/disable_ipv6 2.禁用ipv6,在/etc/sysctl.conf下加入以下内容: #disable IPv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf...

weixin_33787529的博客 325

【IPV6从入门到起飞】2-1 获取你的IPV6(手机、CPE等)

在网上买了一个CPE,因为自己比较喜欢折腾,对比了一下感觉鲲鹏C8-668很有意思,以下是配置(不打广告,只是很喜欢而已)。我们对IPV6已经有了一定的认识,但其实IPV6现在逐渐已经融入了我们的生活,你手上可能就有着IPV6的资源,就比如手机,下面带大家来看看。IPV6是唯一的,但是它是可变的,后面会更新如何实现动态域名绑定你的IPV6,实现公网IPV6服务器的搭建。下图是我最近两次的测速记录,随便测了一下,可能不太准,环境也一般般,带宽能拉到500~700M?

第四维度的博客 3800
上一篇: 8.路由原理专题
下一篇: 10.OSPF专题
JJumpping
博客等级 码龄4年 241粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值