掌握电路交换与分组交换:计算机网络的核心技术

计算机网络是现代信息社会的基石,而交换技术是实现网络通信的核心。本文将详细介绍两种典型的交换方式:电路交换分组交换,帮助基础小白快速掌握这两种技术的基本概念和区别。


什么是电路交换?

电路交换(Circuit Switching)技术来源于电话网,它的工作原理可以通过电话机的连接方式来说明。

1. 简单连接

最简单的方式是两部电话直接用一对电线连接,如图1-6(a)所示。但当电话数量增加时,直接连接的方法需要的电线数量将会急剧增加。

2. 使用交换机

为了减少电线数量,可以使用交换机将电话机连接起来,如图1-6©所示。每部电话都连接到交换机上,交换机通过动态分配线路资源来实现任意两部电话的通信。

在这里插入图片描述

3. 电路交换的工作过程

电路交换的过程包括三个步骤:

  • 建立连接(分配通信资源)
  • 通话(一直占用通信资源)
  • 释放连接(归还通信资源)

在通话过程中,通信资源始终被占用,如图1-7所示。这种方式虽然简单,但对于计算机数据传输而言,效率较低,因为计算机数据是突发式的,线路在大部分时间里处于空闲状态。

在这里插入图片描述

  1. 优缺点
优点
  • 传输时延小:由于通信线路为通信双方用户专用,数据直达,时延非常小。
  • 实时性强:通信双方之间的物理通路一旦建立,双方可以随时通信。
  • 有序传输:数据按发送顺序传送,不存在失序问题。
  • 适用范围广:适用于传输模拟信号和数字信号。
  • 控制简单:交换设备及控制相对简单。
缺点
  • 建立连接时间长:对于计算机通信来说,平均连接建立时间较长。
  • 信道利用率低:物理通路被双方独占,即使通信线路空闲,也不能供其他用户使用。
  • 灵活性差:不同类型、不同规格、不同速率的终端难以相互通信,也难以进行差错控制。
  1. 应用场景

电路交换最早用于电话网络,两台电话之间通过专有电线连接。虽然电路交换在实时性和低时延方面具有明显优势,但由于其信道利用率低和灵活性差,在现代互联网中较少使用,更多应用于需要高实时性和固定连接的场景,如传统电话通信。


什么是分组交换?

分组交换(Packet Switching)是计算机网络中主要采用的交换技术,它通过将数据分割成小的分组来传输。

1. 分组的概念

在发送报文之前,先将较长的报文划分成等长的数据段,每个数据段前加上控制信息组成一个分组(Packet),如图1-8所示。分组的首部包含了目的地址和源地址等重要信息。

在这里插入图片描述

2. 分组交换的工作过程

分组交换的过程是通过存储转发的方式实现的。分组交换机接收分组后,先存储下来,检查首部信息,按首部中的地址查找转发表,找到合适的接口转发出去,如图1-9所示。

在这里插入图片描述

  1. 优缺点
优点
  • 无需建立连接:用户可以随时发送分组,不需要预先建立通信线路。
  • 线路利用率高:通信双方不是固定占用一条通信线路,而是在不同的时间段部分占用线路,提高了线路利用率。
  • 加速传输:分组逐个传输,后一个分组的存储操作与前一个分组的转发操作可以并行,减少了传输时间。
  • 提高传输可靠性:交换节点具有路径选择功能,当某条传输线路故障时,可选择其他传输线路。
  • 减少出错几率和重发数据量:分组较短,出错几率减少,每次重发的数据量也减少。
缺点
  • 转发时延:数据进入交换节点后要经历存储转发过程,引起转发时延,网络通信量越大,时延越大。
  • 实时性较差:由于转发时延和排队等待,实时性不如电路交换。
  • 数据报服务存在问题:可能出现失序、丢失或重复分组,需要对分组按编号进行排序等工作。
4. 分组交换的挑战

分组交换也带来一些新的问题,如时延和分组丢失。分组在传输时需要排队等待,可能会造成时延,甚至因为缓存满而丢失分组,如图1-10所示。

在这里插入图片描述


电路交换与分组交换的对比

