CCNA教程已经接近尾声,最后这几节课都是关于Network Automation的,这一节课会了解一个大概的框架,而后面的三节课是一些细节。
首先说一下之前我们讲过的所有课程都是很传统的设置方法,通过网络或者线缆连接到设备,路由器或者交换机等等,然后进行配置。如果是配置1个2个那还可以接受,如果配置几千个,一个一个去配置的话,猴年马月也配置不完。而且手动输入很有可能有一些人为的输入错误。此外,很难保证所有设备都达到了统一的标准。
因此,我们需要network automation,使用网络自动化的好处有很多
1.减少人为错误,比如输入问题typos
2.网络变得更加容易扩展,新的部署,新的配置等等都可以在很短的时间内轻易完成。
3. 可以保证网络范围内政策的一致性,比如标准配置,软件版本灯
4.大量的操作时间被减少了,也就意味着节约了操作成本。
一些常见的网络自动化工具 有 SDN (software-Defined Networking),Ansible,Puppet,Python scripts等等,之后几个视频我们会慢慢讲解。
首先我们要了解一下设备的一个原理,我们回忆一下路由器和交换机都是干嘛的,
路由器可以通过检测L3的表头来进行转发,还可以通过路由协议比如OSPF来共享路由信息给其他路有并且建立路由表。通过ARP来建立ARP表,匹配IP地址和MAC地址。当有事件发生后,通过syslog来保存记录,允许用户通过SSH来远程登录管理。
交换机 通过检测L2的表头信息来进行转发,通过STP来防止网络中发生循环。通过检测源头帧的MAC地址来建立MAC表。当有事件发生后也通过syslog来保存记录,也允许用户通过SSH来远程登录管理。
因此呢,从上所知,我们可以大概把不同的网络设备从逻辑上分为三个位面
Data plane
Control plane
Management plane
下面看一下具体,首先是Data plane,只要把数据从一个interface转发到另外的地方都属于data plane,比如路由器收到一个信息,然后查找自己的路由表,找到最匹配的后将其转发至合适的interface。比如交换机,查看目的地的mac地址,然后将其转发至合适的interface。比如NAT,ACL等等
Data plane 又被称为 forwarding plane,如下图所示
Control plane则是高于data plane,它本身不去转发数据,但是通过自身比如路由表,MAC地址表,ARP表等等一系列规则去影响data plane。像这种建立各种表都是属于control plane的一部分。举例来说,OSPF本身不转发数据包,但是他可以影响data plane来准发包。如下图所示,
而managerment plane则再高于control plane一层,它同样不参与数据的转发,但是可以配置control plane,可以配置设备的参数等。比如SSH/telnet,syslog,SNMP,NTP等等,如下图所示
从硬件角度来讲呢,Management plane和Control plane是被CPU管理,而Data plane则是被ASIC(Application-Specific Integrated Circuit)管理,因为ASIC的速度更快,它是出于特殊目的而制造的芯片。这里还要提一下,MAC地址表一般储存于特殊目的的内存,叫做TCAM(Ternary Content-Addressable Memory)。
下面我们讲一下SDN(Software-Defined Networking),这是一种应用于网络的方法,可以把control plane集中到一个application里,也被称为controller。
SDN也被称为SDA(Software-Defined Architecture)或者Controller-Based Networking,传统的control plane 使用分布式架构,比如每一个路由器都会运行OSPF,然后彼此之间分享路由信息,计算最佳路由。而SDN则是将该功能集中于一个App里,并且还可以通过APIs(Application Programming Interface)和其他设备进行互动。如下图所示
SBI即Sounthbound Interface,被用于controller和受控网络设备的沟通,一般包括API和沟通协议。常见的SBIs有 OpenFlow,Cisco OpFlex,Cisco onePK(Open Network Environment Platform Kit),NETCONF等,使用SHI可以控制管理设备,并且获得受控设备的信息比如协议啊,可用interface啊,当前配置啊等等。
相对应SBI,就有NBI(Northbound Interface),这个是用来我们人类和controller互动用的,我们通过NBI来进行配置,修改等,相对于APIs,NBI和controller沟通使用的是REST API(Representational State Transfer),一般是通过一些结构性的数据进行通信,比如JSON,比如XML等
使用这种架构可以轻松的给许多设备部署一些命令,比如使用python一次就给许多设备推送命令。
SDN和 automation不是一码事,但是SDN架构可以通过自己的controller和APIs来实现多种automation的功能和任务。
0 条评论