本帖最后由 ilanqing 于 2020-5-30 09:21 编辑
一、传统网络 1、IP通讯技术已经成为今天通讯网络的核心技术,其原因有2个:第一个原因是简单:全球统一IP地址编码,只需要知道IP地址就可以进行通讯,而无需关心对方细节;第二个原因是采用分布式控制架构,下面重点说明一下第二个原因分布式控制架构。 - IP通讯过程中依赖网络上的每个路由器上的路由表计算下一跳的路由,实现逐跳转发。那路由表是如何生成的呢?一种能马上想到的方法是静态配置,但是当网络规模很大的时候,静态配置就行不通了;所以第二种方法是通过动态路由协议IGP(主要是OSPF协议和ISIS协议)来自动学习路由信息。
- IGP路由协议能够学习完整的网络拓扑,然后根据拓扑计算出任何两点之间的最短路径,并自动生成路由信息。这些IGP运行在每台路由器上,通过IGP在路由器之间交互拓扑信息,从而每台路由器的IGP都能通过交互拿到同样的全部全部网络拓扑数据,然后每台路由器的IGP独立计算出这台路由器的路由表。
- 当网络拓扑变化时,也不用人工干预,路由协议会重新计算出一条新的转发路径,可以在1s以内通过新的路由路径恢复之前断开的路由路径。
- IP网络的这种在路由计算和拓扑变化后重新进行路由计算的过程是完全分布式控制的。
- IP网络的分布式控制跟交通网络的驾驶员自主根据播报的道路拥堵状态进行选择绕路是一样的道理,好处是完全自主的分布式控制,生命力强;坏处是会产生新的拥堵。
- 为了能够大规模组网,IP网络架构的设计者对网络进行了区域划分,每个区域是一个自治系统,自治系统内部运行IGP来完成路由计算,域间则采用BGP来传递和扩散路由。通过BGP,把不在同一个域内的路由前缀进行扩散,以便所有的网络都能学习到这条路由。BGP不仅可以进行路由自动扩散和学习,还可以解决网络故障自动收敛问题。BGP和IGP一样,采用全分布式方式运行在路由器上,这样IP网络在多个自治系统之间的路由学习方式也是全分布式控制的。
2、网络的管理面、控制面和转发面 - 管理面:就是网管,包括专业网管EMS和综合网管。
- 控制面:根据网络状态的变化,比如拓扑变化,对网络进行实时反馈、调整网络的各种数据和行为,使网络保持在正常工作和提供承诺服务的状态,也就是说是为网络设备生成转发所需的数据--路由表数据,以及当网络状态发生变化时,控制面必须实时快速的收敛并重新生成路由表,以便网络故障能够快速恢复,IGP、BGP就是控制面的协议。
- 转发面:就是数据平面,也就是用户平面,是指设备根据控制面生成的路由表完成数据转发和处理。
3、传统网络的局限性 - 流量路径的灵活调整能力不足:传统分布式控制算法采用最短路径进行路由计算,而有时候最短路径已经拥塞,系统却没有办法进行自动调节,只能看着最短路径拥塞,而实际有其他路径却空闲着。
- 传统网络协议复杂,运行维护复杂:数以千计的协议族标准,设备厂家各有自己的扩展,运行维护非常复杂。
- 传统网络的新业务创新速度太慢:当要在传统网络中部署新业务时,讨论需求、定义标准、达成一致、发布标准、设备供应商支撑标准、对现网设备进行升级,整体过程从需求提出到业务支撑,需要长达3-5年的时间。
二、SDN的诞生 1、2006年,SDN诞生于斯坦福大学。 2、SDN网络架构的三个基本特征:转控分离、集中控制、开放接口。SDN控制器集中控制的是转发策略。目前最重要的控制协议是OpenFlow协议,该协议定义了控制器和转发器之间的通信标准,尽管目前OpenFlow协议还不是非常成熟,但随着SDN网络架构的部署和实施,OpenFlow协议也在走向成熟。当然,控制协议不仅仅只有OpenFlow,还有PCEP、BGP、Netconf等协议。 3、SDN控制器不是网管:网管(包括实时网管)没有实现转控分离和集中控制,所以不能算是一种SDN,本质上网管还是管理面。既然网管仅仅是管理面,当然也就不能带来SDN的相关价值,比如简化网络协议、简化网络运行维护、提升网络业务创新速度。实时网管对客户也是有好处的,解决了客户业务实时自动化的问题。当然,通过改造网管,实现集中控制,则此时所说的网管可以算是一种SDN。 三、SDN是对电信网络的一次重构 1、SDN网络架构是把分布式控制平面集中到一个SDN控制器内,实现集中控制,而管理平面和数据平面并没有太多变化,所以说SDN网络是对传统网络的一次重构。 2、SDN不是解决了以前解决不了的问题,而是使得各种需求、问题解决的更快、更好、更加简单而已。而所有这一切都是因为SDN网络通过集中的控制器提升了网络的可编程能力带来的。 3、SDN网络架构不仅可以应用于IP网络,也可以应用到传输网络:传统的传输网络不具备分布式控制能力,而是通过网管对网络进行路径规划,然后配置到设备;当考虑可靠性时,网管可以规划主备两条路径;尽快后来也出现了自动交换光网络(ASON)这样类似IP的分布式控制技术,但是又落入IP的分布式控制面的复杂性里面。 4、SDN改变最快的不是运营商的WAN网络和传输网络,而是数据中心网络。数据中心网络向租户提供数据中心资源快速租用服务,能够秒级完成计算和存储资源调度。由于租户之间需要虚拟网络隔离,所以要求虚拟网络的创建也必须能够在秒级完成,这对于传统网络来说是一个巨大挑战。而SDN技术直接基于服务器构建虚拟网络的解决方案就大行其道。 5、SDN是对传统网络的一次革命,这次网络架构的调整,将会导致一次产业链的调整,最终形成能够支撑SDN网络架构的新的产业链体系。 四、SDN网络的工作原理 1、SDN网络架构的三层模型: 2、控制器可以在一个自治系统内部仅仅选择一些设备进行控制,比如HUAWEI的PCE+方案就是通过控制器仅仅和网络边界上的业务接入点建立协议连接,并控制这些边界点,不需要控制整网每台设备就能完成网络内TE路径的控制。 3、当两个网络都是SDN网络时,有两种方法进行互通:第一种方法是peer模型,就是东西向接口,此时最好采用传统的路由协议(比如BGP)进行数据交互;第二种方法是分层模型,通过分层的SDN控制器来实现互通。 4、未来:运营商网络中可能只需要一个控制器,这个控制器是一个分布式控制器集群系统,(包括域控制器和父控制器),就像目前的DNS一样,可以理解为互联网就一个DNS,但其实他是一个分层的集群系统。 5、SDN网络的控制器和转发器的控制通道建立过程 - 在SDN网络架构下,控制器和转发器之间通道的建立和维护非常重要,有带内和带外2种通道的通讯方式。
- 带外方式:转发器通过独立的物理网络和控制器连接。这个独立的带外网络,可以直接运行简单的传统分布式控制协议IGP,确保转发器和控制器之间的通信打通。
- 带内方式:控制通道和用户业务共用一张物理网络,对于大型IP网络,处于成本考虑,一般选择带内控制通道方式。
- 带内方式又有两种方式来建立转发器和控制器之间的通道:第一种方法是控制器和每个转发器之间都有一个直接连接的物理线路,这样控制器通过这个物理线路可以和任何一个转发器通信,但这种方法要求控制器配置很多接口,工程上基本不可行;第二种方法是在带内利用传统分布式控制协议来打通控制通道,对于这种方法又可以分二层网络和三层网络来看一下分别采用什么协议来打通控制通道。
- 二层网络控制通道的打通:这种情况的主要应用场景是数据中心控制器,控制器和交换机可以部署在同一个子网内,这样它们之间可以通过二层寻址,而不需要通过三层寻址。为了隔离控制器和转发器通讯与其他用户业务之间的通信,建议把他们之间的通信划分到一个独立的VLAN内部。
- 三层网络控制通道的打通:在数据中心内部,有时可以采用二层网络来完成控制器和转发器之间的控制通道,但当数据中心网络规模很大时也需要三层网络技术来解决控制器和转发器之间通信通道的建立。此时,在控制器和转发器之间运行IGP,此时的控制器就是一台普通的路由器,可以通过IGP学习到拓扑并生成互联路由,这样一来,控制器和转发器之间的通信关系就如同一个传统分布式网络,从而保持了控制器和转发器之间的高可靠连通性。同时,控制器不是一个普通路由器,可以通过配置IGP(比如ISIS协议中的OVERLOAD功能)来阻止用户业务流量进入控制器。当然,所谓控制器不能转发用户流量可以说是一个限制,但在某些特定场景下这些限制也可以去掉,比如小规模网络中,客户可能希翼在某台路由器上直接把控制器App运行在里面,此时这台控制器本身也同时是一台路由器。
- 刚刚前面一条说的是通过传统分布式控制协议来让控制器学习并生成路由表并下发给转发器,在这种模式下,如果路由表里不存在相应的路由则报文被直接丢弃处理,这个就是IP转发理念。但是控制实现架构中,还有一种技术是流触发生成路由表,也就是说,对于一个转发表中不存在转发表数据的用户流进入转发器时,转发器需要把这个报文递交给控制器,转发器根据这个报文来生成一个转发表下发给转发器,使得该用户流的下一个报文进入系统时就可以命中转发表进行转发了。从安全性角度看,流触发生成路由表容易造成流量攻击,因此流触发技术不是一个合适的技术,也不符合IP技术的核心理念,仅仅在某些极其特殊场景下使用,并且要做好流攻击阻断工作。
- 还有一些场景下:控制器需要穿越某些网络去控制远程网络,一个简单的方案就是在控制器和转发器之间建立一个隧道,并在这个隧道上启动IGP。
- 用以上描述方法建立的控制通道,当网络发生状态变化时,由于采用了传统的分布式控制网络技术作为控制通道建立的技术,所以能够达到任何时刻只要拓扑上有路连接,通信上就能够打通的要求,同时故障感知到的收敛时间也都在1s以内。
6、SDN控制器的资源收集过程 - 一旦控制器和转发器的控制通道建立完成,控制器和转发器之间就可以建立控制协议的连接了,比如OpenFlow协议,通过认证之后,控制协议的连接就建立起来了。
- 网元资源信息收集:接下来是转发器向控制器注册信息、上报资源:接口资源、标签资源、VLAN资源、设备资源等。控制器采集这些信息是用来安装特定厂家设备的驱动程序。控制器需要收集标签信息,这里的标签是指MPLS标签。这是因为控制器控制的网络内部交换技术通常采用MPLS交换,因为这项技术非常成熟,报文封装比较短小(4字节)有利于节省网络的带宽占用。
- 拓扑信息收集:资源收集过程结束后,控制器还需要进行网络拓扑信息收集。控制器收集网络拓扑的方法目前有不少标准协议定义,其中一个主要的协议是二层网络设备发现协议--链路层发现协议(LLDP),它是IEEE定义的二层网络设备发现协议,尤其适用在数据中心网络,其基本原理是转发器向每个接口发送一个LLDP报文,接收到LLDP报文的设备增加自己接收该报文的接口信息和设备ID,从而控制器就获得两个转发器之间的连接信息,如果控制器从每台转发器都获得类似的信息,最后控制器就获得完整的二层网络拓扑。拓扑信息收集的第二个协议是三层拓扑收集协议,采用传统路由协议IGP。
7、控制器的流表计算和下发 - 流表计算:控制器计算网络交换路径是根据业务策略来进行的,有的业务需要考虑网络的带宽、时延等属性,有的业务可能不关心带宽和时延而是只关心可达性。
- 流表下发:有多种协议支撑流表下发,包括PCE协议、BGP、Netconf协议、OpenFlow协议等。
8、SDN转发面的报文转发 - SDN的转发过程和传统网络的转发过程没有任何区别。
- 在SDN网络架构下,尽管转发面的转发技术可以使用OpenFlow转发技术(是OpenFlow转发技术而不是OpenFlow控制协议),但这并不是必需的,使用传统的转发流程是完全一样的。
9、本节总结 - 控制器和转发器之间的控制通道建立,通常使用传统的IGP来打通控制通道。
- 控制器和转发器建立控制协议连接后,需要从转发器收集网络资源信息,包括设备信息、接口信息、标签信息等,控制器还需要通过拓扑收集协议收集网络拓扑信息。
- 控制器利用网络拓扑信息和网络资源信息计算网络内部的交换路径,同时控制器会利用一些传统协议和外部网络运行的一些传统路由协议,包括BGP、IGP 等,来学习业务路由并向外扩散业务路由,把这些业务路由和内部交换路径转发信息下发给转发器。
- 转发器接收控制器下发的网络内部交换路径转发表数据和业务路由转发表数据,并依据这些转发表进行报文转发。
- 当网络状态发生变化时,SDN控制器会实时感知网络状态,并重新计算网络内部交换路径和业务路由,以确保网络能够继续正常提供业务。
五、SDN控制器实现原理 1、控制器需求 - 在广域网部署SDN,单个控制器所面临的网络规模根据场景不同而不同。
- 在IPRAN的移动接入场景,在一个城市,目前的规模已经达到2万台设备,未来会更多。
- 对于目前典型的骨干网和城域网,设备规模从几百台2000台,主要压力是边缘接入业务路由的计算。
- 在数据中心解决方案场景,采用OVERLAY方式完成网络虚拟化功能。这种网络虚拟化是在数据中心服务器上直接启动一个App交换机,然后使用VXLAN技术,直接构建海量租户的虚拟二层网络。
2、SDN控制器现网迁移 - 迁移演进方式有多种,其中一种是SDN网络的部署可能先在某些局部网络部署,这个单独的SDN网络需要和传统的分布式网络互通,这就需要SDN控制器能够支撑传统的一些网络业务协议,比如BGP进行互通。
3、控制器是一个大型控制App系统,它需要一个控制平台,这个平台成为网络操作系统(NOS),主要负责网络资源管理。传统的分布式网络有设备App系统,但没有网络操作系统。 - 网元硬件管理:对应传统网络中的EMS专业网管,这部分功能可以放在SDN体系内,也可以作为一个单独的网络管理模块部署。
- 网元资源管理:针对不同的网元类型,其网元资源也是不同的。
六、SDN控制器实现 1、开源的ODL(OpenDayLight)控制器:IBM和HP发起,致力于数据中心网络虚拟化。 2、开源ONOS(OpenNetworkOperatingSystem)控制器:斯坦福大学ON.LAB实验室开发的一个开源网络操作系统,于2014年12月发布了第一个开源版本。 3、HUAWEISNC(SmartNetworkController)控制器
|