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

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


什么是电路交换?

电路交换(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版微课版

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

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

相关文章

技术革新引领钢材质量智能化检测新纪元,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建钢材工业生产场景下钢材缺陷智能检测识别系统

随着人工智能(AI)技术的迅猛发展,其应用领域不断拓宽,正深刻改变着传统产业的运作模式。在钢材生产这一基础工业领域,AI的引入正为钢材的质量检测带来革命性的变革。 在传统的钢材生产流程中,质量检测是确…

【C++】二叉搜索树的模拟实现

前言:今天我们学习相对来说比前面轻松一点的内容,二叉搜索树,在之前我们学习过二叉树今天的内容对于我们就会比较简单一点了,一起加油。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质…

从零开始学量化~Ptrade使用教程——安装与登录

PTrade交易系统是一款高净值和机构投资者专业投资软件,为用户提供普通交易、篮子交易、日内回转交易、算法交易、量化投研/回测/实盘等各种交易工具,满足用户的各种交易需求和交易场景,帮助用户提高交易效率。 运行环境及安装 操作系统&…

计算机的错误计算(二十一)

摘要 两个不相等数相减,差为0: ? 在计算机的错误计算(十九)中,高中生小明发现本应为0的算式结果不为0. 今天他又发现对本不为0的算式,计算机的输出为0. 在 Python 中计算 : 则输出为0. 若用 C…

必备的 Adobe XD 辅助工具

想要高效便捷的使用 Adobe XD, Adobe XD 插件是必不可少的, Adobe XD 的插件非常多,但 90%都是英文,并且良莠不齐。在这儿挑选 9 个好用的 Adobe XD 插件给大家,这里是我整理的一些实用 Adobe XD 插件,让你…

3-2 梯度与反向传播

3-2 梯度与反向传播 主目录点这里 梯度的含义 可以看到红色区域的变化率较大,梯度较大;绿色区域的变化率较小,梯度较小。 在二维情况下,梯度向量的方向指向函数增长最快的方向,而其大小表示增长的速率。 梯度的计算 …

UE5 07-给物体添加一个拖尾粒子

添加一个(旧版粒子系统)cascade粒子系统组件 ,在模板中选择一个开发学习初始包里的粒子

Elasticsearch:Ingest architectures - 摄取架构

我们提供各种采集架构,以满足各种用例和网络配置的需求。 要将数据采集到 Elasticsearch,请使用最符合你的需求和用例的选项。对于许多用户和用例来说,最简单的方法是使用 Elastic Agent 采集数据并将其发送到 Elasticsearch。Elastic Agent…

Mybatis框架的集成使用

1_框架概述 框架是一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架时直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度,框架是一种经过校验、具有一定功能的半成品软件. 经过校验:指…

零基础学习MySQL---库的相关操作

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、创建数据库 1.语法 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] .…

使用selenium定位input标签下的下拉框

先来看一下页面效果&#xff1a;是一个可输入的下拉列表 再来看一下下拉框的实现方式&#xff1a; 是用<ul>和<li>方式来实现的下拉框&#xff0c;不是select类型的&#xff0c;所以不能用传统的select定位方法。 在着手定位元素前一定一定要先弄清楚下拉列表…

CocoaPodsCmake

https://juejin.cn/post/7257048145233838141?searchId20240531171431E5868B41DC7B7016CCBA https://guides.cocoapods.org CocoaPods CocoaPods的作用 帮助程序员通过命令管理第三方库及更新&#xff0c;以达到扩展项目的目的。 CocoaPods的使用 在已有的工程目录下新增…

JAVA:文件防重设计指南

1、简述 在现代应用程序中&#xff0c;处理文件上传是一个常见的需求。为了保证文件存储的高效性和一致性&#xff0c;避免重复存储相同的文件是一个重要的优化点。本文将介绍一种基于哈希值的文件防重设计&#xff0c;并详细列出实现步骤。 2、设计原理 文件防重的基本思路…

智能家居安防系统教学解决方案

前言 随着科技的不断进步和智能家居概念的深入人心&#xff0c;智能家居安防系统作为智能家居领域的重要组成部分&#xff0c;其重要性日益凸显。智能家居安防系统不仅能够提供环境和人员的监测功能&#xff0c;还能够采取措施降低或避免人员伤亡及财产损失。因此&#xff0c;…

leetcode216.组合总和III、40.组合总和II、39.组合总和

216.组合总和III 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输出…

百日筑基第十一天-看看SpringBoot

百日筑基第十一天-看看SpringBoot 创建项目 Spring 官方提供了 Spring Initializr 的方式来创建 Spring Boot 项目。网址如下&#xff1a; https://start.spring.io/ 打开后的界面如下&#xff1a; 可以将 Spring Initializr 看作是 Spring Boot 项目的初始化向导&#xff…

实训学习错误总结2

1、 "timestamp": "2024-07-04T08:43:07.15400:00", "status": 405, "error": "Method Not Allowed", "path": "/wuzi/insert" 简单的来说就是使用的方法与注释不匹配。 规定的是&#xff1a;Get&a…

第20章 Mac+VSCode配置C++环境

1. 下载VSCode VSCode下载地址在mac终端里输入xcode- select --install命令,根据提示安装xcode工具。2. 安装插件(4个) 打开VScode,点击应用右侧菜单栏 C/C++(必装) Code Runner(必装) CodeLLDB(代码调试),不安装这个插件程序调试时,无法在vscode自带的终端里输入参…

redis学习(002 安装redis和客户端)

黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第5p-第p7的内容 文章目录 安装redis启动启动方式1&#xff1a;可执行文件启动启动方式2 基于配置文件启动修改redis配置文件 …

第四十七章 解决 IRIS 中的 SOAP 问题 - Web 网关中的 HTTP 跟踪

文章目录 第四十七章 解决 IRIS 中的 SOAP 问题 - Web 网关中的 HTTP 跟踪Web 网关中的 HTTP 跟踪第三方追踪工具 第四十七章 解决 IRIS 中的 SOAP 问题 - Web 网关中的 HTTP 跟踪 Web 网关中的 HTTP 跟踪 Web 网关管理页面可让跟踪 HTTP 请求和响应。请参阅使用 HTTP 跟踪工…