计算机网络之数据链路层
功能 数据链路层 主要作用是加强物理层传输原始比特流的功能,将物理层提供的 可能出错的物理连接 改造为 逻辑上无差错的数据链路 ,使之对网络层表现为一条无差错的链路。(物理上肯定有一些差错,但是可以通过修改,改为逻辑上无差错) 任务:负责将数据报通过链路从一个节点传输到相邻的节点 三个基本功能: 封装成帧 透明传输 差错检测 封装成帧 基本概念: 将一段数据的前后分别添加首部和尾部,就构成了帧。 注意: 首部和尾部中含有很多 控制信息 (如 检验序列等),它们的一个重要作用是确定帧的界限,即 帧定界 。 透明传输 如果在数据中心恰好出现与帧定界符相同的比特组合,会导致帧提前结束而丢弃后面的数据。所以引入了 “透明传输” 。 基本概念: 透明传输就是不管所传的数据是什么样的比特组合( 透明的,看不见里面的数据 ),都应当能在链路上传送。 基本方法: 字符计数法: 在帧头部使用一个计数字段来标明帧内字符数。 字符填充的首尾定界符法: 在特殊字符前面填充一个转义字符(DLE)来加以区分,以实现数据的透明传输。接收方收到转义字符后,就知道其后面紧跟的是 数据信息 ,而不是控制信息。 数据中有可能出现转义字符,所以要 在转义字符前再插入一个转义字符 。 比特填充的首尾标志法: 由于使用01111110(6个1)来标志一帧的开始和结束,故发送方只要在数据中遇到5个连续的“1”时