一、协议
ICMPV6:internet 控制管理协议—存在大量的子协议
1、PMTU—路径MTU发现协议
通过ICMPV6 error包来获取整段路径上最小MTU值
2、NDP------邻居发现协议
用于取代IPV4下的ARP协议
假设PC1和PC2通讯
1无2的MAC地址
1)1封装ICMP type 135 NS—相当于ARP的请求
源IPV6地址(1的接口ip地址) 目标IPV6地址----2的被请求节点组播地址 TTL=1
源MAC地址(1的接口mac地址) 目标MAC地址----2的被请求节点组播地址对应的MAC
2)2回应ICMP type 136 NA----相当于ARP的应答
源IPV6地址(2接口ip) 目标ipv6地址–1的接口IPv6地址
源MAC地址(2的接口mAC地址)目标mac地址–1的接口mac地址
ICMPV6中的NDP除取代了AARP外,其他的ARP协议也可被NDP取代,原理一致;
3、前缀通告
auto-config 仅在以太网环境存在
路由器周期(200s)向下发送IPV6的地址前缀(网络号)
路由器 PC
ICMP type 134---RA ICMP type 133---ACK-RS
源ip地址---接口ipV6地址 源ipv6地址--- ::
目标ip地址---FF02::1 TTL=1 目标ip地址----FF02::1 TTL=1
目标MAC(所有节点MAC) 目标MAC(所有节点MAC)
r1(config)#ipv6 unicast-routing r2(config-if)#ipv6 address autoconfig
开启IPV6的单播路由功能,
该功能开启后,设备上的auto-config
被激活,同时可以收发IPV6路由协议信息;
且可以为ipv6的流量进行路由;
前提路由器接口上已经拥有合法ipv6的单播地址;
只要在路由器上开启了IPV6的单播路由功能,那么该路由器将向所有存在IPV6地址的以太网接口周期发送其地址的前缀;
注:在配置动、静态IPV6路由协议时,均需要开启单播路由功能,开启后也导致该路由器会向所有的以太网接口发送前缀,若该接口管理员不要auto-config功能,可以再关闭
r1(config)#interface fastEthernet 0/0
r1(config-if)#ipv6 nd suppress-ra
二、配置
1、接口配置IPV6的单播地址
1)link-local
(1)
r1(config)#interface fastEthernet 0/0
r1(config-if)#ipv6 enable
(2)手工或自动配置一个IPV6的AGUA,均会生成一个link-local地址,但无论配置多少个AGUA地址,也只能生产一个link-local地址;
2)手工或自动配置接口ipv6的AGUA地址
(1)手工
r1(config)#int s1/1
r1(config-if)#ipv6 address 2002::2/64
或
r1(config-if)#int s1/1
r1(config-if)#ipv6 address 2009::/64 eui-64
(2)自动配置
Auto-config DHCPV6
切记:IPV6协议存在多宿主特征----可以在一个接口上同时配置多个ip地址来标示该接口;但注意该接口可以配置多个相同或不同网段的地址;但同一路由器上不同的接口不能配置相同网段的ip地址。
2、IPV6的ACL
可以配置N张表,但一台设备上一个需求点只能调用一张表,从上往下逐一匹配,若上条就按上条执行,不再查看下条;没有标准列表,只有扩展列表,且写法也只有命名写法;由于仅使用扩展列表,故放置的位置尽量靠近源,但不能在源上,因为不能限制自身的产生的流量。
r2(config)#ipv6 access-list ccie
r2(config-ipv6-acl)#deny tcp host 12::1 host 12::2 eq 23 拒绝一个host对另一个主机的telnet
r2(config-ipv6-acl)#deny IPV6 12::/64 12::/64 拒绝一段地址到另一地址的所有通信
r2(config-ipv6-acl)#permit ipv6 any any 允许所有
注:在IPV6 ACL中不使用反掩码,直接使用掩码;
r2(config-ipv6-acl)#int s1/0
r2(config-if)#ipv6 traffic-filter ccie in 接口调用时注意方向
注:在IPV6下的ACL
开头隐含
r2(config-ipv6-acl)#permit icmp any any nd-na
r2(config-ipv6-acl)#permit icmp any any nd-ns
默认隐含
r2(config-ipv6-acl)#deny ipv6 any any
3、IPV6的单播路由协议
在使用路由协议前一定需要开启IPV6的单播路由功能,否则不转发IPV6的流量
1)IPV6静态路由协议
(1)普通静态路由
r1(config)#ipv6 route 2::/64 serial 1/1
r1(config)#ipv6 route 2::/64 12::2
目标网络号 出接口或下一跳
MA网络建议下一跳,点到点网络建议出接口
(2)浮动静态路由–修改默认管理距离
r1(config)#ipv6 route 3::/64 12::2 ?
<1-254> Administrative distance
<cr>
(3)空接口防环
r2(config)#ipv6 route 2::/63 null 0 ----在更新源路由器上,空接口指向汇总地址
(4)缺省路由
r2(config)#ipv6 route ::/0 12::1
注:带源ping 时,只能使用接口;或者使用扩展追踪;
r3#ping 2::2 source loopback 0
注:由于IPV6存在多宿主,使用接口为源时,默认使用第一地址来访问,建议扩展追踪
r3#traceroute
Protocol [ip]: ipv6
Target IPv6 address: 2::2
Source address: 3::3
2)RIPNG
使用同RIPV2一样的算法;组播更新地址FF02::9 UDP 521
r1(config)#ipv6 unicast-routing 开启单播路由功能
r1(config)#ipv6 router rip ? 启动协议时需配置进程号,进程号仅具有本地意义
WORD User selected string identifying this process
r1(config)#ipv6 router rip a
r1(config-rtr)#
宣告的意义:1、激活接口 2.通告路由
r1(config)#interface s1/1
r1(config-if)#ipv6 rip a enable
r1(config-if)#exit
r1(config)#int lo0
r1(config-if)#ipv6 rip a enable
注:IPV6下到所有接口上进行配置
手工汇总:更新源路由器上所有更新发出的接口上进行配置
r1(config)#int s1/1
r1(config-if)#ipv6 rip a summary-address 1::/63
缺省路由:在边界路由器上所有同内网相连的接口上配置,使其向内网所有邻居发出一条缺省信息
r3(config)#int s1/0
r3(config-if)#ipv6 rip a default-information ?
only Advertise only the default route
originate Originate the default route
选择only将发出缺省路由,同时其他的路由不会被转发
选择originate 缺省和明细均发送
3)OSPF V3
在原有OSPFV2的基础上,使用新的LSA来专门携带V6的信息;区域规则,SPF算法同IPV4下完全一致。
r1(config)#ipv6 unicast-routing
r1(config)#ipv6 router ospf 1 启动时需要配置进程号
r1(config-rtr)#
r1(config-rtr)#router-id 1.1.1.1 RID依然使用IPV4地址,规则同OSPF V2一致
宣告:1、激活接口 2、传递路由 3、区域划分
r1(config)#interface lo0
r1(config-if)#ipv6 ospf 1 area 0
r1(config-if)#int s1/1
r1(config-if)#ipv6 ospf 1 area 0
r1(config-if)#int lo1
r1(config-if)#ipv6 ospf 1 area 0
配置完成后生成邻居表,MA网络存在DR/BDR选举,选举规则同OSPFV2一致;
另各个邻居间状态也一致;
r1#show ipv6 ospf neighbor 邻居表
Neighbor ID Pri State Dead Time Interface ID Interface
2.2.2.2 1 FULL/ - 00:00:30 3 Serial1/1
r2#show ipv6 ospf database 数据库表
r1#show ipv6 route 路由表
IPv6 Routing Table - 13 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
缺省路由配置:在边界路由器上配置
r3(config)#ipv6 router ospf 1
r3(config-rtr)#default-information originate ?
always Always advertise default route 强制发出
metric OSPF default metric 修改起始度量
metric-type OSPF metric type for default routes 修改度量类型,默认2
route-map Route-map reference 关联route-map
<cr>
4)BGPV4+
在BGPV4的基础上配置IPV6关系;
r2(config)#router b 2
r2(config-router)#b router-id 2.2.2.2
r2(config-router)#neighbor 12::1 remote-as 1
r2(config-router)#neighbor 3::3 remote-as 3
r2(config-router)#neighbor 3::3 update-source loopback 0
r2(config-router)#neighbor 3::3 ebgp-multihop
此时邻居间仅存在V4下的邻居关系,没有V6关系;不能传递V6路由
故需要在已经建立的V4邻居关系基础上再来建立V6的邻居关系,传递V6的信息
注:BGP V4+使用家族模式来配置IPV6的信息,原理为在原有BGPV4的协议中开发出的扩展配置模式;
r1(config-router)#address-family ipv6 进入IPV6家族模式
r1(config-router-af)#neighbor 12::2 activate 和该邻居建立IPV6的邻居关系
注:关于IPV6建邻以后所有配置必须全部在家族模式中进行;
r1# show bgp ipv6 summary 查看BGP的邻居关系
BGP router identifier 1.1.1.1, local AS number 1
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
12::2 4 2 15 16 2 0 0 00:00:28 0
r1(config)#router b 1
r1(config-router)#address-family ipv6
r1(config-router-af)#network 1::/64 宣告路由
查看IPV6的BGP表
r1#show bgp ipv6
BGP table version is 2, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1::/64 :: 0 32768 i
IPV6下的其他配置
r2(config)#router bgp 2
r2(config-router)#address-family ipv6
r2(config-router-af)#neighbor 3::3 next-hop-self
r2(config-router-af)#neighbor 3::3 route-reflector-client
r2(config-router-af)#neighbor 3::3 route-map ccie out