数据链路协议几乎总是把CRC放在尾部,而不是放在头部,为什么?
答:CRC是在发送期间进行计算的。一旦把最后一位数据送上外出线路,就立即把CRC编码附加在输出流的后面发出。如果把CRC放在帧的头部,那么就要在发送之前把整个帧先检查一遍来计算CRC。这样每个字节都要处理两遍,第一遍是为了计算校验码,第二遍是为了发送。把CRC放在尾部就可以把处理时间减半。
HDLC帧可分为哪几大类?试简述各类帧的作用。
答:分三大类。1信息帧:用于数据传输,还可同时用来对已收到的数据进行确认和执行轮询功能。2监督帧:用于数据流控制,帧本身不包含数据,但可执行对数据帧的确认,请求重发信息帧和请求暂停发送信息帧等功能。3无编号帧:主要用于控制链路本身,不使用发送或接收帧序号。
PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?
答:主要特点:
(1) 点对点协议,既支持异步链路,也支持同步链路。
(2) PPP是面向字节的。
PPP不采用序号和确认机制是出于以下的考虑:
第一,若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就要增大。在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。
第二,在因特网环境下,PPP的信息字段放入的数据是IP数据报。假定我们采用了能实现可靠传输但十分复杂的数据链路层协议,然而当数据帧在路由器中从数据链路层上升到网络层后,仍有可能因网络授拥塞而被丢弃。因此,数据链路层的可靠传输并不能保证网络层的传输也是可靠的。
第三,PPP协议在帧格式中有帧检验序列FCS安段。对每一个收到的帧,PPP都要使用硬件进行CRC检验。若发现有差错,则丢弃该帧(一定不能把有差错的帧交付给上一层)。端到端的差错检测最后由高层协议负责。因此,PPP协议可保证无差错接受。
PPP协议适用于用户使用拨号电话线接入因特网的情况。
SLIP和PPP协议的主要特点是什么?它们适用在什么情况下?
答:SLIP协议主要特点是:
(1)SLIP没有差错检测的功能。如果一个SLIP帧在传输中出了差错,就只能靠高层来进行纠正。
(2)通信的每一方必须事先知道对方的IP地址。这对拨号人网的用户是很不方便的。
(3)SLIP仅支持IP,而不支持其他的协议。
(4)SLIP并未成为Intermet的标准协议。因此目前存在着多种互不兼容的版本,影响了不同网络的互连。
PPP协议主要特点是:
(1) PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。 而且PPP不仅可支持IP,而还可支持其他的协议,如:IPX,Netbios等等。
(2)PPP可进行参数协商,而且可进行动态IP地址分配。
(3)PPP具有差错检测的功能。
(4)PPP可进行身份认证。
(5)PPP是Intermet的标准协议。
SLIP主要用于低速(不超过19.2kb/s)的交互性业务。当用户拨号接人ISP时,可使用PPP协议。因为PPP不仅能进行动态IP地址分配,自动配置网络协议,而且可进行用户身份认证
试比较几种共享信道的方法的特点。
答:共享广播信道采用基于信道的共享和基于排队的共享两种方法。信道共享可采用频分复用或时分复用,无论采用哪种技术都可以有固定分配和按需分配两种不同的方式。
基于排队共享可以采用两种方式分配带宽:一种是随机接入,即允许各站自由发送数据。当发生冲突时,则通过一定的算法来解决冲突。另一种方法是设法形成一个分布式的逻辑队列或用令牌来协调各站发送数据。
这四种共享广播信道的方法:固定分配法实时性好,但信道利用率低;按需分配方法信道利用率高,但工作站必须增加一定的处理能力,而且信道忙时,一部分用户对信道的申请可能被阻塞,再申请产生时延;随机接入的方法简单,工作站接入与安装方便,在低负载时,网络基本上没有时延,但发送时延不确定,重负载时,网络的效率下降很多;分布式逻辑队列或令牌法,发送时延确定,可设优先级,能传送数字化的分组话音信号,重负载的性能好,但协议复杂。
流量控制与拥塞控制有和关系与区别?
答:流量控制与拥塞控制的关系与区别如下:
①流量控制:接收端向发送端发出信号,请求发送端降低发送速率;
拥塞控制:接收端也向发送端发出信号,告之发送端,网络已出现麻烦,必须放慢发送速率。
②流量控制:主要控制收发端之间的通信量;
拥塞控制:是全局性控制,涉及所有主机、路由器以及其它降低网络性能的有关因素。
流量控制与路由选择有何异同之处?
答:流量控制与路由选择的异同之处是:
①路由选择是网络中的所有结点共同协调工作的结果。其次,路由选择的环境往往是在变化的,而这种变化有时无法事先知道。而流量控制是收发两端共同协调工作的结果。
②好的流量控制可以使更多的通信量流入网络,而好的路由选择可使网络的平均时延较小。
③路由选择可保证分组通过一条最佳的路径达到目的。流量控制要考虑网络资源分配的公平性。
为什么说,“只要任意增加一些资源就可以解决网络拥塞的问题”是不正确的?
答:只任意增加一些资源可能无法解决网络拥塞的问题。例如,将某路由器缓冲区的存储空间扩大,但保持其输出链路速率的不变。这时,虽然该路由器可以接收更多的分组,但由于其输出链路速率的没变,存在于该路由器的许多分组可能因超时,必须重发,从而导致网络的性能可能变得更糟。
试说明传输层的作用。网络层提供数据报或虚电路服务对上面的运输层有何影响?
(2)当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向连接的?
(3)接收端收到有差错的UDP用户数据报时应如何处理?
答:(1)从通信和信息处理的角度来看,运输层向它上面的应用层提供通信服务。运输层为应用进程之间提供端到端的逻辑通信。
(2)都是。这要从不同层次来看。在运输层是面向连接的,在网络层则是无连接的。
(3)丢弃。
解释为什么突然释放运输连接就可能丢失用户数据而使用TCP的连接释放方法就可保证不丢失数据。
答:当主机1和主机2之间连接建立后,主机1发送了一个TCP数据段并正确抵达主机2,接着主机1发送另一个TCP数据段,这次很不幸,,主机2在收到第二个TCP数据段之前发出了释放连接请求,如果就这样突然释放连接,显然主机1发送的第二个TCP报文段会丢失。而使用TCP的连接释放方法,主机2发出了释放连接的请求,那么即使收到主机1的确认后,只会释放主机2到主机1方向的连接,即主机2不再向主机1发送数据,而仍然可接收主机1发来的数据,所以可保证不丢失数据。
试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能会出现什么情况。
答:我们知道,3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A 是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。