许多人一旦提到网络工程师这个职业, 脑海中浮现出的图像往往还固化在过去的那几件事物上, 比如交换机、路由器、防火墙, 还有VLAN、OSPF以及ACL这些技术概念。当然, 这些东西确实具备相当重要的地位, 并且直至当下, 它们仍然是行业内最为基础的核心内容。然而, 假如一个人仅仅将目光停留在这些传统的硬件设备或老式协议层面, 他所面临的发展道路, 将会随着时间的推移变得越来越狭窄, 几乎没有拓展的空间。如今的企业网络, 已经不再是以前那个样子了, 以前的那种情况, 不过是拉上几根线、堆起几台设备、写下几条静态策略这么简单的事情, 现在已经完全不一样了, 业务是在云端运行的, 分支机构遍布全国, 许多员工是在家里进行办公的, 数据是需要跨地域进行流动的, 而且应用还需要能够随时上线、随时扩容以及随时容灾, 网络这个概念, 它不再仅仅是做到连通这么一种程度了, 而是要实现按需交付、能够实现统一编排、能够实现快速变更、能够实现持续可见。这就是原因所在, 软件定义网络、软件定义广域网以及云网络这三个领域, 如今已经变成了所有想要从事下一代网络工程师职业的人所必须学习的主要课程。它们到底分别在解决着什么样的问题, 这就是关于软件定义网络也就是SDN方面所要处理的事情。在传统网络环境当中, 网络设备往往被呈现出来的状态是犹如一台台各自孤立、互不相连的机器设备一般存在, 显得非常分散和独立。如果你打算去调整部署方案的话, 你就需要在具体的设备终端上面直接输入相关的指令内容。如果你计划去增加设备数量的话, 那么就必须要针对每一台设备去单独地进行参数的配置工作。如果你在操作过程中遇到了故障需要排查的话, 你还得到好几台不同的设备之间来回地切换并进行相应的对比和检查动作。SDN的核心思路是很直接的, 就是把控制功能和转发功能给分离开来。简单来说, 设备不再各自为政, 网络的“脑子”被集中了起来, 策略实现了统一下发, 而设备则主要负责执行。这就导致了非常显著的改变, 其影响是很大的:以前你是“人追着设备跑”, 现在更像是“策略驱动网络跑”。网络这个事物开始具备编程的那一种能力, 配置这一个个事项开始变得可以模板化, 变更这种操作开始能够自动化进行, 很多重复性的劳动也终于能够让系统去做掉。SD-WAN在过去, 企业里的分支机构想要跟总部连上网头, 通常会去用专线这一办法, 或者也用MPLS这种方式, 还可能去搞虚拟专用网络, 再或者就是用各种混搭起来的方案。其实这些问题是非常接地气的, 就是说成本特别高, 而且开通的速度又很慢, 等分支机构变得多的时候就很难管理了, 只要线路稍微有一点抖动的话, 业务就会跟着产生波动。SD-WAN 解决的就是在广域网的管理方面存在的, 那些让人头疼的, 难以处理的痛点问题。它不是简单地换一条更便宜的线路, 而是把许多线路统一地进行管理, 依据应用程序、时延、丢包和抖动等多种指标自动挑选出最合适的路径。例如, 视频会议更加重视稳定性。ERP 系统更加重视时延问题。文件同步功能更加关注带宽能力。通过 SD-WAN , 不同的业务能够按照各自指定的策略去运行, 这就意味着不再只依靠一条单独的链路来勉强承受所有的数据流量。云网络在近年来的时间跨度内, 云网络这一领域的变化态势表现得极为迅疾。以前, 网络工程师他们通常主要是面对本地机房以及园区网等等这些地方的工作内容, 同时也包括对数据中心的相关事务进行处理。如今的情况是, 你还得去处理 VPC 的问题, 还涉及子网方面的问题, 还有路由表要搞, 安全组要弄, 云防火墙要部署, NAT 网关要设置, 负载均衡要配置, 跨账号互联这件事也得管, 混合云互通这个问题也要面对。云网络的本质, 是将网络能力进行服务化的处理。你并不一定非要亲自去执行插入卡片、压接线路或者改造物理链路这些具体的操作环节, 然而, 你必须清楚地了解在云端环境下, 对于这些网络资源应当如何进行统筹布局与设计, 应当采用何种方式进行隔离处理, 又应该通过怎样的途径来实现相互连通, 最后还需要掌握对潜在风险采取什么手段来进行有效管控。这意味着, 网络工程师他们具体去干活的那个东西, 已经不再是以前那种实实在在的硬件设备或者是机箱了, 而是转变成了整个系统的整体设计框架。为什么要讲这三项能力的事情, 其实是因为这三项的能力, 正在决定网络工程师的上限。先来说一个很现实的变化。在十年之前, 网络工程师之间经常进行的比较, 主要体现在谁能配置更多的网络设备, 谁对技术协议的掌握更为熟悉, 以及谁能够更加快速地解决系统故障这些方面。现在是完全不同于以往的情况了, 网络不仅开始和业务系统建立了深度绑定的关系, 同时也和云平台、自动化平台以及安全体系形成了紧密的联系。可能存在一个网络问题的情况, 这个问题背后可能牵扯到的东西。这说明啥意思, 就是说, 仅仅懂得怎么去配置一些相关命令这一种状况, 已经是不行不够了。你需要去看得懂架构, 你要能够理解策略, 你必须可以跟开发团队对话, 你可以跟运维团队对话, 你能跟安全团队对话, 你也能够跟云平台团队对话, 你还要得能把复杂的问题拆分成可执行的步骤。再说一个现实老板这个人呢, 他绝不会因为说你就仅仅能够把这些命令啊通通给背熟了呀就会说要给你增加工资。但是呢, 你要是能够把这分支上线周期给从原先的那个两周缩短到了两天, 同时也把变更出错的概率压下去, 还能把那多地点的网络统一起来进行纳管, 再把那云上互联给做得更加稳固些, 那这个价值就完全不是同一个样子了。SDN这种技术, 还有那个SD-WAN, 以及云网络, 它们在本质上其实都在努力回答着同一个问题。那么, 这个问题具体是什么呢? 就是需要弄明白该怎么才能让网络的交付速度变得更快。同时又该怎么去实现让网络的管理变得更加容易。还应该怎么去保证让错误的发生变得更少。最后, 还要弄清楚怎么能使得整个网络更加贴近业务的实际需求。掌握了这三项本事的人, 已经不再是被称作普通设备操作员的那些人了, 而是有资格参与设计工作, 还能推动业务网络进行发展和升级的重要角色了。SDN 学什么才算真的入门当绝大多数的人一听到 SDN 这个词的时候, 他们脑子里蹦出来的第一个反应通常是, 这难道不是一种非常高深莫测的技术吗, 这种想法让他们觉得难以理解。把问题想得过于神秘的情况, 在事实上是不存在必要性的。学习SDN的重点, 并不在于去背诵那个概念本身, 而是需要紧紧地抓住三件主要的事情。1你要先搞明白控制平面和数据平面是分离的这个情况。这一步最关键。在传统的网络里, 设备自己做出决定怎么进行转发。在软件定义网络这个技术环境当中, 控制方面的权力得到了明显的集中化体现, 具体的网络运营策略则由中央控制器来进行统一的部署和管理, 而那些底层的硬件设备呢, 他们的主要任务就是去执行这些被下达的策略指令。2了解网络可编程的基本思路咱们并不是说每一台设备都得靠人手去登录, 然后挨个搞配置这档子事。相反, 大家是通过调接口、跑脚本、用控制器或者是套模板这样的法子, 来实现对那些设备的批量管理的。在这个时刻, API 这个概念, 还有那个叫 YAML 的格式语言啊, 这些东西, 都开始变得有些用处了, 开始发挥它们的功能了。3把“自动化”当成日常能力SDN不只是一个架构名词, 它更像是一种工作方式。你是否可以使用模板来快速地、大量地开启站点?你能不能把将策略进行下发这一工作, 转变成为具有流程性质的一种动作环节。你能不能让网络的变更能够像软件的发布那样具备可控的性质。这些才是真正的地方, 也就是 SDN 思维能够实实在在地落地生根的地方。为什么SD-WAN会这么火? 其实, 它火的并不是那个所谓的概念, 而是因为它真正解决了很多人的痛点。SD-WAN之所以在企业里变得越来越常见, 是因为它踩中了广域网中最常见的几个痛点。第一分支太多分支变得越来越多, 就会导致专线的开通会变得困难, 故障的定位也会变得困难, 统一管理也变得困难。按照传统的方法, 通常是每一个分支都采取一套独立的管理思路, 这样做的话, 到了后面就完全没办法再进行有效的管控和维序了。其次, 那个链路方面的花费是比较高的。专线稳定但贵。公网的费用比较低廉, 但是其价格存在较大的波动情况。其实, 大部分企业所真正急需得到的, 并不是那些价格最为高昂的服务线路, 而是在其业务能够完全接受的既定范围之内, 所能提供的最具优势、也是最合适的一个整体解决方案。从第三个点来看, 业务的类型正变得越来越复杂。在过去的那个时段, 分支机构那边有可能仅仅是存在着办公类型的那种数据流量。眼下大家既要用视频会议, 也要搞云应用, 还得做远程办公。SaaS产品要上, 私有业务系统也不能少。不仅如此, 甚至还需要跟总部联通。还要跟云上的系统对接。更要跟第三方的平台保持互通。不同的业务对网络的要求是完全不同的, 采用单一的网络路径的思路正变得越来越吃力。SD-WAN的价值就在于, 它让网络从统一的、一刀切的情况, 变成了可以根据应用、根据策略、根据链路的实际质量来实施动态分流的模式。学 SD-WAN要重点关注什么请不要只是去关注“设备应该如何安装”。实际上, 更值得去认真看重的地方乃是。换一种说法来看, SD-WAN它并不是仅仅作为一个广域网接入盒子来使用的, 而更是一个广域网管理平台。不懂云就很难做大网络在当前这个时候, 存在许多的网络工程师他们还在询问着:既然我已经掌握传统网络的技术, 那么, 现在的人为什么还要去学习云网络呢这个疑问是存在的。答案十分简单: 这是由于业务已经完成上云这一操作。你在计算机房里面把一套三层网络做得很漂亮, 这是事实。但是如果你在云上规划VPC时非常混乱。并且跨云互联也通不了。安全策略还存在冲突。负载均衡的配置也不得当。那么最终用户的体验还是会出现问题。云网络这个概念啊, 它并不是把那个传统的网络技术直接原封不动地搬到上面去这么简单了事, 而是采取了一种全新的表达方式和呈现形式来进行体现和运作。在云网络里面, 那几个最为常见的关键词。这些东西看起来数量很多, 但其实其中的逻辑并不复杂。你只要把三层关系给抓住这就足够了。