IPv6知识

   日期:2024-12-26    作者:whkdfs 移动:http://oml01z.riyuangf.com/mobile/quote/50773.html

(1)、IPV6有128位(128bit),基本组成方式为:网络ID+接口ID,IPV6地址=前缀+接口标识(接口ID具有唯一性,由设备自动生成,MAC唯一,因此接口ID唯一,前缀的表示方法:通过砸IPV6地址后面加一个斜线/,再跟一个十进制的数字来标识一个IPV6地址的起始位有多少位是前缀位,一般前缀为64位,如:3ffe:1994:100:a::/64)

IPv6知识

(2)、IPV6若是用16进制表示的话,地址被分为8段,每16位为一段,中间用':'隔开,如: X:X:X:X:X:X:X:X(X 表示一个4位16进制数)

(3)、IPV6中前导0可以删除,但是每段至少要有一个数字,如:2001:DB8:0:0:8:800:200C:417A

(4)、多个连续为0的段可以用::表示,如:2001:0DB8::8:800:200C:417A

(5)、若是全部为0可以直接用::表示,如:0:0:0:0:0:0:0:0=>::

(6)、在一个IPV6地址中,只允许使用一次“::”,不能把有效的0压缩

(7)、没有广播地址

 

  1. 全球单播地址  global unicast address, 公网ip 相当于 nd proxy (对应 ipv4的 floating ip)
  2. 虚机ipv6 unique local地址(唯一本地地址 私网ip)是dhcp 请求openflow 下发的。
  3. 虚机ipv6 linklocal地址

 

 

RS(Router Solicitation)路由请求报文   RA(Router Advertisement)路由通告报文 相关流表

传统用法:

路由器发现功能用来发现与本地链路相连的设备,并获取与地址自动配置相关的前缀和其他配置参数。
也就是RS RA 是用来进行地址自动配置的。在IPv6中,

  • IPv6地址可以支持无状态的自动配置,即主机通过某种机制获取网络前缀信息,然后主机自己生成地址的接口标识部分。
    路由器发现功能是IPv6地址自动配置功能的基础,主要通过RS RA两种报文实现。
  • DHCPv6属于带状态地址配置。

从上图可以看出有2种,一种网关设备定时给虚机发组播RA报文;另一种虚机主动发RS,网关回RA。

RA(Router Advertisement) 路由通告报文 组播报文 icmp_type=134

功能:租户网关loop口定时发送,同VPC下所有虚机都可以收到

 

RS(Router Solicitation) 路由请求报文  组播报文 icmp_type=133

功能:虚机发出的RS请求报文默认全部送到租户网关,报文中源地址是虚机的linklocal链路本地地址 为啥??RS RA 就是为linklocal 地址生成路由用的,路由其实也可以理解成学neighbor (arp)
fe80::f816:3eff:fe38:d51,output=1表示走vxlan tunnel Table 30

 

RA(Router Advertisement) 路由通告报文 单播报文 icmp_type=134

功能:租户网关loop口的RA应答报文,目的ip为虚机fe80::f816:3eff:fe38:d51 linklocal地址。
priority=300高于上边第一条租户网关给虚机发的组播报文

 

路由器通告RA(Router Advertisement)报文: 组播
每台设备(交换机角色)为了让二层网络上的主机(虚机)和设备知道自己的存在,定时都会组播发送RA报文,
RA报文中会带有网络前缀信息,及其他一些标志位信息。RA报文的Type字段值为134。

Flags字段:

M标志位:管理地址配置标识(Managed Address Configuration),标识是否使用DHCPv6获取IPv6单播地址
M=0,表示无状态地址分配,客户端通过无状态协议(如ND)获得IPv6地址
M=1,表示有状态地址分配,客户端通过有状态协议(如DHCPv6)获得IPv6地址

O标志位:其他配置标识(Other Configuration),标识是否使用DHCPv6获取其他参数,比如DNS等

O=0,表示客户端通过无状态协议(如ND)获取除地址外的其他配置信息

O=1,表示客户端通过有状态协议(如DHCPv6)获取除地址外其他配置信息,如DNS,SIP服务器信息

注意:协议规定,如果M=1,则O=1,否则没有意义

M与O不同组合的含义:

ICMPv6选项前缀信息中的Flag:

L位:表示该RA消息前缀是否分配给本地链路

