ICMPv6协议
ICMPv6的协议类型是58 除了IPv4中的作用外 还添加了邻居发现、无状态自动配置、PMTU 等作用
邻居发现协议NDP
NDP 邻居发现协议 有如下功能
NDP使用ICMPv6的相关报文
RS(Router Solicitation):路由器请求报文
RA(Router Advertisement):路由器通告报文
NS(Neighbor Solicitation):邻居请求报文
NA(Neighbor Advertisement):邻居通告报文
地址解析
PCl准备访问PC2之前,首先在本地邻居表中查找PC2的IPv6地址对应的以太网MAC地址,如果查找到相关表项,则将发往PC2的数据包封装在以太数据帧中然后发出:如果没有找到PC2的MAC地址,则发送NS消息用来请求其链路层地址
用ICMPv6里面的type 135(NS 邻居请求)和type 136(NA 邻居的通告)发送
过程如下:
- PCl向PC2的请求节点的组播地址发送NS消息,该消息是通过类型为135的ICMPv6报文来承载,目标地址是PC2的IPv6单播地址
- PC2收到NS消息后,以单播的方式向PCl回应NA消息,该消息中包含了PC2的MAC地址。PC2还会将PCl的 IPv6地址和MAC地址添加至本地的邻居缓存表中
-
PCl收到来自PC2的NA消息后,将PC2的IPv6地址以及它的MAC地址添加至本地的邻居缓存表中
假设PCl的IPv6地址为2001::1/64,PC2的IPv6地址为2001::2/64DAD检查
DAD(Duplicate Address Detection)重复地址检测,类似于免费ARP的作用一样
用ICMPv6里面的type 135(NS 邻居请求)和type 136(NA 邻居的通告)发送
作用:用于地址分配或主机连接网络时检测重复的IPv4主机地址。
过程:节点向一个自己将使用的试验地址所在的Solicited-node组播组发送一个以该试验地址为请求的目标地址的邻居请求(NS)报文,如果收到某个其它站点回应的邻居通告(NA)报文,就证明该地址已被网络上使用,节点将不能使用该试验地址进行通信。这种情况下,网络管理员需要手动为该节点分配另外一个地址无状态自动配置
网络节点向相连的路由器发送RS,请求地址前缀信息
路由器通过发送路由器通告RA,回复地址前缀信息
用ICMPv6里面的type 133(NS 邻居请求)和type 134(NA 邻居的通告)发送
举例如下:[R1-GigabitEthernet0/0/0]dis this # interface GigabitEthernet0/0/0 ipv6 enable ipv6 address 2019::1/64 undo ipv6 nd ra halt #
Router Advertisement 用于回复RS报文,RS报文中包含IPv6地址或前缀信息
注1:华为默认不会发送RA报文,手工开启后默认200S发送一次,使用以下命令开启
[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt
注2:主动发起RA报文后,同样也会被邻居路由器收到,在邻居路由器上开启发送RS报文,便可以无状态自动配置接口IP地址
[Huawei-GigabitEthernet0/0/0]ipv6 address auto global
注3:路由器收到RA回复后,使用EUI64生成接口IPv6地址;主机(windows)收到RA回复后,使用软件随机生成IPv6地址(更加安全)
IPv6直连
两台交换机通过GE0/0/1接口相连,SwitchA及SwitchB的GE0/0/1接口分别对应各自的VLANIF100接口,为VLANIF100接口配置IPv6地址,验证它们之间的三层互通性
第一步:使能SWITCH的IPV6转发能力
配置SwitchA
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] ipv6
配置SwitchB
<HUAWEI> system-view [HUAWEI] sysname SwitchB [SwitchB] ipv6
第二步:配置接口的IPV6地址
配置SwitchA
[SwitchA] vlan 100 [SwitchA-vlan100] quit [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type hybrid [SwitchA-GigabitEthernet0/0/1] port hybrid pvid vlan 100 [SwitchA-GigabitEthernet0/0/1] port hybrid untagged vlan 100 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface vlanif 100 [SwitchA-Vlanif100] ipv6 enable [SwitchA-Vlanif100] ipv6 address fc00:1::1/64 [SwitchA-Vlanif100] quit
配置SwitchB
[SwitchB] vlan 100 [SwitchB-vlan100] quit [SwitchB] interface gigabitethernet 0/0/1 [SwitchB-GigabitEthernet0/0/1] port link-type hybrid [SwitchB-GigabitEthernet0/0/1] port hybrid pvid vlan 100 [SwitchB-GigabitEthernet0/0/1] port hybrid untagged vlan 100 [SwitchB-GigabitEthernet0/0/1] quit [SwitchB] interface vlanif 100 [SwitchB-Vlanif100] ipv6 enable [SwitchB-Vlanif100] ipv6 address fc00:1::2/64 [SwitchB-Vlanif100] quit
第三步验证配置结果
显示SwitchA的接口信息。
[SwitchA] display ipv6 interface vlanif 100 Vlanif100 current state : UP IPv6 protocol current state : UP IPv6 is enabled, link-local address is FE80::218:20FF:FE00:83 Global unicast address(es): FC00:1::1, subnet is FC00:1::/64 Joined group address(es): FF02::1:FF00:1 FF02::1:FF00:83 FF02::2 FF02::1 MTU is 1500 bytes ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds ND retransmit interval is 1000 milliseconds ND stale time is 1200 seconds
显示SwitchB的接口信息
[SwitchB] display ipv6 interface vlanif 100 Vlanif100 current state : UP IPv6 protocol current state : UP IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE33:11 Global unicast address(es): FC00:1::2, subnet is FC00:1::/64 Joined group address(es): FF02::1:FF00:2 FF02::1:FF33:11 FF02::2 FF02::1 MTU is 1500 bytes ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds ND retransmit interval is 1000 milliseconds ND stale time is 1200 seconds
从SwitchA上Ping SwitchB的IPv6地址
[SwitchA] ping ipv6 FC00:1::2 PING FC00:1::2 : 56 data bytes, press CTRL_C to break Reply from FC00:1::2 bytes=56 Sequence=1 hop limit=64 time = 12 ms Reply from FC00:1::2 bytes=56 Sequence=2 hop limit=64 time = 3 ms Reply from FC00:1::2 bytes=56 Sequence=3 hop limit=64 time = 3 ms Reply from FC00:1::2 bytes=56 Sequence=4 hop limit=64 time = 3 ms Reply from FC00:1::2 bytes=56 Sequence=5 hop limit=64 time = 3 ms --- FC00:1::2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 3/4/12 ms
IPv6静态路由
IPv6网络中属于不同网段的主机通过几台Switch相连,要求不配置动态路由协议,使不同网段的任意两台主机之间能够互通
第一步:配置接口所属VLAN
配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 10 20 [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type trunk [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 20 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type access [SwitchA-GigabitEthernet0/0/2] port default vlan 10 [SwitchA-GigabitEthernet0/0/2] quit
第二步:配置VLANIF接口的IP地址
配置SwitchA。SwitchB和SwitchC的配置与SwitchA类似。
[SwitchA] ipv6 [SwitchA] interface vlanif 10 [SwitchA-Vlanif10] ipv6 enable [SwitchA-Vlanif10] ipv6 address fc00:0:0:2001::1/64 [SwitchA-Vlanif10] quit [SwitchA] interface vlanif 20 [SwitchA-Vlanif20] ipv6 enable [SwitchA-Vlanif20] ipv6 address fc00:0:0:2010::1/64 [SwitchA-Vlanif20] quit
第三步:配置主机地址和网关
根据组网图配置好各主机的IPv6地址,并将PC1的缺省网关配置为fc00:0:0:2001::1,PC2的缺省网关配置为fc00:0:0:2002::1,主机3的缺省网关配置为fc00:0:0:2003::1。
第四步:配置IPV6静态路由
在SwitchA配置IPv6缺省路由
[SwitchA] ipv6 route-static :: 0 vlanif20 fc00:0:0:2010::2
在SwitchB配置两条IPv6静态路由
[SwitchB] ipv6 route-static fc00:0:0:2001:: 64 vlanif20 fc00:0:0:2010::1 [SwitchB] ipv6 route-static fc00:0:0:2003:: 64 vlanif40 fc00:0:0:2020::2
在SwitchC配置IPv6缺省路由
[SwitchC] ipv6 route-static :: 0 vlanif40 fc00:0:0:2020::1
第五步:查看配置结果
查看SwitchA的IPv6路由表
[SwitchA] display ipv6 routing-table Routing Table : Public Destinations : 7 Routes : 7 Destination : :: PrefixLength : 0 NextHop : FC00:0:0:2010::2 Preference : 60 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : Vlanif20 Flags : D Destination : ::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : FC00:0:0:2001:: PrefixLength : 64 NextHop : FC00:0:0:2001::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : Vlanif10 Flags : D Destination : FC00:0:0:2001::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : Vlanif10 Flags : D Destination : FC00:0:0:2010:: PrefixLength : 64 NextHop : FC00:0:0:2010::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : Vlanif20 Flags : D Destination : FC00:0:0:2010::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : Vlanif20 Flags : D Destination : FE80:: PrefixLength : 10 NextHop : :: Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : NULL0 Flags : D
使用Ping进行验证
[SwitchA] ping ipv6 fc00:0:0:2003::1 PING fc00:0:0:2003::1 : 56 data bytes, press CTRL_C to break Reply from FC00:0:0:2003::1 bytes=56 Sequence=1 hop limit=63 time = 63 ms Reply from FC00:0:0:2003::1 bytes=56 Sequence=2 hop limit=63 time = 62 ms Reply from FC00:0:0:2003::1 bytes=56 Sequence=3 hop limit=63 time = 62 ms Reply from FC00:0:0:2003::1 bytes=56 Sequence=4 hop limit=63 time = 63 ms Reply from FC00:0:0:2003::1 bytes=56 Sequence=5 hop limit=63 time = 63 ms --- fc00:0:0:2003::1 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 62/62/63 ms
使用Tracert进行验证。
[SwitchA] tracert ipv6 fc00:0:0:2003::1 traceroute to fc00:0:0:2003::1 30 hops max,60 bytes packet 1 FC00:0:0:2010::2 31 ms 32 ms 31 ms 2 FC00:0:0:2003::1 62 ms 63 ms 62 ms
来源:51CTO
作者:Oldboy1key
链接:https://blog.51cto.com/13817711/2460314