对数据链路层的研究
1 数据链路层功能
1.1 相邻结点
所谓相邻结点是指由同一物理链路连接的所有结点。相邻结点的最主要特征是结点之间的数据通信不需要经过其他交换设备的转发。
1.2 帧同步
数据链路层采用了被称为帧( Frame )的协议数据单元作为数据链路层的数据传输逻辑单元。不同的数据链路层协议的核心任务就是根据所要实现的数据链路层功能来规定帧的格式。
1.3 差错控制
所谓差错是指接收端收到的数据与发送端实际发出的数据出现不一致的现
象。产生差错主要是因为在通信线路上噪声干扰的结果。根据噪声类型不同,可将差错分为随机错和突发错。热噪声所产生的差错称为随机错,冲击噪声(如电磁干扰、无线电干扰等)所产生的错误称为突发错。 1.差错控制的作用与机制
差错控制的主要作用是通过发现数据传输中的错误,采取相应的措施减少数据传输错误。差错控制的核心是对传输的数据信息加上与其满足一定关系的冗余码,形成一个加强的、符合一定规律的发送序列。所加入的冗余码称为校验码( FrameCheckSequence ,简称 FCS )。 2.常见检错码 ( 1 )奇/偶校验码
奇/偶校验的规则是在原数据位后附加一个校验位,将其值置为 “0” 或 “1” ,使附加该位后的整个数据码中 “1” 的个数成为奇数或偶数。使用奇数个 “1” 进行校验的方案被称为奇校验;对应于偶数个 “1” 的校验方案被称为偶校验。奇/偶校验有 3 种使用方式,即水平奇/偶校验、垂直奇/偶校验和水平垂直奇/偶校验。下面以奇校验为例进行介绍。 ( 2 )循环冗余校验码( CRC )
循环冗余校验码( CycleRedundancyCheck ,简称 CRC )是一种被广泛采用的多项式编码。 CRC 码由两部分组成,前一部分是 k +1 个比特的待发送信息,后一部分是 r 个比特的冗余码。由于前一部分是实际要传输的内容,因此是固定不变的, CRC 码的产生关键在于后一部分冗余码的计算。
计算中主要用到两个多项式: f ( x ) 和 G ( x ) 。其中, f ( x ) 是一个 k 阶
多项式,其系数是待发送的 k +1 个比特序列; G ( x ) 是一个 r 阶的生成多项式,由发收双方预先约定。
例如,设实际要发送的信息序列是 1010001101 ( 10 个比特, k =9 ),则以它们作为 f ( x ) 的系数,得到对应的 9 阶多项式
再假设发收双方预先约定了一个 5 阶( r =5 )的生成多项式,则其系数序列为 110101 。
CRC 码的产生方法如下。
① 生成 r 个比特的冗余码:用模 2 除法进行 xrf ( x )/ G ( x ) 运算,得余式 R ( x ) ,其系数即是冗余码。
② 得到带 CRC 校验的发送序列:用模 2 减法进行运算得到带 CRC 校验的发送序列。从形式上看,也就是简单地在原信息序列后面附加上冗余码。 在接收方,用同样的生成多项式 G ( x ) 除所收到的序列。若余数为 0 ,则表示传输无差错,否则说明传输过程出现差错。
CRC 校验方法是由多个数学公式、定理和推论得出的,尤其是 CRC 中的生成多项式对于 CRC 的检错能力会产生很大的影响。生成多项式 G ( x ) 的结构及检错效果是在经过严格的数学分析和实验后才确定的,有其国际标准。
1.4 流量控制
由于系统性能的不同,如硬件能力(包括 CPU 、存储器等)和软件功能的差异,会导致发送方与接收方处理数据的速度有所不同。若一个发送能力较强的发送方给一个接收能力相对较弱的接收方发送数据,则接收方会因无能力处理所有收到的帧而不得不丢弃一些帧。如果发送方持续高速地发送,则接收方最终还会被 “ 淹没 ” 。也就是说,在数据链路层只有差错控制机制还是不够的,它不能解决因发送方和接收方速率不匹配所造成的帧丢失问题。
1.5 链路管理
链路管理功能主要用于面向连接的服务。在链路两端的结点要进行通信前,
必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接。在传输过程中则要维持该连接。如果出现差错,需要重新初始化,重新自动建立连接。传输完毕后则要释放连接。数据链路层连接的建立、维持和释放就称做链路管理。
2 数据链路层所提供的基本服务
通常,数据链路层有 3 种基本服务可供选择,即无确认的无连接服务
( UnacknowledgedConnectionlessService )、有确认的无连接服务
( AcknowledgedConnectionlessService )、有确认的面向连接服务( AcknowledgedConnection-orientedService )。
3点对点协议( PPP )
PPP 是点对点协议( Point-to-PointProtocol )的简称,它是一个工作于数据链路层的广域网协议。 PPP 由 IETF ( InternetEngineeringTaskForce )开发,目前已被广泛使用并成为国际标准。无论是同步电路还是异步电路, PPP 协议都能够建立路由器之间或者主机到网络之间的连接。
3.1 PPP的特性
PPP 协议是目前使用最广泛的广域网协议,这是因为它具有以下特性: 能够控制数据链路的建立;能够对 IP 地址进行分配和使用;允许同时采用多种网络层协议;能够配置和测试数据链路; 能够进行错误检测;有协商选项,能够对网络层的地址和数据压缩等进行协商。
PPP 是现在主流的一种国际标准 WAN 封装协议,可支持如下连接类型: 同步串行连接;异步串行连接;ISDN 连接;HSSI 连接。
3.2 PPP的组成
PPP 作为第 2 层的协议,在物理上可使用各种不同的传输介质,包括双绞
线、光纤及无线传输介质,在数据链路层提供了一套解决链路建立、维护、拆除和上层协议协商、认证等问题的方案;在帧的封装格式上, PPP 采用的是一种 HDLC 的变化形式;其对网络层协议的支持则包括了多种不同的主流协议,如 IP 和 IPX 等。图 4.8 给出了 PPP 的体系结构,其中,链路控制协议( LCP , LinkControlProtocol )用于数据链路连接的建立、配置与测试, NCP ( NetworkControlProtocols )则是一组用来建立和配置不同数据链路的网络层协议。
3.3 PPP会话建立的过程
PPP 提供了建立、配置、维护和终止点到点连接的方法。 PPP 经过以下 4 个阶段在一个点到点的链路上建立通信连接。
4问题和答案
4.1发送的数据帧的格式和大小根据什么原则来确定?
答:局域网的几种协议,主要包括以太网第二版、IEEE802系列、令牌环网和SNAP等
(一)、以太网(V2)
以太网第二版是早期的版本,是由DEC、Intel和Xerox联合首创,简称DIX。
帧格式如下图:
前导信息:采用1和0的交替模式,在每个数据包起始处提供5MHZ的时钟信号,以充许接收设备锁定进入的位流。
目标地址:数据传输的目标MAC地址。 源 地 址:数据传输的源MAC地址。
以太网类型:标识了帧中所含信息的上层协议。
数据加填充位:这一帧所带有的数据信息。(以太网帧的大小是可变的。每个帧包括一个1 4字节的报头和一个4字节的帧校验序列域。这两个域增加了1 8字节的帧长度。帧的数据部分可以包括从4 6字节到1 5 0 0字节长的信息(如果传输小于4 6字节的数据,则网络将对数据部分填充填充位直到长度为4 6字节)。因此,以太网帧的最小长度为1 8 + 4 6,或6 4个字节,最大长度为1 8 + 1 5 0 0,或1 5 1 8个字节。)
F C S : 帧校验序列( F C S,Frame Check Sequence)域确保接收到的数据与发送时的数据一样。当源节点发送数据时,它执行一种称为循环冗余校验( C R C,Cyclical Redundancy Check)的算法。C R C利用帧中前面所有域的值生成一个惟一的4字节长的数,即F C S。当目标节点接收数据帧时,它通过C R C破解F C S并确定帧的域与它们原有的形式一致。如果这种比较失败,则接收节点认为帧已经在发送过程中被破坏并要求源节点重发该数据。
(二)、IEEE802.3 下面是这个帧的帧格式:
1、 这个帧格式跟以太网第二版本的格式非常像,它们这间改动的比较少,因为802。3是在以太网V2的基础上开发的,
2、为了适应100M的网络,所以才把8位的前导步信息分成了7字节,并加入了一个SFD的域。前导与SFD相当于跑步竞赛开始时的那句“预备!跑!”,
相关推荐: