《数据通信与网络》笔记--网络交换技术

网络中如果有多台设备,如何才能将他们连接起来实现1对1的通信呢,一种好的解决方法就是交换技术(switching)。

交换方式的分类如下:


其中报文交换已逐步淘汰,今天主要讲下电路交换和分组交换。


电路交换网:

电路交换网是由物理链路连接的一组交换机,两个站点的连接是由一条或者多条链路组成的的专用路径,每次连接都使用链路上的一条专用通道。

下图表示一个有4个交换机和4条链路的电路交换网络:


每条链路使用多路复用技术(上一篇模拟信号和数字信号中有简单说明)划分成多个通道。

A需要和B进行通信时,需要向B发送一个连接请求,这个请求被所有交换机接受到,在每条链路上预订通道,并将这些通道联合起来,制定一条专用路径,这个过程称为建立阶段。

路径建立后,可以在这条路径上进行数据的传输。

传输结束后,断开方发送一个断开请求,交换机接受到请求后,释放路径。

总结:

电路交换式在物理层的。

电路交换网路的效率比较低,但是延迟是最小的,占用的资源比较多。


数据报网络:

在分组交换中,对分组不存在资源分配,链路没有预留的带宽。资源按需分配,基于先来先服务的原则。

下图表示站点A如何传递4个分组到站点B。


4个数据报属于同一个报文,但是经过不同的路径传送到目的地。而且各路径可能延迟不同,引起到达的分组顺序不一致,也有可能由于缺乏资源,引起分组丢失。

数据报交换网也成为无连接网络,路由器不保存连接的状态,不需要建立连接阶段和拆除阶段。那数据报是如何传送到目的地的呢,答案是路由表,使用源和目的IP地址进行

路径的选择,其实就是数据包路由的过程。而且路由表是动态的,周期性修改(想深入了解路由相关内容可以参考RIP,IGRP,EIGRP等协议)。

总结:

数据报交换是在网络层。
数据报网的效率比电路交换网高。但是在路由转发数据报的时候可能会有等待处理的时间。

虚电路网络:

虚电路网络是结合电路交换网络和数据报网络的产物。他具有2者的某些特性:
1.在数据传输阶段,需要建立阶段和拆除阶段。
2.按需在建立阶段期间分配资源。
3.同数据报网络一样,数据划分为分组,每一组的头部含有地址,他具有本地的权限,而不是端到端的权限(就是说交换机根据这个地址能知道下一个交换机和传送分组的通道,但是不知道最终发到哪一端)。
在建立虚电路时,需要在源主机和目的主机之间的每一个交换机上建立虚电路表,这是建立虚电路的关键。虚电路表一般由许多虚电路记录组成,一条虚电路记录主要由输入接口、输出接口、输入VCI(虚电路标识)和输出VCI组成。这里需要注意的是,交换机虚电路中输入接口和输入VCI唯一地标识经过该交换机的一条虚电路。
建立虚电路表一般有两种方法。一种方法是由网络管理员手工配置每个交换机的虚电路表,这样建立的虚电路我们一般称为永久虚电路(Permanent Virtual Circuit,PVC)。当然,管理员也可以手工删除交换机中的虚电路表。另一种方法是由源节点发送一个特殊的报文给目的节点,而这个特殊的报文在经过网络中交换机时,就在交换机内部建立虚电路表。源节点发送特殊报文的过程叫做发信令(signaling)。而通过这种方式建立起来的虚电路称为交换虚电路(Switched Virtual Circuit,SVC)。交换虚电路的显著特点是主机可以动态地建立和删除这个虚电路,而不需要网络管理员的参与。
为了更好地理解虚电路的工作原理,我们观察一下图给出的例子。在图中,主机A有数据要发送到主机B,则第一步必须在主机A和主机B之间建立连接;然后主机A沿着前面建立好的虚电路将数据发送给主机B。


