首页 > 编程知识 正文

数据链路层的协议数据单元,数据链路层基本协议

时间:2023-05-04 21:24:53 阅读:178775 作者:3422

引言

广域网的基础设施是以点对点方式建设的。 通过广域网中的SONET光纤链路和ADSL链路发送数据包需要点对点链路,还包括拨号调制解调器、专用线路和电缆调制解调器。 点对点协议(PPP )的标准协议是使用这些链路发送数据包。 PP由RFC1661来定义,RFC1662中将对其进行更详细的描述。

1、SONET上的分组物理层中描述的SONET是物理层协议,最常用于广域网的光纤链路中,这些光纤链路构成了通信网络的主干网。 这提供了以适当速度运行的比特流,例如2.4Gbps的OC-48链路。 该比特流组织成固定大小的有效载荷,使得无论用户是否正在发送数据,比特流都每125微秒发布一次。

为了将包运送到这些链路上,需要某种成帧机制来在比特流中区分包。 如图所示,该机制由在IP路由器上运行的PPP提供。

PP功能包括处理错误检测链接配置、支持多种协议以及允许身份验证。 这是对早期简化协议的改进,该协议被称为串行线路互联网协议(SLIP )。 PP提供了三个主要特性。 (1)成帧方法。 可以毫不含糊地区别帧的结束和下一帧的开始。 )2)链路控制协议。 它可用于启动线路、测试线路、协商参数,以及在不再需要线路时温和关闭线路。 此协议称为链路控制协议(LCP ),是一种协商网络层选项的方式。 协商方法独立于网络层协议,选择一种方法,每个支持的网络层具有不同的网络控制协议(NCP )

PPP帧格式的选择酷似HDLC帧格式,因为不需要重新发明车轮。 HDLC是一种高级数据链路控制协议,是早期广泛使用的家庭协议的例子。 PPP与HDLC的主要区别在于,PPP使用面向字节的字节填充技术,而HDLC协议使用比特填充技术,因此帧长度不是字节的整数倍。 第二个区别是HDLC提供可靠的数据传输。 该方法采用了我们熟知的滑动窗口、确认和超时机制,PPP即使在无线网络等吵闹的环境中也能提供可靠的传输。 详细情况由RFC1663定义,但实际上互联网大多采用“无号码模式”提供无连接确认服务。

如图1中描绘的,所有PPP帧都从标准HDLC标志字节0x7e(0111110 )开始。 如果标志字节出现在Payload字段中,请用转义字节0x7D填充其前面。 然后,对标志字节执行0x20和XOR操作,使第6位反转。 例如,0x7D0x5E是标志字节0x7E的转义序列。 也就是说,只要找到0x7E,就可以找到帧的开始和结束。 接收到1帧后,删除填充字节,对后续的字节用0x20进行XOR操作。 两个帧之间只需要一个标志字节,如果没有向链路发送帧,则可以用多个标志字节填充。

紧跟在帧的第一个标记字节之后的是Address字段,该字段始终设置为二进制值11111111,表示所有站点都必须接受帧。 使用此值可以避免为数据链路层分配地址的问题。 地址字段后面是Control字段,默认值为00000011,该值表示没有编号的帧。 由于地址字段和控制字段始终为缺省配置常量,因此LCP为执行通信的双方协商是否省略这两个字段提供了必要的机制,删除后每帧可以节省2字节的空间。

PP的第四个字段是Protocol字段,其任务是告知Payload字段包含什么类型的包。 以0开头的代码被定义为IP版本4、IP版本6和其他可用的网络层协议。 以1开头的编码用于PPP配置协议,该协议包含LCP和为每个网络层协议设置的不同NCP。 Protocol字段的缺省大小为2个字节,但可以通过LCP协商减少为1个字节。 Payload字段是可变长度的,可以达到协商的最大值。 如果在建立链路时未通过LCP协议进行协商,则缺省长度为1500字节。 如果需要,在有效载荷之后填充字节以满足帧长度要求。 Payload字段后面是Checksum字段,通常占用2个字节,但可以协商使用4个字节的校验和。 4字节校验和与32位CRC相同,生成的多项式是CRC章节后面显示的多项式,2字节校验和也是业界标准的CRC。