电路交换和分组交换在数据传输方式上有明显区别:

  • 电路交换:整个报文的比特流连续地从源点直达终点,如图1-11所示。
  • 分组交换:单个分组传送到相邻结点,存储后再转发,逐段占用通信资源。

电路交换适合连续传输大量数据,而分组交换更适合传输突发数据,提高了信道利用率和传输效率。


通过本文的介绍,希望基础小白能对电路交换与分组交换有一个初步的了解。这两种交换技术是计算机网络的核心基础,掌握它们有助于更好地理解网络通信的原理。

文本,图片来源:《计算机网络教程》第6版微课版

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

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

相关文章

Centos系统迁移

目前,CentOS 全系列版本已经于l六月底正式停止维护,这意味着 CentOS 时代彻底终结,也意味着部署在 CentOS 7 上的业务系统将面临前所未有的安全挑战。 本文推荐由红帽衍生出来的且可以做到真正无缝替代的linux版本Open Euler 注&#xff1a…

科普文:Linux服务器性能调优概叙

概叙 Java web应用性能分析之服务端慢和优化概叙_cpu飙高java-CSDN博客 Java web应用性能分析之【CPU飙升分析概述】_web页面性能分析cpu占满是因为死循环,还是循环过多-CSDN博客 在我们的软件服务中,软件部署的服务器,一般都是linux服务器&#xff0c…

rtsp地址 + 测试网站 + java(免环境、免插件、零编码转换http播放)

目录 1、创建rtsp网站 2、测试rtsp网站 3、Java实现rtsp播放 ①maven添加依赖 ②访问http地址即可展示视频内容 1、创建rtsp网站 填写邮箱即可获得两个可用的rtsp网站(每月可免费用2G): https://rtsp.stream/ 2、测试rtsp网站 测试网络…

基于SpringBoot的地方废物回收机构管理系统

本系统主要包括管理员和员工两个角色组成;主要包括:首页、个人中心、员工管理、员工请假管理、销假申请管理、工作日志管理、员工工资管理、员工任务管理、任务汇报管理、设备信息管理、设备借用管理、设备归还管理、设备保修管理、维修入库管理、员工打…

Python酷库之旅-第三方库Pandas(002)

目录 一、用法精讲 1、pandas.read_pickle函数 1-1、语法 1-2、参数 1-3、功能 1-4、返回值 1-5、说明 1-6、用法 1-6-1、代码示例 1-6-2、结果输出 2、pandas.DataFrame.to_pickle方法 2-1、语法 2-2、参数 2-3、功能 2-4、返回值 2-5、说明 2-5-1、文件路径…

数据结构(3.8)——栈的应用

栈在括号匹配中的应用 流程图 代码 #include <stdio.h> #include <stdlib.h> #define MaxSize 10typedef struct {char data[MaxSize];int top; } SqStack;// 初始化栈 void InitStack(SqStack* S) {S->top -1; // 初始化栈顶指针 }// 判空 bool StackEmpty(…

《米小圈日记魔法》边看边学,轻松掌握写日记的魔法!

在当今充满数字化娱乐和信息快速变迁的时代&#xff0c;如何创新引导孩子们学习&#xff0c;特别是如何培养他们的写作能力&#xff0c;一直是家长和教育者们关注的焦点。今天就向大家推荐一部寓教于乐的动画片《米小圈日记魔法》&#xff0c;该系列动画通过其独特的故事情节和…

vue通过后台返回的数字显示不同的文字内容,多个内容用、隔开

后台返回的数据 显示效果&#xff1a; html&#xff1a; <el-table-columnalign"center"label"使用过的小程序"width"124"v-if"activeTab 0"><template #default"scope"><divv-for"(item, index) in s…

数据结构(3.5)——队列的顺序实现

队列的顺序实现 #define MaxSize 10//定义队列中元素的最大个数 typedef struct {int data[MaxSize];//用静态数组存放队列元素int front, rear;//队头指针和队尾指针 } SqQueue;void testQueue() {SqQueue Q;//声明一个队列(顺序存储) } 队列的初始化操作和判空 //初始化队…

大模型面试题目

