《计算机网络——自顶向下方法》精炼——4.1-4.3.0

news2024/11/24 6:48:26

书读得越多而不假思索,你就会觉得你知道的很多;而当你读书而思考的越多的时候,你就会越清楚的看到,你知道的还很少——伏尔泰

文章目录

  • 概述
    • 转发、路由选择
    • 网络服务模型
  • 虚电路和数据报网络
    • 虚电路网络
    • 数据报网络
  • 路由器工作原理

概述

网络层存在于网络边缘和网络核心,实现了实际的主机到主机的通信服务。在发送方主机中,运输层报文段被封装成数据报发送出去,在接收方中,运输层报文段被提取出来并交付给运输层。网络核心不运行运输层及以上的协议。

转发、路由选择

转发和路由选择是网络层协议的两种重要功能。

  • 转发:一个分组到达某一路由器的输入链路时,路由器能够将这个分组移动到合适输出链路,该功能称为转发。
  • 路由选择:在分组被发送方开始发送时,网络层协议能够决定这个分组经过的所有路径,该功能称为路由选择。

注意他们之间的区别,转发是针对一个路由器的功能,而路由选择针对分组从发送方到接收方的整个过程。
每个路由器维护一张转发表,当分组到达时,路由器根据转发表对分组进行转发。路由选择协议以报文的形式告知路由器转发表的修改信息。
在上面的说明中,提到了路由器的概念。路由器是一种分组交换机。分组交换机分为两类,基于链路层首部中的值做转发决定的称为链路层交换机和基于网络层首部中的值做转发决定的路由器。
某些网络层体系结构在发送数据前,要求从源到目的地沿着选择的路径彼此握手,这个过程被称为连接建立,这是第三种重要的网络功能。

网络服务模型

网络服务模型定义了分组在发送和接收端系统之间的端到端特性。该模型可能提供的服务包括:

  • 确保交付:确保分组最终到达目的地。
  • 具有时延上界的确保交付:限定时延的确保交付。
  • 有序分组交付:分组按照发送顺序到达接收方。
  • 确保最小带宽:指定一个带宽,如果发送主机以小于该带宽的速率发送数据,那么可以保证提供“具有时延上界的确保交付”服务。
  • 确保最大时延抖动:确保发送方发送两个相继分组的时间间隔与接收方接收这两个分组的时间间隔相同。
  • 安全性服务:用仅有发送方和接收方之间知道的秘钥对数据报进行加密。

尽管网络层可以提供多种服务,但是IP协议只能提供尽力而为服务(其实也就是根本没有额外服务)。也有一些其他的服务模型实现了一些额外服务,如ATM的CBR和ABR:
在这里插入图片描述

  • 恒定比特率(CBR):看起来,它创建了一条发送主机和接收主机之间的专用通道,依靠这条通道,它能保证几乎所有额外服务。
  • 可用比特率(ABR):它创建的初衷就是要刻画比尽力而为服务稍好一点的服务。如图,它保证最小速率和有序接收。另外,它会给发送方发送拥塞反馈。

虚电路和数据报网络

类似于运输层中有无连接的TCP和UDP两种协议,计算机网络依据是否在网络层上提供连接,也分为虚电路网络和数据报网络。但在细节上,网络层的连接服务与运输层截然不同:

  • 网络层向运输层提供主机到主机连接,运输层向应用层提供进程到进程连接。
  • 在一个计算机网络中不会同时出现使用不使用连接服务和使用连接服务的两种网络层协议,但可以同时出现TCP和UDP两种协议。
  • TCP仅在网络边缘实现连接,网络层协议的连接同时在网络边缘和网络核心实现。

虚电路网络

虚电路网络在网络层上为每条路径建立连接(虚电路)。一条虚电路在决定路径后,为路径上的每条链路配置一个VC号(注意,在不同路径上同一条链路可能具有不同的VC号)。从发送方出发时,发送方为分组加上一个VC号,是这个分组所经过的第一条链路的VC号;分组每进入一个路由器时,路由器通过分组的入接口和它带的VC号来确定它的出接口和出VC号(这四个信息在转发表中维护),将分组转发到出接口并将这个分组的VC号改为它的出VC号,也就是分组会经过的下一条链路的VC号。
在这里插入图片描述
这是一个转发表的例子,其中入VC号就是分组自带的VC号。
同条路径上各条链路不保持相同VC号的原因有两个,包括逐链路代替号码减少分组首部VC字段的长度,以及如果要确定相同VC号,路由器之间往往要发送大量报文,会造成额外开销。
利用一条虚电路传递数据的过程有三个阶段:

  • 虚电路建立:在建立阶段,网络层决定发送路径,为路径上的每条链路决定一个VC号,新增路由器的转发表,并可能为这条路径预留链路资源。
  • 数据传送
  • 虚电路拆除:发送方希望终止该虚电路时,启动这个阶段,网络层通知另一侧的接收方停止呼叫,并修改路径上路由器的转发表。

