SDN principle OpenFlow protocol -3

Question 4: Flow table match

OF1.1 version


This is OF1.1 version of the OS, the introduction of multi-stream table, version 1.0 no more flow table.

  • Multiple matching table is called pipeline processing flow : Find the switch from the flow table 0, in accordance with the flow matching the table number from small to large.
  • Each packet according to priority matching entry in the flow table, a higher priority to matching; once the match is successful refresh counter and to perform an action, if the matching entry is not found then forwarded to the controller.

OF1.3 version and later versions Keywords: overlay execution


OF1.3 version compared OF1.1 matching flow table version number has changed:
(1) when the matching entry into the flow when the updated first counter, and then view the instruction set (have mentioned before, the instruction from the operation layer abstracted level, ease of management action), is determined by the instruction action is executed immediately, or be added to the address of the centralized; and then see the instruction set if there Goto-table option, any continue to find the next table, if not perform the action focused Actions.
(2) there is no match to the flow entry time, if there is Table-miss option in the View table, any, see its instruction set, if not discarded.

A simple process: matched to the flow entry -> see instruction set, update counter -> operation is performed immediately / Add Action Set -> Find a table / set operation performed;
no match to the flow entry -> there Table- miss entries -> with a view instruction set, similar to the preceding and next / no, discard.

  • Table 1.3 and after flow matching, in addition to the multi-stream operation table, Table-miss processing is introduced and the Action-set operation set.
  • Previous version, if there is no match to the switch when the flow entry, directly to the process controller; So now Table-miss for Solving the Problems forwarding and discard unmatched flow parameter Table-miss, and the data can be flow forwarding, discarding, to the operation of the controller.
  • 多流表操作中,每个表都有独立的指令,这些指令(执行动作)可以在查表的时候执行动作,也可以通过指令将动作添加到 Action-set 再叠加执行。

单表时,只有 Action 动作;多表环境中,多个 Action 累积成 action-set;决定 action-set 如何工作的,是表项的指令Instructions:指令可以将动作写入,添加修改到 Action-set 中,也可以直接在读表的时候进行。

至此,流表的问题结束了,那么···

问题来了,如何生成这些表?

传统网络中,在OSPF/BGP/RIP这些路由协议中,是通过分布式的交互来进行路由汇聚,生成表项的,这是动态路由。这是一种P2P架构(双方对等)。
那么,在SDN中,是由控制层的Controller控制器,直接下发流表。

交换机A,B,C,D将链路信息统一告诉Controller,Controller在执行完计算之后,统一下发流表给交换机。
这是一种 Client/Server 架构(C/S架构)。

Guess you like

Origin www.cnblogs.com/liujunjun/p/12209345.html