同其他技术领域一样,网络行业也在快速的进步当中。从最开始的IP网络与ATM之争,ATM技术由于复杂性输给了IP技术。而当IP转发性能成为瓶颈时,参考ATM中面向连接的思想,创造出了新技术 MPLS(多协议标签交换),随后通过VRF与MP-BGP的结合,产生了MPLS VPN,解决了在公网中传递多个客户相同网段的问题,并提升了转发效率。但由于MPLS的控制平面因为协议复杂、扩展性差、部署与运维困难等问题,继承了MPLS的数据平面的SR技术应运而生。
在MPLS的控制平面主要依赖LDP以及RSVP-TE。其中前者依赖IGP路由信息为IP网站中的目的地址分配标签,但它无法指定转发路径,没有流量工程。后者解决了流量工程,但其过于复杂、扩展性差、无负载功能等,在实际应用中并不多。为了解决以上几个问题,业界也开始做出努力。为了解决RSVP-TE的问题,可以增加一种集中控制平台来负责交互信息,转空分离的SDN技术可以实现此功能。解决LDP的缺陷,可以由IGP直接分发标签,替代掉LDP,在新技术SR(Segment Routing)中实现了这一点,它扩展了IGP协议的SR属性((IS-IS通过TLV实现,OSPF通过不透明LSA携带)。
新一代技术SR有几个特点:源路由、集中控制、无状态等。它由于去除了LDP与RSVP-TE,简化了控制平面。又由于其源路由和无状态特性而实现了其良好的扩展性。并可以实现流量工程,对于普通流量自动负载,对于需要调度的流量可以计算显示路径。支持快速重路由。通过与SDN结合,实现集中控制。
SDN与SRv6等技术越来越多的部署,越来越体现出编程在网络领域的应用。SDN的发展始于2008年的OpenFlow论文,2009年,SDN入选麻省理工科技评论的 “未来十大突破性技术”。其发展分为工业界与学术圈两条线,在学术圈早期只有斯坦福大学研究,到了2015年学术界的产出相对趋缓,但在工业界中由于几件收购事件,点燃了业界对此的关注度,表现在网络操作系统、网络虚拟化、SD-WAN、白盒交换机等领域的发展。SDN的主要特点就是数据平面与控制平面分离,这也是网络领域未来的大趋势,通过集中式的控制器实现网络的控制,其存在使网络的部署与运维变得简化与智能,支持编程的SDN控制平面使得网络更加智能,它的产生是为了在未来更好的实现用户需求,并不是传统方法不能做到。
作为网络从业者,为了不被时代淘汰,也要学习各种新技术。在未来SDN的时代,网络会变的更加动态,所以需要自动化系统和新工具去收集和分析数据,要求我们要更加熟悉API,提高分析问题的能力。更重要的是除了学习网络相关的知识外,还要学习编程和linux相关知识。编程方面可以学习Python语言,它是一种脚本语言,具有面向对象功能,帮助我们学习编程方法。学习编程也是为了实现自动化,通过编程一次性处理重复的任务,提高工作效率。但大多数的从业者好像都在抵触自动化,怕由于失误造成更大的破坏。实现自动化可以从实现自动检测设备配置开始。SDN会将自动化推向一个新高度,比如应用程序可以自动通知SDN控制器它的需求,控制器会实现自动修改。我们要理解这个变化,熟悉这个过程。
Linux的学习对于网工的发展也是非常重要的。比如现在的软路由是基于Linux开发的,许多新硬件平台也是使用Linux作为控制系统,比如Juniper的操作系统也是基于Unix系统,思科的NX-OS基于Linux。Linux知识非常的复杂,包括常用的命令行命令、文件系统、Firewalld防火墙、各种如vsftpd等传输服务、常用编辑器、管道符和通配符等工具的使用等等,都与我们的工作息息相关。学习文件系统结构是因为这是系统配置文件所在的地方,也要学习如何通过编辑器修改文件系统结构,然后可以试着修改网络参数,启用或禁用服务器进程,通过SSH连接Linux命令行接口。要学习如何创建和修改cron作业,这样就可以编写脚本按指定的时间重复执行。但这只是列出了一小部分,如果想深入学习Linux可以去看《Linux就该这么学》这本书,跟着此书学完一遍后可以基本入门Linux操作系统,提升自己的竞争力。