斯大林不是俄罗斯人:数据链路层中的HDLC的帧结构问题,请高手指点

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/18 13:57:16
数据链路层中,HDLC的帧结构,假定定义帧的开头标志字段为01111110,那接下来的地址字段如果使用8个bit,并且11111111是广播方式,00000000是无效地址,为什么有效地址是2^8-2=256-2=254?如果有个地址与开头标志字段(01111110)相同,会不会出现问题?为什么?

个人认为该是256-2-1=253个有效地址

情况一:如果01111110是有效地址,且不对其进行零比特填充(连续出现5个1就在后面加上一个0),那么怎么判断这是地址字段而不是开头标志字段?
情况二:如果进行零比特填充,那么地址字段就会多了一个bit,成了9bit,这样可以么?(零比特填充是只对网络层传来的数据进行还是对帧中除了开头标志字段的部分进行?)
幸巴达,谢谢您的答复
不过您的答复我不是我的问题的重点,我再解释一下
情况一:(前提:数据链路层中是根据8bit的地址字段寻找要目的终端)如果这个地址也恰巧是01111110,那不就成了一个帧的开头标志字段了么?
情况二:如果如您所说,开始标记和结束标记字段之间的01111110都被填充,那地址字段中01111110的地址成了011111010,这个地址被改变了,不但成了9bit,而且内容也变化了,还能在传输过程中找到目的终端么?

你所说的情况一我不是很明白。既然不进行零比特填充,那么连续出现5个1后就不会加0,会将这个地址看作一个结束标志。但现在一般不会不进行零比特填充。
情况二:在接收端接收到一个帧时,先找到开始标记和结束标记字段一确定边界(中间特殊的01111110区间已经被填充)。接着再用硬件对其中的比特流进行扫描。当发现有5个连续的1时就将5个1后的一个0删除,还原原来的比特流。所以在解释帧的时候填充的0已经被删除了

补充:
1.不是开始标记,是结束标记,头8位是开始标记,8位的地址在9到16位。所以会出错
2.数据帧在到达对方的链路层之前,第5个1后的0已经被删除了,恢复了原来的8位的正确的地址。
All rights reserved