计算机网络扫盲(3)——网络核心

2023-12-05

一、概述

在之前的文章中,我们已经介绍了计算机网络的边缘,本文我们将继续介绍网络核心部分,即由互联因特网系统的分组交换机和链路构成的网状网络。

二、分组交换

在各种网络应用中,端系统彼此交换 报文(message) 。报文能够包含协议设计者需要的任何东西。报文可以执行一种控制功能,也可以包含数据,例如电子邮件数据、JPEG图像或MP3 音频文件。为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为 分组(packet) 。在源和目的地之间,每个分组都通过通信链路和分组交换机(packet switch)传送。(交换机主要有两类:路由器(router) 和链路层交换机 (link-layer switch)。)分组以等于该链路最大传输速率的速度传输通过通信链路。因此,如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。

2.1 存储转发传输

多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制。存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

在这种机制下,当路由器接收到一个分组的前沿比特时,不会立刻进行转发,而是必须先缓存(即“存储”)该分组的比特,只有当路由器已经接受完该分组的所有比特后,它才能开始向出链路传输(即“转发”)该分组。

2.2 排队时延和分组丢失

每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer,也称为输出队列(output queue)),它用于存储路由器准备发往那条链路的分组。该输出缓存在分组交换中起着重要的作用。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输出缓存的排队时延(queuing delay)。这些时延是变化的,变化的程度取决于网络的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)(packet loss),到达的分组或已经排队的分组之一将被丢弃。

2.3 转发表和路由选择协议

前面我们说过,路由器从与它相连的一条通信链路得到分组,然后向与它相连的另一条通信链路转发该分组。但是路由器怎样决定它应当向哪条链路进行转发呢?不同的计算机网络实际上是以不同的方式完成分组转发的。这里,我们简要介绍在因特网中所采用的方法。

在因特网中,每个端系统具有一个称为IP地址的地址。当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址。如同邮政地址那样,该地址具有一种等级结构。当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。更特别的是,每台路由器具有一个 转发表(forwarding table) ,用于将目的地址(或目的地址的一部分) 映射成为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。

我们刚刚学习了路由器使用分组的目的地址来索引转发表并决定适当的出链路。但是这个叙述还要求回答另一个问题:转发表是如何进行设置的?是通过人工对每台路由器逐台进行配置,还是因特网使用更为自动的过程进行配置呢?这部分的内容我们会在后面的文章中详细讨论,这里先进行一个简单的说明:因特网具有以下特殊的 路由选择协议(routing protocol) ,用于自动设置这些转发表。

三、电路交换

通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)和分组交换(packet switching)。上一节我们已经讨论过分组交换网络,现在我们将注意力转向电路交换网络。

在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源则不是预留的;会话的报文按需使用这些资源,其后果可能是不得不等待(即排队)接入通信线路。一个简单的类比是,考虑两家餐馆,一家需要顾客预订,而另一家不需要预订,但不保证能安排顾客。对该餐馆时,原则上我们能够立即入座并点菜。对于不需要预订的那家餐馆,我们不必麻烦于需要预订的那家餐馆,我们在离开家之前必须承受先打电话预订的麻烦,但当我们到达地预订餐桌,但当我们到达该餐馆时,也许不得不先等待一张餐桌空闲后才能入座。

传统的电话网络是电路交换网络的例子。考虑当一个人通过电话网向另一个人发送信息(语音或传真)时所发生的情况。在发送方能够发送信息之前,该网络必须在发送方和接收方之间建立一条连接。这是一个名副其实的连接,因为此时沿着发送方和接收方之间路径上的交换机都将为该连接维护连接状态。用电话的术语来说,该连接被称为一条电路(circuit)。当网络创建这种电路时,它也在连接期间在该网络链路上预留了恒定的传输速率(表示为每条链路传输容量的一部分)。既然已经为该发送方—接收方连接预留了带宽,则发送方能够以确保的恒定速率向接收方传送数据。

四、小结

