计算机网络第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.hqwc.cn/news/168340.html

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

相关文章

【JavaEE初阶】 TCP协议详细解析

文章目录 🌲TCP协议的概念🚩TCP协议段格式🚩TCP的特性 🌳TCP原理🚩确认应答机制(安全机制)🚩超时重传机制(安全机制)🚩三次握手四次挥手&#xff…

YOLOv4: Optimal Speed and Accuracy of Object Detection(2020.4)

文章目录 AbstractIntroductionRelated workObject detection modelsBag of freebiesBag of specials MethodologySelection of architectureSelection of BoF and BoSAdditional improvementsYOLOv4 ExperimentsResults表8列出了使用Maxwell GPU的帧率对比结果表9列出了使用Pa…

Android 图层列表 、 LayerDrawable 、 layer-list \ 改变 seekbar thumb 滑块 的颜色

android 官网 &#xff1a; 图层列表 LayerDrawable / layer-list LayerDrawable 是管理其他可绘制对象数组的可绘制对象。列表中的每个可绘制对象均按照列表顺序绘制。列表中的最后一个可绘制对象绘于顶部。 每个可绘制对象均由单个 <layer-list> 元素内的 <item>…

财税服务展示预约小程序的作用是什么

财税财政往往困扰着很多公司&#xff0c;尤其是公司里没有相应职员或工作压力大的情况下&#xff0c;不少商家就会寻找代理记账、审计服务、会计代理等服务的机构。 对财政服务代理机构&#xff08;会计公司&#xff09;来说&#xff0c;市场企业多而广&#xff0c;理论上来说…

酷柚易汛ERP-客户管理操作指南

1、应用场景 对客户信息进行管理&#xff0c;可新增客户、设置客户等级、联系人信息、银行账户和销售人员等信息&#xff0c;方便开单时自动匹配销售信息。 2、主要操作 2.1 新增客户 打开【资料】-【客户管理】&#xff0c;点击【新增】。 在页面输入客户信息、联系人地址…

105.am40刷机(linux)折腾记1-前期的准备工作1

前段时间在某鱼上逛的时候&#xff0c;发现一款3399的盒子只要150大洋&#xff0c;内心就开始澎拜&#xff0c;一激动就下手了3台&#xff0c;花了450大洋&#xff08;现在想想&#xff0c;心都碎了一地&#xff09;。 然后自己又来来回回折腾了几天&#xff0c;目前能跑上fire…

【Python 千题 —— 基础篇】菜品的价格

题目描述 题目描述 食堂今天准备了很多好吃的菜。“beef” 12 元一份&#xff1b;“rice” 1 元一份&#xff1b;“fish” 8 元一份&#xff1b;其它菜品 5 元一份。请你根据输入的字符串&#xff0c;使用 if-elif-else 语句判断该菜品需要花费多少钱。 输入描述 输入一个菜…

flink1.18.0 sql-client报错

报错 Flink SQL> select * from t1; [ERROR] Could not execute SQL statement. Reason: org.apache.flink.table.api.ValidationException: Could not find any factory for identifier kafka that implements org.apache.flink.table.factories.DynamicTableFactory in t…

小白学爬虫:通过关键词搜索1688商品列表数据接口|1688商品列表数据接口|1688商品列表数据采集|1688API接口

通过关键词搜索1688商品列表数据接口可以使用1688开放平台提供的API接口实现。以下是使用关键词搜索商品列表数据的基本步骤&#xff1a; 1、注册并获取AppKey。 2、构造请求参数&#xff0c;包括搜索关键词、页码、每页条数等。 3、通过API接口链接&#xff0c;将请求参数发送…

数据的属性与数据集,相似度,数据的质量,OLAP

数据的属性与数据集&#xff1a; 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&#xff0c;尤其sq…

制造企业如何做好进销存管理工作?

本文你将了解&#xff1a;什么是进销存管理系统&#xff1f;国内制造信息化的发展现状如何&#xff1f;进销存管理系统的功能有哪些&#xff1f; 接下来搭建进销存管理系统教学中用到的图片和系统都来自简道云的进销存管理系统 这也是我们公司目前正在用的进销存管理系统&…

YOLOv8-seg改进:复现HIC-YOLOv5,HIC-YOLOv8-seg助力小目标分割

🚀🚀🚀本文改进:HIC-YOLOv8-seg:1)添加一个针对小物体的额外预测头,以提供更高分辨率的特征图2)在backbone和neck之间采用involution block来增加特征图的通道信息;3)在主干网末端加入 CBAM 的注意力机制; 🚀🚀🚀HIC-YOLOv8-seg小目标分割检测&复杂场景…