关于本次实验首先要感谢技术大神教我学会BGP 、ISIS、MPLS、SR等协议以及ODL与Pathman-SR操控网络。为了本次实验花了二天时间学习BGP、MPSL以及花了几个小时学习ISIS。后面的ODL安装、SR的搞了×××个星期。ODL也好、还是Pathman-SR也好都是坑,坑到我差点放弃,还好有技术大锅指点才得以顺利完成。ODL(OpenDayLight)是一个基于SDN开发的模块化、可扩展、可升级、支持多协议的控制器框架,其实内容可参考官网。以下是ODL控制器架构图:一、 以下内容需要安装系统:1.1 Linux CentOS(6.8) + JDK (1.7以上版本),个人习惯CentOS + Python (2.7.3)1.2 ODL(Nitrogen SR1 0.7.1),ODL安装有点比较简单,请参考官网。但有个坑,我作为新手是把插件全部安装,1.3 Pathman-SR需要JDK 1.7版本的支持,安装也比较简单,安装官网安装文档一步一点操作,后面只需修改IP就行了1.4 EVE-NG,这个是神器啥都实验可以搞,福利啊!需导入支持SR协议的XR、XE路由器的IOS。下图为本次实验的网络拓扑图:
P-02 --P-06运行ISIS、Segment Routing 二、ODL Controller说明2.1 ODL安装比较简单,到官网下载并解压到指定目录,在安装之前要需改org.apache.karaf.management.cfg 文件参数,如下:2.2 修改完成后,进行/opt/karaf/bin目录,运行./kararf命令即可,如下图:2.3 接如使用feature:install安装各种件,象我这样的新手我是把所有插件全部安装,关于feature命令使用方法,可以参考官网。2.4 修改BGP的文件/opt/karaf/etc/opendaylight/bgp/protocols-config.xml,如下图:
2.5. 因为ODL需要与路由器连接并建立BGP邻居,因此要修改ODL原BGP的默认端口1790改为179,可使用postman 修改,如下图:2.6 完成以上作业之后,把ODL重启一把并使用netstat -antp | grep 179是否正常工作:三、P1路由器基本设定(XE)3.1 起ISIS路由协议net 49.0001.1000.0000.0000.0001.00is-type level-2-onlymetric-style widedistribute link-state -->起BGP-IS,用于与ODL通信segment-routing mpls -->起SRredistribute connectedmpls traffic-eng router-id Loopback0 -->MPLS TE工程mpls traffic-eng level-23.2 起BGP路由协议3.3 mpsl te配置:mpls traffic-eng tunnelsmpls traffic-eng pcc peer 172.16.100.201 source 10.0.0.1mpls traffic-eng pcc report-all3.4 SR配置:segment-routing mpls!connected-prefix-sid-mapaddress-family ipv410.0.0.1/32 index 1 range 1 -->要注间的是全网路由器PID需要唯一exit-address-family3.4 接口配置四、其它P(XR)设定如下,PE设定与其它P配置差不多,不同的就是要增加BGP的配置ipv4 unnumbered mpls traffic-eng Loopback0interface Loopback0ipv4 address 10.0.0.6 255.255.255.255!interface MgmtEth0/0/CPU0/0shutdown!interface GigabitEthernet0/0/0/0ipv4 address 10.0.1.54 255.255.255.252!interface GigabitEthernet0/0/0/1ipv4 address 10.0.1.58 255.255.255.252!interface GigabitEthernet0/0/0/2ipv4 address 10.0.1.49 255.255.255.252!interface GigabitEthernet0/0/0/3ipv4 address 10.0.1.30 255.255.255.252!
router isis odlis-type level-2-onlynet 49.0001.1000.0000.0000.0006.00log adjacency changesaddress-family ipv4 unicastmetric-style widempls traffic-eng level-2-onlympls traffic-eng router-id Loopback0redistribute connectedsegment-routing mpls!interface Loopback0address-family ipv4 unicastprefix-sid index 6!!interface GigabitEthernet0/0/0/0point-to-pointaddress-family ipv4 unicast!!interface GigabitEthernet0/0/0/1point-to-pointaddress-family ipv4 unicast!!interface GigabitEthernet0/0/0/2point-to-pointaddress-family ipv4 unicast!!interface GigabitEthernet0/0/0/3point-to-pointaddress-family ipv4 unicast!!!mpls traffic-engpcepeer source ipv4 10.0.0.6peer ipv4 172.16.100.201!segment-routinglogging events peer-statusstateful-clientinstantiation!!logging events allauto-tunnel pcctunnel-id min 1 max 99!reoptimize timers delay installation 0!end五、Pathman-SR配置5.1 完成以上路由器配置后进入pathman-sr安装目录,使用./odl_test.py 去检查配置是否正确,共三个检查项,bgp netconf pcep,如下图5.2 如检查没有问题,执行./rest_server_v6.py ,然后到浏览器上打开http://172.16.100.201:8020/cisco-ctao/apps/pathman_sr/index.html 即可看到拓扑图,如下图:5.3 测试ODL控制路由,如pe01 --> pe-025.4 选把其中一条路由,并执行,效果如图: