网络协议中那些属于数据链路层协议?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络协议中那些属于数据链路层协议?相关的知识,希望对你有一定的参考价值。

PPP 2.面向比特的链路层协议 IBM的SNA使用的数据链路协议SDLC(Synchronous Data Link Control protocol); ANSI修改SDLC,提出ADCCP(Advanced Data 参考技术A 以太网(Ieee802.3)/PPP/HDLC/FR 参考技术B 数据链路控制协议也称链路通信规程,也就是OSI参考模型中的数据链路层协议。链路控制协议可分为异步协议和同步协议两大类。
面向字符的同步协议是最早提出的同步协议,其典型代表是IBM公司的二进制同步通信(Binary Synchronous Communication、BISYNC或BSC)协议,通常,也称该协议为基本型协议。随后,ANSI和ISO都提出类似的相应标准。ISO的标准称为数据通信系统的基本型控制过程(Basic mode control procedures for data communication Systems),即ISO 1745标准。任何链路层协议均可由链路建立、数据传输和链路拆除三部分组成。为实现建链、拆链等链路管理以及同步等各种功能,除了正常传输的数据块和报文外,还需要一些控制字符。 BSC协议用ASC2或EBCDIC字符集定义的传输控制(TC)字符来实现相应功能。这些传输控制字符的标记、名称及ASC2码值和EBCDIC码值见表3.1。 各传输控制字符的功能如下:   SOH(Start of Head): 序始或标题开始,用于表示报文(块)的标题信息或报头的开始。   STX(Start of TEXT):文始,标志标题信息的结束和报文(块)文本的开始。   ETX(End of Text): 文终,标志报文(块)文本的结束。   EOT(End of Transmission): 送毕,用以表示一个或多个文本块的结束,并拆除链路。   ENQ(Enquire):询问,用以请求远程站给出响应,响应可能包括站的身份或状态。   ACK(Acknowledge): 确认,由接收方发出一肯定确认,作为对正确接收来自发送方的报文(块)的响应。   DLE(Data Link Escape): 转义,用以修改紧跟其后的有限个字符的意义。用于在BSC中实现透明方式的数据传输,或者当10个传输控制字符不够用时提供新的转义传输控制字符。   NAK(Negative Acknowledge): 否认,由接收方发出的否定确认,作为对未正确接收来自发送方的响应。   SYN(Synchronous): 同字符,在同步协议中,用以实现节点之间的字符同步,或用于在列数据传输时保持该同步。 ETB(End of Transmission Block): 块终或组终,用以表示当报文分成多个数据块时, 一个数据块的结束。BSC 协议将在链路上传输的信息分为数据报文和监控报文又分为正向监控和反向监控两种。每一种报文中至少包含一个传输控制字符,用以确定报文中信息的性质或实现某种控制作用。   数据报文和文本组成。文本是要传送的有用数据信息,而报文是与文本传送及处    数据链路层图3.5
理有关的辅助信息,报头有时也右不用,对于不超过长度限制的报文可只用一个数据块作为一个传输单位。接收方对于每一个收到的数据块都要给予确认,发送方收到返回的确认后,才能发送下一个数据块。BSC协议为数据块格式可以有5种,如图3.5所示。BSC协议中所有发送的数据均跟在至少两个SYT字符之后,以使接收方能实现字符同步。报头字段用以说明数据文字段的包识别符(序号)及地址。所有数据块在块终限定符(ETX或ETB)之后不有块验字符BCC(Block Check Charracter),BCC可以是垂直奇偶校验或16位CRC,校验范围自STX始,至ETX或ETB止。当发送的报文是二进制数据而不是字符串时,二进制数据中形同传输控制字符的比特串将会引传输混乱。为使二进制数据中允许与传输控制字符相同的数据(即数据的透明性),可在各帧中真正的传输控制字符(SYN除外)前加上DLE转义字符,在发送时,若文本中也出现与DLE字符相同的二进制比特串,则可插入一个外加的DLE字符加以标记。 在接收端则进行同样的检测,若发现单个的DLE字符,则知其后的DLE为数据,在进一步处理前将其中一个删去。正、反向监控报文有四种格式,如图3-6所示。监控报文一般由单个传输控制字符或由若干个其它字符引导的单个传输控制字符组成。引导字符统称为前缀,它包含识别符(序号)、地址信息、状态信息以及其它所需的信息。ACK和NAK监控报文的作用,首先作为对先前所发数据块是否正确接收的响应,因而包含识符(序号);其次,用作对选择监控信息的响应,以ACK表示所选站能接收数据块,而NAK表示不能接收。ENQ用作轮询和选择监控报文,在多结构中,轮询或选择的站地址在ENQ字符前。EOT监控报文有用以标志报文的结束,并在两站点间除逻辑链路。面向字符的同步协议的最大缺点,是它和特定的字符编码集关系过于密切,不利于兼容性。为了实现数据的透明性而采用的字符填充法,实现起来比较麻烦,且也依赖于采用的字符编码集。另外,由于BSC是一个半双工协议,它的链路传输效率很低,即使物理连路支持全双工传输,BSC也不能加以运用。不过,由于BSC协议需要的缓冲存储容量最小,因而在面向终端的网络系统中仍然广泛使用。
七十年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC。随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:ANSI的高级通信控制过程ADCCP(Advanced Data Control Procedure),ISO的高级数据链路控制规程HDLC。链路控制协议着重于对分段成物理块或包的数据的逻辑传输,块或包由起始标志引导并由终止标志结束,也称为帧。帧是每个控制、每个响应以及用协议传输的所有信息的媒体的工具。所有面向比特的数据链路控制协议均采用统一的帧格式,不论是数据还是单独的控制信息均以帧为单位传送。   每个帧前、后均有一标志码01111110、用作帧的起始、终止指示及帧的同步。标志码不允许在帧的内部出现,以免引起畸意。为保证标志码的唯一性但又兼顾帧内数据的透明性,可以采用“0比特插入法”来解决。该法在发送端监视除标志码以外的所有字段,当发现有连续5个“1”出现    数据链路层图3-6
时,便在其后添插一个“0”,然后继续发后继的比特流。在接收端,同样监除起始标志码以外的所有字段。当连续发现5个“1”出现后,若其后一个比特“0”则自动删除它,以恢复原来的比特流;若发现连续6个“1”,则可能是插入的“0”发生差错变成的“1”,也可能是收到了帧的终止标志码。后两种情况,可以进一步通过帧中的帧检验序列来加以区分。“0比特插入法”原理简单,很适合于硬件实现。 在面向比特的协议的帧格式中,有一个8比特的控制字段,可以用它以编码方式定义丰富的控制命令和应答,相当于起到了BSC协议中众多传输控制字符和转义序列的功能。作为面向比特的数据链路控制协议的典型,HDLC具有如下特点:协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行编号,可纺止漏收或重份,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性和较完善的控制功能。由于以上特点,目前网络设计普遍使用HDLC作为数据链路管制协议。本回答被提问者采纳

Windows开发:网络编程基础

一.ISO七层网络模型

应用层 应用程序提供的服务

表示层 格式化数据,以便为应用程序提供通用接口

会话层 在两个节点之间建立端连接

传输层 面向连接或无连接的常规数据递送,TCP和UDP协议属于传输层协议

网络层 通过寻址来建立两个节点之间的连接,IP协议属于网络协议

数据链路层 将数据分帧,添加校验机制,并处理流控制

物理层 原始比特流的传输


应用层、表示层、会话层由程序开发者实现

传输层、网络层、数据链路层和物理层为底层,由操作系统提供


应用层的功能是应用程序提供的功能,处理传递过来的数据

传输层中TCP协议提供了IP环境下的数据可靠传输,在数据添加一个TCP首部编号。

网络层中IP协议将多个包的交换网络连接起来,在源地址和目的地址之间传送数据包,对数据进行拆分组装。

数据链路层将要传送的数据添加校验码,以便接收方能发现传输中的差错。

物理层就是电缆和光纤。


TCP/IP三次握手防止了服务器端的一直等待而浪费资源


TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。


为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手。

以上是关于网络协议中那些属于数据链路层协议?的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络(3) 数据链路层

网络协议笔记-数据链路层

数据链路层的几种协议

Linux 网络基础--网络层+数据链路层

计算机网络(复习)数据链路层

数据链路层的协议分析