某通信子网采用如下服务方式:当源主机需要传输一个大的报文时(报文长度大于子网分组长度),该子网源节点首先将报文分成若干个分组,然后为每个分组分别选定路由并将其传输到目的端节点,目的节点收齐所有分组后再恢复成原报文提交给目的主机。 问:这种服务方式是

admin2014-10-31  12

问题 某通信子网采用如下服务方式:当源主机需要传输一个大的报文时(报文长度大于子网分组长度),该子网源节点首先将报文分成若干个分组,然后为每个分组分别选定路由并将其传输到目的端节点,目的节点收齐所有分组后再恢复成原报文提交给目的主机。
    问:这种服务方式是否会产生死锁?若能产生死锁,请举例说明死锁产生的原因,并尽可能给出解决方法。

选项

答案(1)能产生死锁。这是典型的重装型死锁。 (2)原因是:每个分组沿着不同的路径到达目的节点,其所用的时间是不同的。因此,很有可能先发送的分组最后达到目的节点。目的节点必须在收齐所有分组后才能组装成原报文,这需要占用目的节点的资源。当目的节点在等待某一分组时,而这时资源已经用尽,无法处理其他分组,就有可能产生死锁。 例:设三个报文A、B和C经过路南器P、Q和R发往主机H。每个报文由4个分组构成。又设每个路由器的缓存只能容纳4个分组。从下图可以看出,路由器R已成为报文A预留了4个分组的缓存。由于分组A3还未到达,所以目前还不能交付给主机H。目前分组A3,暂存于路由器P的缓存中,它无法转发到路由器Q,因为路由器Q的缓存已占满了。路由器Q的缓存中的任何一个分组都不能向前转发,冈为路由器R的缓存全是给报文A预留的。 [2*] (3)解决方法:一是不要用完所有资源;二是必要时丢弃一些分组,释放资源;三是预防方法。

解析
转载请注明原文地址:https://kaotiyun.com/show/nINx777K
0

相关试题推荐
最新回复(0)