Openflow协议入门
SDN软件定义网络之南向协议——OpenFlow协议

SDN软件定义网络之南向协议——OpenFlow协议一、引言本协议旨在定义SDN软件定义网络中的南向协议,即OpenFlow协议。
OpenFlow协议作为SDN架构中的核心协议,用于实现网络交换设备的控制平面和数据平面的分离,提供灵活、可编程和可扩展的网络管理能力。
二、协议目标本协议的目标是规范OpenFlow协议的消息格式、交互流程和功能要求,确保网络交换设备之间的互操作性和一致性。
同时,为SDN网络的部署和管理提供可靠的技术支持。
三、术语定义1. SDN(Software Defined Networking):软件定义网络,是一种网络架构,通过将网络控制平面和数据平面分离,实现网络管理和控制的集中化。
2. 南向协议:指SDN控制器与网络交换设备之间的通信协议,用于控制和管理网络交换设备的行为。
3. OpenFlow协议:一种开放式的南向协议,用于控制和管理SDN网络中的交换设备。
四、协议内容1. OpenFlow消息格式a. 消息头:包含版本号、消息类型、消息长度等字段,用于标识和解析消息。
b. 控制消息:用于控制和管理网络交换设备的行为,如配置流表、查询设备状态等。
c. 数据消息:用于转发数据包,如转发、丢弃、修改数据包等操作。
2. OpenFlow交互流程a. 连接建立:SDN控制器与交换设备建立TCP连接,并进行协议版本协商。
b. 特性交换:交换设备向控制器发送支持的OpenFlow协议版本和功能特性。
c. 控制消息交互:控制器向交换设备发送控制消息,交换设备执行相应的操作,并向控制器发送响应消息。
d. 数据消息交互:交换设备根据流表中的匹配规则对数据包进行处理,并向控制器发送相应的数据消息。
3. OpenFlow功能要求a. 流表管理:支持流表的配置、查询和删除操作,包括匹配规则、动作集合和优先级等。
b. 状态监测:支持查询交换设备的状态信息,如端口状态、链路状态等。
c. QoS支持:支持对数据包进行流量控制、优先级标记和队列管理等操作。
【个人总结系列-11】Openflow协议的理解-学习及总结

Openflow协议的理解-学习及总结Openflow协议概述OpenFlow协议是斯坦福大学的Nick McKeown提出的,随着OpenFlow协议的提出,SDN(Software Defined Network)也逐渐得到人们以及网络设备运营商的关注。
OpenFlow协议的主要思想就是将传统网络交换机数据包转发的过程分离开来,原来由交换机一步完成的转发动作现由2种设备协作完成,分别是支持openflow协议的交换机(假设为OVS)和控制器(以下称controller)。
OVS 里面维护了一个叫做流表(flow table)的东西,用来指定转发的策略,流表是在controller的控制下生成的,并且controller随时可以维护流表(删除、添加、修改流表项)。
所以网络管理人员可以很容易自己定义网络的行为,这也是SDN的原因。
在OpenFlow网络中数据包的转发流程是这样的:OVS接收到数据以后,通过和流表项进行匹配决定这个包的走向(转发、丢弃还是传给controller等),所以流表就相当于控制的策略,定义网络的行为只要在controller端对流表进行操作即可。
这就涉及到controller和OVS之间通信和交流的问题,而Controller和OVS之间通信的消息格式、内容及种类就是OpenFlow协议的主要内容。
OVS通过secure channel和controller进行通信,而且通信内容是通过TLS加密的,从secure channel发出和接收到的信息是和交换机接收到的数据包(到达的数据包)是不一样的,他们不经过流表的处理,OVS和controller的关系如下图所示[1]:图2-1-1 OVS和控制器的关系所以OpenFlow网络中最重要的就是流表(流表的结构和匹配的过程)和controller与OVS之间的通信。
下面主要介绍一下自己理解的这两块的内容。
流表每个交换机包括许多流表和一个组表,流表从0开始进行编号。
SDN软件定义网络之南向协议——OpenFlow协议

