MPLS
:多协议标签交换 多协议:可以基于多种不同的3层协议来生成2.5层的标签信息; 包交换—包为网络层的PDU,故包交换是基于IP地址进行数据转发;就是路由器的路由行为;
原始的包交换:数据包进入路由器后,路由器需要查询本地的路由表(RIB-路由信息数据库),再基于下一跳或者目标ip查询本地的ARP表,才能进行数据的转发;
快速的包交换:一次路由多次交换;每个数据流中的第一个包将被基于原始包交换规则转发;过程中生成缓存列表,记录整个通讯过程,该数据流量剩余数据包仅查询缓存记录即可;
特快的包交换:无需路由,直接交换; CEF-cisco特快交换,为cisco私有技术;非cisco厂商设备均存在和cef转发机制相同的技术; 路由表、ARP –转换为 FIB(转发信息数据库)表 流量转发过程中仅查询FIB表即可; FIB的特点:在将路由器表转换过程中,存储递归查询结果;同时将新封装的二层地址进行绑定; IP fast0/0 172.16.20.115(7) (递归后的出接口) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 357 Encap length 14 701CE7662A9768EFBD1D24C50800 新的二层封装 目标MAC 源MAC 类型号
标签交换:数据包在进入到的MPLS的域内后,将在第2层和3层中间压入标签号;使得域内的路由器在转发该数据包时,基于2.5层的标签号仅需要查询本地的一张LFIB表(标签转发信息数据库) 最初在包交换仅支持原始交换时,标签的意义在于更快的查询;但随着包交换的加速,使用标签交换失去了快速查表的优势; 当下MPLS存在的意义: 1、解决BGP的路由黑洞 2、MPLS VPN 3、MPLS TE 流量工程 另外:随着包交换的加速,使得今天的MPLS技术也开始基于FIB表工作;来提高MPLS的工作效率;
一、工作过程 控制层面:路由协议工作,生成RIB,流量的方向即为控制流量; 数据层面:设备基于路由表访问目标,产生数据流量;与控制层面方向相反;
控制层面: 1)在没有MPLS时控制层面仅生成RIB(路由表)和FIB(转发信息数据库);FIB是基于RIB生成; 2)MPLS协议会启动TDP(cisco私有)或LDP(公有),直连设备间将建立邻居关系; LDP-- 基于UDP和TCP的646端口工作;先使用udp发送组播hello包发现邻居,获取邻居ip地址,再和该直连邻居建立TCP的会话;邻居关系建立后;为了邻居关系间的稳定,一般使用设备的环回地址来建立tcp会话;建议设置环回地址为mpls协议的route-id,该id值将携带在组播收发的hello报文中,之后自动进行tcp会话建立; 总结:MPLS协议需要在直连邻居间使用router-id地址来进行TCP的会话;故前提条件为,route-id必须为设备真实使用的ip地址,建议为环回地址—稳定; 组播hello包在直连的物理接口上收发,来获取对端的router-id,自然也要求router-id值间路由可达; 因此正常在建立LDP的邻居关系间,路由协议已经收敛完成,RIB和FIB表已经生成; 3)MPLS在建立邻居关系后,生成邻居表;LDP协议再基于FIB表中学习到的路由条目生成标签号; cisco设备默认基于FIB表中所有学习到的路由条目生成标签号,华为设备默认仅基于FIB表中32位掩码的主机路由生成标签号;原因在于正常32位主机路由为ospf学习的环回接口,正常工程中只有BGP和MPLS VPN才会基于环回通讯,使用标签转发;其他普通流量还是基于特快包交换来进行;反观cisco在启动mpls以后,所有流量将基于标签转发,降低了转发效率(前提为默认) 4)标签号生成后,将存储于本地的LIB表-标签信息数据库;LIB表将在邻居间共享; LIB表中装载本地及邻居为每条路由分发的标签号; 5)运行MPLS协议的设备,将LIB和FIB进行结合,将标签号和最佳路径的关系映射生成LFIB表(标签转发信息数据库) 注:控制层面生成的表格 RIB—》FIB—》LIB—》LFIB 前两张表为路由协议工作后生成,后两张表为MPLS的LDP协议生成;
数据层面: 1)没有MPLS协议,基于FIB表正常转发即可 2)名词:MPLS domain – MPLS的工作半径 edge LSR(PE)–边界标签交换路由器 工作mpls域的边缘,连接域外设备 LSR (P) – 标签交换路由器 整体工作MPLS域内
3)当流量进入到第一台pe设备时, 在没有特快交换之前,路由器基于目标IP地址查询本地的RIB; 之后还要在LIB表中对应才能确定流量是否应该压入标签,需要两张表的查询; 在存在特快交换时,流量进入第一pe时,直接查询FIB表,表中关联标签号,将直接确定是否压入标签; 流量再到P路由器,接收到流量中若存在标签基于LFIB表转发,若没有标签基于FIB表即可; 流量从最后一台边界离开MPLS 域时将弹出标签;
存在标签号的流量,进入路由器时,入标签表应该为本地路由器分配的编号,出标签为本地的下游(下一跳)设备分配的标签号; 上下游的概念基于数据层面进行标定;
二、标签号 标签被压入在2层与3层之间,称为2.5层
标签的格式—32位,4个字节
前20位为标签号,2^20个标签号;其中1-15号保留,作为特殊编号; 第21-23位exp,3位8个数,为优先级,用于QOS策略使用; 第24位为栈底位,该位为1标识该标签为最后一层标签;MPLS最大可以在一个数据包中封装3次标签; 普通的MPLS 一层标签 MPLS VPN 两层 MPLS TE 3层 TTL 生存时间 在第一次压入标签时,将当前数据包中的3层TTL复制到标签中;之后查询一次标签TTL减一,在最后一跳设备弹出标签时将2.5层的TTL复制到3层报头中;
三、MPLS的次末跳 – 倒数第二跳 默认执行 边界LSR将本地的直连网段传递给MPLS域内邻居后,LDP分配标签号为3,告知倒数第二跳设备它的身份;导致倒数第二跳设备在查询LFIB表后,已知转发路径的前提下提前弹出标签,使得最后一跳路由器均只需要查询FIB表; 否则最后一跳路由器在查询LFIB表后,弹出标签还需要查询FIB;
四、MPLS的配置 1、IP可达— 使用路由协议全网可达 2、配置MPLS – LDP [r2]mpls lsr-id 2.2.2.2 必须先定义mpls的router-id,要为本地设备的真实ip地址,且邻居可达,因为 该地址将用于建立TCP会话,建议使用环回地址 [r2]mpls 再开启mpls协议 [r2-mpls]mpls ldp 再激活LDP协议 [r2-mpls-ldp]q 之后需要在所有标签经过的接口上开启协议 [r2]interface GigabitEthernet 0/0/1 [r2-GigabitEthernet0/0/1]mpls 先开启MPLS [r2-GigabitEthernet0/0/1]mpls ldp 再激活LDP协议 当启动配置完成后,邻居间使用UDP报文组播收发hello包;之后基于hello包中的router-id地址进行TCP会话的建立; [r3]display tcp status TCPCB Tid/Soid Local Add:port Foreign Add:port VPNID State b4cf3d64 167/6 3.3.3.3:646 4.4.4.4:50858 0 Established b4cf3adc 167/3 3.3.3.3:50806 2.2.2.2:646 0 Established
当tcp会话建立后,邻居间基于TCP会话再建立邻居关系,生成邻居表: [r3]display mpls ldp peer
再然后基于本地的FIB表,默认华为仅针对32位的主机路由生成标签号;存储于LIB表中,之后邻居间共享LIB表; [r3]display fib 查看FIB表 [r4]display mpls ldp lsp 查看LIB表,装载本地和邻居为各条路由分配的标签号
最后路由器将LIB和FIB集合,生成最佳路径的标签转发规则—LFIB [r4]display mpls lsp 查看LFIB表
注:默认华为仅针对32位主机路由分配标签 [r3]mpls [r3-mpls]lsp-trigger all 开启功能,将针对fib表中所有路由进行标签号的分配 [r2]tracert -v -a 2.2.2.2 56.1.1.2
五、使用mpls解决BGP的路由黑洞 MPLS协议并不会为通过BGP协议学习的路由条目分配标签号; 而是在访问这些BGP路由目标网段时,在流量中压入到达这些网段的BGP下一跳设备地址的标签号; 例:R2从BGP邻居5.5.5.5 学习到6.6.6.0 网段的路由;R2在访问6.6.6.0 时,将在数据包中压入到达5.5.5.5ip地址的标签号,来穿越中间没有运行BGP协议的设备;实现打破路由黑洞; 注:华为设备默认不为BGP协议执行下一跳标签机制,cisco默认执行; 华为设备需要开启 route recursive-lookup tunnel 路由基于隧道进行递归查找
六、MPLS VPN 1、CE将私有路由传递到PE端 2、PE端在收到不同CE发送过来的相同网段路由时,使用RD值进行区分—格式X:X 32位 3、PE端将附上RD的私有路由不能直接装载于本地公有路由表中,需要放置到对应的VRF(虚拟路由转发)空间内;之后再路由付RT值,用于传递到对端PE设备,对端区分信息; VPNV4路由=普通IPV4路由+RD+RT 4、VPNV4路由需要MP-BGP来进行传递;对端基于RT值,将路由装载到对应的VRF空间内,再共享给对应的CE; 5、控制层面工作完成后,数据层面需要基于MPLS来工作,由于数据层面不能携带RD/RT值; 故mpls将在数据包中压入两层标签,外层标签用于超越中间设备,打破BGP路由黑洞; 内层标签用于对应VRF空间;
配置: 1、ISP部分 1)IGP路由 2)MPLS域 3)配置MPLS VPN [r2]ip vpn-instance a 创建名为a的vrf空间 [r2-vpn-instance-a]ipv4-family 进入IPV4的配置模式下 [r2-vpn-instance-a-af-ipv4]route-distinguisher 1:1 RD值 [r2-vpn-instance-a-af-ipv4]vpn-target 1:1 RT值 必须对端的PE端一致 [r2]interface GigabitEthernet 0/0/0 进入链接CE端的接口 [r2-GigabitEthernet0/0/0]ip binding vpn-instance a 关联到vrf空间 [r2-GigabitEthernet0/0/0]ip address 192.168.2.2 24 配置私有ip地址 注:在关联到vrf空间前不能配置接口ip,否则该地址的直连路由将进入公有路由表; [r2]display ip routing-table vpn-instance a 查看空间内的私有路由表 [r2]ping -vpn-instance a 192.168.2.1 正常测试将在公有路由表中查询记录;该命令为基于VRF空间 a进行路由查询
4)PE与PE间建立MP-BPG邻居关系 [r2]bgp 2 [r2-bgp]router-id 2.2.2.2 先和对端建立正常BGP邻居关系,可用于传递正常的公网路由 [r2-bgp]pe 4.4.4.4 as-number 2 [r2-bgp]pe 4.4.4.4 connect-interface LoopBack 0 [r2-bgp]pe 4.4.4.4 next-hop-local 同时还需要再在IPV4的家族模式中,与对端建立一个VPNV4的关系,用于传递VPNV4路由 [r2-bgp]ipv4-family vpnv4 [r2-bgp-af-vpnv4]peer 4.4.4.4 enable [r2-bgp]display bgp vpnv4 all peer 查看mp-bgp邻居关系
5)CE端与PE端交互路由 静态 CE端直接编写静态路由即可; PE端编写到VRF空间内的静态路由 [r2]ip route-static vpn-instance a 192.168.1.0 24 192.168.2.1 将本地vrf空间内的静态和直连路由重发布到BGP协议传递到对端的PE [r2]bgp 2 [r2-bgp]ipv4 vpn-instance a [r2-bgp-a]import-route direct [r2-bgp-a]import-route static display bgp vpnv4 vpn-instance a routing-table 查看mp-bpg的BGP表
OSPF CE端正常启动OSPF即可 PE端,启动VPNV4专用的ospf协议 [r4]ospf 2 vpn-instance a [r4-ospf-2]area 0 [r4-ospf-2-area-0.0.0.0]network 192.168.3.1 0.0.0.0 之后使用双向重发布,实现路由共享 [r4]bgp 2 [r4-bgp]ipv4-family vpn-instance a [r4-bgp-a]import-route ospf 2
[r4]ospf 2 vpn-instance a [r4-ospf-2]import-route bgp
[r4]display mpls lsp vpn-instance a 查看双层标记的内层标签号
IPV6
IPV6 特征-升级点: 1、全球单播地址 ---- IPV4地址下的公有地址 V6下没nat 2、可聚合性(IANA组织对全球的地址进行合理分配) 3、多宿主—一个物理接口可以同时拥有多个不同网段的IPV6地址;但不同接口不 能在同一网段 4、自动配置 1)DHCP V6 2)auto-config路由器接口手工配置IPv6地址,然后路由器将自己地址的前缀(网络号)下放给PC,PC将自动使用EUI-64来补充主机位; 5、即插即用–热插拔 6、端到端的连接—不需要NAT 7、重编址 8、简易的报头 1)没有广播机制 只有组播和单播 2)没有检验和(因为2和4层均存在校验和) 3)流标签—保留—QOS 9、安全性和移动性 10、IPV4和IPV6共存
黄色—一致 红色—取消 V4中的第二列用于分片 V6可以使用扩展首部实现 蓝色—替代 1、服务类型–扩展表 2、报头长度—有效负载长度 3、TTL–跳数限制 4、协议号—下一个头部 灰色—保留 流标签
IPV6地址:
1-23位 注册位—IANA分配给各个国家或组织 24–32位 ISP位—国家分配给各个ISP 33-48位 站点位—ISP分配给各个企业 49–64位 子网位----网络管理员进行子网划分
IPV6地址写法: 使用冒分16进制标示,每16位为一段;共8段 2031:0000:130F:0000:0000:09C0:006A:130B 每一段地址前面的0可以省略 2031:0000:130F:0000:0000:9C0:6A:130B 若一段全为0,可以省略成一个0 2031:0:130F:0:0:9C0:6A:130B 若连续两段以上全0,可以省略为:: 2031:0:130F::9C0:6A:130B
2031:0000:0000:09C0:0000:0000:0000:130B 注:若存在两个部分均为全0,只能将其中一个部分省略为::; 2031:0:0:9C0::130B
例: FF02:0:0:0:0:0:0:0:1—FF02::1 0:0:0:0:0:0:0:1–::1 0:0:0:0:0:0:0:0–:: 当使用ipv6协议携带端口号时,需要使用中括号来区分; http://[2031:0:130F::9C0:6A:130B]:8080/index/html
IPV6地址分类: 1、单播地址 一对一 只有单播地址能作为源地址,也可作为目标地址 2、多播(组播)地址 一对多 作为目标地址 3、任意播地址-----一到最近
单播地址: 1、AGUA 全球可聚合单播地址 IPV6的公网地址(需申请),全球单播传递 目前全球已规划地址----2000::/3 范围–2000::-----3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
*其中 2001::/16 -----当下的IPV6实验室使用地址 目前ipv6 intenet地址
- 2002::/16-----------6to4 tunnel 专用地址
2、*本地链路地址—自动私有地址—link-local 169.254.0.0/16 FE80::/16 1)路由器接口上配置ipv6 enable命令,该接口将自动生成link-local地址; 2)若在接口配置一个IPV6单播地址,必然自动生成link-local地址;一个接口只能存在一个link-local地址;
Link-local地址的网络位固定为FE80::/64,主机位使用本地以太网接口的MAC地址来生成link-local地址主机位;串行链路无MAC地址,将循环借用本设备上以太网接口的MAC;
主机位生成方法: Link-local地址--------------网络位FE80::/64 后64位使用EUI-64补充 EUI-64简易的用户界面: (1)以太网接口MAC地址----ca00.0a60.0000 在MAC的前24位和后24位之间强行插入FFFE ca00.0aFF.FE60.0000 (2)U位转换 将合成后的地址,从左往右第7位自反 若该位为0,变为1;为1变为0; Ca00=1100 1010 0000 0000 第七位自反 1100 1000 0000 0000=c800 (3)link-local地址为 FE80::c800.aff.fe60.0
作用:(1)在同一广播域内可以通讯使用—由于本地多接口可能使用相同MAC转换,故在 使用link-local地址访问对端时,需要定义出接口; (2)常常作为动态路由协议生成的路由表条目中的下一跳地址; 因为IPV6存在多宿主概念,该地址最稳定;
3、site-local 本地站点地址----私有地址 私网地址 FEC0::/16
4、未指定地址-----:: :: 1)默认(缺省)路由 2)在DHCP时作为无效地址(没有地址)
5、环回地址—127.0.0.1 ::1
6、*IPV4兼容性地址 用于6to4 tunnel专用 假设IPV4地址为192.168.1.1 192----1100 0000–c0 168----1010 1000–a8 1-------0000 0001–01 1-------0000 0001–01 192.168.1.1的IPV4兼容性地址为2002:c0a8:0101::/48 多播地址: FF00::/8所有组播地址 IPV4下在组播:224-239 FF02::1—224.0.0.1 所有的路由与所有PC FF02::2—224.0.0.2 所有的路由器 FF02::9—224.0.0.9–RIPNG
*被请求节点组播地址:—用于NDP协议—获取对端mac地址 构成FF02::1:FF+24位 (IPV6单播地址的后24位) 只要存在一个IPV6单播地址,那么便会产生一个被请求节点组播地址;
例:2001::1(单播)-------------FF02::1:FF00:1(组播)
Ipv6下的组播MAC地址: 33.33+32位(后32位为IPV6组播地址后32位) FF02::1----33.33.00.00.00.01
协议: 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、IV6的单播路由协议-----在使用路由协议前一定需要开启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
(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
【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
4、IPV4和IPV6共存; 【1】普通tunnel r1(config)#interface tunnel 0 r1(config-if)#ipv6 address 10::1/64 该tunnel接口必须工作于V6环境 r1(config-if)#tunnel source 12.1.1.1 r1(config-if)#tunnel destination 23.1.1.2 r1(config-if)#tunnel mode ipv6ip 必须修改模式为ipv6ip
注:普通的tunnel需要基于所有的ipv6网络配置一条隧道,且均需再配置一条静态路由;
【2】6to4tunnel—仅需配置一条隧道,一条静态即可访问所有IPV6网络 将边界路由器的公网IPV4地址换算为IPV4兼容性地址,然后将该地址应用到内网;再配置一条到兼容性地址的静态路由,通过隧道传递;传输数据时,一旦路由到达隧道口,隧道将根据目标IPV6地址计算对应的IPV4地址;
优点:1、不需要指定tunnel 目标 2、一条静态路由即可
12.1.1.1 兼容性地址:2002:C01:101::/48 23.1.1.2 兼容性地址:2002:1701:102::/48
注:该地址在使用时,一般将其划分为64位;
配置: r1(config)#interface l0 r1(config-if)#ipv6 address 2002:c01:101::1/64 r1(config-if)#exit
r1(config)#interface tunnel 0 首先需要配置隧道接口的IPV6地址----4种方法 r1(config-if)#ipv6 address 2002:c01:101:1::1/64 使用一个6TO4地址 r1(config-if)#ipv6 address 2002:c01:101:2::/64 eui-64 使用6to4地址 r1(config-if)#ipv6 enable 相当于不配地址 r1(config-if)#ipv6 unnumbered loopback 0 借内网某个IPv6接口的地址
r1(config-if)#tunnel source s1/1 定义IPV6源地址所在接口 r1(config-if)#tunnel mode ipv6ip 6to4 模式标记
R1(config)#ipv6 route 2002::/16 tunnel 0
【3】双栈—一台设备同时连接IPV4/IPV6网络,若目标IP为V6地址使用V6的源ip,通过V6的路由表传递;V4同理;
当进行DNS查询时,优先查询V6网络中的DNS 服务器;
华为IPV6配置 [r1]ipv6 必须先在设备上开启IPV6服务 [r1]interface GigabitEthernet 0/0/1 [r1-GigabitEthernet0/0/1]ipv6 enable 再在接口上激活IPV6服务,才能配置ipv6地址 配置ipv6地址 [r1-GigabitEthernet0/0/1]ipv6 address 2001::1/64 [r1-GigabitEthernet0/0/1]ipv6 address 2002::1/64 [r1-GigabitEthernet0/0/1]ipv6 address 2003::1/64 [r1-GigabitEthernet0/0/1]ipv6 address 2009::/64 eui-64 [r1]display ipv6 interface GigabitEthernet 0/0/1 注:多宿主是可以在同一个接口上配置多个IPV6地址;但华为在一个接口的同一网段ip只能配置一个;所有厂商在不同接口必须配置不同网段ip;
静态: 基本写法 [r1]ipv6 route-static 2:: 64 12::2 [r1]ipv6 route-static 2:: 64 GigabitEthernet 0/0/1 目标网段 下一跳或出接口 MA网络使用下一跳,点到点网络使用出接口; [r1]ping ipv6 2::2
汇总 – 到达多个连续子网,且基于相同的路径时,可以将目标网段汇总编写为一条; 缺省 --[r1]ipv6 route-static :: 0 12::2 空接口–[r1]ipv6 route-static 1:: 63 NULL 0 浮动静态 --[r1]ipv6 route-static 3:: 64 12::2 preference 61
OSPF: [r1]ospfv3 [r1-ospfv3-1]router-id 1.1.1.1 [r1-GigabitEthernet0/0/1]ospfv3 1 area 0 进入接口进行宣告
BGP: r1]bgp 1 [r1-bgp]router-id 1.1.1.1 [r1-bgp]pe 2::2 as-number 1 [r1-bgp]pe 2::2 connect-interface LoopBack 0 [r1-bgp]ipv6-family [r1-bgp-af-ipv6]peer 2::2 enable 在建立V4下关系后,再进入V4+ 建立关系 之后所有的BGP配置在家族模式中配置
IPV4和IPV6共存: 1、使用普通的GRE来将两个V6网络基于一个V4网络进行通讯 [r1]interface Tunnel 0/0/0 [r1-Tunnel0/0/0]ipv6 enable [r1-Tunnel0/0/0]ipv6 address 10::1/64 [r1-Tunnel0/0/0]tunnel-protocol gre [r1-Tunnel0/0/0]source 12.1.1.1 [r1-Tunnel0/0/0]destination 23.1.1.2
[r1]ipv6 route-static 3:: 64 10::2
2、6to4tunnel 普通tunnel在多个V6网络构建为一个V6网络时,存在地址规划,指数的定义tunnel链路和路由信息,工程量巨大,极难维护; 6 to 4 tunnle可以让用于自行定义IPV6地址,均需要配置一条tunnel和一条路由即可;
2002::/16 6to4 tunnel 专用地址 IPV4兼容地址— 每一个IPV4地址都可以转换为一段IPV6地址; 例:本地V4网络地址为12.1.1.1 对应的V4兼容地址2002:0c01:0101::/48 0c01:0101=12.1.1.1
[r1-LoopBack0]int t0/0/1 [r1-Tunnel0/0/1]ipv6 enable [r1-Tunnel0/0/1]ipv6 address 2002:c01:101:1::1/64 [r1-Tunnel0/0/1]tunnel-protocol ipv6-ipv4 6to4 [r1-Tunnel0/0/1]source 12.1.1.1 [r1-Tunnel0/0/1]q [r1]ipv6 route-static 2002:: 16 Tunnel 0/0/1
3/双栈 设备间V4/V6网络同时工作
|