1.拥塞控制是从整个网络的角度出发对数据流量加以控制,以平衡数据流量在整个网络中的分布,而流量控制只考虑点到点或端到端的数据流量。
在计算机网络中,由于用户发送数据的时间和数据具有随机性,网络中各个交换机和路由器的存储器容量和各条线路的传输容量(速率)也有限,如果不对数据流采取任何控制措施,就可能出现网络内数据流严重不均,有些结点和链路上的数据流超过了结点的存储和处理能力,或者超过了链路的传输能力,导致网络发生拥挤和阻塞现象。严重时数据会停止流动,既不能输出,也不能输入,这种现象称为死锁。当输入的数据流量超过了输出的数据流量时,网络很快就会出现拥挤、阻塞和死锁现象。
拥塞现象将会导致网络吞吐量的迅速下降和网络时延的迅速增加,严重影响网络的性能。死锁现象可能在负荷不重的情况下也会发生,例如,当通信双方的缓冲器已满,而又同时等待对方的确认时就会发生死锁现象。拥塞控制的目的是为了保证通信网内的数据流量的平滑均匀,提高网络的吞吐能力和可靠性,防止阻塞和死锁现象的发生。
拥塞控制是建立在流量控制之上的。一些流量控制方法,如预约缓冲区法、带宽限制法、许可证法、分组丢弃法等实际上更倾向于拥塞控制。
2.恒比码就是使校验码中的1和0的数目之比是一个常数,其码距为2,也称为定比码、定重码(码组中1的个数固定)。例如,我国电信部门在国内通信中曾广泛采用的五单位保护电码就是一种恒比码,如附表3-1所示。该电码只有10个数字(0~9),采用五中取三的办法,每个电码均有3位传号“1”和两位空号“0”。当发生一位差错时,五中取三的规则就被破坏,从而可以发现差错。它的码距为2,比一般的奇偶校验码的检错能力稍强些。
附表3-1 中国五单位保护电码表
ARQ准确计数编码也是一种恒比码,这种码每个字符有7位,每个字符中所含1的个数相同,都为两个。只要简单地对收到的字符中的1进行计数,就能确定是否传输出错。
3.光在光纤中的传播速度为20万km/s,两个站点之间的传播时延是200m/200000km/s=1μs,帧传输时间是8000bit/1Gbit/s=8μs,总耗时为8+2×1=10μs,因此,链路的等待效率为U=8/10=80%。可以看出,当使用停止等待流控方法时,数据速率高、距离短的光纤链路比数据速率低、距离长的卫星链路的效率高得多。
4.许可证用于流量控制,令牌用于媒介控制。许可证有很多,一般由网络层协议来控制。令牌只有一个,由数据链路层(MAC子层)协议来控制。许可证用于广域网,令牌用于共享媒介的局域网。许可证可用于网状拓扑结构的点对点网络,令牌一般用于环形或总线型拓扑结构的广播网络。
5.IP采用校验和而不采用CRC码主要取决于两点:运算性能和协议特性。在制定IP协议的时候,计算机的处理能力还比较差,计算CRC码会花费很长时间。当时CRC码常使用硬件实现,如利用以太网网卡传输MAC帧。IP数据报的校验在每个结点(计算机和路由器)都要进行计算,通常是软件实现,因此,采用比较简单的校验和方法比较合算。由于处理器判断0要比两个数的比较运算快捷,还采取了结果取反的方法。尽管微不足道,但也能看出当时处理器的性能。另一方面,IP是无连接的,提供的是不可靠的服务,实际上无需校验,因此,IP协议不校验数据。IP只校验首部,主要是防止IP地址出错,造成误交付。目前路由器是网络的瓶颈,减少处理更有必要,所以,IPv6就去掉了校验字段。
6.通过下面的例子说明查表法的原理。假设数据g=101 0011 1010 0001,生成多项式为111010101,S代表8位的移位寄存器。
根据CRC运算规则,生成多项式为9位,数据后面要添加8位0。现在按每4位分块,这样数据g就被分成6块B1~B6。
附图3-1展示了4次移位迭代计算步骤,b是参与除法的中间减数(与生成多项式有关),浅色背景的位是保存在移位寄存器S中的。
附图3-1 迭代计算过程
经4次迭代,B1被移出寄存器。无须关心被移出的部分,关心的是这4次迭代对B2和B3产生了什么影响。注意图中深色部分,先作如下定义。
B23=00111010(www.daowen.com)
b1=00000000
b2=01010100
b3=10101010
b4=11010101
b′=b1 xor b2 xor b3 xor b4
4次迭代对B2和B3来说,实际上就是让它们与b1,b2,b3,b4做了异或计算,即
B23 xor b1 xor b2 xor b3 xor b4
异或运算满足交换律和结合律,于是
B23 xor b1 xor b2 xor b3 xor b4=B23 xor(b1 xor b2 xor b3 xor b4)=B23 xor b′
b1是由B1的第1位决定的,b2是由B1迭代1次后的第2位决定(由B1的第1和第2位决定),同理,b3和b4都是由B1决定。通过B1就可以计算出b′。另外,B1由4位组成,一共有24=16种可能值。于是可以事先将b′所有的16个值放在一个表中,这样就可以用B1查表得到b′值,将B1移出,B3移入,与b′计算。每次运算移入4位。
如果每次运算移入8位,就需要事先建立一张28=256项的表。表的数据与生成多项式有关,而表的大小与生成多项式无关。
7.生成多项式为x4+x2+x+1,也就是10111,用码组10100011101除以10111,余数为0,因此,CRC码正确,传输无错。
另外,从题中还可以看出,码组10100011101的最后4位是校验位,数据是1010001。按照CRC的运算步骤,用10100010000除以生成多项式10111,余数为1101,正好是码组10100011101的最后4位。
8.当发送方收到1号帧的确认后,因为窗口尺寸为4,所以就将发送窗口向后移4个帧,这时,发送方可以发送第2、3、4、5号帧。除了已发送的2号帧和正在发送的3号帧外,发送方还可以发送两个帧,即第4、5号帧。
如果在发送3号帧时收到1号帧的否认帧,则说明1号帧出错,但这个否认帧也说明了1号帧以前的所有帧都已正确接收,所以发送窗口移到0号帧之后,即发送窗口中的帧为1、2、3、4号帧。由于采用的是选择拒绝ARQ,因此,只要发送第1号帧就可以了。这样,除了已发送的2号帧和正在发送的3号帧外,发送方还可以发送两个帧,不过,这两个帧是第1号帧和第4号帧。
9.对于返回N-ARQ,当序号字段长度为k时,滑动窗口值最大为2k-1。如果序号字段的长度为3位,假设现在把滑动窗口的大小设为8,则发送方可以连续发送8个帧,即0、1、……、7帧,接收方全部收到后,返回RR7确认,因为序号循环使用,接收窗口会移至新的0、1、……、6、7。当RR7丢失时,发送方重发0、1、……、6、7帧,接收方会把重发的这8个帧当做新帧保留起来,导致错误的提交,因此,返回N-ARQ差错控制方式滑动窗口尺寸最大为序号数量减一。当序号字段的长度为3位,在未收到确认之前,发送方最多能连续发送7个帧。
对于选择拒绝ARQ,当序号字段长度为k时,最大窗口值为2k-1。如果序号字段的长度为3位,则序号只能从0~7,现在把滑动窗口大小设为5,假设发送方连续发送0、1、2、3、4帧,接收方收到后返回RR5确认,接收窗口移至5、6、7、0、1。当RR7丢失时,发送方会重发0、1、2、3、4帧,接收方会把重发的0、1帧当做新帧保留起来,导致错误的提交,因此,选择拒绝ARQ差错控制方式滑动窗口的大小必须小于序号数量的一半。当序号字段的长度为3位,在未收到确认之前,发送方最多能连续发送4个帧。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。