计算机网络——三种交换技术
目录
电路交换——用于电话网络
电路交换的优点:
电路交换的缺点:
报文交换——用于电报网络
报文交换的优点:
报文交换的缺点:
分组交换——用于现代计算机网络
分组交换的优点:
分组交换的缺点
电路交换——用于电话网络
一个电话交换机可能会连接很多部电话,有可能会连接其他的电话交换机

电路交换(Circuit Switching):通过物理线路的连接,动态地分配传输线路资源
电路交换的优点:
通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部事件内,两个用户始终占用端到端的线路资源。数据直达,传输速率高
电路交换的缺点:
建立/释放连接,需要额外的时间开销
线路被通信双方独占,利用率低
线路分配的灵活性差
交换节点不支持“差错控制”(无法发现传输过程中的发生的数据错误)
假设小红要给小美发送一些数据,这串数据是0100,那么在数据传输的过程中,可能会因为一些电磁干扰而导致这串数据在传输过程中发生了错误,从0100变成了0101,这串数据经过的线路越多越容易出现这种错误,如果这些数据每经过一段链路,这个交换结点都会检查一下数据有没有错,如果有错,修正数据,这个过程就是差错控制,但可惜的是电路交换这种技术并不支持交错控制

电路交换更适用于:低频次,大量地传输数据
但不巧的是,计算机之间数据往往是“突发式”传输,即往往是高频次,少量地传输数据

报文交换——用于电报网络
转储转发的思想,把传送的数据单元先存储进中间节点,再根据目的地址转发至下一节点
相比于电路交换技术,他们在发送数据前是否需要和接收方建立连接呢?
不需要。直接把报文丢到网络上,让这些中间节点帮我逐层转发就可以了
只要确保报名都包含必要控制信息就可以了,要说明从哪发,要发到哪
还有用户数据,每个报文可以携带的信息各不相同,如果小帅只是和小美进行文字聊天,那么小帅给小美发的报文只需要包含少量的文字,如果小丑要给小扁发一个好看的电影,那么他的报文就需要携带更多的用户数据

报文交换的优点:
通信前无需建立连接
数据以报文为单位被交换节点间存储转发,通信线路可以灵活分配
在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
交换节点支持“交错控制”(通过校验技术)
报文交换的缺点:
报文不定长,不方便存储转发管理
长报文的存储转发时间开销大,缓存开销大
长报文容易出错,重传代价高

分组交换——用于现代计算机网络

假设小帅要给小美发送一个数据,在数据传输前要拆分为多个分组,每个分组都包含首部的信息,通过H!这台电脑可以把多个分组发送到下一个中间节点,所有的这些分组最终都会发送到H5这台计算机上,分组0和分组1走上面一条路,当分组2要被转发出去时,中间节点发现上面一条路线已经足够拥堵了,就可以发到更空闲的路线上,由于下面一条路线比较通常,分组2遥遥领先,一路来到了H5这台计算机上,也就是H5先接收到了分组2,最后收到这些分组的顺序是201,通过分组首部的分组号,H5这台电脑可以对分组进行重新排序成012的顺序,再将不必要的首部信息拆分出去最后合并成用户数据

在现代生活中,路由器就是一种典型的分组交换机
分组交换的优点:
继承了报文交换的所有优点
相比于报文交换,分组交换改进了如下问题
分组定长,方便存储转发管理
分组的存储转发时间开销小,暖存开销小
分组不易出错,重传代价低
分组交换的缺点
相比报文交换,控制信息占比增加了
相比电路交换,依然存在存储转发时延
报文被拆分为多个分组,传输过程中可能会出现失序,丢失等问题,增加处理的复杂度

