文章目录

  • 数据交换
    • 电路交换(circuit switching)
    • 报文交换(message switching)
    • 分组交换(package switching)
  • 分组交换与报文交换
  • 分组交换与电路交换

数据交换

网络核心主要解决的问题是如何将数据从源主机通过网络核心送达目标主机,
现代计算机网络采用的主要技术是数据交换,
随着网络规模的扩大,计算机间不可能直接相连(O(N2)),
因此引入专用于数据转发的交换设备,
各主机与交换设备相连,且交换设备互连形成交换网络
源主机发送的数据先传递给交换设备,通过交换网络转发至目的地

交换

  • 动态转接
    交换设备的交换指动态转接,指交换设备可将端口按需要在物理上或逻辑上动态地连接
  • 动态分配传输资源
    计算机网络中的交换注重于如何在传输中动态地分配传输资源

电路交换(circuit switching)

最典型的电路交换网络:电话网络
电路交换分为三个阶段

  • 建立连接(电路建立)
  • 数据传输
  • 释放连接(拆除电路)

电路交换的特征:资源独占
采用电路交换的通信中,通信双方独占其使用的通信资源
即使没有数据在传输,第三方也无法使用这个闲置资源

资源独占并不是指独占整个通信链路,通信链路可以通过各种多路复用技术共享


报文交换(message switching)

报文交换广泛应用于上世纪五六十年代至七十年代的电报通信

  • 将要发送的数据整体作为报文,如 一个文件,以报文为单位进行传输
  • 采用存储+转发的交换方式

分组交换(package switching)

  • 与报文交换相同,采取存储+转发的交换方式
  • 将报文分成若干个小的分组,以分组为单位进行传输
  • 需要将报文拆分重组,且每个分组需要添加分组头(存储分组的元信息),
    产生额外开销
  • 多个分组间可以并行传输
  • 又称为统计多路复用(statistical multiplexing)



如上图所示,分组交换网络中,同一通信链路的多个用户可以在同一时间段内
共享所有带宽,且需要发送的数据越多,占用的平均带宽越多
因此,这种按需共享通信资源的复用方式又称为统计多路复用


分组交换与报文交换

分组交换与报文交换均采用存储转发交换方式,主要区别在于发送数据的单位
用传输延迟的概念来比较两种交换方式

  • 传输延迟(传输时延、发送延迟、发送时延)= 数据长度链路传输速率{\large\frac{数据长度}{链路传输速率}}链路传输速率数据长度​

设报文大小为 M,分组大小为 L(分组头的影响忽略不计),链路传输速率为 R
需要经过 N 个路由器(交换设备),示意如下

对于报文交换:
    总发送时延 = 发送时延 × N = NMR\large\frac{NM}{R}RNM​
对于分组交换:
    总发送时延 = 分组发送时延 × (N-1) + MR\large\frac{M}{R}RM​ = (N−1)LR\large\frac{(N-1)L}{R}R(N−1)L​ + MR\large\frac{M}{R}RM​
易知

      (N−1)LR\large\frac{(N-1)L}{R}R(N−1)L​ < (N−1)MR\large\frac{(N-1)M}{R}R(N−1)M​

即发送延迟上分组交换节省的时间约为

      (N−1)(M−L)R\large\frac{(N-1)(M-L)}{R}R(N−1)(M−L)​

两种交换传播时延相同,因此 分组交换交付时间 < 报文交换交付时间
可以说分组交换在传输时间上明显优于报文交换

另一方面,由于存储转发的交换方式,对于报文交换与分组交换来说,
路由器(交换设备)所需要的缓存分别至少为 M 和 nL,n 为同时存在于交换节点的分组数量
因此,在交换节点缓存容量的要求上,分组交换也优于报文交换


分组交换与电路交换

