0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用开源网络协议提高网络敏捷性

星星科技指导员 来源:嵌入式计算设计 作者:Alex Henthorn-Iwane 2022-08-12 11:10 次阅读

我们开源网络标准系列的前三部分涵盖了OpenDaylight、Open vSwitch和OpenStack,所有这些都是旨在改变供应商、电信和企业客户处理网络方式的广泛软件项目。这三个计划涉及软件定义网络 (SDN) 控制器 ( OpenDaylight )、虚拟交换 ( Open vSwitch ) 和云编排 ( OpenStack )。

在这篇文章中,我们将介绍一些开源网络协议,这些协议在推动提高网络敏捷性方面发挥了重要作用。可以说最突出的是 OpenFlow,它确实是 SDN 运动的催化剂,因为它使业界关注交换机编程的想法。OpenFlow 起源于 Ethane,这是当时斯坦福博士在 2006 年的一个项目。学生 Martin Casado(自 Nicira 的首席技术官和联合创始人以来,目前是 Nicira 收购方 VMware 的高管),现在由开放网络基金会管理。

OpenFlow:一种用于管理流量和启用 SDN 编排的协议

尽管 OpenFlow 很突出,但它并不是 SDN 的唯一协议,它本身也不足以成为 SDN。相反,正如史蒂夫·埃文斯(Steve Evans)不久前在 ComputerWeekly 上指出的那样,它是SDN 架构的构建块,它实现了对 SDN 至关重要的关键抽象和可编程性。

在最基本的层面上,OpenFlow 集中了数据包交换控制,取代了控制大多数网络上每个交换机发送数据包的位置的专有软件。它基于灵活的流场,而不是简单的基于目的地匹配,它被设计为SDN内转发和控制平面之间的标准通信接口。使用 OpenFlow,不仅可以解耦转发和控制,还可以解耦软件和硬件以及物理和逻辑配置。

传统的 L2 交换机使用 MAC 学习和单播泛洪来逐步填充其转发表和目标 MAC 地址以进行转发,而围绕 OpenFlow 构建的网络从服务器或 VM 上运行的 OpenFlow 控制器(例如 OpenDaylight)接收其转发表指令。OpenFlow 控制器通过 OpenFlow 协议与交换机和路由器进行交互,并通过北向 API 与业务应用程序交互。

控制器的集中位置使其能够优化网络范围内的流控制,以最大限度地提高带宽利用率,提供更好的端到端 QoS,并根据业务策略有效响应来自应用程序和服务的动态需求。OpenFlow 是云编排的理想伴侣,因为其更灵活、可编程的特性使其成为支持策略驱动的基础架构环境的连接的基础。

OpenFlow 系统包含三个关键组件:

· OpenFlow兼容交换机中的流表

· OpenFlow 控制器,如上所述

· 控制器和交换机通信的OpenFlow协议

OpenFlow 交换机上的流表条目包含可以匹配的数据包字段,包括源(或目标)以太网或 IP 地址、TCP/IP 端口等。诸如将数据包转发到正确的端口、更改标头值或丢弃是由基于这些字段的流策略驱动的。

参数由控制器定义,通常还会接收与现有流表条目不匹配的任何数据包。当控制器处理其中一个数据包时,它将创建一个新条目,其中包含将来处理类似流的指令。

OpenFlow 控制器和 OpenFlow 交换机的消息传递可能是对称的、异步的或控制器到交换机的:

· 对称消息是交换机和控制器之间的“hello”消息,以及用于监控交换机到控制器通信延迟的回显消息。

· 来自交换机的异步消息涉及上述与现有流表条目不匹配的数据包情况。交换机还可以通知控制器端口的变化、错误或由于不活动而导致的流的移除。

· Controller-to-switch听起来像是控制器可能会向交换机询问信息、修改其流表或在创建新条目后重新发送数据包。

OpenFlow 和 SDN 社区

OpenFlow 是 SDN 运动和更广泛的开源社区机制中的一个重要组成部分。OpenFlow 与 OpenDaylight 和 Open vSwitch 有关键的交互(例如,它允许对 Open vSwitch 进行编程扩展,促进网络自动化)。对于SDN来说,它是最有影响力的转发/控制抽象的开源协议。Open Networking Foundation 现在囊括了惠普、华为、IBM 等多家主要厂商,并不断完善 OpenFlow。

然而,这并不是镇上唯一的游戏。思科已将 OpFlex 作为其以应用为中心的基础设施 (ACI) 的一部分,这可以看作是对 SDN 的一种非常不同的看法,它不需要 OpenFlow 的特定功能集。此外,诸如 VMware 的 NSX 之类的网络覆盖方法为实现网络可编程性提供了一种完全不同的范例。

随着越来越多的组织转向软件定义的数据中心和额外的虚拟化,OpenFlow 几年前开辟的 SDN 空间仍然具有很强的竞争力。随着 Gartner 宣布 SDN 已达到其炒作周期的最低点,真正的采用者正在认真工作,将 OpenFlow 及其竞争对手等协议转变为实际业务问题的现实解决方案。只有时间会告诉我们哪些范式会胜出。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16073

    浏览量

    176971
  • 交换机
    +关注

    关注

    20

    文章

    2608

    浏览量

    99038
  • 开源
    +关注

    关注

    3

    文章

    3210

    浏览量

    42288
收藏 人收藏

    评论

    相关推荐

    什么是协议分析仪和训练器

    景: 电子设计:在电子产品的设计过程中,使用训练器对I3C接口进行训练和测试,确保设计的正确和可靠。 汽车测试:在汽车行业中,利用训练器对车载通信系统进行测试和验证,确保车辆通信的稳定性和安全
    发表于 10-29 14:33

    华纳云:探讨可用于降低服务器网络延迟的先进的网络协议

    网络延迟是影响在线服务性能的重要因素之一,尤其是在实时应用和高交互性网站中。通过采用更高级别的网络协议,可以有效降低网络延迟,提高数据传输效
    的头像 发表于 09-30 15:14 129次阅读

    Linux网络协议栈的实现

    网络协议栈是操作系统核心的一个重要组成部分,负责管理网络通信中的数据包处理。在 Linux 操作系统中,网络协议栈(Network Stac
    的头像 发表于 09-10 09:51 229次阅读
    Linux<b class='flag-5'>网络</b><b class='flag-5'>协议</b>栈的实现

    常见的shell命令之网络相关命令

    网络服务等内容。1)OSI七层模型OSI模型即网络结构的标准模型,是由国际互联网标准化组织定义的网络分层模型,虽然由于模型的实现太复杂,并没有实际的七层网络
    发表于 08-20 09:50

    是否能将libwebsokets移植到ESP8266上利用libwebsokets进行网络应用开发?

    1. 如题目,请问是否能将 libwebsokets 移植到 ESP8266上 利用 libwebsokets进行网络应用开发? 2. libwebsokets 是纯C实现,如何设置ESP8266
    发表于 07-22 06:22

    一个没有mesh协议的ble设备,如何通过gatt协议与mesh网络通信?

    一个没有mesh协议的ble设备,如何通过gatt协议与mesh网络通信,代理节点需要调用需要调用那些接口进行转换。mesh网络中的代理节点如何转换gatt服务的消息的。ESP-IDF
    发表于 06-24 07:52

    请问如何将esp32-idf内部的应用层网络协议关联到自己写的网络设备上?

    使用ESP32-IDF里面的应用层协议如MQTT、HTTP。但网络设备是自己添加的4G模块,请问有没有类似的应用例程,如何将4G网络模块关联到MQTT应用层协议里面。
    发表于 06-21 13:47

    工业网络通讯协议有哪些

    随着工业自动化的不断发展,设备之间的互联互通和数据交换变得越来越重要。工业网络通讯协议作为实现这一功能的关键技术,其在工业自动化系统中扮演着至关重要的角色。本文将对工业网络通讯协议进行
    的头像 发表于 06-06 18:02 1505次阅读

    网络传输协议有几种?

    网络传输协议是一种规定计算机在网络中进行通信的规则或标准。常见的网络传输协议有以下几种: 1. TCP/IP
    的头像 发表于 04-02 16:04 1214次阅读

    深入理解Linux网络协议

    网络分层解决了网络复杂的问题,在网络中传输数据中,我们对不同设备之间的传输数据的格式,需要定义一个数据标准,所以就有了网络协议
    发表于 04-01 14:20 297次阅读
    深入理解Linux<b class='flag-5'>网络</b><b class='flag-5'>协议</b>

    如何利用PTP协议实现一主多从网络时间同步?

    );进行网络PTP协议初始化,各自可以调用XMC_ETH_MAC_GetPTPTime(ETH_LWIP_0.eth_mac, ut);获取各自的PTP计时; 2,我的主设备应该如何操作,来完成对从
    发表于 03-12 06:53

    车载网络协议与串扰问题

    本文要点汽车网络协议包括本地互连网络(LIN)、控制器局域网络(CAN)、面向媒体的系统传输(MOST)和FlexRay等。通过一根非屏蔽双绞线(UTP),车载以太网为汽车提供了一种经
    的头像 发表于 03-05 08:14 1188次阅读
    车载<b class='flag-5'>网络</b><b class='flag-5'>协议</b>与串扰问题

    通信网络协议栈之UDP协议技术解析

    在通常的网络协议栈中,TCP/IP协议栈是一个常见的示例,其中UDP和TCP都是传输层协议。传输层负责提供端到端的数据传输服务,它在网络层(
    发表于 02-01 11:00 853次阅读
    通信<b class='flag-5'>网络</b><b class='flag-5'>协议</b>栈之UDP<b class='flag-5'>协议</b>技术解析

    确定性网络技术如何提高网络的可靠

    确定性网络技术通过采用时钟同步、流同步和时序一致、带宽保障和流量控制、数据包复制与排除等机制,提高网络的可靠,适用于工业自动化、车辆
    的头像 发表于 01-12 16:50 1064次阅读
    确定性<b class='flag-5'>网络</b>技术如何<b class='flag-5'>提高</b><b class='flag-5'>网络</b>的可靠<b class='flag-5'>性</b>?

    CC-LINKIE转EtherCAT协议具体应用

    传输到EtherCAT网络中。这种转换过程可以实现对数据的采集、传输和处理,同时还可以实现不同协议之间的互联互通,提高系统的兼容和可扩展性。 CCLINKIE转EtherCAT
    发表于 12-17 13:02