<计算机网络自顶向下> 通用转发和SDM

2024-04-29 15:20

本文主要是介绍<计算机网络自顶向下> 通用转发和SDM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

,网络层功能为例的数据平面和控制平面:

网络层功能:

转发——对于从某个端口到来的分组转发到合适的输出端口

路由——决定分组从源端到目标端的路径(依靠路由算法)

每个路由器的控制平面

  • 每个路由器上都有实现路由算法元件(它们之间需要相互交互)-形成传统IP实现方式的控制平面
    • 每台设备上既实现控制功能,又实现数据平面
    • 控制功能分布式实现
    • 路由表把这两种功能粘连
  • 网络设备(中间盒)繁多(比如交换机、防火墙、NAT、IDS等等),需要不断增加需求和相应的网络设备,需要不同的设备去实现不同的网络层功能(每台设备集成了控制平面和数据平面的功能,控制平面分布式的实现了各种控制平面,升级和部署网络设备非常困难)
  • 网络设备控制平面的实现方式特点
    • 互联网的网络设备传统方式都是通过分布式·,每台设备的方法来实现数据平面和控制平面的功能

      垂直集成:每台路由器或者其他网络设备,包括:

             1.  硬件、在私有的操作系统

              2. 互联网标准协议(IP,RIP,IS-IS,OSPE,BGP)的私有实现

              3. 从上到下都由一个厂商提供(代价大,被设备上“绑架”)
      每个设备都实现了数据平面和控制平面的事情(分布式实现) 设备基本上只能(分布式升级困难),按照固定方式工作,控制逻辑固化。不同的网络功能需要不同的中间盒

    • (数据+控制平面)集成 --> (控制逻辑)分布 --> 固化
      • 代价大,升级困难
      • 管理困难

SDN:逻辑上集中的控制平面

  • 定义:一个不同的(通常是远程)控制器和CA交互,控制器决定分组转发的逻辑(可编程)CA所在设备执行逻辑
  • 每个路由器包含一个流表(被逻辑上集中的控制计算和分发)

  • 原理:控制器集中化的实现,通过南向接口,把算出来的流表发给每个设备当中的一个控制代理,由代理把流标装在下来,流标装载到分组交换机以后,分组交换机对到来的分组匹配出来的流表之后的表象做相应的动作(可以匹配iP,MAC地址和一些其他的头部字段;动作有转发,block,泛洪,改变字段,有什么样的流表就可以做什么动作,所以编程流表就可以改变动作,网络就可编程可升级)分组交换机可以变得很便宜,都遵守南向接口可以支持多种网络操作系统,改变了垂直集成。
  • 多功能:此时运营商只需要部署一种网络设备——分组交换机,通过下滑不同的流表,这个分组交换机可以表现为交换机,路由器,入侵检测系统,防火墙等等一些中间盒
  • 设备之上:在这个控制器之上我们可以运行不同的网络操作系统和网络操作系统的应用
  • 特点
    • 根据流标对到来的分组动作
    • 控制平面和数据平面分离,集中化
    • 控制平面功能在数据交换设备之外实现
    • 可编程控制
  • 优势
    • 业界生态开放而不是垄断,促进产业良好发展

    • 集中式实现控制逻辑,网络管理容易
    • 基于流表的匹配+行动的工作方式允许“可编程”的分组交换机

  • SDN架构组成
    • 数据平面交换机

    • SDN控制器(网络OS)

    • 网络控制应用

OpenFlow 数据平面抽象

  • OpenFlow 是 SDN 中的一种通信协议,用于在网络控制器和数据转发设备之间进行通信。OpenFlow 定义了一组标准化的消息格式和协议操作,允许网络控制器向数据转发设备发送指令,并从数据转发设备收集网络流量和状态信息。
  • 流:由分组(帧)头部字段所定义
  • 通用转发:简单的分组处理机制
    • 模式:将头部分组字段和流标进行匹配
    • 行动:对于匹配上的分组,可以是丢弃、转发、修改、将匹配的分组发送给控制器
    • 优先权Priority:两个表项匹配了优先选择某个action
    • 计数器Counters:匹配表项该表项计数器+1

  •  流表的表项结构
    • Rule(规则): 规则定义了数据包应该如何被处理。它包含了匹配字段和对应的操作。匹配字段用于确定数据包是否与该规则匹配,而操作定义了与匹配到的数据包相关的动作。规则基于设备配置或者管理者定义,通常具有一定的优先级,以确定当数据包匹配到多个规则时,应该采用哪个规则进行处理。

    • Action(操作): 操作定义了规则匹配成功后执行的动作。这些动作可以包括转发数据包到指定的端口、丢弃数据包、修改数据包头部信息等。操作通常是设备根据流表项执行的指令,以确定数据包的处理方式。

    • Stats(统计信息): 统计信息记录了匹配到流表项的数据包数量、数据包的平均大小等相关信息。这些统计信息对于网络性能分析、故障排除和优化网络规则非常有用。管理员可以根据统计信息来评估流量模式、识别异常行为并调整流表项以改善网络性能和安全性。

  •  流表例子

  • OpenFlow 抽象
    • match+action:统一化各种网络设备提供的功能