在网络核心中,通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)和分组交换(packet switching)。这里我们着重介绍了分组交换的方式,主要是因为笔者在实际应用中更多需要接触到的是这一部分的内容,因此对于电路交换的内容只是简单提及,并未展开。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络扫盲(3)——网络核心 的相关文章

  • Jmeter接口自动化测试 —— Jmeter变量的使用

    专注于分享软件测试干货内容 欢迎点赞 收藏 留言 如有错误敬请指正 交流讨论 欢迎加入我们一起学习 资源分享 耗时200 小时精选的 软件测试 资料包 最困难的时候 也就是我们离成功不远的时候 在使用jmeter进行接口测试时 我们难免会遇
  • C#与Java的不同

    https www cnblogs com Yan3399 p 17324904 html 1 C 对应java中关键字 base super this this sealed final 1 base关键字 对应java super C
  • 英伟达狂卖50万台GPU!AI爆火背后,是显卡的争夺

    据市场跟踪公司Omdia的统计分析 英伟达在第三季度大约卖出了50万台H100和A100 GPU 此前 Omdia通过英伟达第二季度的销售额 估计其大概卖出了900吨GPU 大语言模型火爆的背后 英伟达建立起了强大的显卡帝国 在人工智能的大
  • 搭建 ebpf 开发测试环境

    0 内容说明 这部分主要讲述了如何通过官网学习ebpf 以及如何搭建自己的ebpf开发测试环境 主要是需要安装哪些工具链 1 ebpf在线学习 ebpf官网中提供了一个快速在线学习ebpf的路径 在这个学习平台中一共有两项学习内容 一个是学
  • Perplexity发布两款LLM模型:pplx-7b-online和pplx-70b-online 可利用实时互联网数据查询

    Perplexity AI 一家创新的人工智能初创公司 近日推出了一项能够改变信息检索系统的解决方案 该公司推出了两款新的大语言模型 LLMs 分别是 pplx 7b online 和 pplx 70b online 标志着首次通过API公
  • 求最大公约数,和最小公倍数的规则

    求最大公约数 和最小公倍数的规则 最大公约数 Greatest Common Divisor 简称GCD 是指两个或多个整数共有约数中最大的一个 例如 12和18的最大公约数是6 因为12和18同时都能被6整除 求最大公约数的规则包括 辗转