1.为什么需要做位置编码 位置编码&#xff08;Positional Encoding&#xff09;在变换器&#xff08;Transformer&#xff09;模型中非常重要&#xff0c;因为变换器架构本身没有内置的顺序信息。变换器使用的是自注意力机制&#xff0c;它能够捕捉输入序列中所有词之间的相关性…

论文解析——Transformer 模型压缩算法研究及硬件加速器实现

作者及发刊详情 邓晗珂&#xff0c;华南理工大学 摘要 正文 实验平台 选取模型&#xff1a; T r a n s f o r m e r b a s e Transformer_{base} Transformerbase​ 训练数据集&#xff1a;WMT-2014 英语-德语翻译数据集、IWSLT-2014 英语-德语互译数据集 Transformer模…

kpatch制作内核热补丁步骤总结

零、原理及参考 kpatch入门实践教程-CSDN博客 Kpatch 使用过程及其原理-CSDN博客 一、准备工作 安装对应版本的kpatch-build.rpm并解决依赖diff -Naur dir1 dir2 > hot.patch 拿到补丁文件下载对应内核版本的src.rpm安装好对应的开发包kernel-debuginfo&#xff0c;kern…

数据库开发:mysql基础一

文章目录 数据库开发Day15&#xff1a;MySQL基础&#xff08;一&#xff09;一、MySQL介绍与安装【1】MySQL介绍&#xff08;5&#xff09;启动MySQL服务&#xff08;6&#xff09;修改root登陆密码 二、SQL简介三、数据库操作四、数据表操作4.1、数据库数据类型4.2、创建数据表…

对标 GPT-4o 的开源实时语音多模态模型:Moshi

是由法国的 AI 实验室 Kyutai 推出的实时语音多模态模型&#xff0c;支持听、说、看&#xff0c;最关键的是你现在就可以在浏览器中使用&#xff0c;如果这个链接延迟高&#xff0c;可以试试这个, 无需输入邮箱&#xff0c;点击 Join queue 即可。 简单体验了下&#xff0c;比…

#### golang中【堆】的使用及底层 ####

声明&#xff0c;本文部分内容摘自&#xff1a; Go: 深入理解堆实现及应用-腾讯云开发者社区-腾讯云 数组实现堆 | WXue 堆&#xff08;Heap&#xff09;是实现优先队列的数据结构&#xff0c;Go提供了接口和方法来操作堆。 应用 package mainimport ("container/heap&q…

结构方程模型-验证性因子分析模型

初级 第7讲 验证性因子分析模_哔哩哔哩_bilibili

claude3.5写作——《基于灰色预测的中国人口数量预测》

文章目录 站点和提问引言一、灰色预测模型介绍二、中国历年人口数据三、灰色预测模型的建立1.建立原始序列2.生成1-AGO序列3.计算背景值4.构造数据矩阵并计算参数5.模型检验6.模型预测 四、预测结果分析五、政策建议结语参考文献 站点和提问 站点&#xff1a;中国官方克劳德3.…

光伏电站数据采集方案(基于工业路由器部署)

​ 一、方案概述 本方案采用星创易联SR500工业路由器作为核心网关设备&#xff0c;实现对光伏电站现场数据的实时采集、安全传输和远程监控。SR500具备多接口、多功能、高可靠性等特点&#xff0c;能够满足光伏电站数据采集的各种需求。&#xff08;key-iot.com/iotlist/sr500…

RK3568平台(opencv篇)ubuntu18.04上安装opencv环境

一.什么是 OpenCV-Python OpenCV-Python 是一个 Python 绑定库&#xff0c;旨在解决计算机视觉问题。   Python 是一种由 Guido van Rossum 开发的通用编程语言&#xff0c;它很快就变得非常流行&#xff0c;主要是 因为它的简单性和代码可读性。它使程序员能够用更少的代码行…

网络IO模型之多路复用器.md

多路复用是什么&#xff1f;怎么理解&#xff1f; 本文主要涉及为 程序中处理网络IO时的模型&#xff0c;对于系统内核而言网络IO模型。这里只做普及使用 前置知识&#xff0c;什么是IO&#xff1f;怎么理解IO IO其实就是In和Out。中文翻译是输入和输出&#xff0c;只要涉及到输…