IPv6有两种路由协议

  • RIPing
  • OSPFv3

RIPng
  • 距离矢量路由协议
  • 规定每一跳的开销度量值为1,最大跳数为15
  • 组播地址ff02::9,作为目的地址来传送路由更新报文
  • 通常采用链路本地地址作为路由条目的下一跳地址

ip6tables开启ipv6转发eth0到eth1_网络

  • 本示例中的两台路由器位于同一个广播网段,RTA和RTB的loopback 0接口使用的是全球单播地址。
  • RTA和RTB的物理接口在使用RIPng传送路由信息时,路由条目的下一跳地址只能是链路本地地址。
  • 如果RTA收到的路由条目的下一跳地址为fe80::fe03:e24f,RTA就会认为目的地址为2001:2::b的网络可达。
  • 如果采用的是EUI-64格式生成的接口链路本地地址,替换接口板后,链路本地地址也会随着发生变化。
  • 为了避免这种情况,可以手动配置链路本地地址。
RIPng报文格式

ip6tables开启ipv6转发eth0到eth1_链路_02

  • RIPng通过UDP的521端口发送和接收路由信息。
  • 所有路由信息更新报文( 包括定期发送报文和主动发送报文) 都是在发送方和接收方的RIPng端口之间传输。
  • 有些请求报文可能来自RIPng端口以外的其它端口, 但是报文会被转发到目标设备上的RIPng端口。
  • RIPng报头的Command字段定义报文的两种类型:
  • 请求报文
  • 响应报文
  • Version字段指的是RIPng的版本。
  • 每个RIPng报文可以包含一个或多个路由表项( RTE)
  • 每个路由表项中包含目的网络前缀、路由标记、前缀长度和度量值。

OSPFv3

ip6tables开启ipv6转发eth0到eth1_组播_03

  • OSPFv3是运行在IPv6网络的OSPF协议。
  • 运行OSPFv3的路由器使用物理接口的链路本地单播地址为源地址来发送OSPF报文。
  • 相同链路上的路由器互相学习与之相连的其它路由器的链路本地地址, 并在报文转发的过程中将这些地址当成下一跳信息使用。
  • IPv6中使用组播地址ff02::5来表示AllSPFRouters(OSPFv2中使用的
  • 是组播地址224.0.0.5)。
  • 需要注意的是, OSPFv3和OSPFv2版本互不兼容。
OSPFv3选举

ip6tables开启ipv6转发eth0到eth1_本地地址_04

  • OSPFv3的Router ID必须手工配置
  • OSPFv3在广播型网络和NBMA网络中选举DR和BDR的过程与OSPFv2相似
  • IPv6使用组播地址FF02::6表示AllDRouters(OSPFv2中使用的是组播地址224.0.0.6)