一、概念

  交换技术是指各台主机之间、各通信设备之间或者主机和通信设备之间(简单理解:你的PC和我的PC之间、你的PC和我的路由器、路由器之间)为交换信息所采用的的数据格式和交换装置的方式。

二、交换技术分类

2.1 电路交换(Circuit Switching)

2.1.1 什么是电路交换?

  Anderw S.Tanenbaum 在 《Computer Network 》给电路交换下了定义:

Conceptually, when you or your computer places a telephone call, the switching equipment within the telephone system seeks out a physical path all the way from your telephone to the receiver’s telephone. This technique is called circuit switching.

  从概念上讲,当你或是你的计算机想要拨打电话时,电话系统内的交换设备会寻找一条从你的电话到接收方电话之间的物理路径。 这种技术称为电路交换。在打电话的过程中,我们需要明白几个概念。拨号方相当于源结点,接收电话方相当于目标结点,而我们从拿起话筒、拨号、等待、通话、挂断等一系列过程我们把它称之为一个完整的电路交换过程。所以简而言之,电路交换就是在源结点和目标结点之间建立一条专用的通路用于数据传输。

2.1.2 电路交换具体过程

  对应于我们日常的电话通信步骤:拨号、通话、挂断,电路交换主要包括三个阶段,分别是建立连接、传输数据、断开连接。

  • 建立连接

  两个节点之间通信是需要传输媒介的,打电话亦然。所以我们需要电话线来传输我们的语音信号。所以当我们需要通话时,首先要做的事情便是建立一条通信线路,也就

是要占用一条专用的电话线(Occupy a dedicated path between both ends)。

  • 传输数据

  通信线路的建立是端系统实现通信的基础(在面向连接的通信方式中)。当链路建立完成后,便可以通过信道传输我们通话的语音信号了,当然这里面还可能涉及数据的编码和调制。

  • 断开连接

  当两个节点通信结束后,为了提高数据传输率和资源利用率,我们需要让出通信线路给需要通信的节点。所以我们得释放连接。

  

  在实际生活中,我们打电话的行为类似这张图:

拨号后等待的时间就相当于左边的电话在通过多口开关选择一条未被占用的电话线路一样。中间需要 Switching Office 来实现数据接力。当通信结束后,将开关拨开就相当于断开连接。

2.1.3 电路交换的优缺点

 a) 优点

  • 通信时延小
  • 有序传输
  • 无数据冲突
  • 实时性强
  • 控制简单

 b) 缺点

  • 建立连接时间长(通常从拨号到接通需要10秒的时间,这比起网络通信实在是延迟不少!!!)
  • 线路独占,信道利用率低
  • 线路的抗故障性差(一点故障,重新连接)
  • 难以规格化(数据直达不缓存,不同速率信号难以通信)

2.2 报文交换(Message Switching)

2.2.1 什么是报文交换?

  报文交换实质是一种采用存储转发技术,在源结点和目的结点间通过中间结点(路由器)来实现对报文进行交换,从而实现报文的传输。

  可以将报文交换理解为我们现实生活中的接力比赛,第一棒选手拿着接力棒从起点出发,然后中途会把接力棒交给下一个队友,最后接棒的队友兴奋地奔向终点!其中报文就好比接力棒,而这些中途参加接力的运动健儿们就是中间的交换结点啦。这样的分析后,我们便很好把握报文交换的特点了。

2.2.2 报文交换的特点

a) 优点

  • 无须建立连接(与电路交换不同)
  • 动态分配线路(路由算法选择最佳线路)
  • 线路抗故障性强(不会出现“一点断,多点瘫”情况)
  • 提高线路利用率(相对于电路交换,不会一直占用信道)
  • 提供多目标服务(一个报文可广播多个目的地)

b) 缺点

  • 转发时延长
  • 存储开销大

  这两点从时间和空间的角度考察了报文交换的不足之处。因为报文(数据)进入交换结点后要经历存储、排队、转发等过程(不像电路交换,连接一建立就直接发),所以会引起额外的转发时延。当然也正因为采用存储转发技术,所以要求中间结点需要具备一定的缓存空间来暂时存储接收到的报文,然后才依次为各个报文选择恰当的路线发送给下一个结点。

2.3 分组交换(Package Switching)

2.3.1 什么是分组交换?

  实质上,分组交换与报文交换是相同的,他们都采用“存储-转发”的思想,唯一的不同是,分组交换考虑地更加细致,它在报文的长度上给出了限制。换而言之,报文不能以任意长度传输,必须在固定的长度范围内,如果超过既定范围就需要将一个报文分成两个甚至多个报文来进行传输。因此我们在分组交换技术下,数据一般被称为“分组”(Packet)。类似于IP分组。

2.3.2 分组交换的特点

a) 优点

  除了具有与报文交换相同的优点外,还具有:

  • 简化了存储设备(相对于报文交换,分组长度固定,便于操作)
  • 流水线式加速传输(多个分组的排队等待、发送可以并行)
  • 降低出错率和重传率(分组长度较短,出错概率降低)

b) 缺点

  • 存在传输时延
  • 需要传输额外信息(每个分组都需要指定源地址、目的地址、分组号等额外信息)
  • 增加额外处理时间(分组实现对大数据报的切分,同时也带来对分组组装,排序等额外工作的开销)

