计算机网络第4章-通用转发和SDN

引子:

在前面,我们将基于目的地转发的特征总结为两个步骤:

查找目的IP地址(匹配),然后将分组发送到有特定输出端口的交换结构(“动作”)。

但是这种转发特征会带来许多问题,列如很多中间盒都有自己特殊的硬件、软件和管理界面,这对

于网络管理员来说是大麻烦,为此人们设计出了一种新的转发结构:“通用转发”。并且将使用通用

转发的中间盒叫作:“分组交换机。”

通用转发

在通用转发中,一张“匹配加动作表”讲我们的基于目的地的转发表一般化了。

下图是一个位于每台分组交换机中的一张匹配加动作表,该表由远程控制器计算。

在这里,我们有必要了解一下OpenFlow标准,这是一个SDN革命的先驱标准。

我们主要探讨OpenFlow1.0.

其中,匹配加动作转发表在OpenFlow中称为:流表”。

1.首部字段值的集合

首部字段值的集合,在进入流表后会进行匹配。匹配不上的分组会被丢弃。

2.计数器集合

当分组与流表项匹配上后,就会更新计数器。

这些计数器可以包括已经与该表项匹配的分组数量。

当分组匹配流表项时所采取的动作集合

这些动作可能将分组转发到给定的输出端口,丢弃该分组、复制该分组和将它们发送到多个输出端

口,或重写所选的首部字段。

值得注意的是,流表本质上是一个API,通过这种抽象每台分组交换机的行为能够被编程,类似

的,网络范围的行为也能够被编程。

匹配

下图是一个匹配示意图:

上图显示了11个分组首部字段和入端口IP,该IP能够被OpenFlow1.0中的匹配加动作所匹配。

OpenFlow的匹配抽象允许对上面的三个层次协议的首部所选择的字段进行匹配。

需要注意的是:

OpenFlow也可以有通配符,例如在流表中IP地址128.119.*.*将匹配其地址的前16比特为128.119的

任何数据报所对应的地址字段。

同时,流表也具有优先权,优先权越高,选定的匹配和对应的动作将是其中有最高优先权的那个。

动作

对于流表项,其实都有零个或多个动作列表,这些动作决定了以用于流表项匹配的分组的处理。

但是如果以后有多个动作,它们在表中按以下规定的次序执行:

1.转发

一个入分组可以转发到一个特定的物理输出端口,广播到所有端口,或通过所选的端口集合进行多播。

该分组也可能被封装并发送到用于该设备的远程控制器,该控制器则可能对该分组采取某些动作,

也可能忽略这个分组。

2.丢弃

没有动作的流表项表明某个匹配的分组应当被丢弃。

3.修改字段

在分组被转发到所选的输出端口之前,分组首部10个字段中的值可以重写。

也就是上图(图4-29中显示的除IP协议字段外的所有第二、三、四层字段)中的值可以重写。

匹配加动作操作中的OpenFlow例子

下图是一个使用OpenFlow标准的网络图:

第一例子:简单转发

现在我们假定一个转发行为:“来自h5或h6发往h3或h4的分组从s3转发到s1,然后从s1转发到

S2(完全避免使用s2和s3之间的链路。)”

对于上面例子,在s1中的流表项将是下图:

同时s3中也会有一个流表项:

最后,还需要在s2中也有一个流表项用来完成例子,使得从s1到达的数据报转发到它们的目的主机

h3或者h4:

第二个例子:负载均衡

下面我们来考虑一个负载均衡的例子,其中来自h3发往10.1.*.*的数据报经过s1和s2之间的直接链

路转发,与此同时来自h4发送10.1.*.*的数据报也经过s2和s3转发,注意的这种行为将不能通过基

于IP的目的地转发取得,因此,此时的s2中的流表项如下图所示:

在s1中需要流表项将从s2收到的数据报转发到h1或h2,在s3中需要流表项将接口4上从s2收到的数

据报经过接口3转发到s1。

第三个例子:充当防火墙

例如s2仅希望接收来自与s3相连的主机所发送的流量:

如果在s2的流表中没有其他表项,仅有来自10.3.*.*的流量将被转发到与s2相连的主机。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webpack babel

构建工具 简介 当我们习惯了在node中编写代码的方式后,在回到前端编写html、css、js这些东西会感觉到各种的不便。比如:不能放心的使用模块化规范(浏览器兼容性问题)、即使可以使用模块化规范也会面临模块过多时的加载问题。我们…

【Excel】函数sumif范围中符合指定条件的值求和

SUMIF函数是Excel常用函数。使用 SUMIF 函数可以对报表范围中符合指定条件的值求和。 Excel中sumif函数的用法是根据指定条件对若干单元格、区域或引用求和。 sumif函数语法是:SUMIF(range,criteria,sum_range) sumif函数的参数如下&#xff…

多测师肖sir___接口自动化测试框架(python+request+unittest+ddt)

接口自动化测试框架 一、接口自动化测试框架(pythonrequestunittestddt) 首先我们新建一个新项目:名称zdh 二、在一个项目中:新建6个包 第一个包conf包用来填写配置参数、地址等 第二个包data 包用来存放测试用例的表格 第三个包report 包用来…

vscode 终端进程启动失败: shell 可执行文件“C:\Windows\System32\WindowsPower

vscode 终端进程启动失败: shell 可执行文件“C:\Windows\System32\WindowsPower 第一次用vscode,然后遇到这个问题,在设置里搜索 terminal.integrated.defaultProfile.windows 将这里的null改成"Command Prompt" 重启就可以了