SDN软件定义网络之南向协议——OpenFlow协议一、背景介绍随着网络规模的不断扩大和网络应用的不断增加,传统的网络架构已经无法满足对网络灵活性、可编程性和可管理性的要求。
SDN(Software Defined Networking)软件定义网络作为一种新兴的网络架构,通过将网络控制平面与数据平面分离,提供了更高级别的网络控制和管理能力。
南向协议是SDN架构中用于控制数据平面设备的协议,其中OpenFlow协议是目前应用最广泛的南向协议之一。
二、协议目的本协议旨在规范SDN中OpenFlow协议的标准格式,确保网络设备之间的互操作性,实现网络控制和管理的统一。
三、协议范围本协议适用于支持OpenFlow协议的SDN网络设备,包括交换机、路由器等。
四、术语定义1. SDN(Software Defined Networking):软件定义网络,一种通过将网络控制平面与数据平面分离的网络架构。
2. 南向协议:用于控制数据平面设备的协议,与北向协议相对应。
3. OpenFlow协议:一种用于控制SDN网络设备的开放标准协议。
五、协议要求1. OpenFlow协议版本:本协议基于OpenFlow协议版本X.X.X进行规范。
2. 消息格式:OpenFlow协议中定义了多种消息类型,包括控制器向交换机发送的消息和交换机向控制器发送的消息。
每种消息类型都有特定的格式和字段定义,详见OpenFlow协议规范。
3. 控制器与交换机连接建立:控制器与交换机之间的连接建立需要遵循OpenFlow协议中的握手过程,包括版本协商、安全认证等步骤。
4. 流表项匹配规则:交换机根据流表项中的匹配规则来决定数据包的处理方式。
匹配规则可以包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、协议类型等字段。
5. 流表项动作规则:交换机根据流表项中的动作规则来决定数据包的转发方式。
动作规则可以包括转发到指定端口、修改数据包头部字段、丢弃数据包等操作。
openflow协议的工作原理与流程

openflow协议的工作原理与流程OpenFlow协议是一种应用在软件定义网络技术上的标准化协议,它将传统的网络管理任务行分配给网络控制器,允许网络控制器以更灵活、更自动化的方式来操作网络设备和流量,开发出更加灵活的网络环境。
OpenFlow协议的工作原理与流程可以分为四个步骤:1、网络控制器发起一个消息,将它的流表更新消息发给OpenFlow 交换机;2、OpenFlow交换机将收到的消息存入其内部的流表中;3、OpenFlow交换机检测网络中的流量,并根据存储的流表信息对其进行分析;4、OpenFlow交换机根据流量分析结果,执行相应的动作,将流量转发给相应的设备或端口。
OpenFlow协议的工作原理相对比较简单,但要全面地理解它,仍需了解其实现过程中的详细信息。
首先,OpenFlow协议使用一个专有消息格式,即OpenFlow消息。
这个消息封装了从网络控制器发给OpenFlow交换机的所有信息。
这个消息包括网络控制器中定义的规则,以及所有其他消息,如更新和请求。
其次,OpenFlow协议中的流表也是非常重要的组成部分,它是由网络控制器设置的一组规则,它定义了OpenFlow交换机如何根据流量分析结果执行相应的动作。
在流表中,每个表项包括源IP地址、目的IP地址、协议类型,以及网络控制器中定义的要求行为,如转发流量到特定端口、限制流量速度等。
在这里,需要注意的是,每个OpenFlow交换机的流表可以由多个控制器定义,即同一个交换机可以有多个不同的控制器对其进行控制。
Finally, OpenFlow网络可以使用一种叫做“Groups”的机制,来实现多个端口间的流量聚合,以及“Action Set”功能,来实现多个不同动作的应用,从而更加智能和灵活地管理网络流量。
通过以上介绍,我们可以得出结论:OpenFlow协议的工作原理与流程是,网络控制器将流表更新信息发给OpenFlow交换机,OpenFlow交换机将收到的信息存入流表中,进而检测网络中的流量,并根据流表中的信息进行分析,最终根据流量分析结果执行相应的动作,将流量转发给相应的设备或端口。
SDN软件定义网络之南向协议——OpenFlow协议