由于一条虚电路需要路径上所有路由器运行其网络层协议,因此不仅端系统,所有路由器都完全知道这条虚电路。
建立虚电路时端系统,路由器之间发送的所有报文称为信令报文,交换这些报文的协议称为信令协议

数据报网络

数据报网络中就直接给分组加上目的地址,然后在每个路由器依据转发表进行比对。举个例子,假设所有地址都是32比特,在某一个路由器中转发方式如下:
在这里插入图片描述
我们可以看到,在转发表中,一个地址区间对应着一个出口,而不是直觉中的给每一个地址新增一个表项,这大大减少了转发表的规模。
实际上,转发表还可以更简化,我们可以只用前缀来表示某个区间,因为同一个区间的地址总有前几位相同。因此实际上转发表是这样的:
在这里插入图片描述
当然,我们可以发现,上表中第二项代表的区间包含在第三项中,在这种情况下,会出现一个地址既符合第二项也符合第三项,这时我们采用最长前缀匹配原则,找到能和该地址匹配的最长前缀并转发到其映射的输出接口。
由于维护的是区间,所以数据报网络的转发表无需实时修改,一般1-5分钟左右修改一次。

路由器工作原理

通用路由器体系结构包括以下几个部分
在这里插入图片描述

  • 输入端口:输入端口有几个关键功能:将输入的物理链路与路由器连接,显示于最左边的方框中;在链路层与入链路远端交互,表示在中间方框中;查询转发表,决定分组要转发的输出链路并控制某些分组(如携带路由选择协议信息的分组)从输入端口转发到路由选择处理器,显示在右侧方框中。注意这里的端口是指物理端口而非软件端口。
  • 交换结构:将路由器的输入端口与输出端口连接的网络结构。这是一个存在于路由器中的网络。
  • 输出端口:由于网络层是双向的,所以输出端口和输入端口结构完全相同。
  • 路由选择处理器:执行路由选择协议,维护路由选择表,维护链路状态信息,计算转发表,执行网络管理功能。

路由器的输入端口、输出端口和交换结构共同实现了转发功能,称为路由器转发平面。由于转发功能需要极快的处理速度,因此需要硬件来实现;路由选择处理器构成了路由器控制平面,由于上文讲到,这些功能往往需要毫秒或秒尺度来执行,因此用软件实现即可。
请添加图片描述
我是霜_哀,在算法之路上努力前行的一位萌新,感谢你的阅读!如果觉得好的话,可以关注一下,我会在将来带来更多更全面的知识讲解!

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

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

相关文章

chatgpt赋能python:Python如何出图

Python如何出图 作为一种广泛使用的编程语言,Python不仅仅可以用于数据分析、机器学习等领域,还可以用来生成图像。在这篇文章中,我们将介绍Python如何出图,并将重点放在与SEO相关的方面。 1. Python出图的基本原理 Python有多…

刷题记录:哈希 | leetcode-2352. 相等行列对 2023/6/6

2352. 相等行列对 这题还是非常简单的。如果用模拟的方法,时间复杂度要达到O(n^3)了,感觉不太可。 这回学聪明了,没有一上来就想着暴力模拟。用哈希的办法,可以把时间复杂度降为O(n^2)。 我的思路是先转置矩阵,再用…

Matlab论文插图绘制模板第99期—正负柱状图

在之前的文章中,分享了很多Matlab柱状图的绘制模板: 进一步,再来分享一种特殊的柱状图:正负柱状图。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载…

HTML+JS 实现手机号码归属地查询功能

手机号码归属地 API 是一种提供号码归属地信息的接口,它通过与运营商和电信数据库交互,根据手机号码查询相关归属地信息并返回结果。通过使用手机号码归属地API,开发者可以轻松地集成号码归属地查询功能到他们的应用程序和服务中,…

简介- 谷粒商城项目微服务架构图

目录 项目前置知识一、前后端分离开发,分为 内网部署 和 外网部署。二、用户是通过使用 客户端 来完成各种的功能三、网关的作用四、Sentiel组件五、Feign组件六、OAuth2.0认证中心七、SpringSecurity组件八、关于数据存储的解决方案九、定位bug十、注册中心十一、配…

Java 进阶 -- Lambda 表达式

Lambda Expressions 匿名类(anonymous classes)的一个问题是,如果匿名类的实现非常简单,比如一个只包含一个方法的接口,那么匿名类的语法可能会显得笨拙和不清晰。在这些情况下,您通常试图将功能作为参数传…

Spark RDD计算总分与平均分

文章目录 一,提出任务二,实现思路三,准备工作1、启动HDFS服务2、启动Spark服务3、在本地创建成绩文件4、将成绩文件上传到HDFS 四,完成任务1、在Spark Shell里完成任务(1)读取成绩文件,生成RDD&…

从Java BIO到NIO再到多路复用,看这篇就够了

从一次优化说起 近期优化了一个老的网关系统,在dubbo调用接口rt1000ms时吞吐量提升了25倍,而线程数却由64改到8。其他的优化手段不做展开,比较有意思的是为什么线程数减少,吞吐量却可以大幅提升?这就得从IO模型说起&a…