PP是一种框架机制,可以在多种类型的物理层上承载多个协议的数据包。 为了在SONET中使用PPP,RFC2615有几个选择。 这是检测物理层、数据链路层、网络层传输错误的主要手段,因此采用了4字节校验和。 PPP还有另一个特点。 PPP的有效载荷在插入到SONET的有效载荷之前进行加扰操作。 用长伪随机序列对有效载荷进行扰码XOR后发送。 问题是,为了使SONET比特流同步,需要频繁进行与语音信号的变化自然相关联的位跳跃,然而在数据通信中用户所选择并发送的信息和数据包中有可能包含长0,加扰技术导致用户变长

在通过SONET线路发送PPP帧之前,必须建立和配置PPP链路。 PP链接的启动、使用和关闭一系列阶段如图所示。

链路的初始状态为DEAD,这意味着不存在物理层连接。 物理层连接建立后,链路将转移到ESTABLISH状态。 此时,PPP对等体交换一系列LCP消息并协商上述PPP选项,这些LCP消息置于PPP帧的Payload字段中,首先开始连接

接的实体提出自己的选项请求,对等实体可以部分接受或者全部接受、全部拒绝,同时也可以提供自己的选项要求。如果LCP选项协商成功,链路状态进入AUTHENTICATE(认证)状态。现在,如果需要,双方可以互相检查对方的身份。如果认证成功,则链路进入NETWORK状态,通过发送一系列的NCP包来配置网络参数。NCP协议很难一概而论,因为每个协议特定于实际采用的某个网络协议,允许执行针对特定网络层协议的配置请求。例如,对于IP协议而言,为链路的两端分配IP地址是最重要的可能操作。一旦进入OPEN状态,双方就可以进行数据传输。正是在这个状态,IP数据包被承载在PPP帧中通过SONET线路传输。当完成数据传输后,链路进入TERMINATE(终止)状态;当物理层连接被舍弃后从这里回到DEAD状态。

2、对称数字用户线

ADSL以Mbps速率将百万计的家庭用户连接到Internet上,并且使用的是与普通老式电话服务相同的本地回路。ADSL使用的协议和设备的概貌如图所示,PC使用以太网链路把IP数据包发送到DSL调制解调器;然后DSL调制解调器通过本地回路把IP数据包发送到DSLAM(DSL接入复用器,该设备在电话公司端局),发送数据包所用的协议就是我们将要学习的协议。在DSLAM设备上把IP数据包提取出来,并被注入到ISP网络,从而到达Internet上的任何目的地。

图中,ADSL链路之上的协议底部是ADSL物理层。它们基于称为正交频分复用(也称离散多音)的数字调制解调方案,接近协议栈顶部,恰好位于IP网络层正下方的是PPP,该协议与前述相同。

在ADSL和PPP两者之间的是ATM和AAL5。异步传输模式(ATM)早在20世纪90年代初就被设计了出来,应用于诸如DSL那样的带宽接入线路以及电话网络内部的广域网网链路。ATM是一种链路层,它的传输基于固定长度的信息信元。其名称中的异步意味着这些信元并不总是以连续的方式发送,这与SONET在同步线路上发送的方式不同,只有当出现需要运载的信息时,才发送信元。ATM是一种面向连接的技术,每个信元在它的头部带有虚电路标识符,交换设备根据此标识符沿着连接建立的路径转发信元。

