物联网通信技术--网络----习题答案
2.1 常用的组帧方式有哪几种,哪一种方式的传输开销最小?
答:常用组帧方式有:面向字符,面向比特,长度计数
2.2 接收机收到了如下一个采用十六进制表示的字符串,C0 C0 10 36 87 DB DC DB DC DC DD DB DD C0 7C 8D DC DB DC C0,试根据SLIP帧格式恢复出接收的帧。
答:
END END10 36 87C0C0DC DDDBEND7C 8D DCC02.3针对输入序列01101111100111111010111111111101111010应用2.1.2节的比特插入技术,给出相应的输出结果。如果接收到的序列为011111101111101100111110011111011111011000111111010111110试移去插入的比特并指出Flag的位置。
答:01111110011011111000111110101011111011111001111010
011111101111101100111110011111011111011000111111010111110
2.4假定假定2.2.2节帧中插“0”的规则修改为:仅在原始数据中出现015时插入一个0。试详细描述这种变化后接收端去0的规则,并说明该规则是如何去掉下列串中的0:01101111101111110111110101111110。如果设计的规则正确,在该串中应去掉2个0并且仅有的一个Flag。
答:接收规则为:碰到015之后将其后的0除去,要是其后为1则不管,且这时即为Flag。
1 1 1 1 1 10 所以解码后的数据为:0
D4S(D)2.6 令g(D)= D+ D + 1,求的余数。 g(D)4
D7+D5+D4D4S(D)答:=4=D3余D3 2g(D)D+D+D+1
2.9 试证明等待式ARQ的序号可采用模2表示。
证明:(证明算法的正确性分为两个步骤:一是稳妥性(Safety),即算法决不会产生不正确的结果(在这里是指提交给上层分组的顺序不对);二是活动性(Liveness),即算法会永远不停的产生结果(不会产生死循环),在这里是指在A节点能够不停地接收高层的分组,在B节点能够不停地将这些分组呈送给高层。)
稳妥性:算法开始时B端等待RN=0的分组,并且仅会有SN=0的分组呈送到上层,比SN=0大的分组不会被送到上层。当有一个RN=SN的分组到达后,就会被送到上层,其后RN=(RN+1)mod2。这样如果重发分组的序号小于RN的话,就不会被发到上层,也就保证了分组到达的顺序。所以mod2可以保证RN与SN的区分性,mod2是稳妥的。
活动性:同书上证明。
2.16 HDLC中是如何保证数据透明传输的?HDLC有几种工作过程。
答:HDLC有三种工作模式:正常工作模式(NRM),异步工作模式(ARM),异步平
衡工作模式(ABM)。
当高层的数据到达的时候,HDLC不管其数据的内容直接将其拆分、打包。然后加上链路地址,再加上控制单元中的P、F位和SN、RN保持数据包传输时序的正确。在接收端的HDLC层中,根据SN、RN、P、F位重新组包而不考虑数据的内容,完成后将这些数据交付上层。这样就完成了数据的透明传输。
2.19 ⑴ 在主从式初始化协议中,假定一个从节点故障恢复的节点开始处于UP状态,通过先发DISC再发INIT来进行初始化,举出一个类似于图2-21中不正确工作的例子。
⑵ 现假定一个任意的协议用于初始化。已知从故障中恢复的节点A将发送一条消息X,节点B从故障中恢复并收到消息X后将发送消息Y,在这些条件下当节点A收到Y时,节点A将能被正确初始化。试构造一个故障和时延序列说明协议不能正常工作。
答:⑴
A
B
如上图所示,A节点在发送完出示化信息DISC和INIT后,陷入故障,恢复工作后再次发送DISC和INIT恰好相应的收到了B节点对上次初始化过程的应答,于是A发送数据D0。之后A又一次发生故障,恢复后进行第三次初始化,恰好收到B节点对第二次初始化的应答,于是A节点发送了另一个数据,但编号仍然为0,此时收到B节点对上一次的数据D0的应答,因此A节点认为新数据已经发送到了目的节点,若该数据在链路上发生错误的话,则B节点将无法接收到该数据。
⑵
如上图所示,由于延迟的存在,当A节点间隔出现故障时无法区分收到的应答是对那一次初始化的应答,因此若D0’出错则将导致D0’丢失。
2.20一个通信子网内部采用虚电路虚电路方式,沿虚电路共有n个节点交换机,在交换机中为每一个方向设有一个缓冲区,可存放一个分组。在交换机之间采用停止等待协议,并采用以下的措施进行拥塞控制。节点交换机在收到分组后再发回确认,但条件是:⑴ 接收端已成功地接收到该分组;⑵ 有空闲的缓冲区。设发送一个分组需要T秒(数据或确认),传输的差错可忽略不计,用户(DTE)和节点交换机(DCE)之间的数据传输时延也可忽略不
计。试问:分组交付给目的用户(DTE)的速率最快是多少?
答:
分组交付给目的用户(DTE)的速率最快是:1.分组1从第一个DEC发送到第二个DEC,耗时T。2.分组1从第二个DEC发送到第三个DEC,同时发送回执给第一个DEC,耗时T。
3.第一个DEC接收到回执后,发送分组2到第二个DEC,同时第三个DEC发送分组1到第四个DEC。所以在最佳的情况下(DTE一直有充足的分组可以供给DEC,DEC之间的传输(分组、回执)没有错误)两个分组之间的间隔是2T,因此分组交付给目的用户(DTE)的最快速率是1/2T。
2.21 有AB和BC两条链路。A经过B向C发送数据。B收到A发来的数据时,可以先向C转发再向A发确认,也可以把这顺序反过来。也就是说,B要做的三件事的顺序事:收数据->发确认->转发,或:收数据->转发->发确认。现假定B再做完第二件事后处理机即出现故障,内存中所存信息全部丢失,但很快又恢复了工作。试证明:只有采用端到端发确认信息的方法(即从C向A发确认信息),才能保证再任何情况下数据都能从A经B正确无误的交付到C。
答:对于情况1,B完成第二步(向A发确认)后发生故障,则A会认为分组已经正确传出接着会发送下面的分组,B却不能向C正确传输前一分组,这样会丢失分组。
对于情况2,B完成了第二步(向C转发)后发生故障,这时A因为没有收到B的回执,所以继续重发分组,但是C已经正确接收了分组,这样会导致不必要的重复。
而在端到端发回执的情况下,如果B没有转发就出现故障,A就不会收到C的回执,过一段时间就会自动重发。如果B转发后就出现故障,A也会收到C的确认信息,就不会造成不必要的重发。
2.23 一个TCP连接使用256kb/s的链路,其端到端时延为128ms。经测试,发现吞吐量只有120kb/s。试问窗口是多少?
答:窗口数为:120kb = 3.7 因为窗口数必须为整数,所以窗口数为4。 256kb/s * 128ms
2.24 设TCP的拥塞窗口长度置位18kb。网络发生了超时,TCP使用慢启动、加速递减和拥塞避免。设报文段的最大长度为1kb,试问:拥塞窗口从最小值经过6次变化后是多少? 答:
0 1 2 3 4
设拥塞窗口长度位18kb,门限长度位18kb,报文最大长度位1kb。由图可见拥塞窗口最小值经过6次变化后位11kb。