三、三种交换技术对比

  龙书作者 Anderw S.Tanenbaum 给出了电路交换与分组交换的各项指标的对比:(报文交换与分组交换实质是一样滴)

就目前的引用场景来说,电路交换技术一般用于有线电视、有限电话系统等要求可靠传输的领域。而报文交换只是电路交换到分组交换的过渡时期的替代品,已经成为历史。分组交换应用就更加广泛了,比如IP报文,ICMP报文等都使用了分组交换技术。

没有拿到保研名额,权衡之下,选择了考研,只为了不断地提升自己。不管是从技术还是心理,内心总是坚定:少说话,多做事。

TCP/IP 物理层卷二 -- 交换技术的更多相关文章

  1. TCP/IP 物理层卷一 -- 基本概念

    一.基本概念: 物理层:TCP/IP 协议簇的最底层,物理层所需要考虑的是如何在连接计算机的传输媒体上传输数据的比特流,而不是连接计算机的具体物理设备. 信号:数据的电气或电磁表现,是数据在传输媒体上 ...

  2. TCP/IP 物理层卷四 -- 数据报与虚电路

    一.数据报(Datagram) 1.1 概念 数据报是分组交换的一种,主要向通信子网中的端系统提供无连接的分组交换服务.通信子网的某主机发送一个报文时,无需建立连接,只需在实现高层协议的前提下对数据拆 ...

  3. TCP/IP 物理层卷三 -- 传输介质

    一.有线传输介质(Guided Transmission Media)  1.1 双绞线(Twisted Pair) 双绞线(twisted pair)是一种综合布线工程中最常用的有线传输介质(导向传 ...

  4. TCP/IP协议栈源码图解分析系列10:linux内核协议栈中对于socket相关API的实现

    题记:本系列文章的目的是抛开书本从Linux内核源代码的角度详细分析TCP/IP协议栈内核相关技术 轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswang@gmail.com linu ...

  5. 关于TOE(TCP/IP Offload Engine)

    前言 昨天在电脑上抓取的报文,想进行回话,但是发现全部被设备丢弃了,没有debug信息,查看了抓包文件,原来是IP头和TCP.UDP头的检验和全部为0,也就是TOE(TCP/IP Offload En ...

  6. tcp/ip 卷一 读书笔记(2)物理层和链路层网络

    物理层和链路层网络 术语 链路 是一对相邻结点间的物理线路,中间没有任何其他的交换结点. 数据链路 除了物理线路外,还必须有通信协议来控制这些数据的传输. 帧 数据链路层的协议数据单元(PDU) 串行 ...

  7. TCP/IP(二)物理层详解

    前言 在前面说了一下,计算机网络的大概内容,没有去深刻的去了解它,这篇文章给大家分享一下物理层! 我们知道ISO模型是七层,TCP/IP模型是五层,而tcp/ip协议只将七层概括为4层,我们将学习其中 ...

  8. 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

    1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...

  9. 单片机联网需求攀升 WIZnet全硬件TCP/IP技术崛起

    --新华龙电子为韩国WIZnet公司网络芯片授权代理商,具有20多年的专业团队IC应用开发实力-- 如今不管是在企业还是小区.街道,甚至是居民室内,以太网接口无处不在.有鉴于此,电子设备必将向更加智能 ...

随机推荐

  1. 支持快应用的http网络库-flyio

    Fly.js 一个基于Promise的.强大的.支持多种JavaScript运行时的http请求库. 有了它,您可以使用一份http请求代码在浏览器.微信小程序.Weex.Node.React Nat ...

  2. 也谈Tcp/Ip协议

    一. 计算机网络体系结构分层 一图看完本文 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”, ...

  3. POJ2942Knights of the round table

    这题第一次做的人一般是颓题解的. 首先我们转化一下问题,既然厌恶的人不能一起出席,是一种不传递关系,我们构建补图,这样补图的边表示两个骑士可以同时出席. 此时,由于只能有奇数个人参加,则我们要找出奇环 ...

  4. Java多线程-线程中止

    不正确的线程中止-Stop Stop:中止线程,并且清除监控器锁的信息,但是可能导致 线程安全问题,JDK不建议用. Destroy: JDK未实现该方法. /** * @author simon * ...

  5. 阿里云OSS细粒度权限控制

    做下工作记录: 自定义安全策略,然后授权即可 { ", "Statement": [ { "Effect": "Allow", & ...

  6. Alpha冲刺(2/6)

    队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/11861798.html 作业博客: https://edu.cnblogs.com/campus/fz ...

  7. koa 项目实战(五)全球公用头像的使用

    1.安装模块 npm install gravatar --save 2.使用 根目录/routes/api/users.js const gravatar = require('gravatar') ...

  8. Node JS复制文件

    /** * Created by Administrator on 2019/11/6. *指尖敲打着世界 ----一个阳光而又不失帅气的少年!!!. */ var fs=require(" ...

  9. router 配置按需加载对应的组件,配置active

    const routes = [ { path: '/', component: App, children: [ {path: '/index/:type', name: 'index', comp ...

  10. .NET GC简单理解

    内存分配 计算对象大小. 添加对象指针和同步索引块. 从内存指针处开始,分配对象内存. 问题:内存不能无限制增长. 垃圾回收 从应用程序实例出发,标记所有的引用对象. 将标记对象移动到低地址端,修正实 ...