每个信元53字节长,由一个48字节的有效载荷以及一个5字节的头组成。利用这些小信元,ATM可以为不同用户灵活划分物理层链路的带宽。这种能力对网络应用非常有用,例如在同一条链路上发送语音信息和数据信息,不会因为出现很长的数据包而导致声音样本值的延迟变化过大。为了在ATM网络上发送数据,需要将数据映射成一系列的信元。这个映射由ATM适配层完成,映射过程称为分段和重组。针对不同的服务定义了几个适配层,从周期性的声音样本到数据包数据。其中一个主要用于数据包数据的适配层是ATM适配层5(AAL5)。一个AAL5帧如图所示,除了帧头还有一个帧尾,给出了帧的长度和利用错误检测的4字节CRC。很自然,这里的CRC与PPP等使用的相同。已表明该CRC强大到足以检测出非传统错误(诸如信元重新排序)。除了有效载荷外,AAL5帧还需要被填充。填充的目的是使得帧的总长度是48字节的倍数,以便帧被均匀地划分成多个信元。这里不需要地址,因为每个信元携带的虚电路标识符将引导它们到达正确的目的地。
-

仅涉及在ADSL的情况下PPP如何使用ATM?这项工作由另一个称为ATM上的PPP(PPPoA)标准完成,这个标准不是真正意义上的协议,但详细说明了PPP和AAL5帧如何工作的,该标准由RFC2364描述。只有PPP协议和有效载荷字段被放置在AAL5的有效载荷,协议字段告诉远端DSLAM有效载荷包含的是一个IP数据包,或者另一种协议的数据包(比如LCP协议)。在AAL5帧内,PPP的成帧功能并不是必须的,因为在这里起不到任何作用;ATM和AAL5早已提供了成帧功能;同样,PPP的CRC也没有必要,因为AAL5已经包括了相同的CRC。这个错误机制补充了ADSL的物理层功能,ADSL物理层采用Reed-Solomon码来检测错误,同时还用1字节的CRC来检测遗漏的任何错误。该方案具有比在SONET上发送数据包更为复杂的错误恢复机制,因为ADSL是一种非常嘈杂的信道。

3、数据链路层总结 数据链路层的任务是将物理层提供的原始比特流转换成由网络层使用的帧流。链路层为这样的帧流提供不同程度的可靠性,范围从无连接无确认的服务到可靠的面向连接服务不等。链路层采用的成帧方法各种各样,包括字节计数、字节填充和比特填充。数据链路协议提供了差错控制机制来检测或纠正传输受损的帧,以及重新传输丢失的帧。为了防止快速方淹没慢速接收方,数据链路协议还提供了流量控制机制。滑动窗口机制被广泛用来以一种简单方式集成差错控制和流量控制两大机制。当窗口大小为1个数据包时,则协议是停-等式的。纠错和检错码使用不同的数字技术把冗余信息添加到消息中。卷积码和里德所罗门码被广泛用于纠错,低密度校检码越来越受欢迎。实际使用的检错码包括冗余循环校检和校检和两种。所有这些编码不仅可被用在链路层,而且也可以用在其它层。我们考察了一系列协议,这些协议在更现实的假设下通过确认和重传,或者自动重复请求机制为上层提供了一个可靠的链路层。从一个无错误的环境开始,即接收方可以处理传送给它的任何帧,我们引出了流量控制,然后是带有序号的差错控制和等-停式算法。然后,我们使用滑动窗口算法允许双向通信,并引出捎带确认的概念。最后给出两个协议把多个帧的传输管道化,以此来防止发送方被一个有着漫长传播延迟的链路所阻塞。接收方可以丢弃所有乱序的帧,或者为了获得更大的带宽效率而缓冲这些乱序帧,并且给发送方反馈否定确认。前一种策略是回退n协议,后一种策略是选择重传协议。Internet使用PPP作为点到点线路上的主要数据链路协议。PPP协议提供了无连接的无确认服务,使用标志字节区分帧的边界,至于错误检测则采用CRC。该协议通常被用在运载数据包的一系列链路上,包括广域网中的SONET链路和家庭ADSL链路。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。