如果需要建立从主机A到主机B的虚电路,就必须为该条虚电路分配一个链路还没有使用的VCI。下面我们以交换虚电路为例来描述虚电路的建立过程。假设从主机A到交换机1链路的VCI值为5;从交换机1到交换机2之间链路的VCI值为11;从交换机2到交换机3之间链路的VCI值为7;从交换机3到主机B之间链路的VCI值为4。在这种情况下,要建立主机A到主机B的虚电路,主机A首先发送一个建立连接请求报文给交换机1,此报文包含有主机B的地址。交换机1接收到建立连接请求报文后,就在它的虚电路表中创建一个新记录,这个记录主要由输入接口、输入VCI、输出接口和输出VCI 4个部分组成。交换机1为输入VCI分配一个到目前为止从主机A到交换机1的接口2之间的链路还没有使用过的VCI值。在本例中,交换机1为从接口2接收来自主机A的报文的输入VCI赋值为5(这意味着0~4已经分配过了)。
  然后,交换机1还要为该建立连接请求报文选择合适的输出接口,以便将其继续发往下一个交换机或目的节点(这涉及路由选择的问题,在此就不赘述了)。在本例中,假定主机A和主机B的通信是经过交换机1、交换机2和交换机3的。因此,交换机1在接收到主机A发来的要与主机B建立连接请求的报文并且填写好虚电路表后,将该建立连接请求报文继续发往交换机2,交换机2接收到建立连接请求报文,完成类似于交换机1的过程。在本例中,交换机2为来自接口3的报文的输入VCI赋值为11。同样,交换机3为来自接口0的报文的输入VCI赋值为7。
  最后,建立连接请求报文到达主机B。假设主机B愿意与主机A建立连接,它也为该虚电路的输入VCI赋值,在本例中是4,主机B用这个输入VCI来识别所有来自主机A的报文。
  由于虚电路的建立是需要确认的,因此主机B要给主机A返回一个建立连接确认报文。而这个建立连接确认报文首先发给交换机3,该报文包含主机B为该虚电路选取的输入VCI值(为4),交换机3接收到该建立连接确认报文就可以填写好对应于此虚电路表的完整记录了。然后,交换机3将建立连接确认报文发给交换机2,交换机2完成关于此虚电路的完整记录的填写。紧接着,交换机2将建立连接确认报文发送给交换机1,交换机1完成关于此虚电路的完整记录的填写。最后,交换机1将建立连接确认报文发送给主机A,最终完成主机A和主机B之间虚电路的建立。
  这样,每个交换机都拥有了从主机A到主机B的虚电路的信息,每个交换机内部都有该虚电路的完整记录,正像管理员配置的那样,只是这里主机A和主机B之间虚电路的建立是自动进行的,不需要网络管理员的手工配置。现在,主机A和主机B可以进行数据传输了,用法与PVC情况下相同。
  当主机A与主机B之间的数据发送完毕时,主机A向主机B发送一个连接撤销(disconncet)报文。连接撤销报文首先发给交换机1,交换机1从它的虚电路表中删除与该虚电路相关的记录,然后将连接撤销报文传送给交换机2(此时交换机1通过查找虚电路表就可以知道此虚电路的下一个节点是交换机2);同样,交换机2也从它的虚电路表中删除与该虚电路相关的记录;依此类推,直到主机B,从而完成虚电路的撤除。

总结:

主机A在发送第一个数据报文之前,一般必须等待至少一个RTT时间,即主机A发送的建立连接请求报文到达主机B,并且主机B返回的建立连接确认报文到达主机A。
虽然在虚电路建立阶段,主机A发出的建立连接请求报文包含了主机B的地址,但是在真正的数据传输阶段,每一个数据报文仅需携带一个VCI标识,从而减小了链路开销。
如果某条虚电路经过的交换机或链路出现故障,就会导致该虚电路失效,必须重新建立新的虚电路。

特别注意:

这边的虚电路和TCP连接中的虚电路不是一个概念。

这边说的虚电路是广域网中的概念。

而TCP中的虚电路只是一个概念,就是存在那么一条电路,逻辑上好象是固定的存在的,但事实它是随着会话的不同而使用不同的路径。也就是说没有一条固定的路径。它是在通信过程中灵活地变动的。TCP是用重传、确认来保证连接的可靠性,是通过软件来实现的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值