随机推荐

  • js操作excel常用方法,js制作表格代码

    这篇文章主要介绍了js操作excel常用方法 具有一定借鉴价值 需要的朋友可以参考下 希望大家阅读完这篇文章后大有收获 下面让小编带着大家一起了解一下 本文基于react项目实现 起因 接了一个需求 要求实现点击页面上的一个按钮 复制某个表
  • Mongodb与MySQL的异同,使用场景,优缺点。。。

    Mongodb与MySQL的使用场景有什么不同 列出详细异同及各自的优缺点 两者对内在的要求如何 MongoDB与MySQL是两种不同类型的数据库管理系统 它们在使用场景 优缺点和内在要求上有很大的不同 使用场景的不同 MongoDB适合用
  • 如何查重复值【详细说明】

    大家好 今天来聊聊如何查重复值 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 如何查重复值 在数据处理和分析过程中 查重复值是一个常见的问题 小发猫写作 重复值会使得数据冗余 影响数据的准确性和可信度 为了
  • 自定义软件app定制开发的需求和趋势|企业网站小程序搭建

    自定义软件app定制开发的需求和趋势 企业网站小程序搭建 随着智能手机的普及和移动互联网的快速发展 移动应用程序 App 成为人们日常生活和工作中必不可少的一部分 然而 市面上已有的应用程序并不能完全满足用户的个性化需求 于是越来越多的人开
  • Linux下设置定时任务常用的三种方法

    在 Linux 系统中 设置定时任务是一项常见且重要的操作 它有助于自动化执行各种任务 如系统维护 备份和日志审计 Linux 提供了多种工具来安排这些自动化任务 其中最常用的三种方法是 Cron At 和 Systemd Timers 1
  • javascript中文文档下载,javascript中文文档

    大家好 小编来为大家解答以下问题 professional javascript for web developers javascript中文文档下载 现在让我们一起来看看吧 HTML 编辑器推荐 可以使用专业的 HTML 编辑器来编辑
  • 浅谈安科瑞网络电力仪表在斯里兰卡某项目的应用

    摘要 安科瑞APM系列网络仪表适用于高低压柜 进线以及出线处的全电量测量及监测 Absrtact APM series of network power meter are suitable for full power measureme
  • 一文2000字从0到1手把手教你jmeter分布式压测

    专注于分享软件测试干货内容 欢迎点赞 收藏 留言 如有错误敬请指正 交流讨论 欢迎加入我们一起学习 资源分享 耗时200 小时精选的 软件测试 资料包 最困难的时候 也就是我们离成功不远的时候 一 jmeter为什么要做分布式压测 jmet
  • 消费数据可视化大屏,助力金融机构智慧运维

    在今天的数字化时代 消费数据的可视化已经成为了一种重要的趋势 通过将消费数据以图表 图像等形式展现出来 可以帮助我们更直观地了解消费者的行为和趋势 同时 这也为企业提供了更多的分析和决策依据 无论是针对市场营销策略的制定 还是产品设计的优化
  • js中声明函数的三种方式,javascript声明变量的语句

    大家好 给大家分享一下javascript中函数如何声明及其作用 很多人还不知道这一点 下面详细解释一下 现在让我们来看看 类的声明以及使用 声明 先声明 再访问 函数声明会提升 类声明不会 类关键字 class YourName 类的主体
  • .NET 7(C#)配置使用log4net日志框架的方法

    NET 7 C 中配置和使用 log4net 日志框架是一个涉及多步骤的过程 log4net 是一个高度灵活且强大的日志记录库 可用于记录应用程序的运行时信息 它支持各种日志输出格式和目的地 如文件 数据库 控制台等 以下是在 NET 7
  • 浅谈安科瑞ASJ继电器在马尔代夫环岛水上排屋的应用

    摘要 对电气线路进行接地故障保护 方式接地故障电流引起的设备和电气火灾事故越来越成为日常所需 针对用户侧主要的用能节点 设计安装剩余电流继电器 实时监控各用能回路的剩余电流状态 通过实时监控用能以及相关电力参数 提高用能安全 可靠及维护效率
  • 计算机网络扫盲(4)——时延

    一 概述 在这里 我们考虑分组交换网的情况 因特网可以被看成是一种基础设施 该基础设施为运行在端系统上的分布式应用提供服务 在理想情况下 我们希望因特网服务能够在任意两个端系统之间随心所欲地移动数据而没有任何数据地丢失 然而 这是一个极高的
  • windows系统配置别名

    习惯了linux下的别名管理机制 而windows下却没有类似的功能 我看有些博客介绍说windows下配置别名还得修改注册表 太麻烦了 个人认为 windows的这一套 终究会被抛弃 我自己摸索出一条比较便利的方式 1 创建一个名为ali
  • CSS实现小球边界碰撞回弹

    如何通过CSS实现一个物体在屏幕中无限的边界碰撞回弹呢 我们可以使用动画效果实现 代码 我们只做一个小球 通过定位属性叠加动画的方式 让小球在屏幕中进行运动 通过设置animation的alternate属性来设置回弹 最后 只需要设置两个
  • 改了论文查重率依然很高怎么办【保姆教程】

    大家好 今天来聊聊改了论文查重率依然很高怎么办 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 改了论文查重率依然很高怎么办 在学术领域 论文查重是保证学术诚信和论文质量的重要环节 伪原创 然而 有些同学在修
  • 维普论文查重一般得多长时间【详细说明】

    大家好 今天来聊聊维普论文查重一般得多长时间 希望能给大家提供一点参考 以下是针对论文重复率高的情况 提供一些修改建议和技巧 维普论文查重一般得多长时间 背景介绍 对于广大毕业生来说 论文查重是非常重要的一环 维普网作为国内三大论文查重网站
  • js的引入方式有哪几种,js的三种引入方式

    本篇文章给大家谈谈js引入方式有几种 分别是什么 以及js的引入方式有哪几种 希望对各位有所帮助 不要忘了收藏本站喔 一 JavaScript诞生于1995年由Netscape公司开发 JavaScript是一种解释性语言 也是一种基于对象
  • 数字法院大脑管理|助力实现司法数字化

    数字法院是现代社会数字化和信息化的产物 它的出现标志着法律领域的创新和进步 数字法院以数字技术为核心 借助互联网 大数据 人工智能等新兴技术 实现了案件流程的数字化和智能化 通过数字法院 人们可以在线提交诉讼材料 自助查询案件进展 参与庭审
  • 计算机网络扫盲(3)——网络核心

    一 概述 在之前的文章中 我们已经介绍了计算机网络的边缘 本文我们将继续介绍网络核心部分 即由互联因特网系统的分组交换机和链路构成的网状网络 二 分组交换 在各种网络应用中 端系统彼此交换 报文 message 报文能够包含协议设计者需要的