数据交换技术
目录
<线路交换>
<报文交换>
<分组交换>
1.数据报分组交换
2.虚电路分组交换
计算机网络是以数据交换为目的的技术,从交换技术的发展过程来看,主要经历了线 路交换、报文交换、分组交换的过程。
<线路交换>
线路交换又称为电路交换,是指在发送端和接收端建立起一条实际的专用通信 线路来进行数据的传输,并且在整个数据传输过程中,该专用线路一直为收发两端 占用,直到数据传输结束后才被释放。
线路交换技术的通信包括3种状态:
(1)线路建立:在传输任何数据之前,都必须建立端到端的线路
(2)数据传送:所传输的数据可以是数字的也可以是模拟的
(3)线路拆除:在某个数据传送周期结束后,就要结束链接,通常由两个站中的一个来 完成这个动作。
最典型的应用线路交换技术的例子是电话系统。
如图所示,其中6个矩形代表了电话运营商的交换局,每个局有3条入境线路和3条出 境线路。当电话呼叫通过一个交换局时,在电话入境线路与某一条出境线路之间就会建立 起一个物理连接,如图中虚线所示。当然,这个图里的模型被高度简化了。因为事实上, 两个电话之间的物理路径可能部分是微波,部分是光纤。而且在光纤链路上,会有成千上 万的电话呼叫被复用在一起。然而,我们上面讲的基本思路仍然是有效的,即一旦一个呼 叫被建立起来,在两端之间就会存在一条专用的路径,并且这条路径会一直持续到该次呼叫结束。
从我们日常打电话可以知道,我们拨完号码到开始响铃可能需要10秒钟的时间,长途 电话或者国际电话所需要的时间更长。在这段时间中,电话系统在干什么呢?它正在全力 以赴寻找到达目的地的路径。注意,在开始传输数据之前,呼叫请求信号必须一路传向接 收方,并且要被接收方确认。这对于许多计算机应用来说,比如销售点的信用卡验证,长时间的建立过程是不可取的。因此虽然线路交换设备操作简单,数据传送速度快、延迟 小,但更适用于远程成批处理和发送大量数据的固定用户间的通信。
<报文交换>
接下来我们来看报文交换。顾名思义,其传输单位是报文,需要强调的一点是,这里 所讲的报文指的是信息的一个逻辑单位,而不是望文生义的报纸文章。而报文的内容包括 要发送的正文信息和指明收发站的地址及其它的控制信息。
它与线路交换有一个不同点,报文交换不需要在发送端和接收端之间建立一条专用通 路。如果发送端想要发送一个报文,只需要把一个目的地址附加在报文上,然后把报文以 “存储-转发”的方式在网络内传输。
如图中所示,要将数据从C结点发送数据到F结点, 首先,发送端C将要发送的信息分割成一个个报文,连同接收地址发给本地交换中心6号设备;
然后,6号设备接收该报文并存储下来,待后面的线路空闲时,再转发给下一个结 点,如1号交换设备;1号交换设备接受该报文并存储下来,然后再转发给下一个交换设备 3,依次进行......
最后,接收端F接收该报文,进行整理。
在数据的传输过程中,每次数据交换均由存储和转发两步构成,不需独占一条物理链路,这可提高信道的利用率,同一个数据可发给多个接受点。目前我们所使用的电子邮件 的传送就是利用这种模式。
报文交换比起线路交换有很多优点:传输效率高,开销小,线路利用率高等等,但是 它还是有很多问题的:比如,报文交换不能满足实时或交互式的数据通信的要求,试想一 下,你正在通过网络看视频数据,如果是通过报文交换,这会是一个什么样的情况?此外 如果报文较长,则中间的交换设备需要较大容量的存储器,否则响应时间会过长,增加网络延迟。
那什么样的数据交换技术才能够避免报文交换所存在的问题呢?这就要兼具线路交换 和报文交换方式优点的分组交换了。
<分组交换>
分组交换又称为包交换技术,包是分组交换的基本数据单元,一个包可以是100-1000 个字节的数据,每个分组包含的内容有:要发送的数据、收发站的地址、分组编号、校验 码等传输控制信息。分组交换可采用数据报分组交换和虚电路分组交换两种传输方式。
1.数据报分组交换
数据报分组交换是一种无连接的服务提供方式。 发送端将数据分成若干个较小的分组,采取存储和转发工作方式,允许每个分组走不 同的路径,每个分组都被单独处理。
图中,我们看到发送端C将其要发送的数据拆分为2个分组,分组1和分组2选择了不同的传输路径,最后在交换中心5处汇合。然后重新组成完整的数据再传送给F。
数据报分组交换方式可以避免建立线路的开销,比较适合小量分组的以太网网络应 用,随着光纤的普及和网络传输速度与质量的提高,为了进一步提高通信效率,产生了帧中继交换技术。它采取带宽按需分配的统计复用原理,把位于单条线路上的多个用户站点 的信息汇集到一起,再分为多个分组(称为帧)进行传输,帧的大小由当时的带宽决定, 最大允许4000个字节的数据。这种分组交换方式主要应用于帧中继网络中。
2.虚电路分组交换
虚电路分组交换是一种面向连接的服务提供方式。在数据发送之前要建立一条逻辑连接,连接建立后,分组数据将在这条逻辑连接上传输。
虚电路分组交换建立的是逻辑信道——虚通道,不是电路交换中的一条专用的独占物理信道。虚通道上的交换设备都有缓冲装置,只有在虚通道对应的物理信道空闲时才会进 行发送,这实际上是对物理信道使用了分时共享技术。目前在宽带综合业务数字网中所提出的ATM异步传输模式就是一个典型的虚电路分组交换技术的应用,ATM能在一条物理信 道上同时建立起多条虚电路,以提供不同的业务(如语音、数据以及图像传送),目前广 泛用于骨干网络,实用于各种高速数据交换业务。
由于光纤的广泛应用,人们现在还在研究光分组交换技术。它的关键技术包括光分组 的产生、同步、缓存、再生等。它既可以在网络内实现资源最佳利用,又可以提供像点到 点这样非常关键的业务,未来的发展前景巨大。
相关文章:

数据交换技术
目录 <线路交换> <报文交换> <分组交换> 1.数据报分组交换 2.虚电路分组交换 计算机网络是以数据交换为目的的技术,从交换技术的发展过程来看,主要经历了线 路交换、报文交换、分组交换的过程。 <线路交换> 线路交换又称为…...
FFmpeg-- mp4文件合成1:aac和h264封装(c++实现)
文章目录 流程api核心代码muxer.hmuxer.cppaac 和 h264 封装为视频流,封装为c++的Muxter类 流程 分配视频文件上下文 int Init(const char *url); 创建流,赋值给视频的音频流和视频流 int AddStream(AVCodecContext *codec_ctx); 写视频流的head int SendHeader(); 写视频流的…...
【嵌入式开发 Linux 常用命令系列 1.3 -- 统计目录下有多少个文件】
统计目录下有多少个文件 在 Linux 中,你可以使用 find 命令和 wc(word count)命令的组合来统计当前目录及其子目录下的文件数量。如果你只对当前目录(不包括子目录)中的文件数量感兴趣,可以使用 ls 和 wc …...

JMeter 如何并发执行 Python 脚本
要在JMeter中并发执行Python脚本,可以使用Jython脚本或通过调用外部Python脚本的方式实现。 使用Jython脚本并发执行Python脚本的步骤: 1、创建一个线程组:在JMeter界面中,右键点击测试计划,选择 “添加” -> “线…...

第十三届蓝桥杯省赛真题 Java B 组【原卷】
文章目录 发现宝藏【考生须知】试题 A: 星期计算试题 B: 山试题 C: 字符统计试题 D: 最少刷题数试题 E \mathrm{E} E : 求阶乘试题 F : \mathrm{F}: F: 最大子矩阵试题 G: 数组切分试题 H: 回忆迷宫试题 I: 红绿灯试题 J 拉箱子 发现宝藏 前些天发现了一个巨牛的人工智能学习…...

