欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

opendaylight笔记1.openflow

程序员文章站 2022-08-12 18:57:46
opendaylight笔记1.openflow   今天的互联网业务对互联网提出了越来越高的传输质量要求,所以诞生了改革派:将互联网之前的协议设施等推到重来。 openflo...

opendaylight笔记1.openflow

 

今天的互联网业务对互联网提出了越来越高的传输质量要求,所以诞生了改革派:将互联网之前的协议设施等推到重来。

openflow是改革派提出的一种新型网络交换模型。

openflow的核心思想是 将原本完全由交换机/路由器控制的数据包转发过程,转化为openflow交换机(openflow switch)和控制服务器(controller)分别完成的独立过程。

传统网络中,数据包的流向是人为指定的,虽然交换机/路由器拥有控制权,却没有数据流的概念,只进行数据包级别的交换;在openflow中,统一的由控制服务器取代路由,决定了所有数据在网络中的传输路径。

openflow交换机会在本地维护一个与转发表不同的流表,如果要转发的数据包在流表中有对应项,则快速转发;若没有此项,数据包会被发送到控制服务器进行传输路径的确认,再根据下发结果进行转发。

openflow规范:

1.openflow的端口(port)

  a.物理端口

  b.逻辑端口:在物理端口基础上由switch设备抽象出来的逻辑端口

  c.openflow定义的端口:all,controller,table.in_port,any,local,normal,flood(后三为非必需端口)

2.flowtable(流表)

match fields  priority  counters instructions  timeouts cookies

匹配域        优先级    统计数据  处理指令     

所有的规则都被组在flowtable中,在同一个flowtable中按规则的优先级进行先后匹配。一个openflow的switch中可包含一个或多个flowtable,从0依次编号排列。数据包进入switch后,先从flowtable 0 开始依次匹配,按次序从小到大越级跳转,但不能跳到更小的flowtable.

匹配成功后,首先更新该规则对应的统计数据,然后根据规则中的指令进行操作。

3.openflow的通信通道

定义了openflow switch 如何与controller建立连接、通讯以及相关消息类型

三种消息类型:

  a.controller/switch消息,由controller发起,switch接受并处理的消息。

  b.异步消息,由switch发给controller,用来通知switch上发生的某些异步事件的消息。

  c.对称消息,双向对称消息,用来建立连接、检测对方是否在线

4.openflow协议以及相关数据结构