Spring Cloud学习(五)【Feign 远程调用】

文章目录 RestTemplate方式调用存在的问题Feign的介绍定义和使用Feign客户端Feign 的自定义配置Feign 性能优化Feign 的最佳实践 RestTemplate方式调用存在的问题 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差&am…

jmeter接口自动化部署jenkins教程

首先,保证本地安装并部署了jenkins,jmeter,xslproc 我搭建的自动化测试框架是jmeterjenkinsxslproc ---注意:原理是,jmeter自生成的报告jtl文件,通过xslproc工具,再结合jmeter自带的模板修改&…

5 Paimon数据湖之表数据查询详解

更多Paimon数据湖内容请关注:https://edu.51cto.com/course/35051.html 虽然前面我们已经讲过如何查询Paimon表中的数据了,但是有一些细节的东西还需要详细分析一下。 首先是针对Paimon中系统表的查询,例如snapshots\schemas\options等等这些…

Spring Cloud之多级缓存

目录 传统缓存 多级缓存 JVM进程缓存 Caffeine 缓存驱逐策略 实现进程缓存 常用Lua语法 数据类型 变量声明 循环使用 定义函数 条件控制 安装OpenResty 实现Nginx业务逻辑编写 请求参数解析 实现lua访问tomcat JSON的序列化和反序列化 Tomcat的集群负载均衡 …

stm32超声波测距不准的解决方法(STM32 delay_us()产生1us)

首先要说明一下原理:使用stm32无法准确产生1us的时间,但是超声波测距一定要依赖时间,时间不准,距离一定不准,这是要肯定的,但是在不准确的情况下,要测量一个比较准确的时间,那么只能…

python中的异常与模块

异常 为了能够让代码可以正常的运行下去,不会因为某个语句而让程序崩溃,所以我们就需要使用异常,异常的语法格式如下: try:可能出现异常的语句 except:出现异常之后的处理同时python也是支持捕获指定异常的 try:可能出现异常的…

说说对Fiber架构的理解?解决了什么问题?

一、问题 JavaScript引擎和页面渲染引擎两个线程是互斥的,当其中一个线程执行时,另一个线程只能挂起等待 如果 JavaScript 线程长时间地占用了主线程,那么渲染层面的更新就不得不长时间地等待,界面长时间不更新,会导…

NIO 笔记(二)Netty框架专题

【笔记来自:it白马】 Netty框架 前面我们学习了Java为我们提供的NIO框架,提供使用NIO提供的三大组件,我们就可以编写更加高性能的客户端/服务端网络程序了,甚至还可以自行规定一种通信协议进行通信。 NIO框架存在的问题 但是之…

Centos7安装PostgreSQL 14

环境: Centos7安装PostgreSQL_14版本数据库; 打开官方网站:PostgreSQL: Linux downloads (Red Hat family) 一、 版本选择 复制、粘贴并运行如下脚本: 二、安装步骤 这些命令是在 CentOS 7.x 系统上安装和配置 PostgreSQL 14 的步…

最新大麦订单生成器 大麦订单图一键生成

1、8.6全新版 本次更新了四种订单模板生成 多模板自由切换 2、在软件中输入生成的信息,这里输入的是商品信息,选择生成的商品图片,最后生成即可 新版大麦订单生成 四种模板图样式展示 这个样式图就是在大麦生成完的一个订单截图&#xff…

Hadoop架构、Hive相关知识点及Hive执行流程

Hadoop架构 Hadoop由三大部分组成:HDFS、MapReduce、yarn HDFS:负责数据的存储 其中包括: namenode:主节点,用来分配任务给从节点 secondarynamenode:副节点,辅助主节点 datanode:从节点&#x…

出口美国操作要点汇总│走美国海运拼箱的注意事项│箱讯科技

01服务标准 美国的货物需要细致的服务,货物到港后的服务也是非常重要的。如果在货物到港15天内,如果没有报关行进行(PROCEED),货物就会进入了G.O.仓库,G.O.仓库的收费标准是非常高的。 02代理资格审核 美国航线除了各家船公司&a…

阿里云付费用户破100万 用户规模亚洲最大

导读阿里巴巴集团公布2018财年第一季度财报,阿里云达到一个重要里程碑,云计算付费用户数量首次超过100万,成为亚洲首家达到百万级用户规模的云计算公司。同时,企业级市场被云计算人工智能等新技术全面激活,推动该季度营…

企业年会/年终活动如何邀请媒体记者报道?

​媒体邀约是企业或组织进行宣传的重要手段之一。通过邀请媒体参加活动,可以增加活动的曝光度和知名度,吸引更多的关注和参与。同时,媒体报道还可以提高企业或组织的权威性和可信度,从而让公众更容易接受其传达的信息。 企业年会或…

MFC-TCP网络编程服务端-Socket

目录 1、通过Socket建立服务端: 2、UI设计: 3、代码的实现: (1)、CListenSocket类 (2)、CConnectSocket类 (3)、CTcpServerDlg类 1、通过Socket建立服务端&#xff…

大数据治理——为业务提供持续的、可度量的价值(一)

目录 大数据治理——为业务提供持续的、可度量的价值... 1 概述... 2 大数据治理系列... 2 第一部分:大数据治理统一流程模型概述和明确元数据管理策略... 2 第二部分:元数据集成体系结构... 15 第三部分:实施元数据管理... 25 第四部…