相关文章:
计算机网络——三种交换技术
目录 电路交换——用于电话网络 电路交换的优点: 电路交换的缺点: 报文交换——用于电报网络 报文交换的优点: 报文交换的缺点: 分组交换——用于现代计算机网络 分组交换的优点: 分组交换的缺点 电路交换——…...
[ Spring ] Spring Boot Mybatis++ 2025
文章目录 StructureMyBatis Controller AbilitiesConfigure Plugins and RepositoriesApply Plugins and Add DependenciesMyBatis Spring PropertiesMyBatis ApplicationMyBatis BeansMyBatis MapperMyBatis Query Builder Structure this blog introduce 3 ways using mybat…...
【力扣题解】922. 按奇偶排序数组 II
😊博主目前也在学习,有错误欢迎指正😊 🌈保持热爱 奔赴星海🌈 文章目录 一、题目1、题目描述2、基础框架3、原题链接 二、解题报告1、思路分析2、代码详解 三、本题知识 一、题目 1、题目描述 给定一个非负整数数组 n…...
HTML5教程之标签(2)
HTML5 <b> 标签 实例 在HTML5中,你可以使用<b>标签来对某些文本实现加粗的效果,请参考下述的示例: <p>这是一个普通的文本- <b>这是一个加粗文本</b>。</p> 尝试一下 浏览器支持 所有主流浏览器都支…...
Verilog基础(一):基础元素
verilog基础 我先说,看了肯定会忘,但是重要的是这个过程,我们知道了概念,知道了以后在哪里查询。语法都是术,通用的概念是术。所以如果你有相关的软件编程经验,那么其实开启这个学习之旅,你会感受到熟悉,也会感受到别致。 入门 - 如何开始 欢迎来到二进制的世界,数字…...
Vue 图片引用方式详解:静态资源与动态路径访问
目录 前言1. 引用 public/ 目录2. assets/ 目录3. 远程服务器4. Vue Router 动态访问5. 总结6. 扩展(图片不显示) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Vue 开发中&#x…...
Qt网络相关
“ 所有生而孤独的人,葆有的天真 ” 为了⽀持跨平台, QT对⽹络编程的 API 也进⾏了重新封装。本章会上手一套基于QT的网络通信编写。 UDP Socket 在使用Qt进行网络编程前,需要在Qt项目中的.pro文件里添加对应的网络模块( network ). QT core gui net…...
深入剖析 HTML5 新特性:语义化标签和表单控件完全指南
系列文章目录 01-从零开始学 HTML:构建网页的基本框架与技巧 02-HTML常见文本标签解析:从基础到进阶的全面指南 03-HTML从入门到精通:链接与图像标签全解析 04-HTML 列表标签全解析:无序与有序列表的深度应用 05-HTML表格标签全面…...
使用 Axios 获取用户数据并渲染——个人信息设置
目录 1. HTML 部分(前端页面结构) HTML 结构解析: 2. JavaScript 部分(信息渲染逻辑) JavaScript 解析: 3. 完整流程 4. 总结 5. 适用场景 本文将介绍如何通过 Axios 从服务器获取用户信息࿰…...
生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (上)
今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来,生成式 AI 安全市场正迅速发展。据 IDC 预测,到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元,年复合增长率超过 30%…...
pytorch基于FastText实现词嵌入
FastText 是 Facebook AI Research 提出的 改进版 Word2Vec,可以: ✅ 利用 n-grams 处理未登录词 比 Word2Vec 更快、更准确 适用于中文等形态丰富的语言 完整的 PyTorch FastText 代码(基于中文语料),包含࿱…...
Docker技术相关学习三
一、Docker镜像仓库管理 1.docker仓库:用于存储和分发docker镜像的集中式存储库,开发者可以将自己创建的镜像推送到仓库中也可以从仓库中拉取所需要的镜像。 2.docker仓库: 公有仓库(docker hub):任何人都可…...
在Mac mini M4上部署DeepSeek R1本地大模型
在Mac mini M4上部署DeepSeek R1本地大模型 安装ollama 本地部署,我们可以通过Ollama来进行安装 Ollama 官方版:【点击前往】 Web UI 控制端【点击安装】 如何在MacOS上更换Ollama的模型位置 默认安装时,OLLAMA_MODELS 位置在"~/.o…...
实战:利用百度站长平台加速网站收录
本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/33.html 利用百度站长平台加速网站收录是一个实战性很强的过程,以下是一些具体的步骤和策略: 一、了解百度站长平台 百度站长平台是百度为网站管理员提供的一系列工…...
2025蓝桥杯JAVA编程题练习Day2
1.大衣构造字符串 问题描述 已知对于一个由小写字母构成的字符串,每次操作可以选择一个索引,将该索引处的字符用三个相同的字符副本替换。 现有一长度为 NN 的字符串 UU,请帮助大衣构造一个最小长度的字符串 SS,使得经过任意次…...
SQL进阶实战技巧:如何分析浏览到下单各步骤转化率及流失用户数?
目录 0 问题描述 1 数据准备 2 问题分析 3 问题拓展 3.1 跳出率计算...
3. k8s二进制集群之负载均衡器高可用部署
Haproxy 和 Keepalived安装Haproxy配置文件准备Keepalived配置及健康检查启动Haproxy & Keepalived服务继续上一篇文章《K8S集群架构及主机准备》,下面介绍负载均衡器搭建过程 Haproxy 和 Keepalived安装 在负载均衡器两个主机上安装即可 apt install haproxy keepalived…...
Python 网络爬虫实战:从基础到高级爬取技术
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 网络爬虫(Web Scraping)是一种自动化技术,利用程序从网页中提取数据,广泛…...
python学opencv|读取图像(五十四)使用cv2.blur()函数实现图像像素均值处理
【1】引言 前序学习进程中,对图像的操作均基于各个像素点上的BGR值不同而展开。 对于彩色图像,每个像素点上的BGR值为三个整数,因为是三通道图像;对于灰度图像,各个像素上的BGR值是一个整数,因为这是单通…...
控件【QT】
文章目录 控件QWidgetenabledgeometrysetGeometry qrcwindowOpacityQPixmapfonttoolTipfocusPolicystyleSheetQPushButtonRadio ButtionCheck Box显示类控件QProgressBarcalendarWidget 控件 Qt中已经提供了很多内置的控件了(按钮,文本框,单选按钮,复选按钮,下拉框…...
NOTEPAD++编写abap
参考下面三个链接 Notepad ABAP代码高亮显示_notepad代码高亮颜色-CSDN博客 百度安全验证 ABAP Syntax Highlighting in Notepad Part 2 - SAP Community 最后XML文件看看你可以自己增加些新语法的高亮显示...
STM32 串口发送与接收
接线图 代码配置 根据上一章发送的代码配置,在GPIO配置的基础上需要再配置PA10引脚做RX接收,引脚模式可以选择浮空输入或者上拉输入,在USART配置串口模式里加上RX模式。 配置中断 //配置中断 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE…...
【Unity2D 2022:UI】创建滚动视图
一、创建Scroll View游戏对象 在Canvas画布下新建Scroll View游戏对象 二、为Content游戏对象添加Grid Layout Group(网格布局组)组件 选中Content游戏物体,点击Add Competent添加组件,搜索Grid Layout Group组件 三、调整Grid La…...
Python sider-ai-api库 — 访问Claude、llama、ChatGPT、gemini、o1等大模型API
目前国内少有调用ChatGPT、Claude、Gemini等国外大模型API的库。 Python库sider_ai_api 提供了调用这些大模型的一个完整解决方案, 使得开发者能调用 sider.ai 的API,实现大模型的访问。 Sider是谷歌浏览器和Edge的插件,能调用ChatGPT、Clau…...
CSS Display属性完全指南
CSS Display属性完全指南 引言核心概念常用display值详解1. block(块级元素)2. inline(行内元素)3. inline-block(行内块级元素)4. flex(弹性布局)5. grid(网格布局&…...
密云生活的初体验
【】在《岁末随笔之碎碎念》里,我通告了自己搬新家的事情。乙巳年开始,我慢慢与大家分享自己买房装修以及在新家的居住体验等情况。 跳过买房装修的内容,今天先说说这三个月的生活体验。 【白河】 潮白河是海河水系五大河之一,贯穿…...
Leetcode - 周赛434
目录 一、3432. 统计元素和差值为偶数的分区方案二、3433. 统计用户被提及情况三、3434. 子数组操作后的最大频率四、3435. 最短公共超序列的字母出现频率 一、3432. 统计元素和差值为偶数的分区方案 题目链接 本题可以直接模拟,这里再介绍一个数学做法࿰…...
C32.【C++ Cont】静态实现双向链表及STL库的list
目录 1.知识回顾 2.静态实现演示图 3.静态实现代码 1.初始双向链表 2.头插 3.遍历链表 4.查找某个值 4.任意位置之后插入元素 5.任意位置之前插入元素 6.删除任意位置的元素 4.STL库的list 1.知识回顾 96.【C语言】数据结构之双向链表的初始化,尾插,打印和尾删 97.【C…...
记录一次-Rancher通过UI-Create Custom- RKE2的BUG
一、下游集群 当你的下游集群使用Mysql外部数据库时,会报错: **他会检查ETCD。 但因为用的是Mysql外部数据库,这个就太奇怪了,而且这个检测不过,集群是咩办法被管理的。 二、如果不选择etcd,就选择控制面。 在rke2-…...
使用mockttp库模拟HTTP服务器和客户端进行单元测试
简介 mockttp 是一个用于在 Node.js 中模拟 HTTP 服务器和客户端的库。它可以帮助我们进行单元测试和集成测试,而不需要实际发送 HTTP 请求。 安装 npm install mockttp types/mockttp模拟http服务测试 首先导入并创建一个本地服务器实例 import { getLocal } …...
