为什么需要数据交换?

如果让主机与主机直接相连,则需要维护N2规模的链路信息;

引入交换设备,主机与交换设备相连,实现主机间的通信,降低网络规模;

又为了确保连通性和适应网络规模,使用多个交换设备形成交换网络。

交换设备?

交换设备要实现动态转接、动态分配传输资源

数据交换类型——电路交换、报文交换、分组交换。

(一)电路交换(最典型:电话网络)

  1. 三个阶段:建立连接(拨号/呼叫/电路建立)→通信→释放资源
  2. 独占资源(≠物理链路)
  3. 多路复用技术,实现链路共享

多路复用技术:

链路/网络资源划分为“资源片”,将资源片分配给各路呼叫;每路呼叫独占分配到的资源片进行通信;资源片可能闲置。

1、频分多路复用FDM(有线电视网络)

各个用户占用不同的频率带宽资源,并在通信过程中自始至终都占用这个频带。

2、时分多路复用TDM

将时间划分为一段段等长的时分复用帧,每个用户再每个TDM帧中占用固定序号的时隙,只在对应时隙发送数据。

时隙周期性出现,周期为帧长;不同时隙占用相同的频带。

3、波分多路复用WDM

光的频分复用——共享光纤

WDM的实质是FDM

4、码分多路复用CDM

广泛用于无线链路共享:蜂窝网、卫星通信

每个用户分配一个唯一的码片序列,其中“0”用“-1”表示,“1”用“+1”表示。

(二)报文交换

即早期的电报使用的数据交换方式。

报文:源(应用)发送信息整体(如:一个文件)。

(三)分组交换

分组:报文拆分出来的一系列较小的数据包(加上一些报头等)

头部信息:控制信息——数据就像信纸,头部就像信封携带控制信息。

分组交换需要报文的拆分和重组,产生额外开销(写信封和拆信封的开销)。

统计多路复用——按需共享链路,并不是事先分配好不同用户独占资源。

存储-转发:路由器先缓存,再决定路由。

报文交换 vs 分组交换

设:报文长度M bits,链路带宽R bps,分组长度L bits

1、报文交换

每次转发整个报文(串行传输);路由器理论上至少需要报文大小的缓存。

2、分组交换

不同分组在不同的链路上同时处于传输过程(各分组并行传输,所以节省了时间);

理论上路由器至少只需要分组大小的缓存。

一般情况下分组交换的报文交付时间:

可看作整个报文通过一条链路传输时间(M/R)+  最后一个分组经过的路由器时间(nL/R)

练习:

ps.选择最近的链路(上方的只有两个路由器的链路进行传输)

pps. 1B = 8bit

pk结果:分组交换速度更快;资源利用率更高;对路由器缓存要求低。

电路交换 vs 分组交换

例:

共享资源:多路复用

电路交换:资源独占,被分配后不在活动时间则会闲置(只能10个用户共享)。

分组交换:统计多路复用;一般场景下,对于35个用户,10个以上的用户同时活动的概率<0.0004。

因此,分组交换允许更多用户同时使用网络——网络资源充分共享!

but!

分组交换并非绝对最优:

分组交换只是更适合突发数据传输网络——资源充分共享,简单、无需呼叫建立。

突发:发邮件,浏览网页等只需要某一时段传输数据

非突发:看视频,通话等需要源源不断的传输数据

Internet就是使用分组交换。

分组交换可能产生拥塞:分组延迟和丢失(需要协议处理可靠数据和拥塞控制)。

电路交换的初衷就是满足如通讯通话数据传输,想要让分组交换提供电路级性能保障仍有很多阻碍。

