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

news/2024/5/19 0:08:23/文章来源:https://blog.csdn.net/zheshiyangyang/article/details/134182897

引子

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

数据平面和控制平面。

网络层概述

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

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

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

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

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

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

转发

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

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

路由选择

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

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

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

区分转发和路由选择

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

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

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

常由软件来实现。

转发表

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

下图就是一个索引表:

控制平面:传统的方法

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

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

控制平面: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.luyixian.cn/news_show_190602.aspx

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

相关文章

webgoat-(A1)injection

SQL Injection (intro) SQL 命令主要分为三类: 数据操作语言 (DML)DML 语句可用于请求记录 (SELECT)、添加记录 (INSERT)、删除记录 (DELETE) 和修改现有记录 &#xff…

【C++】详解IO流(输入输出流+文件流+字符串流)

文章目录 一、标准输入输出流1.1提取符>>&#xff08;赋值给&#xff09;与插入符<<&#xff08;输出到&#xff09;理解cin >> a理解ifstream&#xff08;读&#xff09; >> a例子 1.2get系列函数get与getline函数细小但又重要的区别 1.3获取状态信息…

升级Python版本后,anaconda navigator启动失败

anaconda navigator启动失败&#xff0c;尤其是重装不解决问题的&#xff0c;大概率是库冲突 1.通过anaconda-navigator的图标启动&#xff0c;没有反应 2.在命令窗口&#xff0c;输入anaconda-navigator&#xff0c;报错如下 anaconda-navigator 3.错误来自这里 File &quo…

小程序day02

目标 WXML模板语法 数据绑定 事件绑定 那麽問題來了&#xff0c;一次點擊會觸發兩個組件事件的話&#xff0c;該怎么阻止事件冒泡呢&#xff1f; 文本框和data的双向绑定 注意点: 只在标签里面用value“{{info}}”&#xff0c;只会是info到文本框的单向绑定&#xff0c;必须在…

Python---排序算法

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 Python中的排序算法用于对数据进行排序。排序算法可以使数据按照一定的规则进行排列&#xff0c;以便于数据的查找、统计、比较等操作。在数据分析、机器学习、图形计算等领域&#xff0c…

gcc -static 在centos stream8 和centos stream9中运行报错的解决办法

gcc -static 在centos stream8 和centos stream9中运行报错的解决办法&#xff1a; 报/usr/bin/ld: cannot find -lc 我们下载glibc-static&#xff1a; 选择x86_64的。 还有一个是libxcrypt-static&#xff0c;依旧在这个网站里搜。 rpm -ivh glibc-static-2.28-239.el8.x…

【数字三角形】

题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外…

线扫相机DALSA软件开发套件有哪些

Win10和Win7系统完整SDK目录截图&#xff1a; Sapera Configuration 缓存与内存管理&#xff0c;以及通信端口配置工具&#xff0c;部分功能等效于Detection(查找相机)内的Settings。 Sapera Log Viewer 打开Log Viewer后会显示之前发生过的所有与Sapera LT软件有关的运行信息…

无需专线、无需固定公网IP,各地安防数据如何高效上云?

某专注于安防领域的企业&#xff0c;供机场、金融、智慧大厦等行业&#xff0c;包括门禁系统、巡更系统、视频监控在内的整体解决方案。 在实际方案交付过程中&#xff0c;往往需要在多地分支机构分别部署相应的安防设备&#xff0c;并将产生的数据实时统一汇总至云平台进行管理…

【云服务器】对比传统服务器,为什么说云服务器更具优势?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️其他领域】 文章目录 前言云服务器云服务器的优势成本可扩展性可靠性和安全性 总结 前言 2006年搜索引擎大会上&#xff0c;“云服务器”的概念孕育而生&#xff0c;时至今日云服务器与传统服务器的…

ChinaSoft 论坛巡礼 | 安全攸关软件的智能化开发方法论坛

2023年CCF中国软件大会&#xff08;CCF ChinaSoft 2023&#xff09;由CCF主办&#xff0c;CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办&#xff0c;将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

CSS3媒体查询与页面自适应

2017年9月&#xff0c;W3C发布媒体查询(Media Query Level 4)候选推荐标准规范&#xff0c;它扩展了已经发布的媒体查询的功能。该规范用于CSS的media规则&#xff0c;可以为文档设定特定条件的样式&#xff0c;也可以用于HTML、JavaScript等语言。 1、媒体查询基础 媒体查询…

无限上下文,多级内存管理!突破ChatGPT等大语言模型上下文限制

目前&#xff0c;ChatGPT、Llama 2、文心一言等主流大语言模型&#xff0c;因技术架构的问题上下文输入一直受到限制&#xff0c;即便是Claude 最多只支持10万token输入&#xff0c;这对于解读上百页报告、书籍、论文来说非常不方便。 为了解决这一难题&#xff0c;加州伯克利…

【MATLAB源码-第67期】基于麻雀搜索算法(SSA)的无人机三维地图路径规划,输出最短路径和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 ​麻雀搜索算法&#xff08;Sparrow Search Algorithm, SSA&#xff09;是一种新颖的元启发式优化算法&#xff0c;它受到麻雀社会行为的启发。这种算法通过模拟麻雀的食物搜索行为和逃避天敌的策略来解决优化问题。SSA通过模…

Java基础之类型(内涵面试题)

目录 一、自动类型转换&#xff1a; 二、强制类型转换&#xff1a; 1.强制类型转换可能造成数据丢失&#xff08;溢出&#xff09;。 2.浮点型强转成整型&#xff0c;直接丢掉小数部分&#xff0c;保留整数部分返回。 三、自增、自减&#xff08;、--&#xff09;有关面试题…

在 Python 中创建奇数列表

我们将在本文中介绍在 Python 中创建奇数列表的不同方法。 Python 中的奇数 定义奇数有两种方法&#xff0c;第一种是整数不能被 2 整除时的情况。另一种是整数除以 2 时余数为 1 的情况。 例如&#xff0c;1、5、9、11、45等都是奇数。 从列表中获取奇数的方法有很多&#x…

AI“走深向实”,蚂蚁蚁盾在云栖大会发布实体产业「知识交互建模引擎」

数字化起步晚、数据分散稀疏、专业壁垒高、行业知识依赖「老师傅」&#xff0c;是很多传统产业智能化发展面临的难题。2023年云栖大会上&#xff0c;蚂蚁集团安全科技品牌蚁盾发布“知识交互建模引擎”&#xff0c;将实体产业知识与AI模型有机结合&#xff0c;助力企业最快10分…

IP路由配置

一、路由协议分类 路由协议是路由器之间维护路由表的规则,用于发现路由并生成路由表以指导报文转发。可分为: 通过链路层协议发现的直连路由通过网络管理员手动配置的静态路由通过动态路由协议发现的动态路由其中,动态路由根据作用范围分为: 内部网关协议(IGP):包括rip…

Java——接口类和抽象类的方法声明不需要加{}

在Java中&#xff0c;接口类和抽象类的方法声明是不需要加{}的。具体来说&#xff1a; 1. 接口类&#xff08;Interface&#xff09;&#xff1a;接口类定义了一组方法的规范&#xff0c;没有具体的方法实现。在接口中&#xff0c;方法声明只包含方法名、参数列表和返回类型&a…

智慧工地管理平台+智慧工地app源码

智慧工地管理平台智慧工地app源码 &#xff08;演示自主知识产权项目应用案例&#xff09; 以施工现场风险预知和联动预控为目标&#xff0c;将智能AI、传感技术、人像识别、监控、虚拟现实、物联网、5G、大数据、互联网等新一代科技信息技术植入到建筑、机械、人员穿戴设施、场…