计算机网络第4章-网络层(1)

引子

网络层能够被分解为两个相互作用的部分:

数据平面和控制平面。

网络层概述

路由器具有截断的协议栈,即没有网络层以上的部分。

如下图所示,是一个简单网络:

转发和路由选择:数据平面和控制平面

网络层的作用从表面看就是:

将分组从一台发送主机移动到接收主机。

为此,需要两种重要的网络层功能:

转发

当一个分组到达某路由器后,路由器必须将该分组移动到适当的输出链路。

这也是数据平面中实现的唯一功能

路由选择

当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。

计算这些路径的算法被称为路由选择算法。

路由选择将在网络层的控制平面中实现。

区分转发和路由选择

转发是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。

转发发生的时间尺度很短(几纳秒),通常由硬件来实现。

路由选择是指分组从源到目的地所采取的端到端路径的网络范围处理过程,时间比转发长的多,通

常由软件来实现。

转发表

每台网络路由器有一个转发表,路由器检查到达分组首部的一个或多个字段值,进而使用这些首部值在其转发表中索引。

下图就是一个索引表:

控制平面:传统的方法

路由选择算法运行在每一台路由器中,并且在每台路由器中都包含转发和路由选择两种功能。

并且路由器之间的路由选择算法相互通信。

控制平面:SDN方法

SDN方法是路由选择厂商在其产品中采用的传统方法。

每台路由器都有一个与其他路由器的路由选择组件通信的路由选择组件。

即路由器只负责转发,而转发表的计算交由远程控制器计算并且传输给本地路由器。

上图所示的控制平面方法是软件定义网络的本质。

因为计算转发表并与路由器交互的控制器是用软件实现的,故网络是“软件定义的”。

网络服务模型

网络服务模型定义了分组在发送与接收端系统之间的端到端运输特性。

网络层提供如下服务:

1.确保交付

2.具有时延上界的确保交付。

3.有序分组交付。

4.确保最小宽带。

5.安全性。

因特网的网络层提供一种单一的服务:

尽力而为服务。

也就是说:

传送的分组既不能保证以它们发送的顺序被接收,也不能保证它们最终交付。

路由器工作原理

下图是一个路由器的四个组件:

值得注意的是,上图的输入端口和输出端口并不是一个程序的端口,而指的是物理输入物理输出

输入端口:

它与位于入链路远端的数据链路层交互来执行数据链路层功能。

交换结构:

交换结构将路由器的输入端口连接到它的输出端口。

输出端口:

存储从交换结构接收的分组,并执行必要的链路层和物理层功能在输出链路上传输这些分组。

路由选择处理器:

路由选择执行控制平面功能。

在传统路由器主要负责计算转发表,在SDN路由器中,路由选择处理器负责与远程控制器通信,获

取到控制器计算的转发表,并且储存在本地路由器中。

输入端口处理和基于目的地转发

下图是一个输入端口处理的流程图:

在输入端口执行路由器的转发,并且使用转发表来查找输出端口。

转发表从路由选择处理器进行交互,或者转发表接收来自SDN控制器的内容。

转发表再从路由选择处理器经过独立总线复制到线路卡,使用线路卡转发决策就可以在每个输入端

口本地做出,而无须基于每个分组调用集中式路由选择处理器。

下图是一个仅包括四个表项的转发表:

使用这种风格的转换表,路由器用分组目的地址的前缀与该表中的表项进行匹配。

如果存在一个匹配项,则路由器向该匹配项相关联的链路转发分组。

若一个分组可以和多个链路接口匹配,则使用“最长前缀匹配规则”,即在表中寻找最长的匹配项转发。

交换

交换结构位于一台路由器的核心部位,正是通过这种交换结构,分组才能从输入端口转发到输出端

口。

交换可以由三种方式来完成:

经内存交换

最简单、最早的路由器是传统的计算机,在输入端口与输出端口之间的交换是在CPU(路由选择处

理器)的直接控制下完成的。

当一个分组到达一个输入端口时,该端口会先通过中断方式向路由选择处理器发送信号。

于是,该分组从输入端口被复制到处理器内存中,路由选择器再从首部中提取出目的地址,在转发

表中找到适当的输出端口,并将该分组复制到输出端口的缓存中。

值得注意的是,在内存交换中不能一次性转发两个分组,即使它们有不同的目的端口,因为经过共

享总线一次仅能执行一个内存读/写。

现在路由器大多是内存交换

经总线交换

输入端口将分组直接传送到输出端口,不需要路由选择处理器的干预。

经互联网络交换

使用一个更复杂的互联网络,即纵横式交换机,由2N条总线组成的互联网络,连接N各输入端口与

N个输出端口。也正因为这样,纵横式交换机是非阻塞的。

输出端口处理

如图所示,输出端口处理取出已经存放在输出端口内存中的分组并将其发送到输出链路上,这包括