Excel 打开后提示:MicrosoftExcel无法计算某个公式。在打开的工作簿中有一个循环引用...
目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 MicrosoftExcel无法计算某个公式。在打开的工作簿中有一个循环引用,但无法列出导致循环的引I用。请尝试编辑上次输入的公式,或利用“撤消”命令删除该公式,如下图&…...

【自我提升】计算机领域相关证书
目录 计算机技术与软件专业资格(水平)考试证书(软考)Oracle认证Cisco认证微软认证红帽认证AWS认证 计算机技术与软件专业资格(水平)考试证书(软考) 计算机技术与软件专业技术资格&a…...

外包干了15天,技术退步明显。。。。。
先说一下自己的情况,本科生,2019年我通过校招踏入了南京一家软件公司,开始了我的职业生涯。那时的我,满怀热血和憧憬,期待着在这个行业中闯出一片天地。然而,随着时间的推移,我发现自己逐渐陷入…...

人工智能(Educoder)-- 搜索技术 -- 启发式搜索
任务描述 本关任务:八数码问题是在一个33的棋盘上有1−8位数字随机分布,以及一个空格,与空格相连的棋子可以滑动到空格中,问题的解是通过空格滑动,使得棋盘转化为目标状态,如下图所示。 为了简化问题的输…...

计算平均分 javascript
养成好习惯:先写注释再写代码 基础版:直接写逻辑(平均分总和/个数) // 求平均分 var scores [60, 55, 80, 33, 75, 100]; // 求和,相除 var sum 0; var avg;for (var i 0; i < 6; i) {sum scores[i]; }avg sum / 6; con…...