SDN软件定义网络之南向协议——OpenFlow协议一、协议目的本协议旨在规范SDN软件定义网络中的南向协议——OpenFlow协议的标准格式和通信规范,确保网络设备之间的互操作性和数据交换的一致性。
二、协议范围本协议适用于SDN软件定义网络中使用OpenFlow协议进行通信的网络设备,包括但不限于交换机、路由器等。
三、术语定义1. SDN软件定义网络:一种网络架构,通过将网络控制平面与数据转发平面分离,实现网络资源的集中管理和灵活配置。
2. 南向协议:指SDN控制器与网络设备之间的通信协议,用于控制和管理网络设备的行为。
3. OpenFlow协议:一种SDN南向协议,用于控制和管理OpenFlow交换机。
四、协议内容1. 协议版本本协议基于OpenFlow协议的版本X.X进行规范。
2. 协议通信2.1 协议端口OpenFlow协议使用TCP或TLS协议进行通信,协议端口号为6633(非加密连接)和6653(加密连接)。
2.2 连接建立SDN控制器与OpenFlow交换机之间的连接建立遵循以下步骤:a. SDN控制器向OpenFlow交换机发送连接请求。
b. OpenFlow交换机收到连接请求后,验证请求的合法性。
c. OpenFlow交换机向SDN控制器发送连接回应。
2.3 消息交互SDN控制器与OpenFlow交换机之间的消息交互遵循以下规则:a. 消息格式:消息由消息头和消息体组成,消息头包含消息类型、消息长度等信息,消息体包含具体的操作指令。
b. 消息分类:根据消息类型的不同,消息可分为控制消息、配置消息、状态消息和统计消息等。
c. 消息处理:SDN控制器根据接收到的消息类型进行相应的处理,并向OpenFlow交换机发送相应的响应消息。
2.4 连接维护SDN控制器与OpenFlow交换机之间的连接维护遵循以下规则:a. 心跳机制:SDN控制器和OpenFlow交换机定期发送心跳消息以保持连接的存活状态。
openflow协议的工作原理与流程

