帧定界 是什么意思

2025-03-29 09:41:17
推荐回答(2个)
回答1:

问题10:在关于数据链路层工作原理的叙述中,经常会见到两个不同的名词——“丢失”和“丢弃”。它们有区别吗?
答:有些区别。
“丢失”通常使用在这样的情况:A向B发送了数据帧,但B根本没有收到。至于B为什么没有收到,我们不感兴趣,因为我们现在不打算探讨B没有收到数据帧的原因,或者我们也不想弄清楚这个数据帧究竟是在哪一个具体环节上丢失的。这里我们关心只是“B没有收到这个数据帧”。因此,我们就说,这个数据帧丢失了。显然,这里的“丢失”并不是“我们故意把这个帧丢掉”。
“丢弃”通常使用在这样的情况:A向B发送了数据帧,B收到后,数据链路层协议使用CRC检验器(硬件)对其进行差错检查。发现有差错,于是我们说,CRC检验器自动把这个数据帧丢弃了。因此,“丢弃”往往会明确“是谁丢弃了数据帧”,并且是“主动把它丢掉的”。在这里,是CRC检验器主动丢弃了有差错的帧(为什么要主动丢掉这个出错帧呢?因为出错帧已经没有用处了。如果不把它丢掉而继续把它向前转发,并且一直交付到目的主机,那么最终这个出错帧还是要被丢弃的。然而这样会浪费许多网络资源。或者说,现在丢弃出错帧产生的损失小些,而最后才丢弃出错帧产生的损失则更大些)。但这样的“丢弃”在效果上和“B没有收到这个帧”是一样的,B这时也不会发送任何应答信息。因此,人们常常用“静悄悄地丢弃”(discard silently)来表述这种对出错帧的丢弃。在这种情况下,我们也可以换一种方法说:“A向B发送了数据帧,但B没有收到,这个帧丢失了。”这样说,表明我们不想去追查帧丢失的原因。总之,被“丢弃”的帧也是“丢失”了的帧,但“丢弃”具有“主动丢弃”或“有意丢弃”的意思。
但也还有另一种“丢弃”的方式。A发送的数据帧无差错地传送到B,并顺利地通过了CRC的差错检验。这个帧在传输过程中没有产生差错。但B的链路层协议在进一步检查这个帧时,发现这个帧的序号错了(例如,是个重复帧)。因此,数据链路层协议就丢弃这个重复帧。但与此同时,协议规定,B还要向A发送确认帧,即重复发送原来发送过的最后一个确认帧。这样的“丢弃”显然和“丢失”是有些区别的。因为这个帧最初还是传送到B了,B先收了下来,但后来发现是个重复帧,就又把它丢弃了。在效果上看,“丢弃”和“丢失”有相似之处。但“丢弃”往往会涉及到丢弃这个帧的原因。

回答2:

异步通信也可以是以帧作为发送的单位。接收端必须随时做好接收帧的准备。这是,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始。这也称为帧定界。帧定界还包含确定帧的结束位置。这有两种方法。一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束。或者在帧首部中设有帧长度的字段。需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说,发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的。在一帧中的所有比特是连续发送的。发送端不需要在发送一帧之前和接收端进行协调(不需要先进行比特同步)。
每个字符开始发送的时间可以是任意的t0
0
1
1
0
1
1
0起始位结束位t每个帧开始发送的时间可以是任意的以字符为单位发送以帧为单位发送帧开始帧结束