Redis入门到实战-第三弹
Redis入门到实战 Redis数据类型官网地址Redis概述Redis数据类型介绍更新计划 Redis数据类型 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的(采用BSD许可证&#…...

AnyGo for Mac最新激活版:位置模拟软件打破地域限制
AnyGo for Mac,一款专为Mac用户打造的位置模拟软件,让您能够轻松打破地域限制,畅享无限可能。 软件下载:AnyGo for Mac v7.0.0最新激活版 通过AnyGo,您可以随时随地模拟出任何地理位置,无论是国内热门景点还…...

【Mysql数据库基础07】DDL 数据定义语言
Data Definition Language 1 库的操作1.1 create 创建1.2 alter 修改1.3 drop 删除 2 表的操作2.1 表的创建2.2 表的修改2.2.1 修改表名2.2.2 修改列名2.2.3 修改列的类型和约束2.2.4 添加列2.2.5 删除列 2.3 表的删除2.4 表的复制 3 练习 1 库的操作 1.1 create 创建 create…...
数据库及中表的创建和管理
目录 创建数据库 使用数据库(使用,查看信息) 修改数据库(删除,修改)...

git笔记之撤销、回退、reset方面的笔记
git笔记之撤销、回退、reset方面的笔记 code review! 文章目录 git笔记之撤销、回退、reset方面的笔记1.git 已经commit了,还没push,如何撤销到初始状态git reset --soft HEAD~1git reset HEAD~1(等同于 git reset --mixed HEAD~1࿰…...

【中间件】docker数据卷
📝个人主页:五敷有你 🔥系列专栏:中间件 ⛺️稳中求进,晒太阳 1.数据卷(容器数据管理) 修改nginx的html页面时,需要进入nginx内部。并且因为内部没有编辑器,修改…...

【3D reconstruction 学习笔记 第二部】
三维重建 3D reconstruction 4. 三维重建与极几何三角化(线性解法)三角化(非线性解法)多视图几何极几何极几何约束基础矩阵估计 5. 双目立体视觉重建6. 多视图重建7. SFM 系统设计8. SLAM系统设计 4. 三维重建与极几何 三角化&…...
【CSP试题回顾】202109-1-数组推导(优化)
CSP-202109-1-数组推导 解题代码 #include <iostream> #include <vector> #include <algorithm> using namespace std;long long n, sumMax,sumMin;int main() {cin >> n;vector<long long>arr(n);for (size_t i 0; i < n; i){cin >>…...

Redis - 高并发场景下的Redis最佳实践_翻过6座大山
文章目录 概述6座大山之_缓存雪崩 (缓存全部失效)缓存雪崩的两种常见场景如何应对缓存雪崩? 6座大山之_缓存穿透(查询不存在的 key)缓存穿透的原因解决方案1. 数据校验2. 缓存空值3. 频控4. 使用布隆过滤器 6座大山之_…...

数字乡村发展策略:科技引领农村实现跨越式发展
随着信息技术的迅猛发展和数字经济的崛起,数字乡村发展策略已经成为引领农村实现跨越式发展的重要手段。科技的力量正在深刻改变着传统农业的生产方式、农村的社会结构以及农民的生活方式,为农村经济发展注入了新的活力和动力。本文将从数字乡村的内涵、…...
yaffs2目录搜索上下文数据结构struct yaffsfs_dirsearchcontext yaffsfs_dsc[] 详细解析
1. 目录搜索上下文(Directory Search Context) struct yaffsfs_dirsearchcontext 是 YAFFS2 文件系统中用于 目录遍历操作 的核心数据结构,专门管理 readdir() 等目录操作的状态。 结构体定义(典型实现) struct yaf…...
提取数据区域中表格
查看本示例演示效果本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码 在实际的开发过程中,有时会遇到希望提取Word文档中表格数据保存到服务器的需求,此时可以使用PageOffice提取Word文档数据区域…...
kubeadm安装k8s
1、环境准备 1.1、升级系统内核 参考另一篇文章:https://blog.csdn.net/u012533920/article/details/148457715?spm1011.2415.3001.5331 1.2、设置Hostname cat <<EOF > /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhos…...

React 基础入门笔记
一、JSX语法规则 1. 定义虚拟DOM时,不要写引号 2.标签中混入JS表达式时要用 {} (1).JS表达式与JS语句(代码)的区别 (2).使用案例 3.样式的类名指定不要用class,要用className 4.内…...

构建 MCP 服务器:第 3 部分 — 添加提示
这是我们构建 MCP 服务器的四部分教程的第三部分。在第一部分中,我们使用基本资源创建了第一个MCP 服务器;在第二部分中,我们添加了资源模板并改进了代码组织。现在,我们将进一步重构代码并添加提示功能。 什么是 MCP 提示&#…...
解决 idea提示`SQL dialect is not configured` 问题
前言 在 Java 开发中,尤其是使用 IntelliJ IDEA 或 MyBatis 等框架时,开发者常会遇到 SQL dialect is not configured 的警告或错误。这一问题不仅影响代码的高亮和智能提示功能,还可能导致表结构解析失败、语法校验失效等问题。 一、问题分…...
【原神 × 二叉树】角色天赋树、任务分支和圣遗物强化路径的算法秘密!
【原神 二叉树】角色天赋树、任务分支和圣遗物强化路径的算法秘密! 作者:星之辰 标签:#原神 #二叉树 #天赋树 #任务分支 #圣遗物强化 #算法科普 发布时间:2025年6月 总字数:6000+ 一、引子:提瓦特大陆的“树型奥秘” 你是否曾留意过《原神》角色面板的天赋树? 升级技能…...

最新Spring Security实战教程(十七)企业级安全方案设计 - 多因素认证(MFA)实现
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…...
关键字--sizeof
sizeof 是 C 中的一个编译时运算符,用于获取一个类型或对象在内存中所占的字节数(单位:字节,byte)。 用法 获取类型的大小: std::cout << sizeof(int) << std::endl; // 输出int类型的字节数…...

gitlab CI/CD本地部署配置
背景: 代码管理平台切换为公司本地服务器的gitlab server。为了保证commit的代码至少编译ok,也为了以后能拓展test cases,现在先搭建本地gitlab server的CI/CD基本的编译job pipeline。 配置步骤: 先安装gitlab-runner: curl -L "ht…...