现代计算机网络主要为分组交换网络(Internet
现代电话网络仍然使用电路交换
早已成熟、广泛使用的电路交换技术与分组交换相比各有优势

如,N 个用户共享一个1Mbps通信链路的场景:
假设每个用户活动时需要 100kb/s 的带宽
假设每个用户的平均活动时间10%

若采用电路交换:
无论用户活动与否,都独占通信需要使用的资源
因此电路交换方式可以满足 1Mbps / 100Kbps = 10 个用户

若采用分组交换:
对于 35 个用户,大于 10 个用户同时活动的概率小于 0.0004
因此可以向 35 个用户提供服务

因此,分组交换允许更多用户同时使用网络,从而使网络资源充分共享
相对于电路交换,分组交换更加简单(无需呼叫建立连接),资源共享更充分

但是分组交换就一定优于电路交换吗?

分组交换适用于突发数据传输网络(间歇性数据传输
电路交换适用于实时数据流传输

分组交换在某些方面难以提供电路级性能保障,如音/视频应用
且可能产生网络拥塞(congestion):分组延迟和丢失

因此,分组交换网络需要一些协议保证数据可靠传输和进行拥塞控制


2020/4/22

计算机网络:数据交换的三种方式及其比较相关推荐

  1. 简单了解计算机网络中数据传输的三种方式

    简单理解数据传输:计算机之间实现远程文件和多媒体信息获取和发送的行为. 准确理解数据传输:按照一定的规程,通过一条或者多条数据链路,将数据从数据源传输到数据终端,它的主要作用就是实现点与点之间的信息传 ...

  2. 微服务中数据聚合的三种方式

    在微服务暴热的情形下,似乎不弄点微服务,已经是跟不上IT的大潮了. 因此,公司结合本身情况,以及将来的可拓展性,在我的主导下,在新的项目中采用了微服务架构 然而,实施过程中遇到一个挠头的问题,就是数据 ...

  3. 系统间数据交换的5种方式

    工作中常会遇到系统对接,交换数据,将用过的对接数据交换方式简要回顾一下. 一,原始的方式,直接文件交换 通过定义csv,xml,json等文件,一方支持数据导出,另一方支持数据导入.最开始是人手工完成 ...

  4. 爬虫之数据解析的三种方式

    一,正则表达式解析 re正则就不写了,前面已经写入一篇很详细的正则表达式模块了~ 而且,在爬虫中,下面两种方式用的多一些~ 正则表达式:https://www.cnblogs.com/peng104/ ...

  5. PHP中数据类型转换有多少种,PHP中数据类型转换的三种方式

    PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形 2.(float).(double).(real):转换成浮点型 3.(string): ...

  6. Python数据解析的三种方式

    一,正则表达式解析 在爬虫中,下面两种方式用的多一些~ 大致用法: pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i&g ...

  7. (哈工大)网络核心——数据交换的三种类型

    为什么需要数据交换? 如果让主机与主机直接相连,则需要维护N2规模的链路信息: 引入交换设备,主机与交换设备相连,实现主机间的通信,降低网络规模: 又为了确保连通性和适应网络规模,使用多个交换设备形成 ...

  8. JdbcTemplate 查询数据实现的三种方式

    JdbcTemplate 在对数据库进行查询时,通常通过实现下面三种回调接口之一实现 org.springframework.jdbc.core.ResultSetExtractororg.sprin ...

  9. Android数据存储的三种方式-SharedPrefrences,File,SQLite

    1,使用SharedPrefrences 用于简单少量的数据,数据的格式简单:都是普通的字符串,标量类型的值等,比如各种配置信息等等 SharedPrefrences与Editor简介: 创建Shar ...

最新文章

  1. css 全局 兼容性问题
  2. nginxmysql负载均衡,神操作!
  3. Unity整合TortoiseSVN
  4. Java Secret:使用枚举构建状态机
  5. BAT面试进阶:最全Memcached面试30题含答案
  6. 【LeetCode】剑指 Offer 47. 礼物的最大价值
  7. JPA之@GeneratedValue注解
  8. 智慧、智能图书馆管理平台系统+web端业务数据管理平台+Axure通用web端高保真交互业务数据管理平台+铭牌管理+设备监控+系统管理+内容管理+机构列表管理+用户权限管理+专题管理+服务包管理
  9. Arcgis更换布局模板_小美AI触屏音箱评测 美的布局AloT的关键一环
  10. 批量重命名文件夹中的文件(python)
  11. sigar(System Information Gatherer And Reporter)简介
  12. Microsoft SQL Server 2000 简体中文企业版 +SP4升级补丁
  13. go java gc_Golang GC算法
  14. 小米路由器4A,(R4A千兆版)刷openwrt系统(Linux的一种)
  15. 利用python进行数据分析(四)
  16. 关于微信小程序webview的使用
  17. [益智]:怎么称才能用三次就找到球
  18. 笨办法学Python(零)
  19. Google打不开的解决方法和部分Google镜像IP地址表
  20. 为何境外IT巨头频频来华成立合资公司

热门文章

  1. ping命令详解 ping不通处理方法
  2. python爬去百度文库资料_python urllib爬取百度云连接的实例代码
  3. 软件作业(3):用户体验分析——基于南通大学教务管理系统微信公众号
  4. 微信商户平台相关配置指南
  5. 量化投资学习——joinquant上精品资料整理
  6. Inno setup检测进程存在并杀掉进程
  7. C#全局键盘检测GetAsyncKeyState
  8. 标题相似度算法_相似度计算方法
  9. 情人节礼物送什么比较好?情人节礼物合集
  10. Microbiome:环境样品中绝对定量菌群丰度的新方法