这篇关于<计算机网络自顶向下> 通用转发和SDM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946454

相关文章

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

j2EE通用jar包的作用

原文:http://blog.sina.com.cn/s/blog_610901710101kx37.html IKIKAnalyzer3.2.8.jar // 分词器 ant-junit4.jar // ant junit antlr-2.7.6.jar // 没有此包,hibernate不会执行hql语句。并且会报NoClassDefFoundError: antlr

CCF推荐C类会议和期刊总结(计算机网络领域)

CCF推荐C类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的C类会议和期刊为研究者提供了广泛的学术交流平台。以下是对所有C类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属领域。 目录 CCF推荐C类会议和期刊总结(计算机网络领域) C类期刊 1. Ad Hoc Networks 2. CC 3. TNSM 4. IET Com

通用内存快照裁剪压缩库Tailor介绍及源码分析(一)

背景 我们知道内存快照是治理 OOM 问题及其他类型的内存问题的重要数据源,内存快照中保存了进程虚拟机的完整的堆内存数据,很多时候也是调查其他类型异常的重要参考。但是dump出来的堆转储文件.hprof往往很大,以 LargeHeap 应用为例,其 OOM 时的内存快照大小通常在512M左右,要有效的存储和获取都是一个问题。 线下拿到hprof文件相对容易,也可以预防OOM,但覆盖的场景十分有

SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能

一、结果展示 主要功能:可以根据前端传递的参数,导出指定列、指定行 1.1 案例一 前端页面 传递参数 {"excelName": "导出用户信息1725738666946","sheetName": "导出用户信息","fieldList": [{"fieldName": "userId","fieldDesc": "用户id"},{"fieldName": "age","fieldDe

在struts.xml中,如何配置请求转发和请求重定向!

<span style="font-size:18px;"><span style="white-space:pre"> </span><!--<strong>下面用请求转发action </strong>,<strong>这样过去id不会丢</strong>,如果用重定向的话,id会丢 --><result name="updatePopedom"<span style="color:#ff00

请解释JSP中的九大内置对象及其作用。什么是Java Web中的请求转发和重定向?它们有什么区别?

请解释JSP中的九大内置对象及其作用。 JSP(JavaServer Pages)中的九大内置对象(也称为隐式对象或自动对象)是JSP容器为每个页面提供的Java对象,这些对象在JSP页面被转换成Servlet时自动可用,无需显式声明。这些对象极大地简化了JSP页面的开发,因为它们提供了对Web应用程序中常见功能的直接访问。以下是九大内置对象及其作用的详细解释: request:javax.

数据结构(邓俊辉)学习笔记】排序 5——选取:通用算法

文章目录 1. 尝试2. quickSelect3.linearSelect:算法4. linearSelect:性能分析5. linearSelect:性能分析B6. linearSelect:性能分析C 1. 尝试 在讨论过众数以及特殊情况下中位数的计算方法以后,接下来针对一般性的选取问题,介绍优化的通用算法。 既然选取问题的查找目标就是在整个数据集中按大小次序秩为 k

[计算机网络]-计网学习笔记-计网知识点总结(附完整笔记)

本笔记是跟着 b站 湖科大教书匠 视频做的笔记,其中图片为视频中的 PPT,加上了自己的注释。         这是原视频链接。大家可以参照着笔记看原视频。视频中的 PPT 做的非常好。         【计算机网络微课堂(有字幕无背景音乐版)】https://www.bilibili.com/video/BV1c4411d7jb?vd_source=1146b07cc2d66

c++通用模板类(template class)定义实现详细介绍

有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int { public : Compare(int a,int b) { x=a; y=b; } int max( ) { return (x>y)?x:y; } int min( ) { return (x&... 有时,有两个或多个类,其功能是相同的,仅仅是数