网站设计的设计方案,深圳网站建设深圳,网站制作找云优化,注册公司一、封装成帧 封装成帧是数据链路层的一个基本问题。数据链路层把网络层交下来的数据构成帧发送到链路上#xff0c;以及把接收到的帧中的数据取出并上交给网络层。封装成帧就是在一段数据的前后分别添加首部和尾部#xff0c;构成了一个帧。接收端在收到物理层上交的比特流后…一、封装成帧 封装成帧是数据链路层的一个基本问题。数据链路层把网络层交下来的数据构成帧发送到链路上以及把接收到的帧中的数据取出并上交给网络层。封装成帧就是在一段数据的前后分别添加首部和尾部构成了一个帧。接收端在收到物理层上交的比特流后就能根据首部和尾部的标记从收到的比特流中识别帧的开始和结束。这样的帧就是数据链路层的数据传输单元。一个帧的帧长等于帧的数据部分加上帧首部和帧尾部的长度。首部和尾部的一个重要作用就是进行帧定界确定帧的界限同时它们还包括许多必要的控制信息。 二、透明传输 透明传输也是数据链路层的一个重要问题。当传送的帧是用文本文件组成的帧时文本文件中的字符都是从键盘上输入的其数据部分显然不会出现像SOH帧起始符或EOT帧结束符这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去因此这样的传输就是透明传输。 然而如果数据中的某个字节的二进制代码恰好和SOH或EOT这种控制字符一样数据链路层就会错误地“找到帧的边界”把部分帧收下误以为是个完整的帧而把剩下的那部分数据丢弃这部分找不到帧定界控制字符SOH。为了解决透明传输问题就必须设法使数据中可能出现的控制字符在接收端不被解释为控制字符。具体的方法是发送端的数据链路层在数据中出现控制字符的前面插入一个转义字符而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充或字符填充。 三、差错控制 比特在传输过程中可能会产生差错1可能会变成0而0也可能会变成1这就叫做比特差错。比特差错是传输差错中的一种。在一段时间内传输错误的比特占所传输比特总数的比率称为误码率BERBit Error Rate。 实际的通信链路并非是理想的它不可能使误码率下降到零。为了保证数据传输的可靠性在计算机网络传输数据时必须采用差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRCCyclic Redundancy Check的检错技术。CRC运算就是在数据M的后面添加供差错检测用的n位冗余码然后构成一个帧发送出去一共发送kn位。在接收端把接收到的数据以帧为单位进行CRC检验把收到的每一个帧都除以同样的除数P模2运算然后检查得到的余数R。若得出的余数R0则判定这个帧没有差错就接受。若得出的余数R≠0则判定这个帧有差错就丢弃。 然而仅用循环冗余检验CRC差错检测技术只能做到无差错接受即凡是接收端数据链路层接受的帧都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。接收端丢弃的帧虽然曾收到了但最终还是因为有差错被丢弃即没有被接收。单纯使用CRC差错检测技术不能实现“无差错传输”或“可靠传输”。要实现“无差错传输”就必须再加上确认和重传机制。 总结 综上所述封装成帧、透明传输和差错控制是计算机网络数据链路层的几个共同问题。在设计和实现数据链路层协议时需要充分考虑这些问题以确保数据传输的可靠性和高效性。 结语 性格决定命运 气度影响格局