(哈工大)网络核心——数据交换的三种类型相关推荐

  1. mysql double 转 字符串_没想到!在MySQL数据库中的数据有这三种类型!

    MySQL数据库是一个或多个数据列构成二维表,它的每一种数据列都有特定类型,而类型决定MySQL是怎么看待该列数据,如果把整型数值存放到字符类型的列中,MySQL则会把它当成字符串来处理. MySQL ...

  2. 计算机网络:数据交换的三种方式及其比较

    文章目录 数据交换 电路交换(circuit switching) 报文交换(message switching) 分组交换(package switching) 分组交换与报文交换 分组交换与电路交 ...

  3. python爬虫解析数据错误_Python网络爬虫数据解析的三种方式

    request实现数据爬取的流程: 指定url 基于request发起请求 获取响应的数据 数据解析 持久化存储 1.正则解析: 常用的正则回顾:https://www.cnblogs.com/wqz ...

  4. python教程怎么抓起数据_介绍python 数据抓取三种方法

    三种数据抓取的方法正则表达式(re库) BeautifulSoup(bs4) lxml *利用之前构建的下载网页函数,获取目标网页的html,我们以https://guojiadiqu.bmcx.co ...

  5. 广播泛洪_这三种类型的报文,交换机会进行泛洪:广播、组播、未知单播

    随着互联网的发展,各种应用层出不穷,日新月异,对网络设备的要求也越来越高,对广大设备厂商也提出更多的要求.不过这些事情都与二层交换机没有关系:) ,因为各种应用的数据到达二层交换机时,都只会变成一个一 ...

  6. 定义一个DataType(数据类型)类,能处理包含字符型、整型、浮点型三种类型的数据,给出其构造函数。

    实验思路: DataType类内的私有类型要包含字符型.整型.浮点型三种类型的数据,构造函数要分别写出有字符型.整型.浮点型的形参来初始化. #include <iostream> usi ...

  7. WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构

    WEBRTC三种类型(Mesh.MCU 和 SFU)的多方通信架构 WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以 ...

  8. html5中标签分为,HTML标签的三种类型

    HTML标签的类型分为三种:行内元素,行内块元素,块级元素 而标签的属性是可以转换的 display:inline: 转换为行内元素 display:linline-block 转换为行内块元素 di ...

  9. 数仓:事实表设计方法,原则和三种类型选择

    关注公众号,回复关键字 [资料],获取[10万字大数据框架面试知识点]与[大数据开发的命令手册] 事实表设计方法 事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计.其包含与该业务过程有关的维 ...

最新文章

  1. html音乐唱片自动转,HTML5音乐播放器(四):播放列表与播放方式
  2. AutoCAD 命令参考手册
  3. Oracle执行SQL语句的过程
  4. 013_JavaScript函数
  5. 国产 YI Tunnel 收银机器人如何秒杀日本自助收银方案
  6. python面试题总结(一)字符串反转,写取指定数函数
  7. 我使用的Chrome插件列表
  8. 基于EasyNetQ的RabbitMQ封装类
  9. 安卓中java或取上下文_android-Xposed:如何获取挂钩的应用程序的上下文?
  10. 生产者消费者问题实验java,java实现:《操作系统实验一》:模拟管程解决解决生产者-消费者...
  11. 深入浅出Yolo系列之Yolox核心基础完整讲解
  12. 时区相关-这一篇全了解
  13. 人工智能计算机战胜围棋冠军
  14. 微信公众平台移动版开始内测了
  15. pytorch入门篇1 创建tensor
  16. python爬虫爬取网页内容
  17. 程序员如何预防大龄危机
  18. 关于PN532 读取二代证UUID____记录自己亲自实验成功!!!
  19. matplotlib.mlab库的重要函数
  20. 使用Kaptcha生成图片验证码

热门文章

  1. ios企业签名在线签名网站有哪些?
  2. element popover源码
  3. python 性能并不慢_关于性能:Python多处理队列比pool.map慢
  4. Chapter 4、JDK 动态代理
  5. 信盈达CorexM4核心板STM32F407VGT6电路原理图\电源原理图\USB的工作原理\miniUSB的分类
  6. 海信电视机,启动过程中进度条到一半会自动重启,开不了机。
  7. 三星等手机拍照选取图片,图片反转的问题
  8. java byte 保存_Java -- 保存byte[] 数据
  9. 智合同携手百度智能云等行业领军企业,打造更多行业生态智能合同解决方案
  10. 080 反常积分(广义积分)