【计算机网络】网络层 : 数据交换方式 ( 电路交换 | 报文交换 | 分组交换 )★

简介: 【计算机网络】网络层 : 数据交换方式 ( 电路交换 | 报文交换 | 分组交换 )★

文章目录

一、数据交换方式

二、电路交换

三、报文交换

四、分组交换

五、分组交换、报文交换 对比

六、电路交换、报文交换、分组交换 对比





一、数据交换方式


数据交换方式 :


① 电路交换


② 报文交换


③ 分组交换


数据报方式

虚电路方式





二、电路交换


电路交换 过程 :


① 建立连接 : 如 呼叫 拨号 ;


② 通信 : 通话过程 ;


③ 释放连接 : 挂掉电话 ;




电路交换 优点 :


① 通信时延小 : 通信是数据直达的过程 , 中间不会出现任何多余的处理延迟 ; 传输时延 发送时延 很小 ;


② 有序传输 : 发送接受都 按照一定的顺序 ;


③ 没有冲突 : 独占链路资源 , 数据之间不会产生冲突 ;


④ 实时性强 : 链路接通 , 就可以实时通信 ;




电路交换 缺点 :


① 建立连接时间长 : 双方都要等待对方就绪 , 如打电话 , 等待对方接通 ;


② 效率低 : 通信双方独占通信线路 , 链路的使用效率低


③ 灵活性差 : 如果中途的 交换设备宕机 , 通信双方就无法进行通信 ;


④ 没有差错控制能力 : 交换设备不会对数据进行检错纠错 , 只是单纯转发 ;






三、报文交换


报文交换 : 发送端 源应用 将信息数据整体发送 , 不管数据有多大 ;



报文交换 优点 :


① 无连接 : 事先不需要建立连接 , 这是与电路交换的主要区别 ;


② 动态路径 : 不用规划好路线 , 可以存储转发 , 动态分配线路 , 寻找最佳路径 ;


③ 可靠性高 : 如果其中一台交换设备出现问题 , 那么转到另一个交换设备 , 继续向后发送 ;


④ 线路使用率高 : 通信双方 不会 全程 占用整条线路 , 而是分时段分别占用一段链路 ;


⑤ 多目标服务 : 一个报文 , 可以同时转发给多个接收端 ;




报文交换 缺点 :


① 时延 : 有存储转发时延 , 交换设备收到报文 , 先存储下来 , 等链路空闲了 , 再转发出去 ;


② 缓存空间大 : 报文 的大小可能很大 , 网络中的交换设备的缓存 , 要设置的足够大 , 才能缓存下报文数据 ;






四、分组交换


分组交换 : 发送数据时 , 以 分组 为单位 ;


分组 : 将 大数据块 切割成 小数据块 ;



分组交换 优点 :


① 无连接 : 无需建立连接 ;


② 存储转发 : 有存储转发 , 动态分配线路 ;


③ 可靠性高 : 线路可靠性高 , 分组较小 , 出错几率小 ;


④ 利用率高 : 线路利用率高 ;


⑤ 存储管理简单 : 分组都是较小的数据 , 相对于报文交换 , 存储管理更简单 ; 报文交换 中 , 交换设备 缓存必须足够大 ;




分组交换 缺点 :


① 时延高 : 有存储转发时延 ;


② 额外信息 : 分组有相关分组信息 , 源地址 , 目的地址 , 等额外信息 ;






五、分组交换、报文交换 对比


分组交换、报文交换 对比 :

image.png



链路速率 : 所有的链路传输速率是 1000 10001000 比特 / 秒 ; 源主机 -> 交换设备 , 交换设备 -> 交换设备 , 交换设备 -> 目的主机 , 每个链路的速率都是 1000 比特 / 秒 ;


报文交换 : 报文长度 10000 1000010000 比特 ;


分组交换 : 每个分组 10 1010 比特 ;


忽略条件 : 忽略 其它 传播延迟 , 头部开销等问题 ;


求 从开始发送开始 , 到所有数据传播完毕截止 , 计算传播总时间 ;




报文交换 :


链路 1 11 : 从源主机 发送到 链路上 需要 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ;

链路 2 22 : 从 交换设备 1 11 发送到 交换设备 2 22 需要 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ;

链路 3 33 : 从交换设备 2 22 发送到 目的主机 需要 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ;

总共花费了 30 秒时间 ;



分组交换 :


每个分组 大小 10 1010 比特 , 一个分组发送时延 : 10 1000 = 0.01 \cfrac{10}{1000} = 0.01

1000

10


=0.01 秒 ;

这里只考虑最后一个分组 , 从源主机发送出来 , 到达目的主机的时延 , 即 从 第一个分组开始发送计时, 到最后一个分组传输完毕就是所有分组传输结束 ;

第一个分组开始发送 到 最后一个分组开始发送 的时间 : 10000 1000 = 10 \cfrac{10000}{1000} = 10

1000

10000


=10 秒 ;

最后一个分组 从 交换设备 1 11 到 交换设备 2 22 用了 0.01 0.010.01 秒 ;

最后一个分组 从 交换设备 2 22 到 目的主机 用了 0.01 0.010.01 秒 ;

分组交换使用的总时间是 10.02 10.0210.02 秒 ;





六、电路交换、报文交换、分组交换 对比


电路交换、报文交换、分组交换 对比 :


① 存储转发 : 报文交换 和 分组交换 , 采用 存储转发 ;


② 电路交换使用场景 : 传输数据量巨大 , 传送时间远大于呼叫时间 , 此时使用电路交换 , 电路交换的传输时延最小 ;


③ 信道利用率 : 报文交换 和 分组交换 的信道利用率 高于 电路交换 ;


④ 时延 : 分组交换 > 报文交换 ;


目录
相关文章
|
3月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
339 0
|
4月前
|
机器学习/深度学习 数据采集 传感器
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
138 0
|
5月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
147 0
|
6月前
|
Python
LBA-ECO CD-32 通量塔网络数据汇编,巴西亚马逊:1999-2006,V2
该数据集汇集了1999年至2006年间巴西亚马逊地区九座观测塔的碳和能量通量、气象、辐射等多类数据,涵盖小时至月度时间步长。作为第二版汇编,数据经过协调与质量控制,扩展了第一版内容,并新增生态系统呼吸等相关计算数据,支持综合研究与模型合成。数据以36个制表符分隔文本文件形式提供,配套PDF说明文件,适用于生态与气候研究。引用来源为Restrepo-Coupe等人(2021)。
105 1
|
2月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
123 0
|
3月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
5月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
141 4
|
6月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
8月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
251 22
|
8月前
|
存储 数据库 Python
利用Python获取网络数据的技巧
抓起你的Python魔杖,我们一起进入了网络之海,捕捉那些悠游在网络中的数据鱼,想一想不同的网络资源,是不是都像数不尽的海洋生物,我们要做的,就是像一个优秀的渔民一样,找到他们,把它们捕获,然后用他们制作出种种美味。 **1. 打开魔法之门:请求包** 要抓鱼,首先需要一个鱼网。在Python的世界里,我们就是通过所谓的“请求包”来发送“抓鱼”的请求。requests是Python中常用的发送HTTP请求的库,用它可以方便地与网络上的资源进行交互。所谓的GET,POST,DELETE,还有PUT,这些听起来像偶像歌曲一样的单词,其实就是我们鱼网的不同方式。 简单用法如下: ``` im
156 14