消息队列kafka使用技巧和常见问题

目录 【消息队列概述】 【kafka】 消息丢失问题 消息重复问题 消费顺序问题 消息积压问题 kafka集群部署 【消息队列概述】 消息队列主要解决应用耦合、异步消息、流量削锋等问题,是大型分布式系统不可缺少的中间件。消息生产者 只管把消息发布到 MQ 中而不…

【CMake 入门与进阶(4)】 CMakeLists.txt 语法规则基础及部分常用指令-续(附使用代码)

由于篇幅问题本篇接着上文继续介绍 CMakeLists.txt 语法规则基础及常用指令。 aux_source_directory aux_source_directory 命令会查找目录中的所有源文件&#xff0c;其命令定义如下&#xff1a; aux_source_directory(<dir> <variable>)从指定的目录中查找所有…

开发者工具调试

Console控制台 F12打开控制台 选择其他tab面板时&#xff0c;ESC打开Console面板enter直接执行Console的代码&#xff0c;shiftEnter输入多行代码 Source面板 左键单机行号设置断点&#xff0c;或在代码中添加debugger;右键单机行号设置条件断点&#xff08;条件表达式为tr…

PowerShell install 一键部署mariadb10.11

mariadb MariaDB数据库管理系统是MySQL的一个分支&#xff0c;主要由开源社区在维护&#xff0c;采用GPL授权许可 MariaDB的目的是完全兼容MySQL&#xff0c;包括API和命令行&#xff0c;使之能轻松成为MySQL的代替品。在存储引擎方面&#xff0c;使用XtraDB来代替MySQL的Inno…

ChatGPT 国内镜像网站大全(含GPT-4.0版本)之什么年代还在写传统文章。

前言&#xff1a; 临近期末&#xff0c;大量水课的节课作业都是论文&#xff0c;一篇就是几千字&#xff0c;这对于还要复习专业课的我们可以说是压力巨大&#xff1a;心理健康论文&#xff0c;安全教育论文&#xff0c;大学语文论文&#xff0c;书法赏析论文&#xff0c;劳动…

小议C++函数签名与模板返回类型

题记&#xff1a;什么事情都要追问一个为什么&#xff0c;真正理解了为什么&#xff0c;才能活学活用。 代码1 下面的代码能编译通过吗&#xff1f; #include <stdio.h> #include <stdlib.h>class X { public:int *get() { return new int(); }double *get() { r…

MATLAB矩阵的分解函数与案例举例

系列文章目录 MATLAB当中线性方程组、不定方程组、奇异方程组、超定方程组的介绍 MATLAB语句实现方阵性质的验证 MATLAB绘图函数的相关介绍——海底测量、二维与三维图形绘制​​​​​​ MATLAB求函数极限的简单介绍 文章目录 前言 1. 奇异值分解&#xff08;SVD&#x…

C++类和对象-4

在上篇C类和对象的博客中&#xff0c;我们讲述了析构函数、拷贝构造函数、浅拷贝和深拷贝的内容&#xff0c;我们紧接上文&#xff0c;开始讲述接下来的文章。 目录 1.this指针 1.1引入 1.2内容 1.3特征 1.4用法 2.静态成员 2.1内容 2.2静态数据成员 2.3静态成员函数…

Vue.js 中的国际化支持是什么?如何进行国际化支持?

Vue.js 中的国际化支持是什么&#xff1f;如何进行国际化支持&#xff1f; Vue.js 是一款流行的前端框架&#xff0c;它提供了许多方便的工具和 API&#xff0c;用于构建交互式的用户界面。其中&#xff0c;国际化支持是 Vue.js 中重要的一部分&#xff0c;它可以让我们轻松地…

如何强制删除文件夹?这样操作就能搞定!

案例&#xff1a;我想删掉一些没有用的文件夹&#xff0c;释放一些电脑内存&#xff0c;但是我发现&#xff0c;有些文件夹并不能直接被删除。怎样才能删除这些文件夹&#xff1f;有没有小伙伴有解决的办法。 在使用电脑过程中&#xff0c;我们可能会遇到一些无法正常删除文件夹…

空间计算时代来临:苹果Vision Pro震撼上市,探索真实与虚拟的新边界

目录 前言Vision Pro的外观设计Vision Pro的交互方式Vision Pro 硬件配置Vision Pro 上市时间及销售价格Vision Pro与传统XR设备不同点总结其它资料下载 前言 苹果公司在2023年6月6日的WWDC23主题演讲中正式发布了传闻已久的头显产品——Vision Pro。WWDC&#xff0c;全称为“…

LLM Accelerator:使用参考文本无损加速大语言模型推理

编者按&#xff1a;如今&#xff0c;基础大模型正在诸多应用中发挥着日益重要的作用。大多数大语言模型的训练都是采取自回归的方式进行生成&#xff0c;虽然自回归模型生成的文本质量有所保证&#xff0c;但却导致了高昂的推理成本和长时间的延迟。由于大模型的参数量巨大、推…