二、概述篇-交换技术和网络拓扑

嗨,亲爱的读者朋友们好,本篇是计算机网络系列重构的第二篇文章,本篇文章着重来了解下几种交换技术和网络拓扑结构,这些是计算机网络世界的基础知识,我们有必要理解和记忆。

二、概述篇-交换技术和网络拓扑

一、电路交换


这里说的交换的含义是什么呢?

在计算机网络中,“交换”(switching)的含义就是转接—>把一条电话线转接到另一条电话线,使他们之间连通起来

从通信资源的分配角度看,交换就是按照某种方式动态地分配传输线路的资源

我们要知道,交换技术是随着电话通信技术的发展和使用而出现的通信技术

1876年,贝尔发明了电话。人类的声音第一次转换为电信号,并通过电话线实现了远距离传输。

电话刚开始使用时,只能实现固定的两个人之间的通话,因为两部电话是通过一根线直连起来的。

二、概述篇-交换技术和网络拓扑

但是,当使用电话的人越来越多了呢?

二、概述篇-交换技术和网络拓扑

很显然,随着电话的增多,这种方式需要的电线数量越来越大,N部电话通过这种方式相连,则只要N*(N-1)/2根电话线。

电话线再多再不值钱,也经不住这么连接,如何解决这种问题呢?可以设想,是否可以用一个中间设备将这些电话连起来

这个中间设备就是电话交换机,每一部电话都连接到电话交换机上,可以把电话交换机简单的看成是一个有多个开关的开关器,可以将需要通信的任意两部电话的电话线路按需接通,从而大大减少了连接的电话线数量。

二、概述篇-交换技术和网络拓扑

一个交换机如何够?那就多个交换机接力来完成全网交换任务!

二、概述篇-交换技术和网络拓扑

通过这种方式,可以构建覆盖全世界的电信网。

不过我们看到,初始的时候,电话线路并不是直通的,需要有一个建立连接(物理连接)的过程,当这条连接建立成功后,即可进行通信。因此可以分为以下三个步骤:

  • 建立物理连接

    • 分配通信资源,在使用电路交换打电话之前,必须先拨号请求建立物理连接,当被叫用户听到电话交换机送来的拨号音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路,这条连接保证了双方通话时所需的通信资源。

  • 通话

    • 一直占用通信资源!在整个通话期间,第一步建立连接所分配的通信资源始终被占用。

  • 释放连接

    • 归还通信资源!也就是通话完毕挂机后,电话交换机释放刚才使用的这条专用的物理通路,换句话说,是把刚才占用的所有通信资源归还给电信网。

不过这种方式适用于咱们互联网中计算机数据的通信吗?

显然是不行的,因为这个方式缺点佷多,比如一个明显的缺点是传输效率低,比如你正在输入一份文件,那么整条链路是空闲的,而且是独占的,白白浪费了通信线路资源。

我们如何来改进呢?

二、报文交换


因为电路分组建立连接后,通信线路独占导致传输效率较低,那么我们能不能优化呢?


报文交换就出现了,它的核心思想很简单:可以随时发送报文,而不需要事先建立连接,整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机。

我们以寄包裹为例,将交换机看作是一个驿站,咱们的包裹首先要送到第一个驿站,然后自动派送到下一个驿站分拣,再送给最终的用户。期间,这个包裹是不会被拆开的,自始至终都是一个完整的大包裹。

二、概述篇-交换技术和网络拓扑

不过,报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代,他们的思想很接近,但是分组交换更好,为什么呢?最后的对比就可以看出来,所以这里对于报文交换的介绍,我们暂时就说这么多。

三、分组交换

我们说到报文交换,是将整个报文发给相邻节点交换机,交换机保存下来后进行查表转发,这种方式显然有个缺点:报文是全部转发的,那么对于交换机的存储空间是一个挑战,此时分组交换就出现了,顾名思义,发送方对报文进行分组切割,中间结点对分组报文进行转发,接收方进行分组报文的接收和重组。


