当前位置: 首页 > news >正文

计算机网络_1.3电路交换、分组交换和报文交换

1.3电路交换、分组交换和报文交换

    • 一、电路交换
      • 1、“电路交换”例子引入
      • 2、电路交换的三个阶段
      • 3、计算机之间的数据传送不适合采用电路交换
    • 二、分组交换
      • 1、发送方
        • (1)报文
        • (2)分组
        • (3)首部
      • 2、交换节点
      • 3、接收方
      • 4、三方各自任务
    • 三、报文交换(分组交换的前身)
    • 四、三种交换的对比

笔记来源: B站 《深入浅出计算机网络》课程

一、电路交换

在这里插入图片描述

1、“电路交换”例子引入

早期专为电话通信服务的电信网络中,需要使用很多相互连接起来的电话交换机,来完成全网的电话交换任务。电话交换机接通电话线的方式,就是电路交换

2、电路交换的三个阶段

  • 使用电路交换进行通信需要经历【1.建立连接 2.通话 3.释放连接】三个阶段
  • 1.建立连接
    就是分配通话资源(在使用电路交换打电话之前,主叫方首先要拨号,以请求建立连接);被叫方听到铃声并摘机,从主叫方到被叫方就建立了一条专用的物理通路简称为“连接”,这条连接为通信双方提供通信资源
  • 2.通话 双方基于已建立的连接进行通话,通话期间双方始终占用着连接,通信资源不会被其他用户占用
  • 3.释放连接 通话完毕挂机后,专用物理通路被交换机释放,将双方占用的资源归还给电信网。

3、计算机之间的数据传送不适合采用电路交换

原因:计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%。

二、分组交换

在这里插入图片描述

1、发送方

(1)报文

通常把表示消息的整块数据叫做一个报文。较长的报文不适宜直接传输。如果报文太长,将对交换节点的缓存容量有很大的需求,在错误处理方面也会比较低效。

(2)分组

将较长的报文划分成若干个较小的等长数据段,在每个数据段前面添加一些由必要的控制信息组成的首部,这样就构造出一个个分组。

(3)首部

添加首部的作用:首部中包含分组的目的地址,否则分组传输路径中的各交换节点就不知道如何转发分组

2、交换节点

  • 源主机将分组发送到分组交换网中;
  • 分组交换网中的交换节点,收到一个分组后,现将其缓存下来,然后从首部中提取目的地址,按照目的地址查找自己的转发表,找到相应的转发接口后,将分组转发出去,交给下一个转发节点;
  • 经过多个交换节点的存储转发后,分组最终被转发到目的主机

3、接收方

  • 目的主机收到分组后,去掉它们各自的首部,将各数据段组合还原出原始报文

4、三方各自任务

发送方:构造分组、发送分组
交换节点:缓存分组、转发分组
接收方:接收分组、还原报文

在这里插入图片描述

三、报文交换(分组交换的前身)

  • 报文交换是分组交换的前身。
  • 在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。
  • 交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。
  • 因此,报文交换比分组交换带来的转发时延要长很多需要交换节点具有的缓存空间也大很多

四、三种交换的对比

在这里插入图片描述

  • 若要连续传送大量的数据,并且数据传送时间远大于建立连接的时间,则使用电路交换可以有较高的传输效率。
    然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低。
  • 报文交换和分组交换都不需要建立连接(即预先分配通信资源),在传送计算机的突发数据时可以提高通信线路的利用率。
  • 将报文构造成若干个更小的分组进行分组交换,比将整个报文进行报文交换的时延要小,并且还可以避免太长的报文长时间占用链路有利于差错控制同时具有更好的灵活性

相关文章:

  • 3338 蓝桥杯 wyz的数组IV 简单
  • 每次请求sessionid变化【SpringBoot+Vue】
  • Docker consul的容器服务更新与发现
  • k8s中调整Pod数量限制的方法
  • 【C++】STL之空间配置器(了解)
  • 【数据结构 08】红黑树
  • 2024前端面试总结—JS篇(文档持续更新中。。。)
  • EasyExcel导出Excel和多个图片到Zip,并实现超链接
  • 为什么pgsql(内关联查询或者with字句时)会导致索引失效
  • vue项目中的gitignore是干什么的
  • pg数据库替换指定ip
  • C++移动语义:提升性能和资源管理的新境界
  • 热门科目VS冷门科目?!2024年软考选科攻略!
  • 同心致远 聚力腾飞 | 正运动技术2024迎春年会盛典圆满举办!
  • SpanDB: A Fast, Cost-Effective LSM-tree Based KV Store on Hybrid Storage——论文泛读
  • [Vue CLI 3] 配置解析之 css.extract
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  •  D - 粉碎叛乱F - 其他起义
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • ES6语法详解(一)
  • JavaScript函数式编程(一)
  • java概述
  • js对象的深浅拷贝
  • learning koa2.x
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • 给Prometheus造假数据的方法
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 探索 JS 中的模块化
  • 小程序01:wepy框架整合iview webapp UI
  • 硬币翻转问题,区间操作
  • 终端用户监控:真实用户监控还是模拟监控?
  • kubernetes资源对象--ingress
  • ###C语言程序设计-----C语言学习(6)#
  • (1)常见O(n^2)排序算法解析
  • (1)虚拟机的安装与使用,linux系统安装
  • (2.2w字)前端单元测试之Jest详解篇
  • (C语言)fread与fwrite详解
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)计算机毕业设计高校学生选课系统
  • (蓝桥杯每日一题)love
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (七)Knockout 创建自定义绑定
  • (四)汇编语言——简单程序
  • (算法)前K大的和
  • **CI中自动类加载的用法总结
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .net core 连接数据库,通过数据库生成Modell
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .net6Api后台+uniapp导出Excel
  • .NET构架之我见
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • [.net] 如何在mail的加入正文显示图片
  • []常用AT命令解释()
  • [20170705]diff比较执行结果的内容.txt
  • [AX]AX2012 AIF(四):文档服务应用实例