SDN网络技术:OpenFlow协议(2)

本文首发于我的公众号码农之屋(id: Spider1818),专注于干货分享,包含但不限于Java编程、网络技术、Linux内核及实操、容器技术等。欢迎大家关注,二维码文末可以扫。

导读:续上篇文章(对OpenFlow协议背景以及组件进行了介绍),本篇文章将对OpenFlow的运行机制进行详细的介绍。


一、OpenFlow支持的报文类型

在了解OpenFlow信道的建立过程之前,我们需要先了解OpenFlow协议目前支持的三种报文类型。

 

1、Controller to Switch消息

由Controller发起,Switch接收并处理的消息。这些消息主要用于Controller对Switch进行状态查询和修改配置等管理操作,可能不需要交换机响应。

图1 Controllerto Switch消息

 

Controller to Switch消息主要包含以下几种类型:

1)Features:用于控制器发送请求来了解Switch的性能(Switch必须回应该报文)。

2)Modify-State:用于管理Switch状态,如流表项和端口状态。该命令主要用于增加、删除、修改OpenFlow交换机内的流表表项,组表表项以及交换机端口的属性。

3)Read-State:用于控制器收集Switch各方面的信息,例如当前配置,统计信息等。

4)Flow-Mod:用来添加、删除、修改OpenFlow交换机的流表信息,共有五种类型:ADD、DELETE、DELETE-STRICT、MODIFY、MODIFY-STRICT。

5)Packet-out:用于通过Switch特定端口发送报文,这些报文是通过Packet-in消息接收到的。通常Packet-out消息包含整个之前接收到的Packet-in消息所携带的报文或者buffer ID。这个消息需要包含一个动作列表,当OpenFlow交换机收到该动作列表后会对Packet-out消息所携带的报文执行该动作列表。如果动作列表为空,Packet-out消息所携带的报文将被OpenFlow交换机丢弃。

6)Asynchronous-Configuration:控制器使用该报文设定异步消息过滤器来接收其只希望接收到的异步消息报文,或者向OpenFlow交换机查询该过滤器。

 

2、异步消息

由Switch发送给Controller,用来通知Switch上发生的某些异步事件的消息,主要包括Packet-in、Flow-Removed、Port-Status和Error等。例如,当某一条规则因为超时而被删除时

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值