我们回到因特网,我们说过,因特网是由无数个小网络构成的大网络。通信往往是要跨越多个网络的,那么中间转发的设备是什么呢?没错,就是路由器。

路由器将各种网络互连起来,并对接收到的分组进行转发,也就是进行分组交换。

现在,假设用户A要发送一条消息给用户B。

二、概述篇-交换技术和网络拓扑

通常我们把表示该消息的完整数据块称为一个报文,在发送报文之前,先把较长的报文划分为一个个更小的等长数据段。

在每一个数据段前面加上一些由必要的控制信息组成的首部后就构成了一个分组,也可以简称为“包”,相应的首部也可以称为“包头”。

二、概述篇-交换技术和网络拓扑

为什么要加首部信息呢?反过来思考就更容易知道首部的重要性了,如果没有这个首部,那么如何标识一组信息呢?路由器收到分组信息后如何知道目标地址呢?由于分组走的线路可能不一样,到达时间也不一样,那么接收方如何组装呢?因此,头部信息必不可少!

各个分组发出去,可能会走不同的路径,经过不同的路由器进行转发:

二、概述篇-交换技术和网络拓扑

终于到达了用户B的主机,用户B可以根据一些信息得知分组是否已全部到达,在确认所有分组都到达后,即可下一步操作了。

二、概述篇-交换技术和网络拓扑

用户B主机将按照头部信息,将实际的内容进行组装,最终获取到了原始报文。

二、概述篇-交换技术和网络拓扑

以上过程,就像经历了一场接力赛,而路由器就是其中的接力选手,一级一级将接力棒(报文分组信息)传递下去,直到终点。

对报文进行切割是有好处的,试想,一个大包裹丢了,快递公司是要赔偿整个包裹;而大包裹被分解为多个小包裹,那么其中一个小包裹丢了,快递公司只要赔偿这个小包裹即可,对于计算机网络来说也是一样,其中一个小分组失败了,只要对这一个分组进行重发即可,而不是全体重发,极大降低了因网络传输丢包所带来的恶劣影响。

此外,网络是拥挤的,就像咱们开车,试想下,重型大卡和小轿车,哪个更容易造成道路拥塞呢?

当然了,分组有好处,也势必要付出代价,因为分组提高了复杂性,这也是TCP协议为什么复杂的原因。

四、三种交换技术的对比

  • 对于电路交换:通信之前要建立连接(物理连接);连接建立好后,就可以使用已建立好的连接进行数据传输;数据传送结束后,需要释放连接,以归还之前建立连接所占用的通信线路资源;

  • 对于报文交换:可以随时发送报文,而不需要事先建立连接,整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机;

  • 对于分组交换:可以随时发送分组,而不需要事先建立连接,构成原始报文的一个个分组,依次在各个结点交换机存储转发,各结点交换机在发送分组的同时,还缓存接收到的分组;

当使用电路交换,一旦建立连接,中间的各个结点交换机就是直通形式的,比特流可以直接到达终点;

二、概述篇-交换技术和网络拓扑

当使用报文交换时,整个报文需要在各个结点交换机上进行存储转发,由于不限制报文的大小,因此需要各个结点交换机都具有较大的缓存空间;

二、概述篇-交换技术和网络拓扑

当使用分组交换时,构成原始报文的一个个分组,在各个结点交换机上进行存储转发,相比报文交换,减少了转换时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。

二、概述篇-交换技术和网络拓扑

五、网络拓扑结构


好了,关于交换技术就介绍到这里,下面来思考一个问题:逻辑上来说,主机之间如何互联呢?其实,我们已经不知不觉中接触到了网络拓扑结构,比如:

二、概述篇-交换技术和网络拓扑

拓扑是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科。是一种不考虑物体的大小、形状等物理属性,而仅仅使用【点】或者【线】描述多个物体实际位置与关系的抽象表示方法。