openflow协议的工作原理与流程OpenFlow协议是由Stanford大学交换机项目研发的一种可以实现交换机和控制器之间的通信方式,具有很好的灵活性和可扩展性。
它是一种基于TCP/IP协议来处理设备间传输控制报文的北向协议,可用于控制交换机把数据包从一个端口转发到另一个端口的过程,它的出现彻底改变了传统网络中的网络拓扑控制,使得网络管理者可以通过简单的控制,实现网络的更加高效的运行。
OpenFlow协议的工作原理和流程可以分为三部分,即控制器、交换机和用户。
控制器是OpenFlow协议的核心,它负责接收用户请求,根据用户的要求构建流表,并将流表发送给交换机;交换机是OpenFlow协议的基础平台,它负责接收控制器发送的流表,并将流表应用于数据包的转发;最后,用户是OpenFlow协议的最终使用者,它负责发送控制命令给控制器,以便控制器能够构建流表,此外,用户也可以接收到交换机的转发结果。
OpenFlow协议的工作流程如下:1. 用户发出控制命令:用户发出对交换机的控制命令,以便在控制器上构建流表,以便控制数据包的转发。
2. 控制器构建流表:控制器根据用户的控制命令,构建流表,并将流表发送给交换机。
3. 交换机应用流表:交换机接收到控制器发送的流表,然后根据流表中的指令对数据包进行转发。
4. 用户接收结果:用户接收到交换机的转发结果,以便确定网络的转发情况。
OpenFlow协议的优点:1. 灵活性:OpenFlow协议可以让网络管理者更加灵活的控制网络的拓扑,而不受传统网络限制。
2. 可扩展性:OpenFlow协议可以实现网络的无缝扩展,可以更加高效的扩展网络。
3. 安全性:OpenFlow协议可以避免ddos攻击,保护网络的安全性。
OpenFlow协议的缺点:1. 复杂性:OpenFlow协议比较复杂,需要具备一定的技术能力才能正确的控制网络拓扑。
2. 成本:OpenFlow协议需要使用支持OpenFlow协议的硬件设备,因此成本比较高。
OPENFLOW协议介绍
OPENFLOW协议介绍篇一:Openflow协议通信流程解读Openflow协议通信流程解读分类: openflow协议分析 2013-12-30 19:01887人阅读评论(1)收藏举报目录(?)[-] ?controller组成OFPT_FEATURES_REPLY篇二:Openflow及SDN技术简介Openflow及SDN1.网络虚拟化之SDN和OPENFLOW云计算的发展,是以虚拟化技术为基础的。
云计算服务商以按需分配为原则,为客户提供具有高可用性、高扩展性的计算、存储和网络等IT资源。
虚拟化技术将各种物理资源抽象为逻辑上的资源,隐藏了各种物理上的限制,为在更细粒度上对其进行管理和应用提供了可能性。
近些年,计算的虚拟化技术(主要指x86平台的虚拟化)取得了长足的发展;相比较而言,尽管存储和网络的虚拟化也得到了诸多发展,但是还有很多问题亟需解决,在云计算环境中尤其如此。
OpenFlow和SDN尽管不是专门为网络虚拟化而生,但是它们带来的标准化和灵活性却给网络虚拟化的发展带来无限可能。
OpenFlow起源于斯坦福大学的Clean Slate项目组 [1] 。
CleanSlate项目的最终目的是要重新发明英特网,旨在改变设计已略显不合时宜,且难以进化发展的现有网络基础架构。
在2006年,斯坦福的学生Martin Casado领导了一个关于网络安全与管理的项目Ethane[2],该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通讯的安全控制。
受此项目(及Ethane的前续项目Sane[3])启发,Martin和他的导师Nick McKeown教授(时任Clean Slate项目的Faculty Director)发现,如果将Ethane的设计更一般化,将传统网络设备的数据转发(data plane)和路由控制(control plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。
openflow协议书
openflow协议书OpenFlow协议是一种为软件定义网络(SDN)架构设计的开放通信协议。
通过OpenFlow协议,网络管理员可以通过集中控制器对网络设备进行管理和控制,实现网络的灵活性、可编程性和可自动化的特性。
下面将对OpenFlow协议的设计原理、工作流程和应用场景进行详细介绍。
OpenFlow协议的设计原理是将网络设备的控制平面(Control Plane)与数据平面(Data Plane)分离。
在传统网络中,控制平面和数据平面是紧密耦合的,网络设备负责处理数据包的转发和处理,以及控制平面的任务。
而在OpenFlow网络中,网络设备只负责数据转发和处理,所有的控制任务由集中控制器来完成。
这种分离的设计使得网络设备更加简单和高效,并且实现了网络控制的灵活性和可编程性。
OpenFlow协议的工作流程主要包括三个部分:控制器发出控制消息、网络设备进行数据转发和处理、网络设备将数据包转发到指定的端口。
当控制器发出控制消息时,它会根据网络的需求来编写和配置数据转发规则(Flow Rules),并将这些规则发送到网络设备的Flow Table中。
网络设备依照Flow Table中的规则对数据包进行操作,例如转发、丢弃或修改。
最后,网络设备将数据包发送到指定的端口,完成数据传输。
OpenFlow协议的应用场景非常广泛。
首先,它可以用于数据中心网络的管理和控制。
在传统的数据中心网络中,需要手动配置网络设备,而OpenFlow可以实现自动化配置和管理,提高网络的可靠性和可扩展性。
其次,OpenFlow可用于网络安全。
通过集中控制器可以对数据包进行深度检测和策略管理,提供更加灵活和可靠的安全措施。
此外,OpenFlow还可以应用于无线网络、广域网和云计算等领域。
尽管OpenFlow协议在网络技术中有诸多优点,但也存在一些挑战和限制。
首先,协议的安全性是一个关键问题。
由于控制器和网络设备之间的通信是基于网络的,因此需要采取必要的安全措施来防止恶意攻击和非法访问。
SDN软件定义网络之南向协议——OpenFlow协议
SDN软件定义网络之南向协议——OpenFlow协议一、引言SDN(Software Defined Networking)是一种新兴的网络架构,通过将网络控制平面与数据转发平面分离,实现了网络的灵活性和可编程性。
而南向协议则是SDN中控制器与网络设备之间进行通信的协议,用于实现控制器对网络设备的管理与控制。
OpenFlow协议作为SDN中最为重要和广泛应用的南向协议,定义了控制器与交换机之间的通信方式和消息格式。
二、协议目的本协议旨在规范OpenFlow协议的标准格式,确保控制器与交换机之间的通信能够顺利进行,并实现网络设备的灵活管理与控制。
三、协议范围本协议适用于支持OpenFlow协议的SDN网络中,包括控制器和交换机之间的通信以及相关的消息交互。
四、术语定义4.1 OpenFlow控制器(Controller):负责管理和控制SDN网络中的交换机,与交换机通过OpenFlow协议进行通信。
4.2 OpenFlow交换机(Switch):实际的网络设备,根据控制器的指令进行数据转发和处理。
4.3 OpenFlow通道(Channel):控制器与交换机之间的通信通道,可以基于TCP或TLS协议实现。
4.4 消息(Message):控制器和交换机之间传递的信息单元,包括控制命令、状态信息等。
五、协议内容5.1 OpenFlow消息格式5.1.1 消息头部(Header)消息头部包括版本号、消息类型、消息长度等字段,用于标识和解析消息。
5.1.2 消息体(Body)消息体根据不同的消息类型而变化,包括控制命令、配置信息、状态信息等。
5.2 OpenFlow消息类型5.2.1 控制命令消息控制命令消息用于控制器向交换机发送指令,包括流表项的安装、删除、修改等操作。
5.2.2 配置消息配置消息用于控制器向交换机发送配置信息,包括端口配置、流表配置等。
5.2.3 状态消息状态消息用于交换机向控制器发送当前的状态信息,包括端口状态、链路状态等。
SDN软件定义网络之南向协议——OpenFlow协议
SDN软件定义网络之南向协议——OpenFlow协议一、引言SDN(Software Defined Networking)软件定义网络是一种新兴的网络架构,通过将网络控制平面和数据平面分离,实现了网络的集中管理和灵活性。
南向协议是SDN中的一种重要协议,用于控制器与交换机之间的通信。
OpenFlow协议是目前应用最广泛的南向协议,定义了控制器与交换机之间的通信接口和消息格式。
二、协议目的本协议旨在规范OpenFlow协议的格式和功能,确保控制器能够与OpenFlow兼容的交换机进行有效的通信,并实现网络的灵活管理和控制。
三、协议范围本协议适用于使用OpenFlow协议的SDN网络中的控制器和交换机之间的通信。
四、术语和定义1. SDN(Software Defined Networking):软件定义网络,一种通过将网络控制平面和数据平面分离的网络架构。
2. 南向协议:用于控制器与交换机之间的通信的协议。
3. OpenFlow协议:一种SDN中广泛使用的南向协议,定义了控制器与交换机之间的通信接口和消息格式。
五、协议要求1. OpenFlow协议必须支持交换机与控制器之间的双向通信。
2. OpenFlow协议必须支持交换机与控制器之间的消息交互,包括控制器向交换机发送指令和交换机向控制器发送状态信息。
3. OpenFlow协议必须支持交换机的流表管理,包括流表的添加、修改、删除等操作。
4. OpenFlow协议必须支持交换机与控制器之间的事件通知,包括端口状态变化、链路断开等事件的通知。
5. OpenFlow协议必须支持交换机与控制器之间的统计信息交互,包括流量统计、端口统计等。
六、消息格式1. 控制器向交换机发送的消息格式:a) 控制器发起连接请求消息(OFPT_HELLO):用于建立控制器与交换机之间的连接。
b) 控制器发送特征请求消息(OFPT_FEATURES_REQUEST):用于获取交换机的特征信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳
沈阳
西安
南京
北京
上海
重庆
广州
西安 北京
…
广州
沈阳
南京
上海
广州 重庆
南京 北京 西安 …
上海
路标信息维护机制确保公路网络拓扑发生变化时能够更 新路标信息,保障路标信息的正确性和最优化。
公路网络正常运行的条件
1、物理连通 2、路标信息 3、路标信息的维护机制
再思考一个问题:
有大量的电脑,现在希望这些电脑互相通信,我们 需要做哪些事情?
终端
终端
终端
终端
终端
终端
终端
终端
终端
终端
Step2中的转发表是由转发表维护机制生成的
传统网络设备工作方式:
所有设备运行相同的协议,通过协议信息交 流生成转发表
Feature
Feature
Operating System
Specialized Packet Forwarding Hardware
Feature
保 IP VL 目的IP
源IP
留服A
务N
类优
型先
级
目 源 IP 以 目 源 VL 入
的端协太的M A 端
端口议网M A N 口
口
字类A C 标
段型C
签
除源IP和目的IP以外,掩码位为0表示对应匹配项需要精确匹配,掩码为为1表示忽略 匹配项。
源IP和目的IP字段的掩码表示32bitIP地址可以忽略匹配的长度。 如果源IP的掩码为8(wildcard的8‐13bit为001000),表示源IP字段的高24bit需要精确 匹配,源IP字段的低8bit可以忽略。
控制器向交换机发送Features Request消息查 询交换机特性,Features Request消息只包含 Openflow Header。 交换机在收到Features Request消息后返回 Features Reply消息,Features Reply消息包括 Openflow Header 和Features Reply Message
dst port)
数据包处理方法: • 转发 • 修改包头
Openflow1.0对数据包匹配特征的描述方法
ofp_match的wildcard
ofp_match的wildcard
22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ‐ 31
2、Features Reply
控制器
Server:TCP6653端口
1、Features Request
Client
Features Reply Message结构
datapath_id为交换机独一无二的ID号 n_buffers为交换机可以同时缓存的最大数据包个数 n_tables为交换机的流表数量 Capabilities表示交换机支持的特殊功能 Actions表示交换机支持的动作(见ofp_action_type) ofp_phy_ports为交换机的物理端口描述列表
Output类型Action的结构包含一个port参数和一个max_len参数 Port参数指定了数据包的输出端口,输出端口可以是交换机的一个实际物 理端口,也可以是一下虚拟端口 ALL:将数据包从除入端口以外其他所有端口发出 CONTROLLER:将数据包发送给控制器 LOCAL:将数据包发送给交换机本地端口 TABLE:将数据包按照流表匹配条目处理 IN_PORT:将数据包从入端口发出 NORMAL:按照普通二层交换机流程处理数据包 FLOOD:将数据包从最小生成树使能端口转发(不包括入端口)
Openflow1.0对数据包处理方法的描述方法
Openflow1.0提供两种数据包的处理方法: • 转发(Forward) • 修改包头(Modify field)
SET_VLAN_VID 修改VLAN标签 SET_VLAN_PCP 修改VLAN优先级 STRIP_VLAN 弹出VLAN标签 SET_DL_SRC 修改源MAC地址 SET_DL_DST 修改目的MAC地址 SET_NW_SRC 修改源IP地址 SET_NW_DST 修改目的IP地址 SET_NW_TOS 修改IP服务类型字段 SET_TP_SRC 修改源端口号 SET_TP_DST 修改目的端口号
Step2:添加路标
西安
重庆 广州
北京 南京 上海
…
重庆
沈阳
沈阳
西安
南京
北京
上海
重庆
广州
西安 北京 沈阳
…
广州
南京
上海
广州 重庆
南京 北京 西安 …
上海
添加路标后,交通流量就知道去往目的地的正确方向。 但是路标就一定是正确的吗?
Step3:建立路标信息维护机制
西安
重庆 广州
北京 南京 上海
…
重庆
编号 1 2 …… N
数据包匹配特征 特征1 特征2
…… 特征N
HUB的转发表结构
编号
入端口
1
入端口1
2
入端口2
……
……
N
入端口N
数据包处理方法 处理方法1 处理方法2 …… 处理方法N
数据包处理方法 从其他所有端口转发 从其他所有端口转发 …… 从其他所有端口转发
L2Switch的转发表结构
编号 1 2
Openflow交换机流表
编号 1 2 …
Openflow Match match1 match2 …
Action List actions1 actions2 …
每条流表条目还包括Counter字段,用来保存与条目相关的统计信息
控制器如何写流表?
Openflow消息
Openflow消息总共分为三大类: 1、Controller‐to‐Switch 控制器至交换机消息此类消息由控制器主动发出
终端
终端
终端
终端
终端
终端
终端
终端
终端
终端
Step1:建设计算机网络终端终端ຫໍສະໝຸດ 终端终端终端
终端
终端
终端
终端
终端
计算机网络包括网络设备(节点)和链路(边) 任意两台计算机之间有信号的物理通路
Step2:创建转发表
网络A
终端
终端
终端
终端
B
AC
AB
C
BD
D
BC
B
网络B
终端
网络C
网络D
终端
终端
终端
终端
终端
Step3:建立转发表维护机制
目的MAC 目的MAC1 目的MAC2
……
……
N
目的MACN
Router的转发表结构
编号 1 2
目的IP网段 目的IP网段1 目的IP网段2
……
……
N
目的IP网段N
数据包处理方法 出口1 出口2 …… 出口N
数据包处理方法 出口1 出口2 …… 出口N
软件定义网络
控制器:控制器知道所有网络信 息,负责指挥设备如何工作
当port为CONTROLLER时,max_len指定了发给CONTROLLER的数据包最大长 度。当port为其他参数时,max_len无意义。
Action——ENQUEUE类型 Actions——修改VLANID Action——修改VLAN优先级
Action——修改MAC地址 Action——修改IP地址 Action——修改IP服务类型 Action——修改传输层端口号
protocol
Feature
Feature
Operating System
Specialized Packet Forwarding Hardware
Feature
Feature
Operating System
Specialized Packet Forwarding Hardware
protocol
Feature
Operating System
Specialized Packet Forwarding Hardware
protocol
protocol
protocol
Feature
Feature
Operating System
Specialized Packet Forwarding Hardware
Features 用来获取交换机特性 Configuration 用来配置Openflow交换机 Modify‐State 用来修改交换机状态(修改流表) Read‐Stats 用来读取交换机状态 Send‐Packet 用来发送数据包 Barrier 阻塞消息 2、Asynchronous 异步消息此类消息由交换机主动发出
如果双方Openflow版本可以兼容,则Openflow连接建立 成功。
控制器
Server:TCP6653端口
OFP_Hello
Client
Openflow连接建立后,控制器最关心的事情是什么?
获取交换机特性(Features)信息
Openflow连接建立后,控制器最需要获得交
换机的特性信息,交换机的特性信息包括交 换机的ID(DPID),交换机缓冲区数量,交换机 端口及端口属性等等。
物理端口描述
port_no为物理端口的编号 hw_addr为端口的MAC地址 name为端口的名称 config为端口的配置 State为端口状态 curr, advertised supported,peer 为端口物理属性
控制器
Openflow