考研帮 > 数学 > 每日一练

2.1 通信基础

2.1.6 数据报与虚电路

  数据报和虚电路是分组交换网中两种不同的组网方式,它们最大的差别在于是按照主机目的地址路由分组还是按照虚电路号路由分组。下面我们详细讨论这两种不同的组网方式。
  1.数据报
  数据报网络是按照主机目的地址进行路由分组的。在数据报网络中,每个报文(在数据报网络中也常称之为数据报)携带目的节点地址,这样,网络中的任何一台交换机接收到数据报时都能根据数据报中的目的节点地址来决定如何到达目的节点。

  在如图2-4所示的例子中,主机A、B、C都有相应的地址,当数据报网络中的交换机(此时的交换机通常是指路由器)接收到报文时,它首先查找交换机中的交换表(实际上是路由表,而如何得到路由表涉及路由的选择问题,后面详加讨论),以决定如何将接收到的报文转发给下一台交换机或目的节点。
  
  2.虚电路
  虚电路是按照虚电路号路由分组的,采用虚电路方式组网的网络提供面向连接的服务,即在通信前,需在源节点和目的节点之间建立一条虚电路,然后采用这条虚电路进行通信。
  在建立虚电路时,需要在源主机和目的主机之间的每一个交换机上建立虚电路表,这是建立虚电路的关键。虚电路表一般由许多虚电路记录组成,一条虚电路记录主要由输入接口、输出接口、输入VCI(虚电路标识)和输出VCI组成。这里需要注意的是,交换机虚电路中输入接口和输入VCI唯一地标识经过该交换机的一条虚电路。
  建立虚电路表一般有两种方法。一种方法是由网络管理员手工配置每个交换机的虚电路表,这样建立的虚电路我们一般称为永久虚电路(Permanent Virtual Circuit,PVC)。当然,管理员也可以手工删除交换机中的虚电路表。另一种方法是由源节点发送一个特殊的报文给目的节点,而这个特殊的报文在经过网络中交换机时,就在交换机内部建立虚电路表。源节点发送特殊报文的过程叫做发信令(signaling)。而通过这种方式建立起来的虚电路称为交换虚电路(Switched Virtual Circuit,SVC)。交换虚电路的显著特点是主机可以动态地建立和删除这个虚电路,而不需要网络管理员的参与。
  为了更好地理解虚电路的工作原理,我们观察一下图2-5给出的例子。在图2-5中,主机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,从而完成虚电路的撤除。
  对于采用虚电路方式的分组交换网,还需要做以下四点说明。
  (1)主机A在发送第一个数据报文之前,一般必须等待至少一个RTT时间,即主机A发送的建立连接请求报文到达主机B,并且主机B返回的建立连接确认报文到达主机A。
  (2)虽然在虚电路建立阶段,主机A发出的建立连接请求报文包含了主机B的地址,但是在真正的数据传输阶段,每一个数据报文仅需携带一个VCI标识,从而减小了链路开销。
  (3)如果某条虚电路经过的交换机或链路出现故障,就会导致该虚电路失效,必须重新建立新的虚电路。
  (4)上面忽略了一台交换机在虚电路建立过程中,是如何决定将接收到建立连接请求报文发往哪个邻居节点(即通过哪一条链路转发出去)的问题,因为这个问题涉及路由选择,所以我们将在后面章节讨论。
  3.虚电路与数据报的比较
  在分组交换中,通信子网向端系统提供虚电路和数据报两种网络服务,这两种服务的优缺点主要体现在以下6个方面。
  (1)在传输方式上,虚电路在通信前建立连接电路,然后传输数据,很明显提供了一种高可靠性的服务。而数据报不建立连接,只在分组中装上源、目的地址等一些信息后,将分组发送出去,目标收到分组后也不发送确认信息,很显然,数据报方式不能提供可靠性高的服务。
  (2)关于全网地址:虚电路服务仅在源主机发出呼叫分组中,需要填上源和目的主机的全网地址,在数据传输阶段,都只需填上虚电路号。而数据报服务,由于每个数据报都单独传送,因此,在每个数据报中都必须具有源和目的主机的全网地址,以便网络结点根据所带地址向目的主机转发,这对于频繁的人-机交互通信而言,每次都附上源、目的主机的全网地址不仅累赘,也降低了信道利用率。
  (3)关于路由选择:虚电路服务沿途各结点只在呼叫请求分组在网中传输时,进行路径选择,以后便不需要了。可是在数据报服务时,每个数据每经过一个网络结点都要进行一次路由选择。当有一个很长的报文需要传输时,必须先把它分成若干个具有定长的分组,若采用数据报服务,势必增加网络开销。
  (4)关于分组顺序:对虚电路服务,由于从源主机发出的所有分组都是通过事先建立好的一条虚电路进行传输,所以能保证分组按发送顺序到达目的主机。但是,当把一份长报文分成若干个短的数据报时,由于它们被独立传送,可能各自通过不同的路径到达目的主机,因而数据报服务不能保证这些数据报按序列到达目的主机。
  (5)可靠性与适应性:虚电路服务在通信之前,双方已进行过连接,而且每发完一定数量的分组后,对方也都给予确认,故虚电路服务比数据报服务的可靠性高。但是,当传输途中的某个结点或链路发生故障时,数据报服务可以绕开这些故障地区,而另选其他路径,把数据传至目的地,而虚电路服务则必须重新建立虚电路,才能进行通信。因此,数据报服务的适应性比虚电路服务强。
  (6)关于平衡网络流量:数据报在传输过程中,中继结点可为数据报选择一条流量较小的路由,而避开流量较高的路由,因此,数据报服务即平衡网络中的信息流量,又可使数据报得以更迅速地传输。而在虚电路服务中,一旦虚电路建立后,中继结点是不能根据流量情况来改变分组的传送路径的。
  综上所述,这两种组网方式各有优缺点,到底采用哪一种方式来组网取决于应用环境,实际上没有排他性的结论。总的看来,似乎电信专家更钟爱虚电路方式,而计算机网络专家更钟爱数据报方式。全球第一个分组交换网 ARPANET (即因特网的前身)是采用数据报技术的,而分组交换网X.25、帧中继网,以及ATM网都是采用虚电路技术的。

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