数据链路层
内容如下:
1、数据链路层的功能
2、组帧
3、差错控制、检错编码、纠错编码
4、流量控制、可靠传输机制、滑动窗口机制、停等协议、后退N帧协议、选择重传协议
5、介质访问控制
6、局域网
7、广域网
8、数据链路层设备
1.1、数据链路层功能
1.1.1 为网络层提供服务
1)无确认的无连接服务。源机器发送数据帧时不需要预先建立链路连接,目的机器收到数据不需发回确认。适用于实时通信或误码率较低的通信信道,如以太网
2)有确认的无连接服务。源机器发送数据帧时不需要预先建立链路连接,目的机器收到数据需发回确认。适用于误码率较高的通信信道,如无线通信。
3)有确认的面向连接服务。帧的传输分为三个阶段,建立链路、传输帧、释放链路,目的机器对收到的每一帧都要给出确认。
1.1.2 链路管理
链路管理包括数据链路层连接的建立、维持和释放。在多个站点共享一条物理信道时,如何在通信的站点饥间分配信道属于数据链路层的管理范围。
1.1.3 帧定界、帧定界、透明传输
两台主机之间传输信息时,需要对网络层的分组封装成帧,在数据前后的添加首部和尾部,就构成了帧,首部和尾部包含很多控制信息,一个重要作用是确定帧的界限,即帧定界。 帧同步是接收方能从接收到的二进制比特流出区分出帧的起始于终止。
如果在数据中恰好出现与帧定界符相同的比特组合,会误以为传输结束而丢弃后面的数据,透明传输可以有效解决,透明传输就是不管什么样的比特组合都应当能在链路上传送。
1.1.4 流量控制
由于收发双方各自的工作效率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接收能力,前面来不及接收的帧可能会被后面的帧淹没,造成帧的丢失。
流量控制实际上就是限制发送方的数据流量,是其发送速率不超过接收方的接收能力
1.1.5 差错控制
由于信道噪声等各种原因,帧在传输过程中可能会出现错误。用以使发送方确定接收方是否正确收到其发送的数据的方法称为差错控制。
1.2 组帧
数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重传出错的帧,而不必重发全部数据,从而提高效率。发送方依据一定规则将网络层递交的分组封装成帧(称为组帧)。组帧主要解决帧定界、帧同步、透明传输等。
实现组帧的方式:
1、字符计数法
2、字符填充的首尾定界符法
3、零比特填充的首尾标志法
4、违规编码法
在物理层进行比特编码时,通常采用违规编码法。在采用曼彻斯特编码时,高-高和低-低电平是违规的,所以可以用来标识帧的起始和终止。
1.3 差错控制
差错从何而来?
注意事项:
1)奇偶校验码只能检测奇数位的出错情况,但并不知道那些位出错,也不能发现偶数位的出错情况
2)海明码中,n为有效信息的位数,k为校验位的位数,则满足 n+k<2^k-1。检错d位,需码距d+;纠错d位,需要码距2d+1
1.4 流量控制与可靠传输机制
使用滑动窗口机制可解决流量控制和可靠传输
(1) 停止-等待协议
源站发出单个帧后必须等待确认,在目的站回答到达源站之前,源站不能发送其他的数据帧。从滑动窗口机制的角度看,停等协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。
缺点:信道利用率太低
(2)后退N帧协议(GBN)
1、累计确认(对第n号帧的确认,表示接收方已正确收到第n号帧及以前的所有帧)
2、接收方只按顺序接收帧,不按序直接丢弃
3、确认序列号最大的、按序到达的帧
4、发送窗口最大为2^N-1,接收窗口大小为1
优点:连续发送提高了信道利用率,缺点:重传必须把原来已经正确传输的数据帧重传,使传送效率降低
(3)选择重传协议(SR)
为进一步提高信道利用率,只重传出现差错的数据帧或计数器超时的数据帧,必须加大接收窗口,以便先手下发送序号不连续但仍处在接收窗口的那些数据帧。等到所缺的数据帧收到后在一并交给主机,这就是选择重传ARQ协议。
1、对数据帧每一个都需要确认
2、只重传出错的帧
3、接收方要有缓存
4、发送窗口和接收窗口最大为2^(n-1)
1.5 介质访问控制
介质访问控制内容:采取一定措施,使两对结点之间的通信不会互相干扰的情况
信道划分介质访问控制
1)频分多路复用(FDM)
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。(并发)
2)时分多路复用(TDM)
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。(并行)
统计时分多路复用(STDM):每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
3)波分多路复用(WDM)
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
4)码分多路复用(CDM)
既共享时间,又共享空间。码分多址(CDMA)是码分复用的一种方式。1个比特分为多个码片/芯片( chip),每一个站点被指定一个唯一的m位的芯片序列,发送1时站点发送芯片序列,发送0时发送芯片序列反码。
随机访问介质访问控制
1、ALOHA协议
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。发送端超时后等一随机时间再重传。
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
2、CSMA协议
发送帧之前,监听信道
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待。忙则一直监听,直到空闲马上传输。如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待。忙则等待一个随机的时间之后再进行监听。
优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。忙则持续监听直到信道空闲再以p概率发送。若冲突则等到下一个时间槽开始再监听并重复上述过程。
优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。 缺点:在检测到冲突后还是要坚持把数据帧发送完,造成浪费。
3、CSMA/CD协议
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
CD:/碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
适用于总线型网络或半双工网络
指数退避算法:
1.确定基本退避(推迟)时间为争用期2T。
2定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
3.从离散的整数集合[0,1,21]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2t*r 。
4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
最小帧长: 最小帧长=数据传输速率 * 总线传播时延*2 ;以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧,
4、CSMA/CA协议
适用于无线局域网环境
发送数据前,先检测信道是否空闲。
1、空闲则发出RTS (request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
2、接收端收到RTS后,将响应CTS (clear to send)。
3、发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
4、接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
5、发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
轮询访问:令牌传递协议
既不产生冲突,发送时占全部带宽。
令牌:一个特殊格式的MAC控制帧,不含任何信息。
控制信道的使用,确保同一时刻只有一个结点独占信道。
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
问题:
1.令牌开销⒉.等待延迟3.单点故障
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。
采用令牌传送方式的网络常用于负载较重(广播信道)、通信量较大的网络中。
1.6 局域网
1.6.1局域网基本概念
局域网的特性主要由三个要素决定:拓扑结构、传输介质、介质访问控制方式
常用局域网拓扑结构:星形结构、环形结构、总线形结构、星形和总线形的复合形
传输介质:双绞线、铜缆、光纤
介质访问控制:CSMA/CD、令牌总线和令牌环,前两者用于总线形局域网,令牌环主要用于环形局域网
以太网的逻辑拓扑是总线形结构,物理拓扑是星形
令牌环的逻辑拓扑是环形结构,物理拓扑是星形结构
1.6.2 以太网与IEEE 802.3
以太网提供无连接、不可靠的服务
无连接:发送方和接收方之间无“握手过程”。
不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
以太网传输介质与网卡
计算机与外界局域网的连接是通过主机箱内插入的一块网络接口板(网络适配器)实现的。全世界的每块网卡在出厂时都有一个唯一的代码,称为介质访问控制(MAC)地址
MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家《由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21。
局域网通常采用类似10BaseT这样的方式来表示,其中第1部分的数字表示数据传输速率,如10表示10Mb/s、100表示100Mb/s;第2部分表示基带传输;第3部分如果是字母,那么表示传输介质,如T表示双绞线、F表示光纤,如果是数字,那么表示最大的传输距离,如2表示200m,5表示500m
1.6.3 IEEE802.11无线局域网
无线局域网可分为两类:
1、有固定基础设施无线局域网
802.11使用星形拓扑,其中心称为接入点(AP),在MAC层使用CSMA/CA协议。使用802.11系列协议的局域网又称Wi-Fi
2、无固定基础设施无线局域网的自组织网络
802.11帧的地址字段最常用的两种情况
去往AP | 来自AP | 地址1 | 地址2 | 地址3 | 地址4 |
---|---|---|---|---|---|
0 | 1 | 接收地址=目的地址 | 发送地址=AP地址 | 源地址 | —— |
1 | 0 | 接收地址=AP地址 | 发送地址=源地址 | 目的地址 | —— |
1.6.4 VLAN基本概念与基本原理
通过虚拟局域网(Virtual LAN)可以把一个较大的局域网分割成一些较小与地理位置无关的逻辑上的VLAN,而每每个VLAN都是一个较小的广播域。802.3ac标准定义了支持VLAN的以太网帧格式的扩展。它在以太网帧中插入一个4字节的标识符,称为VLAN标签,用来指明发送该帧的计算机属于哪个虚拟局域网。
1.7 广域网
广域网通常指覆盖范围很广的长距离网络。因特网是最大的广域网。
广域网不等于互联网。互联网可以连接不同类型的网络(既可连接局域网,也可连接广域网),使用路由器来连接
而广域网由一些结点交换机及连接这些交换机的链路组成。
广域网和局域网的区别和联系
广域网 | 局域网 | |
---|---|---|
覆盖范围 | 很大,跨区域 | 较小,通常在一个区域内 |
连接方式 | 结点之间都是点到点连接,但为了提高网络的可靠性,一个结点交换机往往与多个结点交换机相连 | 采用多点接入技术 |
OSI参考模型层次 | 物理层、数据链路层、网络层 | 物理层、数据链路层 |
联系和相似点 | 1、广域网和局域网都是互联网重要组成构建,从互联网角度上看,二者平等 2、连接到一个广域网或局域网的主机在网内通信时,只需使用其网络的物理地址 | |
着重点 | 强调资源共享 | 强调数据传输 |
PPP协议
PPP协议有三个部分组成:
1.链路控制协议(LCP)用于建立、配置、管理、测试数据链路
2.网络控制协议(NCP)允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP配置,为网络层协议建立和配置逻辑连接。
3.一个将IP数据报封装到串行链路的方法
ppp协议应满足的条件:
只支持全双工链路
简单 对于链路层的帧,无需纠错,无需序号,无需流量控制。
封装成帧 帧定界符
透明传输 与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。
**多种网络层协议 **封装的IP数据报可以采用多种协议。
多种类型链路 串行/并行,同步/异步
**差错检测 ** 错就丢弃。
检测连接状态 链路是否正常工作。最大传送单元数据部分最大长度MTU。
网络层地址协商 知道通信双方的网络层地址。
HLDC协议
面向比特的数据链路层协议,实现透明传输使用0比特插入法
二者对比:
1.8 链路层设备
网桥工作在链路层的MAC子层
局域网交换机:又称以太网交换机,从本质上说,以太网交换机是一个多端口的网桥
以太网交换机特点:
1、每个端口都直接与单台主机相连,一般都是全双工方式
2、以太网交换机能同时连通多对端口,使每对相互通信的主机能并行传输
3、交换速率高
4、以太网交换机独占传输媒体的带宽
以太网交换机主要采用的两种交换模式:
直通式交换机:查完目的地址(6B)就立刻转发。延迟小,可靠性低,无法支持具有不同速率的端口的交换。
存储转发式交换机:将帧放入高速缓存,并检查否正确,正确则转发,错误则丢弃延迟大,可靠性高,可以支持具有不同速率的端口的交换。