【网络】TCP/IP-数据链路层
本文主要从数据链路层主要功能展开,涉及到以下相关概念 首先我们看看TCP/IP网络模型中数据链路层的功能定义:透明传输,差错检测,封装成帧数据链路层进程的任务是在两个网络层进程之间提供无错误的,透明的通信1 提供差错检测机制(处理传输错误)2使用滑动窗口机制进行流量控制 (调节数据流,确保慢速的接收方不会被发送方淹没)3 向网络层提供一个定义良好的网络接口在OSI参考模型中,上层使用下层所提供的服务必须与下层交换命令,这些命令称为 服务原语 。相邻层之间的接口称为 服务访问点SAP ,对等层之间传送的数据单位称为 协议数据单元PDU以下图说明网络链路,数据传输构成,和数据链路层分层可分为 (面向字符的通信规程) 和 (面向比特的通信规程) 两类“TCP 是一个面向字节流的协议”指的是“字节就是字节”在令牌环网中,令牌环的帧格式有两种,分别是 (令牌帧) 和 (数据帧)在点-点链路中,发送信息和命令的站称为主站,接收信息和命令而发出确认信息或响应的站称为从站,兼有主、从功能可发送命令与响应的站称为复合站透明传输模式0201 工作原理以太网有两类01 经典以太网,解决多路访问问题02 交互式以太网,使用交换机连接不同的计算机。交换机中每个端口有自己独立的冲突域。采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。以太网对发送的数据帧不进行编号,也不要求对方发回确认。以太网提供的服务是不可靠的交付,即尽最大努力的交付。以太网是使用1-持续CSMA/CD 技术的总线型网络。以太网的逻辑结构是总线型结构,物理结构是星型或者拓扑星型结构。以太网属于数据链路层协议应用,规定的最短帧长 最短帧长度为64字节。为了确保最小帧长为64字节,同时维持网络直径为200m,千兆以太网采用了载波扩展和数据包分组两种技术。为什么要限制最短帧长以太网的争用期是指总线两端的两个站之间的往返传播时延,又称为碰撞窗口。以太网的端到端往返时延 2τ称为争用期,或碰撞窗口。争用期长度为 2τ,即端到端 传播时延 的两倍。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞网桥工作在数据链路层,作用是连接不用的物理局域网形成逻辑局域网,它们通过检查数据链路层地址来转发帧。用于连接类型相似的局域网。在网桥中,帧从物理层往上传给以太网的MAC层。路由器作用于网络层,提供网络层协议转换。通过检查数据包地址,并基于数据包地址路由数据包。在网络之间存储和转发分组网关提供传输层及以上各层协议之间的转换网桥与路由器的区别1 二层设备与三层设备2 网桥连接相似的局域网,路由器连接不同的网络3 网桥不隔离广播,而路由器可以隔离广播网桥的主要任务是地址学习和帧转发以太网交换机实际上是一个多端口的网桥。节点交换机与以太网交换机都是数据链路层设备,前者使用点对点信道,后者使用广播信道。例:以太网交换机在收到一帧后先进行存储,在转发帧是,对于未知目的的帧,可以采用广播的方式转发。交换机是按照存储转发方式工作的,在收到一帧后,一定是先将它存储再进行处理,不管目的地址。在转发时,查找转发表和收到帧的源地址有无匹配的项目,有则更新,无则向除接收该帧的接口以外转发帧,即广播。以太网交换机按照自学习算法建立转发表,它通过 ARP协议 进行地址学习。ARP协议 不属于链路层 。A RP不是向网络层提供服务,它 本身就是网络层的一部分,帮 助向传输层提供服务。在数据链路层不存在IP 地址的问题。数据链路层协议是象HDLC 和PPP 这样的协议,它们把比特串从线路的一端传送到另一端。例题高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的【可靠传输】数据链路层协议。目前我们普遍使用HDLC作为数据链路控制协议。HDLC帧格式如下当我们传输数据时,要传输的不仅仅是数据的大小,还会给这些数据加上头和尾,以及一些其他的标志。比如标志位有八位,就是一个字节。所以除数据外其他的字段加在一起要占据6字节的空间。HDLC定义了三种类型的站:分别是主站,从站,复合站HDLC包括三种类型的帧,信息帧,监控帧,和无编号帧。第1位为“0”表示是信息帧,第1、2位为“10”是监控帧,“11”是无编号帧。信息帧用于传送有效信息或数据,通常简称I帧。监控帧用于监视和控制数据链路,完成信息帧的接收确认、重发请求、暂停发送请求等功能。监控帧不具有信息字段。无编号帧用于数据链路的控制,它本身不带编号,可以在任何需要的时刻发出HDLC的帧类型中用于差错控制和流量控制的帧是 A.命令帧 B.信息帧 C.无编号帧 D.监控帧答案 DATM是一种 面向分组 的技术,其分组称为信元。 ATM 信元由信元头和净荷(Payload)两部分构成。信元头中包含信元控制信息,净荷用于承载用户的数据。ATM是一种面向连接的技术,传输基于固定长度的信息信元,每个信元在他的头部带有虚电路标识符,交换设备根据此标识符演着连接建立的路径转发信元。ATM是异步传输模式的缩写,是两种交换技术的结合,电路交换和分组交换。信元和信元头长度分别是53字节和5字节在计算机网络中,数据交换的方式有:(1)线路交换。在数据传送之前需建立一条物理通路, 在线路被释放之前,该通路将一直被一对用户完全占有。(2)报文交换。报文从发送方传送到接收方采用存储转发 的方式。在传送报文时,只占用一段通路;在交换节点中需要 缓冲存储,报文需要排队。因此,这种方式不满足实时通信的 要求。(3)分组交换。此方式与报文交换类似,但报文被分成组传送,并规定了分组的最长度,到达目的地后需重新将分组组装成报文。这是网络中最广泛采用的一种交换技术。常用的差错控制方法是在数据中加入差错控制编码,在所要发送的信息位之前按照某种规则加上一定的冗余位,构成一个码字再传送。交换机可以用来分割LAN,连接不同的LAN,或者扩展LAN的覆盖范围。4B/5B编码是将数字数据转换为数字信号的编码方式。数据链路层和大多数高层都存在的一个问题是如何避免一个快速发送方用数据【淹没】一个慢速接受方。所以需要一个流量调节机制,以便让发送方知道接收方何时可以接收更多的数据。两种方式:1 基于反馈的流量控制接收方给发送方发信息2 基于速率的流量控制限制发送方传输速率数据链路层和传输层的TCP协议都会涉及到滑动窗口机制。侧重点不一样。数据链路层主要有两种: 停-等流量控制和滑动窗流量控制 。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。首先整理下滑动窗口涉及到的3个协议1 停等协议:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,则发送方必须一直等待。2 后退N帧协议:在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。接受方发现接收到的信息帧时序有问题时,要求发送方发送最后一次正确发送后确认接收的帧之后的所有的未被确认的帧。3 选择重传协议:当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层。但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧,一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。总之海明码:如果要检测 d位错误,需要海明距为 d+1的编码方案;如果要纠正 d位错误,需要海明 距 为 2d+1的 编 码 方 案 。1.集线器本身是一个 冲突域 ,因为它不能分隔冲突域。2.交换机本身是一个 广播域 ,它分隔冲突域,即它的每一个端口都是一个冲突域。3. 路由器 分隔 广播域 ,它的每一个接口都是一个 广播域 。4.交换机和 路由器 相连的链路即是冲突域又是广播域。某用户程序采用 UDP协议进行传输,则差错控制应由 协议完成。A.数据链路层 B.网络层 C.物理层 D.应用层PPP协议是透明传输,实际上就是通常所说的透传。PPP协议使用的是一种面向字节的协议,所有的帧长度都是整数个字节,使用一种特殊的字符填充法完成数据的填充。例题为实现透明传输,PPP协议使用的填充方法是()。BA.位填充B.字符填充C.对字符数据使用字符填充,对非字符数据使用位填充D.对字符数据使用位填充,对非字符数据使用字符填充例题:PPP 帧的起始和结束标志都是 0x7e,若在信息字段中出现与此相同的字符,必须进行填充。在同步数据链路中,采用___比特填充法____方法进行填充;在异步数据链路中,采用___字符填充法____方法进行填充1 纠错,PPP协议只进行检错2流量控制 3 序号 PPP协议是不可靠的传输协议,因此不需要给帧编号。

