同其他技术领域一样,网络行业也在快速的进步当中。从最开始的 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 操作系统,提升自己的竞争力。