计算机网络之数据交换(电路交换,报文交换,分组交换)电路交换报文交换分组交换分组交换与电路交换

  • 电路交换
  • 报文交换
  • 分组交换

如何实现数据通过网络核心从源主机到达目的主机?

就要经过网络核心进行数据交换,数据不断从一个网络交换到另一个网络,直到到达目的主机。所以网络核心解决的基本问题就是数据交换。

数据交换主要有三种:

  • 电路交换
  • 报文交换
  • 分组交换

电路交换

最典型电路交换网络:电话网络

电路交换的三个阶段:

  • 建立连接(呼叫/电路建立)
  • 通信
  • 释放连接(拆除电路) 电路交换是独占资源的,建立连接之后,就会独占这条链路进行数据交换,但不是物理链路上只有这一个连接,因为电路交换会进行多路复用。

image.png

电路交换网络如何共享中继线? 通过多路复用技术,电路交换可以共用中继线

image.png

报文交换

报文:源(应用)发送信息整体。比如要发送一个文件,那么这个文件的信息就是要发送的报文。

image.png

分组交换

分组:报文分拆出来的一系列相对较小的数据包 分组交换需要报文的拆分与重组 分组交换相对于报文交换会产生额外开销,因为i要进行数据的拆分和重组

image.png

image.png

分组交换:统计多路复用 统计多路复用就是,按顺序接受来自多个主机的分组,并且按接受的顺序的发送,并不进行区分,对路由器来说,所有的分组都是等价的,所以分组交换是公用发送信道的。

image.png

不同的分组序列顺序是不确定的,按需求共享,谁发送的分组多且快,那么自然占用的就高。

存储转发

image.png

报文交换与分组交换均采用存储-转发交换方式 区别是:

  • 报文交换以完整报文进行“存储-转发”
  • 分组交换以较小的分组进行“存储-转发 两种方式各有各的特点,下面我们就具体的分析

首先从发送速率上来说,报文交换就比较简单,易于分析

image.png

对上面的例子来说: 报文交换每次都是交换完整的报文 报文长度为M bits,链路带宽为R bps,每次传输报文需要M/R秒 所以报文要从源主机到目的主机,就需要三次传输延迟

image.png

另一方面,路由器至少需要一个报文长度M那么大的缓存

我们再来分析分组交换的过程 分组交换:报文被拆分为多个分组,分组长度为L bits,每个分组传输时延为L/R秒 例:M=7.5 Mbits,L=1500bits,M=5000L,R = 1.5 Mbps。

下面我们来分析分组转发的具体过程:

image.png

第一个分组到达第一个路由器所需要的时间,是一个L/R

image.png

有趣的在于,在第二个分组到达第一个路由器的时候,第一个分组已经从第一个路由器发到了第二个路由器,这样效率显然提高了,分组交换不同报文交换,可以充分利用链路同时传播的能力

image.png

所以分组交换发送完一个报文段,只需要

image.png

时间远比报文交换要小 我们再考虑进行分组交换时,路由器的理论最小需要的缓存就是一个分组的大小,因此所需要的缓存也小,发送速率也快,所以计算机网络采用的是分组交换的数据交换方式。

分组交换的报文交付时间的计算公式:

image.png

分组交换与电路交换

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

分组交换绝对优于电路交换? 也并不是绝对的,分组交换同时也会产生很多问题,由于是共享的,而且分组数量一多,就会发生拥塞和分组丢失,造成巨大的分组延迟

分组交换适用于突发数据传输网络

  • 资源充分共享
  • 简单、无需呼叫建立

电路交换适用于提供电路级性能保障?

  • 例如,音/视频应用所需的带宽保障

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

git:git commit 书写格式

  正如 git add 的作用是将文件放入暂存区, git commit 的作用是将修改提交到分支上。

4052
来自专栏lulianqi

超高性能管线式HTTP请求(实践·原理·实现)

这里的高性能指的就是网卡有多快请求发送就能有多快,基本上一般的服务器在一台客户端的压力下就会出现明显延时。

1491
来自专栏向治洪

百度地图android studio导入开发插件

百度地图SDK v3.5.0开发包下载地址:http://lbsyun.baidu.com/sdk/download?selected=location 开...

1.1K8
来自专栏安恒网络空间安全讲武堂

护网杯easy laravel ——Web菜鸡的详细复盘学习

复现让我发现了很多读wp以为懂了动手做的时候却想不通的漏掉的知识点(还是太菜orz),也让我对这道题解题逻辑更加理解。所以不要怂,就是干23333!

2143
来自专栏散尽浮华

Linux下绑定网卡的操作记录

公司采购的服务器安装了双网卡,并进行bond网卡绑定设置,网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bon...

4098
来自专栏我的小碗汤

6个最好的Go语言Web框架

原文:Top 6 web frameworks for Go as of 2017

1751
来自专栏静晴轩

Gulp探究折腾之路(I)

前言: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完...

3728
来自专栏Seebug漏洞平台

CVE-2017-16943 Exim UAF漏洞分析--后续

作者:Hcamael@知道创宇404实验室 上一篇分析出来后,经过@orange的提点,得知了meh公布的PoC是需要特殊配置才能触发,所以我上一篇分析文章最后...

3236
来自专栏Hadoop数据仓库

将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行

        上一篇已经将单条查重语句调整到最优,但该语句是以单线程方式执行。能否利用多处理器,让去重操作多线程并行执行,从而进一步提高速度呢?比如我的实验环...

1967
来自专栏SDNLAB

OpenDaylight Hydrogen版本应用SampleTap研究(一)

最近在网上看到了一个以OpenDaylight为基础的SDN应用,所以下载下来研究了一番,简单的对其相关功能进行了研究,由于精力有限,只完成了代码编译和Open...

3885

扫码关注云+社区

领取腾讯云代金券