[计算机网络]Ch.3 数据链路层
数据链路层使用物理层提供的服务在通信信道上发送和接收比特。(1)向网络层提供一个定义良好的接口(2)处理传输错误(3)调节数据流,确保慢速的接收方不会被快速的发送方淹没提供的服务(1)无确认的无连接服务 (局域网)(2)有确认的无连接服务 (无线通信)(3)有确认的有连接服务 (电话)无线通信,信道使用率很低但数据传输的误码率相对较高,确认是必要的成帧:将原始的位流分散到离散的帧中。成帧的方法有:(1)字符计数法(2)带字节/字符填充的标志字节法(3)比特填充的比特标志法(4)物理层编码违例法字节计数法:利用帧头部的一个字段来标识该帧中的字符数缺点:简单,无法恢复,已经很少使用该方法考虑了错误之后重新开始同步的问题,用一些特殊字节(FLAG)作为帧开始和结束标志,用转义字符(ESC)来区分二进制数据中存在的特殊字节。采用冗余编码技术,如曼切斯特编码,即两个脉冲宽来表示一个二进制位数据0:低-高电平对数据1:高-低电平对高-高电平对和低-低电平对没有使用,可用作帧边界差错的种类:差错的处理:计算机网络中主要采用:海明距离的意义:如果海明距离为d,则一个码字需要发生d个1位错误才能变成另外一个码字海明距离与检错和纠错的关系:纠正单比特错的冗余位下界,m为数据位数,r为校验位数将某一位数据位的编号展开成2的乘幂的和,那末每一项所对应的位即为该数据位的校验位(收方使用)。如: 11 = 1 + 2 + 829 = 1 + 4 + 8 + 16校验位1的检验集合为所有奇数位。校验位2的检验集合:2、3、6、7、10、11、…校验位4的检验集合:4、5、6、7、……校验位8的检验集合:8、9、10、11、……海明码纠错过程(只纠错1位)首先将差错计数器置“0”。当海明码数据到达接收端后,接收端逐个检查各个校验位的奇偶性。如发现某一校验位和它所检测的集合的奇偶性不正确,就将该检验位的编号加到差错计数器中。待所有校验位核对完毕:若差错计数器仍为“0”值,则说明该码字接收无误。非“0”值,差错计数器的值为出错位的编号,将该位求反就可得到正确结果。例子:经计算需要的检验字个数的最小值 r应满足 (所以r最小值为4,再根据校验位的对应规则可得下表:Data: 1011010Even: 1011010 0(偶校验)Odd: 1011010 1(奇校验)使用CRC编码时发送方和接收方必须预先商定一个生成多项式G(x),假设有一个m为的帧M(x),使用G(x)生成的帧的步骤如下:假设G(x)的阶为r, 那么M(x)在末尾添加r个0,得到 m+r位的位模式 。利用模2出发,用G(x)去除 ,得到对应的余数(总是小于等于r位)。利用 减去(模2减法)第2步中得到的余数,得到的位模式就是即将被传输的带校验和的帧Sender在数据帧的低端加上r个零,对应多项式为XrM(x)采用模2除法,用G(x)去除XrM(x),得余数采用模2减法,用XrM(x)减去余数,得到带CRC校验和的帧Receiver用收到的帧去除以G(x)为零:无错误产生。非零:发生了错误,重传在一定条件下运作:缺点:缺点:对协议2的改进:确认帧只在接收无差错时才发确认帧,出错时不发确认帧。重发网络中采用检错码,无法纠正错误,由重发原来帧的方式来恢复正确的帧。计时器控制何时重发,防止无限期等待(死锁)。帧序号防止重发时接收端收到重复的帧,序号还用于接收时排序。保证送给网络层的都是按序无重复的分组帧格式:****与前三个协议不同,这是一个双向传递的协议。之后的三个协议都属于滑动窗口协议。滑动窗口协议如果发送端可以连续发送一批数据帧,必须考虑接收端是否来得及接纳与处理这么多的帧,这里就提出了网络流量控制问题N回退协议和选择重传协议:由于传输过程中存在延迟,即数据在传播过程中需要时间,那么如果使用上面所提及的协议,传输过程中有大量的时间存在阻塞状态,所以为了充分利用带宽,我们让发送方一次发送w个帧。所以就存在如何处理在传输过程中出现的帧错误的问题协议四的基本工作原理:窗口设置窗口滑动机制特点出错情况:连续发送W个数据帧,其中有一帧出错,但其后续帧被成功发送接收方的接收策略:丢弃错帧,其后续帧因不是期望接收帧也被丢弃(接收窗口为1)。发送方的重传策略:缓存在发送窗口中的出错帧以及其后续帧全部重发W<=2BD+1(个帧)BD:带宽-延迟乘积,bit乘积出来之后换算成帧的个数该图的发送方和接收方的窗口大小都是7,那么也就是说发送方一次最多只能发送7个帧,刚开始发送方只能发送序号为0~6的数据帧,图中发送方收到序列号为第0和第1号帧的确认帧,那么整个窗口向前滑动,发送方可以发送序列号为7和8 的数据帧,但是不幸的是2号数据帧并没有收到确认帧,所以整个窗口并不会向前滑动,此时只能等待2号数据帧的计时器超时,那么超时后发送方将会从2号数据帧开始发送,重复这个过程。实现出错情况原因:如果错误很少发生,那么协议5可以很好的工作。一旦线路质量很差,那么重传帧需要浪费大量带宽。而选择重传节约了带宽,允许接收方缓存丢失帧之后的所有帧接收方的接收策略:丢弃错帧,缓存后续正确接收帧发送方的重传策略:只重发出错帧。基本概念:选择重传策略:接收方丢掉坏帧,但接受并缓存坏帧后面的所有好帧。否定重传策略:当接收方收到错误,他就发送一个否定确认(NAK)信息,而不需要等到相应的计数器超时,提高协议性能。滑动窗口长度w的选择协议5(回退n帧)W = MAX_SEQ协议6(选择重传)W= (MAX_SEQ + 1) / 2发送方和接收方的窗口大小 W=((MAX_SEQ+1))/2,原因是防止窗口重叠,在确认帧丢失的情况下而导致的数据错误接收方在某个帧出错后继续接受和缓存后续发送的数据包,直到整个窗口的填满后,把帧进行排序后才传递给网络层。面向字符的数据链路协议PPP 是一种在链路上传输分组的常用方法3个主要特性:PPP两种认证协议: PAP and CHAPPPP的帧格式PPP成帧是面向字节填充的:具体细节可以参考上面的字节填充法, 因为PPP重用了HDLC的技术,所以PPP使用标志字(0x7E01111110)来标记帧的起始,使用0x7D来作为转义字符,具体操作如下:接收方接收到帧后进行下面处理:在帧中遇到0x7D 就把0x7D删除,在把紧跟在0x7D 后的字节和0x20进行异或运算,就得到对应的数据LCP ( Link Control Protocol)提供了建立、配置、维护和终止点对点链接的方法PPP的工作过程
![[计算机网络]Ch.3 数据链路层](https://static.wangsu123.cn/pich-W+iuoeeul+acuue9kee7nF1DaC4zIOaVsOaNrumTvui3r+Wxgg==g.png)
简述OSI参考模型的各层及各层的功能?
ISO/OSI参考模型各层功能:1、物理层功能:物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。2、数据链路层:数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题。3、网络层:网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。4、传输层:传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。5、会话层:会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。6、表示层:表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。。7、应用层:应用层是OSI参考模型的最高层,是用户与网络的接口。服务与接口在OSI分层结构模型中,每一层实体为相邻的上一层实体提供的通信功能称为服务。N层实体利用N-1层实体所提供的服务,向N+I层实体提供功能更强大的服务。这可以概括为“服务是垂直的”。例如,传输层实体利用网络层实体的服务,向应用层实体提供网页传输服务。在OSI模型中,各层之间的接口都有统一的规则。N层的服务访问点SAP(Service Access Point)是N层实体提供服务给N+1层的地方,SAP可以理解为下层实体之间的逻辑传输通道。每一层的SAP都有一个唯一标明它的地址。一个N层可能存在多个SAP。以上内容参考:百度百科-OSI参考模型
(1)物理层(Physical Layer)物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。为此,该层定义了物理链路的建立、维护和拆除有关的机械、电气、功能和规程特性。包括信号线的功能、“0”和“1”信号的电平表示、数据传输速率、物理连接器规格及其相关的属性等。物理层的作用是通过传输介质发送和接收二进制比特流。(2)数据链路层(DataLinkLayer)数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。数据帧中包含物理地址(又称MAC地址)、控制码、数据及校验码等信息。该层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。此外,数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。(3)网络层(NetworkLayer)网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。(4)传输层(TransportLayer)传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。传输层传送的协议数据单元称为段或报文。(5)会话层(SessionLayer)会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。会话层得名的原因是它很类似于两个实体间的会话概念。例如,一个交互的用户会话以登录到计算机开始,以注销结束。(6)表示层(PresentationLayer)表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据表示格式转换成网络通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。(7)应用层(ApplicationLayer) 应用层是OSI参考模型的最高层,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。
osi参考模型 在计算机网络产生之初,每个计算机厂商都有一套自己的网络体系结构的概念,它们之间互不相容。为此,国际标准化组织(iso)在1979年建立了一个分委员会来专门研究一种用于开放系统互联的体系结构(opensystemsinterconnection)简称osi,"开放"这个词表示:只要遵循osi标准,一个系统可以和位于世界上任何地方的、也遵循osi标准的其他任何系统进行连接。这个分委员提出了开放系统互联,即osi参考模型,它定义了连接异种计算机的标准框架。osi参考模型分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。各层的主要功能及其相应的数据单位如下:·物理层(physicallayer)我们知道,要传递信息就要利用一些物理媒体,如双纽线、同轴电缆等,但具体的物理媒体并不在osi的7层之内,有人把物理媒体当作第0层,物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性。如规定使用电缆和接头的类型,传送信号的电压等。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是比特。·数据链路层(datalinklayer)数据链路层负责在两个相邻结点间的线路上,无差错的传送以帧为单位的数据。每一帧包括一定数量的数据和一些必要的控制信息。和物理层相似,数据链路层要负责建立、维持和释放数据链路的连接。在传送数据时,如果接收点检测到所传数据中有差错,就要通知发方重发这一帧。·网络层(networklayer)在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息--源站点和目的站点地址的网络地址。·传输层(transportlayer)该层的任务时根据通信子网的特性最佳的利用网络资源,并以可靠和经济的方式,为两个端系统(也就是源站和目的站)的会话层之间,提供建立、维护和取消传输连接的功能,负责可靠地传输数据。在这一层,信息的传送单位是报文。·会话层(sessionlayer)这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。·表示层(presentationlayer)这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于osi系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。·应用层(applicationlayer) 应用层确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务。

数据链路层的有哪能些功能?作用是什么?
数据链路层是建立在屋里传输能力的基础上,以帧为单位传输数据,它的主要任务就是进行数据封装和数据链接的建立。封装的数据信息中,地址含有发送结点和接受结点的地址;控制段用来表示数格链接帧的类型;数据段包含实际要传输的数据;差错控制段用来检测传输中帧出现的错误。数据链路层可使用的协议有SLIP、PPP、X25和帧中继等。常见的集线器和低档的交换机网络设备都是工作在这个层次上,Modem之类的拨号设备也是如此。工作在这个层次上的交换机俗称“第二层交换机”。具体讲,数据链路层的功能包括:数据链路连接的建立与释放、构成数据链路数据单元、数据链路连接的分裂、定界与同步、顺序和流量控制和差错的检测和恢复等方面。
主要功能在两个网络实体之间提供数据链路连接的建立、维持和释放管理。构成数据链路数据单元(frame:数据帧或讯框),并对帧定界、同步、收发顺序的控制。传输过程中的流量控制(Flow Control),差错检测(Error Detection)和差错控制(Error control)等方面。 只提供导线的一端到另一端的数据传输。数据链路层会在 frame 尾端置放检查码(parity,sum,CRC)以检查实质内容,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,并对物理层的原始数据进行数据封装。数据链路层中的数据封装是指:封装的数据信息中,包含了地址段和数据段等。地址段含有点对点发送节点和接收节点的地址(如MAC),控制段用来表示数格连接帧的类型,数据段包含实际要传输的数据。 还是看下百科吧http://zh.wikipedia.org/wiki/%E6%95%B0%E6%8D%AE%E9%93%BE%E8%B7%AF%E5%B1%82http://baike.baidu.com/view/239592.htm?fr=ala0
数据链路层的最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错。数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。如果您想用尽量少的词来记住数据链路层,那就是:“帧和介质访问控制”。
清晰的表现数据的情况

计算机网络第三章(数据链路层)
3.1、数据链路层概述 概述链路 是从一个结点到相邻结点的一段物理线路, 数据链路 则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)网络中的主机、路由器等都必须实现数据链路层局域网中的主机、交换机等都必须实现数据链路层从层次上来看数据的流动仅从数据链路层观察帧的流动主机H1 到主机H2 所经过的网络可以是多种不同类型的注意:不同的链路层可能采用不同的数据链路层协议数据链路层使用的信道数据链路层属于计算机网路的低层。 数据链路层使用的信道主要有以下两种类型:点对点信道广播信道局域网属于数据链路层局域网虽然是个网络。但我们并不把局域网放在网络层中讨论。这是因为在网络层要讨论的是多个网络互连的问题,是讨论分组怎么从一个网络,通过路由器,转发到另一个网络。而在同一个局域网中,分组怎么从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看, 局域网仍属于数据链路层 的范围三个重要问题数据链路层传送的协议数据单元是 帧封装成帧封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。首部和尾部的一个重要作用就是进行 帧定界 。差错控制在传输过程中可能会产生 比特差错 :1 可能会变成 0, 而 0 也可能变成 1。可靠传输接收方主机收到有误码的帧后,是不会接受该帧的,会将它丢弃如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施如果数据链路层向其上层提供的是可靠服务,那就还需要其他措施,来确保接收方主机还可以重新收到被丢弃的这个帧的正确副本以上三个问题都是使用 点对点信道的数据链路层 来举例的如果使用广播信道的数据链路层除了包含上面三个问题外,还有一些问题要解决如图所示,主机A,B,C,D,E通过一根总线进行互连,主机A要给主机C发送数据,代表帧的信号会通过总线传输到总线上的其他各主机,那么主机B,D,E如何知道所收到的帧不是发送给她们的,主机C如何知道发送的帧是发送给自己的可以用编址(地址)的来解决将帧的目的地址添加在帧中一起传输还有数据碰撞问题随着技术的发展,交换技术的成熟,在 有线(局域网)领域 使用 点对点链路 和 链路层交换机 的 交换式局域网 取代了 共享式局域网在无线局域网中仍然使用的是共享信道技术3.2、封装成帧介绍封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧帧头和帧尾中包含有重要的控制信息发送方的数据链路层将上层交付下来的协议数据单元封装成帧后,还要通过物理层,将构成帧的各比特,转换成电信号交给传输媒体,那么接收方的数据链路层如何从物理层交付的比特流中提取出一个个的帧?答:需要帧头和帧尾来做 帧定界但比不是每一种数据链路层协议的帧都包含有帧定界标志,例如下面例子前导码前同步码:作用是使接收方的时钟同步帧开始定界符:表明其后面紧跟着的就是MAC帧另外以太网还规定了帧间间隔为96比特时间,因此,MAC帧不需要帧结束定界符透明传输透明指某一个实际存在的事物看起来却好像不存在一样。透明传输是指 数据链路层对上层交付的传输数据没有任何限制 ,好像数据链路层不存在一样帧界定标志也就是个特定数据值,如果在上层交付的协议数据单元中, 恰好也包含这个特定数值,接收方就不能正确接收所以数据链路层应该对上层交付的数据有限制,其内容不能包含帧定界符的值解决透明传输问题解决方法 :面向字节的物理链路使用 字节填充 (byte stuffing) 或 字符填充 (character stuffing),面向比特的物理链路使用比特填充的方法实现透明传输发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面 插入一个转义字符“ESC” (其十六进制编码是1B)。接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。帧的数据部分长度总结3.3、差错检测介绍奇偶校验循环冗余校验CRC(Cyclic Redundancy Check)例题总结循环冗余校验 CRC 是一种检错方法,而帧校验序列 FCS 是添加在数据后面的冗余码3.4、可靠传输基本概念下面是比特差错其他传输差错分组丢失路由器输入队列快满了,主动丢弃收到的分组分组失序数据并未按照发送顺序依次到达接收端分组重复由于某些原因,有些分组在网络中滞留了,没有及时到达接收端,这可能会造成发送端对该分组的重发,重发的分组到达接收端,但一段时间后,滞留在网络的分组也到达了接收端,这就造成 分组重复 的传输差错三种可靠协议停止-等待协议SW回退N帧协议GBN选择重传协议SR这三种可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中停止-等待协议停止-等待协议可能遇到的四个问题确认与否认超时重传确认丢失既然数据分组需要编号,确认分组是否需要编号?要。如下图所示确认迟到注意,图中最下面那个数据分组与之前序号为0的那个数据分组不是同一个数据分组注意事项停止-等待协议的信道利用率假设收发双方之间是一条直通的信道TD :是发送方发送数据分组所耗费的发送时延RTT :是收发双方之间的往返时间TA :是接收方发送确认分组所耗费的发送时延TA一般都远小于TD,可以忽略,当RTT远大于TD时,信道利用率会非常低像停止-等待协议这样通过确认和重传机制实现的可靠传输协议,常称为自动请求重传协议ARQ( A utomatic R epeat re Q uest),意思是重传的请求是自动进行,因为不需要接收方显式地请求,发送方重传某个发送的分组回退N帧协议GBN为什么用回退N帧协议在相同的时间内,使用停止-等待协议的发送方只能发送一个数据分组,而采用流水线传输的发送方,可以发送多个数据分组回退N帧协议在流水线传输的基础上,利用发送窗口来限制发送方可连续发送数据分组的个数无差错情况流程发送方将序号落在发送窗口内的0~4号数据分组,依次连续发送出去他们经过互联网传输正确到达接收方,就是没有乱序和误码,接收方按序接收它们,每接收一个,接收窗口就向前滑动一个位置,并给发送方发送针对所接收分组的确认分组,在通过互联网的传输正确到达了发送方发送方每接收一个、发送窗口就向前滑动一个位置,这样就有新的序号落入发送窗口,发送方可以将收到确认的数据分组从缓存中删除了,而接收方可以择机将已接收的数据分组交付上层处理累计确认累计确认优点:即使确认分组丢失,发送方也可能不必重传减小接收方的开销减小对网络资源的占用缺点:不能向发送方及时反映出接收方已经正确接收的数据分组信息有差错情况例如在传输数据分组时,5号数据分组出现误码,接收方通过数据分组中的检错码发现了错误于是丢弃该分组,而后续到达的这剩下四个分组与接收窗口的序号不匹配接收同样也不能接收它们,讲它们丢弃,并对之前按序接收的最后一个数据分组进行确认,发送ACK4, 每丢弃一个数据分组,就发送一个ACK4当收到重复的ACK4时,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器超时就立刻开始重传,具体收到几个重复确认就立刻重传,根据具体实现决定如果收到这4个重复的确认并不会触发发送立刻重传,一段时间后。超时计时器超时,也会将发送窗口内以发送过的这些数据分组全部重传若WT超过取值范围,例如WT=8,会出现什么情况?习题总结回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议在协议的工作过程中发送窗口和接收窗口不断向前滑动,因此这类协议又称为滑动窗口协议由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高选择重传协议SR具体流程请看视频习题总结3.5、点对点协议PPP点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议PPP协议是因特网工程任务组IEIF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]数据链路层使用的一种协议,它的特点是:简单;只检测差错,而不是纠正差错;不使用序号,也不进行流量控制;可同时支持多种网络层协议PPPoE 是为宽带上网的主机使用的链路层协议帧格式必须规定特殊的字符作为帧定界符透明传输必须保证数据传输的透明性实现透明传输的方法面向字节的异步链路:字节填充法(插入“转义字符”)面向比特的同步链路:比特填充法(插入“比特0”)差错检测能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。工作状态当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。3.6、媒体接入控制(介质访问控制)——广播信道媒体接入控制(介质访问控制)使用一对多的广播通信方式Medium Access Control 翻译成媒体接入控制,有些翻译成介质访问控制局域网的数据链路层局域网最主要的 特点 是:网络为一个单位所拥有;地理范围和站点数目均有限。局域网具有如下 主要优点 :具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。提高了系统的可靠性、可用性和残存性。数据链路层的两个子层为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成 两个子层 :逻辑链路控制 LLC (Logical Link Control)子层;媒体接入控制 MAC (Medium Access Control)子层。与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关。 不管采用何种协议的局域网,对 LLC 子层来说都是透明的。基本概念为什么要媒体接入控制(介质访问控制)?共享信道带来的问题若多个设备在共享信道上同时发送数据,则会造成彼此干扰,导致发送失败。随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术静态划分信道信道复用频分复用FDM (Frequency Division Multiplexing)将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。 频分复用 的所有用户在同样的时间 占用不同的带宽资源 (请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。

本文由 在线网速测试 整理编辑,转载请注明出处。