拓扑不关心事物的细节,也不在乎相互的比例关系,而只是以图的形式表示一定范围内多个物体之间的相互关系。

在这里,拓扑简单来说是表示“机器互相连接的方式”。

首先记住一个原则:我们构建网络的很重要目标是尽可能连接更多的机器,尽可能让网络的尺寸或范围更大。

网络拓扑其实有好几种,但一般来说分为三种:

  • 总线拓扑:Bus Topology。bus 是“总线,公共汽车”的意思。总线拓扑中信息流的形式就很像公共汽车来回开动、到站停靠,每台连接总线的机器就像站台上等车的乘客;

  • 环型拓扑:Ring topology。ring 是“环,指环,环型的”的意思;

  • 星型拓扑:Star Topology。star 是“星星,星型的”的意思。

5.1、总线拓扑

二、概述篇-交换技术和网络拓扑

在总线拓扑中,同一时间只能有一台机器发送信(类似“发言”),因为只有一条主线缆。大致说来,所有机器时刻监听着,如果没有任何机器发送信息,那我就可以发送信息。

  • 在总线拓扑结构中,我们可以连接无限个机器吗?

不可以。原因很简单,总线拓扑中所有机器共用一根主线缆,而指定时刻又只允许一台机器发送信息。因此,机器数目越多,每台机器能发送信息的机会就越少。

  • 用总线拓扑结构,我们可以构建尺寸无限的网络吗?

也不可以。主要是因为信息的传输时间。总线拓扑的主线缆越长,机器之间信息的传输就耗时越久。这就好比等公共汽车,公共汽车的行驶路径越长,每一站的乘客等公共汽车的时间就越久。同时,机器越多,同一时刻想要发送信息的机器就越多,那么冲突就越多。

5.2、环型拓扑

二、概述篇-交换技术和网络拓扑

环型拓扑的通信方式比较特别,因为有一个“令牌”(英语是 token)。每台机器只有持有令牌时,才可以发送信息。

就好比你和你的小伙伴们围坐成一个圆圈,你们之间交流就只能用一个小篮子,这个篮子由一个人递给另一个人,向着一个方向。为了和某个人讲话,你就得首先拿到小篮子,把你的信息写成纸条放在篮子里。你把篮子递给你边上的人,他/她先看一下纸条上写的收件人名字,如果是他/她,那么就读信息。如果不是他/她,就把篮子沿此方向递给下一个人。以此类推。

  • 在环型拓扑结构中,我们可以连接无限个机器吗?

不可以。原因和总线拓扑一样,因为环型拓扑中所有机器只共享一个令牌。

  • 用环型拓扑结构,我们可以构建尺寸无限的网络吗?

也不行。原因和总线拓扑一样。环越大,令牌的传递所需时间就越久。

5.3、星型拓扑

二、概述篇-交换技术和网络拓扑

在星型拓扑中,所有通信都需要经过中央的机器。

连着中央机器的其他机器向中央机器发送信息时,会连带发送目标机器的名字,中央机器就会把信息根据目标机器的名字发送给正确的接收者。有点类似邮局的分发系统。

  • 在星型拓扑结构中,我们可以连接无限个机器吗?

可以,但也不可以… 事实上,这取决于中央机器(比如交换机)能处理的机器的数目。但如果把许多交换机组合在一起,就可以处理几十亿台机器了。

  • 用星型拓扑结构,我们可以构建尺寸无限的网络吗?

可以。但要达到这个目标,需要互连多个中央机器(如交换机)。

显然,我们以后主要和星型拓扑打交道,使用总线拓扑和环型拓扑的网络已经越来越少见了。

好了,本篇文章的所有内容就结束了,下篇文章更精彩!

原文始发于微信公众号(幕后哈土奇):二、概述篇-交换技术和网络拓扑

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114340.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!