1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四
2、级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,2/19/2020,#,背景,1,SDN,体系架构,2,SDN,特征,3,3,SDN,关键技术,4,4,SDN,应用和未来方向,5,1,2024/11/22 周五,背景,传统的网络设备(交换机、路由器)的固件是由设备制造商锁定和控制,所以大家希望将网络控制与物理网
3、络拓扑分离,从而摆脱硬件对网络架构的限制。这样企业便可以像升级、安装软件一样对网络架构进行修改,满足企业对整个网站架构进行调整、扩容或升级。而底层的交换机、路由器等硬件则无需替换,节省大量的成本的同时,网络架构迭代周期将大大缩短。,2,2024/11/22 周五,什么是,SDN,软件定义网络(,Software Defined Network,SDN,),是由美国斯坦福大学,clean slate,研究组提出的一种新型网络创新架构,,核心理念是,希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维。,传统网络设备紧耦合的网络架构被分拆成应用、控制、转发三层分离
4、的架构。控制功能被转移到了服务器,上层应用、底层转发设施被抽象成多个逻辑实体。如果说现在的网络系统是功能机,系统和硬件出厂时就被捆绑在一起,那么,SDN,就是,Android,系统,可以在很多智能手机上安装、升级,同时还能安装更多更强大的手机,App,(,SDN,应用层部署)。,3,2024/11/22 周五,应用层,控制层,基础设施层,上层应用,SDN,控制软件,网路服务,网络设备,网络设备,网络设备,网络设备,网络设备,API,API,API,控制数据平面口,(例如,OpenFlow,),SDN,体系结构,4,2024/11/22 周五,网络虚拟化,可编程接口,SDN,控制转发,分离,SD
5、N,特征,5,2024/11/22 周五,控制平面(,CP,),转发平面(,DP,),CP,CP,DP,DP,CP,DP,CP,DP,CP,DP,CP,DP,CP,CP,DP,DP,CP,CP,DP,DP,CP,DP,CP,DP,CP,DP,CP,DP,CP,CP,DP,DP,传统网络设备的CP与DP,不分离;,设备之间通过控制协议交互转发信息,;,SDN,将网络设备的控制平面集中上收到Controller;,网络设备上,只,保留转发平面(转发表项);,软件可以实现灵活的控制面功能满足用户多元化需求,硬件成为简单哑资源,专注转发;,Controller,Hub,工作原理:基于物理端口转发,策略
6、:,Flood,L2Switch,工作原理:基于,MAC,地址表转发,策略:,STP+MAC,地址学习,Router,工作原理:基于路由表转发,策略:静态路由,+,动态路由协议,1,控制与转发分离,6,被抽象出的网络,物理网络,/Fabric,Underlay,网络,通过Controller实现了对基础网络设施的抽象;,应用程序看到的是Controller提供的网络服务,应用程序的视角,Controller,2,网络虚拟化,7,3,可编程接口,8,11/22/2024,SDN,实现方式,9,11/22/2024,SDN,的核心技术:,OpenFlow,Flow Table,:,Flow Tab
7、le,里面的每个条目都会与一个动作相关联,来告诉网络交换设备来如何处理与这个条目相关联的,data Flow,;,Secure Channel,:用于连接网络交换设备和远程网络控制器,在控制器和网络交换设备之间互相发送命令和数据包;,OpenFlow Protocol,:提供一个开放标准统一的接口,使得控制器和网络交换设备之间可以相互通信,10,11/22/2024,Sep,2012,OF,1.3.1,增强版本协商能力,OF,1.3,重构了能力协商,PBB,IPv6,扩展头,多,Controller,Per,flow,meter,April,2012,OF,1.2,IPv6,Dec,2011,
8、OF,1.1,多表,MPLS,、,VLAN,group,ECMP,Feb,2011,OF,1.0,功能:,单表,IPv4,Dec,2009,OpenFlow的标准化组织,Open,Network,Foundation,,即开放式网络基金会。,ONF,是非盈利的组织机构,致力于创新和发展新,型网络架构,即软件定义网络(,SDN,)。,-ONF,成立一年,有超过,80,家国内外公司加入到,ONF,的商业化推广和使用,SDN,技术的推广。,-,国内企业包括:华为、中兴、腾讯、盛科、华三等。,18,11,11/22/2024,OpenFlowv1.0,之流表结构,流表是,OpenFlow,对网络设备的
9、数据转发功能的抽象,表项包括了网络中各个层次的网络配置信息,包头域:用于对交换机接收到的数据包的包头内容进行匹配,计数器:用于统计数据流量相关信息,可以针对交换机中的每张流表、每个数据流、每个设备端口、每个转发队列进行维护,动作(,action,):用于指示交换机在收到匹配数据包后如何对其进行处理,包头域,计数器,动作,12,11/22/2024,用于匹配交换机接收到的数据包的包头内容,,OpenFlow 1.0,包头域包含,12,个元组(,tuple,),涵盖,ISO,网络模型中第二至第四层的网络配置信息,每一个元组中的数值可以是一个确定的值或者是“,ANY,OpenFlow 1.1,及后续
10、版本将“包头域”更名为“匹配域,OpenFlowv1.0,之包头域,入端口,源,MAC,地址,目的,MAC,地址,以太网类型,VLAN ID,VLAN,优先级,源,IP,地址,目的,IP,地址,IP,协议,IP,TOS,位,TCP/UDP,源端口,TCP/UDP,目的端口,Ingress,Port,Ether,Source,Ether,Des,Ether,Type,VLAN,ID,VLAN,Priority,IP,Source,IP,Des,IP,Proto,IP,TOS,bits,TCP/UDP SRC,Port,TCP/UDP SRC,Port,13,11/22/2024,OpenFlow
11、1.0,之流表计数器,针对交换机中的每张流表、每个数据流、每个设备端口、每个转发队列进行维护,用于统计数据流量的相关信息,针对每张流表,统计当前活动的表项数、数据包查询次数、数 据包匹配次数等,针对每个数据流,统计接收到的数据包数、字节数、数据流持 续时间等,针对每个设备端口,除统计接收到的数据包数、发送数据包数、接收字节数、发送字节数等指标之外,还可以对各种错误发生的次数进行统计,针对每个队列,统计发送的数据包数和字节数,还有发送时的溢出(,Overrun,)错误次数等,14,11/22/2024,OpenFlow1.0,之流表动作列表,动作名称,说明,转发(,Forward,),ALL,:
12、将数据包从除入端口以外其他所有端口发出,CONTROLLER,:将数据包发送给控制器,LOCAL,:将数据包发送给交换机本地端口,TABLE,:将数据包按照流表匹配条目处理,IN_PORT,:将数据包从入端口发出,NORMAL,:按照普通二层交换机流程处理数据包,FLOOD,:将数据包从最小生成树使能端口转发(不包括入端口,),修改域(,Modify-Field,),设置,VLAN ID,、,VLAN,优先级,剥离,VLAN,头修改源,MAC,地址、目的,MAC,地址修改源,IPv4,地址、目的,IPv4,地址、,ToS,位 修改源端口号、目的端口号,丢弃(,Drop,),交换机对没有明确指明
13、处理动作的流表项,将会对与其所匹配的所有数据包进行默认的丢弃处理,15,11/22/2024,接收报文,包头解析,匹配表,0,实施动作,匹配表,n,通过安全通道,发送到控制器,.,是,否,是,否,Openflow1.0,数据包处理流程,16,11/22/2024,初始化包头,以太网类型,=0X8100,IP,协议,=6,或,17,设置,VLAN ID,和,PCP,设置,IP,源及目的地址,设置,IP,源及目的地址协议和,TOS,位,UDP/TCP,源,/,目的端口作为四层信息,ICMP,类型和编码作为四层信息,IP,协议,=1,以太网类型,=0X0806,以太网类型,=0X0800,使用设定好
14、的包头域进行查表,Openflow1.0,包头解析过程,判断,是,否,设置输入端口,以太网源地址,目的地址极其类型,并将其他所有置为,0,17,11/22/2024,Flow,Table,例子,MAC,SRC,MAC DST,IP SRC,IP DST,TCP DPort,TCP SPort,Action,Count,*,*,192.168.1.0/254,*,*,*,Port1,249,*,*,192.168.2.0/254,*,*,*,Port2,229,*,*,*,*,*,*,Port3,898,MAC,SRC,MAC DST,IP SRC,IP DST,TCP DPort,TCP SP
15、ort,Action,Count,*,*,192.168.2.2,192.168.3.5,80,*,Drop,250,*,*,192.168.3.4,192.138.5.4,80,*,Port3,300,*,*,*,*,*,*,Controller,9,FlowTable,定义路由,FlowTable,定义防火墙,18,11/22/2024,Openflow,消息,Openflow,消息总共分为三大类:,ControllertoSwitch,Features,用来获取交换机特性,Configuration,用来配置,Openflow,交换机,ModifyState,用来修改交换机状态,(,修改
16、流表,),ReadStats,用来读取交换机状态,SendPacket,用来发送数据包,Asynchronous,Packetin,用来告知控制器交换机接收到数据包,FlowRemoved,用来告知控制器交换机流表被删除,PortStatus,用来告知控制器交换机端口状态更新,Error,用来告知控制器交换机发生错误,Symmetric,Hello,用来建立,Openflow,连接,Echo,用来确认交换机与控制器之间的,Vendor,厂商自定义消息,19,11/22/2024,Packetin,事件(交换机接收数据包),当交换机收到一个数据包后,会查找流表,找出与数据包包头相匹配,的条目。如
17、果流表中有匹配条目,则交换机按照流表所指示的,action,列表处理数据包。如果流表中没有匹配条目,则交换机会将数据包封,装在,Packetin,消息中发送给控制器处理。此时数据包会被缓存在交换,机中等待处理。,情况,1,交换机流表所指示的,action,列表中包含转发给控制器的动作,(,Output=CONTROLLER,)。此时数据包不会被缓存在交换机中。,情况,2,20,11/22/2024,控制器配置流表(,FlowMod,消息),FlowMod,消息用来添加、删除、修改,Openflow,交换机的流表信息,ADD,DELETE,DELETESTRICT,MODIFY,MODIFYST
18、RIC,FlowMod,21,11/22/2024,基于,Openflow,的,SDN,通信流程,22,11/22/2024,主机向网络发送数据包,OF,交换机流表无匹配项,通过,PacketIn,事件将数据包上报给控制器控制器下发流表,(,或,PacketOut),数据包转发同同数据包转发,基于,Openflow,的,SDN,工作流程,23,11/22/2024,SDN,目前应用范围,校园网,数据中心,安全控制,网络管理,云计算,虚拟化,24,11/22/2024,SDN,未来工作,SDN,未来工作,在数据中心的应用,融合,IPv6,与其他新型网络架构融合,可扩展性研究,规模部署与跨域通信,与传统网络共存,25,11/22/2024,