计算机网络-三种交换方式

计算机网络-三种交换方式

电路交换(Circuit Switching)

  • 电话交换机接通电话线的方式称为电路交换
  • 从通信资源分配的角度来看,交换(Switching)就是按照某种方式动态的分配传输线路的资源

在这里插入图片描述

电话交换机

在这里插入图片描述

  • 为了解决电话之间通信两两之间连线过多,所以产生了电话交换机
  • 简单理解为有多个开关的开关器,可以将需要通信的任意两部电话的电话线路按需接通
电路交换的三个步骤
  1. 建立连接(分配通信资源)
  2. 通话(一直占用通信资源)
  3. 释放连接(归还通信资源)

在这里插入图片描述

  • 当使用电路交换来传送计算机数据时,其线路的传输效率往往很低
  • 线路被持续占用,无法被其他用户使用,造成资源浪费

分组交换(Packet Switching)

在这里插入图片描述

  • 通常我们把表示消息的整块数据称之为一个报文

  • 发送报文前,主机将较长的报文划分为一个个更小的等长数据段,在数据段前面加上一些必要的控制信息的首部之后构成一个分组,也称之为,首部也称之为包头

  • 分组交换机接收到一个分组后,先将分组暂存下来,再检查分组首部,按照首部中的分组目的地的地址进行查表转发

  • 接收方接收到分组后,主机去除分组的首部,将各个数据段进行组合还原出原始报文

报文交换(Message Switching)

  • 报文交换与分组交换类似,交换节点采用存储转发的方式,报文交换对报文大小没有限制,要求交换节点需要有较大的缓存空间
  • 报文交换主要用于早期的电报通信网,现在较少使用,通常被分组交换的方式所替代

三种交换方式对比

在这里插入图片描述

电路交换优点
  • 通信时延小
  • 有序传输
  • 没有冲突
  • 使用范围广
  • 实时性强
  • 控制简单
电路交换缺点
  • 建立时间长
  • 线路独占,使用率低
  • 灵活性差
  • 难以规格化
报文交换优点
  • 无需建立连接
  • 动态分配线路
  • 提高线路可靠性
  • 提高线路利用率
  • 提供多目标服务
报文交换缺点
  • 引起了转发时延
  • 需要较大的存储缓存空间
  • 需要传输额外的信息量
分组交换优点
  • 无需建立连接
  • 线路利用率高
  • 简化了存储管理
  • 加速传送
  • 减少出错概率和重发数据量
分组交换缺点
  • 引起了转发时延
  • 需要传输额外的信息量
  • 对于数据报服务,存在失序、丢失或重复分组的问题,对于虚电路服务,存在呼叫建立,数据传输和虚电路释放三个过程

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

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

相关文章

【JavaEE初阶】了解JVM

文章目录 一. JVM内存区域划分二. JVM类加载机制2.1 类加载整体流程2.2 类加载的时机2.3 双亲委派模型(经典) 三. JVM垃圾回收机制(GC)3.1 GC实际工作过程3.1.1 找到垃圾/判定垃圾1. 引用计数(不是java的做法,Python/PHP)2. 可达性分析(Java的做法) 3.1.2 清理垃圾1. 标记清除2…

peerDependency到底是什么

peerDependency到底是什么 正常开发中,我们经常接触到的是 package.json 中的 dependencies 和 devDependencies, 本文不对上面两个进行细节分析,让我们来看看 peerDependencies 是什么? 在 NPM v7 中,默认安装 peerDependencies…

Unity面板究极优化

首先对于大项目来说UI首选一定的UGUI,目前没有啥可选的余地。多一点都是对性能的负担,UGUI底层基于多线程技术,可以有效分担压力,对于一些不是那么重的面板几乎无感。 无论其他面板只是在此基础上修改的,但每多一层&am…

wait,notify/notifyAll都要放在synchronized锁里面

wait,notify/notifyAll都要放在synchronized锁里面 如果没放在synchronized锁里面,就要报这样的错误 public class Test5 {public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(()->{syn();},"t1&quo…

Godot 4 源码分析 - 碰撞

碰撞功能应该是一个核心功能,它能自动产生相应的数据,比如目标对象进入、离开本对象的检测区域。 基于属性设置,能碰撞的都具备这样的属性:Layer、Mask. 在Godot 4中,Collision属性中的Layer和Mask属性是用于定义碰撞…

uni-app uView自定义底部导航栏

因项目需要自定义底部导航栏&#xff0c;我把它写在了组件里&#xff0c;基于uView2框架写的&#xff08;vue2&#xff09;&#xff1b; 一、代码 在components下创建tabbar.vue文件&#xff0c;代码如下&#xff1a; <template><view><u-tabbar :value"c…

LabVIEW开发3D颈动脉图像边缘检测

LabVIEW开发3D颈动脉图像边缘检测 近年来&#xff0c;超声图像在医学领域对疾病诊断具有重要意义。边缘检测是图像处理技术的重要组成部分。边缘包含图像信息。边缘检测的主要目的是根据强度和纹理等属性识别图像中均匀区域的边界。超声&#xff08;US&#xff09;图像存在视觉…

Python爬虫的学习day02 requests 模块post 函数, lmxl 模块的 etree 模块

1. requests 模块post 函数 1.1 post 函数的参数 &#xff08;简单版&#xff09; 参数1&#xff1a; url 网络地址 参数2&#xff1a; data 请求数据 &#xff08;一般数据是 账号&#xff0c;密码&#xff09; 参数3&#xff1a; headers 头请求 &#xff08…

区块链实验室(16) - FISCO BCOS实验环境

经过多次重复&#xff0c;建立一个FISCO BCOS实验环境。该环境是一个VMWare虚拟机&#xff0c;能够启动FISCO BCOS自创建的4节点区块链&#xff0c;不必下载依赖包即可编译Fisco Bcos目标文件&#xff0c;安装有VsCode1.81版本。 启动4节点的Fisco Bcos区块链 启动控制台 编译…

Collections工具类(java)

文章目录 7.1 常用方法 参考操作数组的工具类&#xff1a;Arrays&#xff0c;Collections 是一个操作 Set、List 和 Map 等集合的工具类。 7.1 常用方法 Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作&#xff0c;还提供了对集合对象设置不可变、…

深度学习:探究Tensor和Numpy

目录 引言 1 pytorch中Tensor 1.1 什么是Tensor 1.2 为什么需要Tensor 1.3 如何创建Tensor 1.3.1 从已有其他数据结构转化创建为Tensor 1.3.2 随机初始化一个Tensor 1.3.3 从已保存文件加载一个Tensor 1.4 Tensor的特性 1.4.1 丰富的常用函数操作 1.4.2 灵活的dtype和…

学C的第三十二天【动态内存管理】

相关代码gitee自取&#xff1a;C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 学C的第三十一天【通讯录的实现】_高高的胖子的博客-CSDN博客 1 . 为什么存在动态内存分配 学到现在认识的内存开辟方式有两种&#xff1a; 创建变量&#xff1a; int val …