选择和取出排队的分组进行传输,执行所需的链路层和物理层传输功能。

何时出现排队

即路由器的缓存空间耗尽,便会出现丢包。

缓存空间可以是输入端口缓存,也可以是输出端口缓存。

输入排队

原因:

交换结构不能快得使所有到达分组无时延地通过,输入排队便会出现。

线路前部阻塞,即在一个输入队列中排队的分组必须等待通过交换结构发送,因为它被另一个分组

所阻塞。

输出排队

如果路由选择处理器交换的速率远大于输出端口从输出缓存发送分组的速率,那么就会出现输出排

队。

并且,当没有足够的缓存来缓存一个入分组时,就必须丢弃到达的分组(弃尾),或者删除一个或

多个已经在排队的分组。

分组调度

对于分组调度,主要有三种调度(排队方式)。

先进先出

先到达的分组先被转发,后到达的分组如果此时缓存已满则丢弃。

该服务也被叫做FIFO

优先权排队

传送进来的分组被放入优先权队列中,对于高优先权的分组会被放入高优先权队列,

低优先权的分组会被放入低优先权队列,先转发高优先权队列,后转发低优先权队列。

但是在“非抢占式优先权排队”规则下,哪怕一个低优先权分组被转发过程中,来了一个高优先权分

组,低优先权分组也不会被终止。

循环和加权公平排队

在循环排队规则下,分组也会被进行优先权分类。

即先传送类1的分组,后传送类2的分组,在传送类1的分组,如此循环。

下面是一个两类循环队列的操作图例子:

在这个例子中,分组1、2和4属于第一类, 分组3和5属于第二类。分组1 一到达输出队列就立即开

始传输。分组2和3在分组1的 传输过程中到达,因此排队等待传输。在分组1传输后,链路调度器

查找类2的分组,因 此传输分组3 :在分组3传输完成后,调度器查找类1的分组,因此传输分组

2。在分组2 传输完成后,分组4是唯一排队的分组,因此在分组2后立刻传输分组4。

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

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

相关文章

Python语言高级实战-内置函数super()的使用之类的单继承(附源码和实现效果)

实现功能 super()是一个内置函数,用于调用父类的方法。super() 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用&#xf…

gitlab数据备份和恢复

gitlab数据备份 sudo gitlab-rake gitlab:backup:create备份文件默认存放在/var/opt/gitlab/backups路径下, 生成1697101003_2023_10_12_12.0.3-ee_gitlab_backup.tar 文件 gitlab数据恢复 sudo gitlab-rake gitlab:backup:restore BACKUP1697101003_2023_10_12_…

SAP-MM-查找采购订单的创建和修改日期

在采购订单页面可以查看采购订单的修改和创建,但是有些内容不能完成看到 例如这个订单显示是用户唐创建,但是他不记得是什么时候创建的,怎么创建的? 点击菜单-环境-表头更改、项目更改,可以查看更改内容 通过这个表可…

蓝桥杯每日一题2023.11.6

取位数 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 由题意我们知道len中为现阶段长度&#xff0c;如果其与k相等也就是找到了正确的位数&#xff0c;否则就调用递归来进行搜索&#xff0c;每次搜索一位数。 #include <stdio.h> // 求x用10进制表示时的数位长度 int …

Zibll子比主题开心版 v7.4.2 不限域名无限搭建

Zibll子比主题是国内一款相对良心&#xff0c;更新也很不错的一款wordpress主题。专为博客、自媒体、资讯类的网站设计开发&#xff0c;简约优雅的设计风格&#xff0c;全面的前端用户功能&#xff0c;简单的模块化配置&#xff0c;欢迎您的体验。 资源入口点击进入 版本说明 新…

IntelliJ IDEA 2022创建Maven项目

IntelliJ IDEA 2022创建Maven项目 点击New Project 配置一下下 (1). 选择Maven Archetype (2). 输入Name就是你的项目名称 (3). 输入Location是你的项目保存目录 (4). 选择JDK (5). 选择Catalog一般默认选择Internal即可 在Archetype这里我们选择一个模板来创建Maven项目 …

什么是Kubernetes RBAC?为什么需要它?

目录 什么是Kubernetes RBAC? 如何启用Kubernetes RBAC 1.服务帐户 2.角色和集群角色 3.角色绑定和集群角色绑定 Kubernetes RBAC的好处 1.适当的授权 2.职责分离 3.100%遵守法规 Kubernetes RBAC的缺点 企业软件开发工具 什么是Kubernetes RBAC? 当组织开始走上…

【原理篇】二、Bean加载控制

文章目录 1、编程式Bean加载控制2、注解式Bean加载控制3、Conditional派生注解4、Bean依赖的属性配置 Bean的加载控制指根据特定情况对bean进行选择性加载以达到适用于项目的目标 上篇Bean声明的方式中&#xff0c;后4种可以实现对Bean加载的控制&#xff0c;分别是&#xff1a…

