一:什么是南向接口协议

        南向接口就是控制器与交换机之间的通信协议

SIEM的南向接入什么 什么是南向接口_网络协议

二:南向接口协议的主要任务

        不同的南向接口协议有不同的实现目标。

1.实现数据平面与控制平面的信息交互,向上收集交换机信息向下下发控制策略,指导转发行为。

2.实现网络的配置与管理。

3.实现路径计算,包括传送链路的带宽与开销等属性、链路状态、和拓扑信息等。

        南向协议的主要功能包括:

        1.流表项操作:包括添加、删除、修改流表项的操作,用于控制流的转发。

        2.事件通知:用于向控制器报告交换机的状态信息,例如端口的状态变化。

        3.统计信息查询:用于查询交换机的统计信息,例如端口流量、丢包数等。

        4.设备配置:包括交换机的基本配置,例如IP地址、SNMP设置等。

        5.安全认证:用于控制器与交换机之间的身份认证和安全通信。

 

三:已实现的南向接口协议 

SIEM的南向接入什么 什么是南向接口_SIEM的南向接入什么_02

四:OpenFlow协议

        OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式。OpenFlow交换机通过安全通道与控制器进行信息交互。

        OpenFlow消息类型:

        1.controller-to-switch消息(由控制器发起,可能会要求交换机回复对应的消息)

SIEM的南向接入什么 什么是南向接口_SIEM的南向接入什么_03

1.Features消息:
    发送Feature_Request消息请求交换机的特性信息
(在建立传输安全会话时,控制器主动向交换机发送Feature_Request消息,请求交换机的特性信息,交换机通过Feature_Reply消息回复所支持的功能特性)

2.Configuration消息
    设置或查询交换机的配置信息(可以设置查询交换机的配置信息,交换机需应答查询请求)

3.Modify-state消息
  管理交换机流表项和端口状态等
(修改状态消息主要用于增加、修改、删除交换机的流表项、组表项及端口状态)  
    
4.Read-state消息
    收集交换机的各种信息,包括配置信息、统计信息和功能特性

5.Send-packet消息
    通过Packet-out消息向交换机的指定端口发送数据包
(一般用于响应Packet-in消息的处理,Packet-out信息必须携带一个Buffer_id,来定位缓存在交换机上的数据包)

6.Barrier消息
    确保动作执行顺序,保持策略一致性(用于告知控制器该报文之前的动作均已执行)

        2.asynchronous信息(异步,这类消息的触发不是由控制器触发,而是有交换机主动发起的,用于告知控制器新数据包的到达,和交换机状态的改变) 

SIEM的南向接入什么 什么是南向接口_SIEM的南向接入什么_04

1.Packet-in消息:
    流表中没有匹配项,则发送Packet-in 消息给控制器
    有足够缓存:发送分组头中的控制信息和交换机的缓存标识(buffer_id)
    不支持缓存(或缓存不足) : 发送整个数据包

2.Flow-removed消息
    流表项因为超时或修改等原因被删除时,会触发该消息

3.Port-status消息
  端口状态发生变化时 (Up/Down),触发该消息  
    
4.Error消息
    通知控制器发生的问题

        2.symmtric消息(对称)

SIEM的南向接入什么 什么是南向接口_网络_05

1.Hello消息:
    在控制器和交换机建立连接时,交换机发送Hello消息来协商OpenFlow版本。

2.Echo消息:
    控制器或交换机发送Echo消息,另一方必须回应Echo消息,以检查网络的连接状态。
(该消息用于测量延迟、带宽或用于保持活动连接)

3.Vendor消息
  为额外的功能预留空间

        

        OpenFlow的消息格式:由OpenFlow头部和OpenFlow消息体组成。

1.OpenFlow头部:

SIEM的南向接入什么 什么是南向接口_网络_06

SIEM的南向接入什么 什么是南向接口_SIEM的南向接入什么_07

2.OpenFlow消息体:与具体的消息类型有关,消息类型是一种枚举类型,每种消息类型被定义为一个常数。

SIEM的南向接入什么 什么是南向接口_网络协议_08

 

五:OpenFlow协议的主要通信流程

1.控制器和交换机连接的建立

SIEM的南向接入什么 什么是南向接口_缓存_09

 2.双方建立TLS隧道后,方法发送hello消息进行版本协商(如果协议版本协商成功,则连接建立。否则发送Error消息描述协商失败原因,并终止连接)

SIEM的南向接入什么 什么是南向接口_网络安全_10

3.协商完成后,控制器和交换机之间发送Features消息,获取交换机参数(参数包括支持的buffer数目、流表数、Actions等)

SIEM的南向接入什么 什么是南向接口_网络_11

4.控制器发送SET_CONFIG消息向交换机发送配置参数

SIEM的南向接入什么 什么是南向接口_缓存_12

 5.通过GET_CONFIG消息得到交换机修改后的配置信息

SIEM的南向接入什么 什么是南向接口_网络_13

6.控制器与OpenFlow交换机之间,发送PACKET_OUT和PACKET_IN消息。通过PACKET_OUT中内置的LLDP包进行网络拓扑的探测

7.控制器通过FLOW_MOD向控制器下发流表操作

SIEM的南向接入什么 什么是南向接口_SIEM的南向接入什么_14