A位:表示该前缀能否用于无状态自动配置,值为1表示该前缀可以用于无状态自动配置,值为0表示不能用于无状态自动配置。

 

路由器请求RS(Router Solicitation)报文: 组播
很多情况下虚机接入网络后希望尽快获取网络前缀进行通信,此时主机可以立刻发送RS报文,网络上的设备将回应RA报文。
RS报文的Tpye字段值为133

路由器通告RA(Router Advertisement)报文: 单播
回应RS的RA报文

NS(Neighbor Solicitation)邻居请求报文   NA(Neighbor Advertisement)邻居通告报文 相关流表

NS NA 在地址解析中的作用类似于IPv4中的ARP请求 应答

IPv6地址解析示意图

NS(Neighbor Solicitation) 邻居请求报文 组播报文 icmp_type=135

功能:目的ip为组播ip,不唯一,所以流表根据报文中的nd_target(唯一,即需要请求的对端ip,可能是唯一本地地址??)指导转发
1.入向:其它虚机请求本虚机的邻居(Neighbor,mac)(分同主机内其它vm ns请求本vm Neighbor 和 别的主机上的vm ns请求本vm Neighbor)
Ipv6地址默认全局唯一的话两条流表可以用一条流表代替,匹配协议类型和nd_target

同主机内其它vm发NS请求本vm邻居(Neighbor) 匹配 reg6 action output到虚机
别的主机上的vm发NS请求本vm邻居(Neighbor) 匹配 tun_id   in_port action output到虚机

 

2.出向:本虚机请求其它虚机的邻居:
本虚机请求同主机
本虚机请求不同主机远端虚机邻居(Neighbor)(同网段)或者请求网关的邻居(Neighbor) (跨网段)
报文送到vxlan tunnel 所以output=1

 

NA(Neighbor Advertisement) 邻居通告报文 单播报文 icmp_type=136

功能:
1.入向:同主机内其它vm或者其它主机上vm将自己的邻居(Neighbor,mac)通告给本虚机
Ipv6地址默认全局唯一的话两条流表可以用一条流表代替,匹配协议类型和ipv6_dst

 

2.出向:本虚机的邻居(Neighbor,mac)通告给

同主机其它vm(同网段)

或者不同主机上的虚机(同网段)或网关(跨网段)

 

可以看到 跨网段3层流量卸载还是可以减轻网关压力的

如果进行NDP三层卸载,下发的NS和NA流表不再是同子网,而是同VPC

邻居请求和邻居通告 报文 在地址解析中的作用类似于IPv4中的ARP请求报文

 

a ping6 b过程
根据掩码判断是否同网段  不同网段需要查路由
根据路由下一跳 查下一跳的mac缓存,  ip -6 neigh 获取到mac进行封装。

那么这个mac是怎么获取到的?看以下场景进行讲解。

 

场景:240e:980:1800:8007::391/112 请求240e:980:1800:8007::1/112的邻居
           相当于请求240e:980:1800:8007::1的mac地址,前提是知道被请求节点组播ipv6地址以及组播mac,具体获取方式如下。

过程梳理:
为了学习到目标地址240e:980:1800:8007::1对应的MAC地址,首先发送NS报文:
Type字段值为135,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP请求报文。

1)被请求节点组播(Solicited-node Multicast) IPv6地址FF02::1:FF00:1如何生成?
    IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。
    在IPv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。
    当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP
    就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。
    被请求节点组播地址由前缀FF02::1:FF00:0/104和目标单播地址的最后24位组成。
    由于目标单播地址是240e:980:1800:8007::1,
    所以生成的被请求节点组播地址是:FF02::1:FF00:1。

2)被请求节点组播(Solicited-node Multicast) MAC地址33:33:ff:00:00:01如何生成?
    组播MAC地址48bit的前24bit默认固定是33:33:ff,
    后半部分是被请求节点组播地址的后24bit,
    所以生成的组播MAC地址是33:33:ff:00:00:01。

 

 

 

VM1发送的NS请求报文给到虚拟网关路由器,虚拟网关路由器收到NS报文后

查看路由表匹配到路由240e:980:1800:8007::/64,代理目标地址回复一个NA报文:

Type字段值为136,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP应答报文。

 

 

ICMPv6的 echo request报文 Type 128

 

 


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号