AI创作系统ChatGPT商业运营系统源码+支持GPT4/支持ai绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

陈海波:OpenHarmony技术领先,产学研深度协同,生态蓬勃发展

11月4日&#xff0c;以“技术筑生态&#xff0c;智联赢未来”为主题的第二届OpenHarmony技术大会在北京隆重举办。本次大会由OpenAtom OpenHarmony&#xff08;简称“OpenHarmony"&#xff09;项目群技术指导委员会&#xff08;TSC&#xff09;主办&#xff0c;由华为技术…

智能网联汽车基础软件信息安全需求分析

目录 1.安全启动 2.安全升级 3.安全存储 4.安全通信 5.安全调试 6.安全诊断 7.小结 1.安全启动 对于MCU&#xff0c;安全启动主要是以安全岛BootROM为信任根&#xff0c;在MCU启动后&#xff0c;用户程序运行前&#xff0c;硬件加密模块采用逐级校验、并行校验或者混合校…

uniapp使用vue3和ts开发小程序自定义tab栏,实现自定义凸出tabbar效果

要实现自定义的tabbar效果&#xff0c;可以使用自定义tab覆盖主tab来实现&#xff0c;当程序启动或者从后台显示在前台时隐藏自带的tab来实现。自定义一个tab组件&#xff0c;然后在里面实现自定义的逻辑。 组件中所使用的组件api可以看&#xff1a;Tabbar 底部导航栏 | uView…

从0到1的Springcloud Alibaba项目,一篇入门!!!

1、新建项目 我们用maven管理项目 第一步&#xff1a;选择maven 第二步&#xff1a;项目命名&#xff0c;项目路径 第三步&#xff1a;进入项目&#xff0c;把src文件夹删掉&#xff08;不删也没事&#xff0c;主要是用不到这个文件夹&#xff09; 2、引入项目依赖 在父项目…

【广州华锐互动】智能楼宇3D数字化展示,实现对建筑物的实时监控和管理

随着科技的不断发展&#xff0c;人们对于生活品质的要求也在不断提高。在这个信息爆炸的时代&#xff0c;如何将复杂的数据以直观、生动的方式呈现给用户&#xff0c;已经成为了一个重要的课题。智能楼宇3D数字化展示作为一种新型的建筑科技&#xff0c;正逐渐成为行业的新宠&a…

【图像分类】【深度学习】【Pytorch版本】VggNet模型算法详解

【图像分类】【深度学习】【Pytorch版本】VggNet模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】VggNet模型算法详解前言VggNet讲解感受野感受野的计算公式3x3的卷积核的使用VggNet模型结构 VGGnet Pytorch代码完整代码总结 前言 Vgg(Visual Geometry Group)是…

养老院展示服务预约小程序的作用是什么

养老院无论在哪个城市都有很高需求度&#xff0c;不少银发人群会因为种种原因而前往&#xff0c;而养老院近些年来各种服务也比较完善&#xff0c;增加了客户信任度及接受度&#xff0c;但对院方来说&#xff0c;也存在着一些痛点&#xff1a; 1、品牌传播服务呈现难 养老院也…

网络运维Day01

文章目录 环境准备OSI七层参考模型什么是协议&#xff1f;协议数据单元(PDU)设备与层的对应关系什么是IP地址&#xff1f;IP地址分类IP的网络位和主机位IP地址默认网络位与主机位子网掩码默认子网掩码查看IP地址安装CISCO汉化CISCO(可选操作) CISCO之PC机器验证通信 CISCSO之交…

PMI-ACP(103:57- 103)

57/103 高绩效敏捷团队的特征 参与式指导有效的决策开放和清晰的沟通价值多样性相互信任管理冲突清楚目标明确定义角色 和 职责协调关系积极的氛围 58/103 创建授权团队 敏捷强调 具备授权和积极性 的自我管理团队&#xff0c;他们需要对项目成果充分负责&#xff0c;授权是…

软考 -- 计算机学习(3)

文章目录 一、软件测试基础1.1 基本概念1.2 软件测试模型1.3 软件测试的分类 二、基于规格说明的测试技术(黑盒)2.1 重要的测试方法1. 等价类划分法2. 边界值法3. 判定表法4. 因果图法 2.2 其他测试方法 三、基于结构的测试技术(白盒)3.1 静态测试3.2 动态测试 一、软件测试基础…

配置阿里云镜像加速器 -docker

1.百度aliyun 2.找到镜像服务ACR 3.搞一个个人版&#xff0c;身份验证一下就行了很简单 4.找到镜像加速器Centos 5.执行下面4条命令&#xff1a;4条命令直接从上面操作文档中粘贴&#xff0c;不容易出错 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<…