一、数据链路层提供的服务内容
数据链路层:负责通过一条链路,从一个结点向另一个物理链路直接相连的相邻 结点,传送网络层数据报,中间不经过任何其他交换结点
数据链路层涉及的对象:
- 结点:主机、路由器。
- 物理链路:网络中两个结点之间的物理通道
- 数据链路:网络中两个结点之间的逻辑通道
数据链路层的传输单元:帧。
实现数据链路层协议的典型硬件实体是:网络适配器(NIC,网卡)
数据链路层提供的服务:组帧、 链路接入 、可靠交付 、差错控制
============组帧(成帧)=============
组帧(成帧):
- 帧头(帧首):发送结点和接收结点的地址信息、定界字符。
- 帧尾:用于差错检测的差错编码。
============链路接入 ==========
物理链路可以分为:点对点链路和广播链路
- 点对点链路:发送结点和接收结点独占信道。
- 广播链路:通信链路被多个结点共享。
============可靠交付==========
在相邻结点间经数据链路实现数据报的可靠传输
无线链路(出错率高):支持可靠数据传输。
光纤、双绞线(出错率低):不提供可靠数据传输服务
===========差错控制 =========
数据链路层帧在物理媒介上的传播过程,可能会出现比特翻转的差错。
误比特率:出现差错的比特数 / 传输比特总数
差错控制措施:通过确认重传纠正差错,或者直接丢弃差错帧。
二、差错控制
噪声:信号在信道传输过程中,会受到各种噪声的干扰,从而导致传输差错。传输中产生差错的主要原因是冲击噪声
- 随机噪声:随机差错或独立差错
- 冲击噪声:引发突发差错 ,突发错误的第一位错误与最后一位错误之间的长度称为突发长度。
差错控制:通过差错编码技术,实现对信息传输差错的检测,并基于某种机制进行差错纠正和处理
差错控制的基本方式:检错重发 、前向纠错、 反馈校验 、检错丢弃
===============检错重发=============
发送端对待发送数据进行差错编码,编码后的数据通过信道传输,接收端利用差错编码检测数据是否出错。若出错:接收端请求发送端重发数据加以纠正。停等协议和滑动窗口协议实现
是一种典型的差错控制方式,在计算机网络中应用最广泛,
例如:ARQ
==========前向纠错(Forward Error Correction,FEC )=========
接收端进行差错纠正的一种差错控制方式。利用纠错编码,这类编码不仅可以检测数据传输过程中是否发生了错误,还可以定位错误位置并直接加以纠正
适用:单工链路、对实时性要求比较高的应用。
================反馈校验===============
接收端将收到的数据原封不动发回发送端,发送端通过对比接收端反馈的数据与发送的数据可以确认接收端是否正确接收的已发送数据。若有不同,立即重传数据
优点:原理简单,易于实现,无须差错编码;
缺点:需要相同传输能力的反向信道,传输效率低,实时性差。
==============检错丢弃:==========
检查出错误,但是不纠正错误,直接丢弃;适用于实时性高的系统、网络应用对可靠性要求不高
差错编码原理:在待传输数据信息基础上,附加一定的冗余信息。 冗余信息:与数据信息建立某种关联关系。(复制一次、复制两次等)
- 复制一次:待传输数据为10。 传输数据+冗余信息:1010
- 复制两次:待传输数据为10。 传输数据+冗余信息:101010
1、编码集的汉明距离
编码集:差错编码的所有有效码字的集合。编码集{1010,0101,1111,0000}
汉明距离:两个等长码字之间,对应位数不同的个数
差错编码的检错或纠错能力与编码集的汉明距离有关
2、差错控制编码分为检错编码和纠错编码
检错编码:编码集的汉明距离ds =r+1,则该检错编码可以检测r位的差错。检错编码是自动发现差错的编码
例:发送2位数据信息,冗余信息是数据的一次复制 编码集:{0000,0101,1010,1111} 编码集汉明距离:ds =2 =1+1 因此可以检测出来1位差错
纠错编码:编码集的汉明距离ds =2r+1,则该差错编码可以纠正r位的差错;不但能发现差错,而且能纠正差错
例如:发送2位数据信息,冗余信息是数据的两次复制 编码集{000000,010101,101010,111111} ds =3=2×1+1,因此可以纠正出来1位差错。
=============典型的差错编码==========
“异或”逻辑运算(按位异或,其操作符为^;相同为0,不同为1): 1异或1=0 、0异或0=0 、1异或0=1、 0异或1=1
1、奇偶校验码:最简单的检错码。利用1位冗余信息实现差错检测。 分类:奇校验码、偶校验码
奇校验码:1位冗余位的取值为“0”或“1” ,使得编码后的码字中1的个数为奇数
- 数据10110111,采用奇校验码编码后的码字为:101101111
- 数据10110110,采用奇校验码编码后的码字为:101101100
偶校验码:1位冗余位的取值为“0”或“1” ,使得编码后的码字中1的个数为偶数。
- 数据10110111,采用偶校验码编码后的码字为:101101110
- 数据10110110,采用偶校验码编码后的码字为:101101101
奇偶校验码的优缺点:
- 优点:编码简单、编码效率高、开销最小的检错编码;
- 缺点:检错率不高
2、循环冗余码(Cyclic Redundancy Check,CRC码):在数据链路层广泛应 用的差错编码 ;只适用于采用冗余编码环境的帧同步方法是违法编码法
特点:很强的检错能力,编码解码实现简单,编码效率高
基本思想:将二进制位串看成是系数为0或1的多项式的系数。
- 第一步:写出多项式对应的位串:G(x)=x4+x+1 -》 10011
- 第二步:看多项式对应的位串有几位,这个数值减1就是需要添加0的个数。 多项式对应的位串有几位:5位, 则在待编码位串后面添加0的个数:5-1=4,4个; 待编码位串 10111001——101110010000 新待编码位串
- 第三步:用新的待编码位串除以多项式对应的位串 101110010000 % 10011=1001
- 第四步:求得的余数添加在待编码位串后,即为CRC编码后的码 ; 待编码位串:10111001 ,余数:1001 , CRC编码=101110011001
接收方在收到带CRC码的帧之后,怎么判断是否有错:用收到的位串除以多项式对应的位串; 余数为0,无错; 余数不为0,有错,丢弃
例如: 已知发送方采用 CRC 校验方法,生成多项式 x^4+x^3+1,若接收方收到的二进制数字序列为 101110110101,请判断数据传输过程中是否出错。
答案: x^4+x^3+1 对应的位串 11001 使用 101110110101%11001 余 110, 余数不为0 所以传输过程中出现了错误
三、多路访问控制协议
两类链路:
- 点对点信道:一对一通信方式,信道被双方独享
- 广播信道(共享介质):一对多通信方式,信道上连接的点很多,信道被结点共享 (例如,总线以太网,现在的WiFi);两个或两个以上结点同时传输数据:冲突→接收失败!多路访问控制(Multiple Access Control , MAC)协议 可以解决该问题
数据链路层使用的信道:点对点信道、广播信道
MAC协议的根本任务:解决信道的共享问题
==============信道划分MAC协议===============
信道划分MAC协议:利用多路复用技术实现信道共享的MAC协议
多路复用的基本思想:是实现物理信道共享的典型技术,原理是:将信道资源划分后,分配给不同的结点,各结点通信时只使用其分配到的资源,避免多结点通信时的相互干扰
1、频分多路复用(Frequency-division multiplexing,FDM):在频域内将信道 带宽划分为多个子信道,将原始信号调制到对应的某个子信道的载波信号上,使同时 传输的多路信号在整个物理信道带宽的允许范围内频谱不重叠,从而共用一个信道。
优点:分路方便,在有线和微波通信系统中应用十分广泛。
缺点:串扰、不易小型化、不提供差错控制技术,以及不便于性能监测,对系统线性要求高
2、时分多路复用(Time-Division Multiplexing,TDM):将通信信道的传输信号划分为多个等长的时隙,每路信号占用不同的时隙。使多路信号合用单一的通信信道在时域上不重叠,从而实现信道共享。
- 1、同步时分多路复用(Synchronism Time-Division Multiplexing , STDM) 按照固定顺序把时隙分配给各路信号。
- 2、异步时分多路复用(Asynchronism Time-Division Multiplexing , ATDM):也称作统计时分多路复用(STDM)。用户的数据并不是按照固定的时间间隔发送的。时隙与用户之间没有固定的对应关系,所以必须在每个时隙加上用户的标识,以标记该时隙传输的是哪个用户的数据。主要应用于高速远程通信,但技术复杂性比较高,存在需要传输用户标识等的额外数据传输开销,信道共享冲突问题;允许动态分配传输介质时间片。ATM采用该方式
3、波分多路复用( Wave Division Multiplexing , WDM):广泛用于光纤通信。 在光纤通信中,光载波频率很高,通常用光的波长来代替频率讨论,所以叫做波分多 路复用。 在光纤通信中,为了实现长距离的高速传输,通常采用波分多路复用和光纤放大器。
3、码分多路复用(Code Division Multiplexing, CDM):通过利用相互正交的码组分别编码各路原始信息的每个码元,使得编码后的信号在同一信道中混合传输。是 一种扩频的通信形式。相互正交:码组1:{1,0,1} 码组2:{0,1,0} 1×0+0×1+1×0=0
===============随机访问MAC协议===========
随机访问MAC协议:所有用户都可以根据自己的意愿随机地向信道上发送信息。 没有其他用户:发送成功。 有两个及以上用户:产生冲突或碰撞,用户发送信息失败。每个用户随机退让一段 时间后,再次尝试,直至成功
1、ALOHA协议:最早的,最基本的无线数据通信协议。ALOHA协议分类:纯ALOHA和时隙ALOHA
纯ALOHA:工作原理:任何一个站点有数据发送时就可以直接发送至信道。 发送数据后对信道进行侦听: 如果收到应答信号,说明发送成功; 否则说明发生冲突,等待一个随机时间重新发送,直到成功为止。
性能:
- G网络负载:表示在一帧的发送时间内发送的平均帧数。
- S吞吐率:在一帧的发送时间内成功发送的平均帧数。 网络负载不能大于0.5
时隙ALOHA:工作原理:把信道时间划分为离散的时隙,每个时隙为发送一帧所需的时间,每个通信 站点只能在每个时隙开始的时刻发送帧。如果在一个时隙内发送帧出现冲突,下一个时 隙以概率p重发该帧,直到帧发送成功。p不能为1,否则会出现死锁
性能:
- G网络负载:表示在一帧的发送时间内发送的平均帧数。
- S吞吐率:在一帧的发送时间内成功发送的平均帧数。 网络负载不能大于1
2、载波监听多路访问协议(Carrier Sense Multiple Access , CSMA)
工作原理:通过硬件装置(载波监听装置),在通信站发送数据之前,先监听信道上 其他站点是否在发送数据,如果在发送,则暂时不发送。 分类:根据监听策略不同:非坚持CSMA;1-坚持CSMA;P-坚持CSMA
坚持型CSMA:又称1-坚持CSMA,当某站要送数据时,先监听信道,若信道忙,就坚持监听,直到信道空闲为止,当空闲时立即发送一帧。若两个站同时监听到信道空闲,立即发送,必定冲突,即冲突概率为1,故称之为1-坚持型。假如有冲突发生,则等待一段时间后再监听信道。
非坚持型CSMA:当某站监听到信道忙状态时,不再坚持监听,而是随机后延一段时间再来监听。其缺点是很可能在再次监听之前信道已空闲了,从而产生浪费
P坚持型CSMA:这种方式适合于时隙信道,当某站准备发送信息时,它首先监听信道,若空闲,便以概率P传送信息,而以概率(1-P)推迟发送。如果该站监听到信道为忙,就等到下一个时隙再重复上述过程。P坚持型CSMA可以算是1-坚持型CSMA和非坚持型CSMA的折衷,这两者算是P-坚持算法的特例,即P分别等于1和0时的情形。
3、带冲突检测的载波监听多路访问协议 (Carrier Sense Multiple Access/Collision Detection , CSMA/CD) 工作原理:通信站使用CSMA协议进行数据发送,在发送期间如果能检测到碰撞,立即 终止发送,并发出一个冲突强化信号,使所有通信站点都知道冲突的发生,发出冲突强化信号后,等待一个随机时间, 再重复上述过程。
CSMA/CD的工作状态分为:传输周期、竞争周期、空闲周期。 信道有3种状态:传输状态、竞争状态、空闲状态
例如: 有一个电缆长度为 1Km 的 CSMA/CD 局域网,信号传播速度为光速的 2/3,其最小帧长度为 1000bit。试求出数据传输速率。
解:信号传播速度 V=3*10^8*(2/3)=2*10^8m/s 又 L/R >= 2D/V R = L/(2D/V)=1000/(2*1000/2*10^8)=10^8(bit/s)
==================受控接入MAC协议==============
受控接入:各个用户不能随意的接入信道而必须服从一定的控制。 分类:集中式控制、分散式控制。
1、集中式控制:系统有一个主机负责调度其他通信站接入信道,从而避免冲突。 方法:轮询。(轮叫轮询,传递轮询)
2、 分散式控制:方法是令牌技术。 令牌是一种特殊的帧,代表了通信站使用信道的许可。在信道空闲时一直在信道上 传输。一个通信站想要发送数据就必须首先获得令牌。
令牌环的操作过程:
- 1、网络空闲时,只有一个令牌在环路上绕行。
- 2、当一个站点要发送数据时,必须等待并获得一个令牌,将令牌的标志位置为“1” ,随后便可 发送数据。(空令牌:标志位置为“0” 。被占用:标志位置为“1” )
- 3、环路中的每个站点转发数据的同时检查数据帧中的目的地址,若为本站点的地址,便读取其中 所携带的数据。
- 4、数据帧绕环一周返回时,发送站将其从环路上撤销,即“自生自灭” 。
- 5、发送站点完成数据发送后,重新产生一个令牌传至下一个站点,以使其他站点获得发送数据帧 的许可权。
令牌丢失和数据帧无法撤销是环网上最严重的两种错误
四、局域网
局域网(LAN):采取广播的方式,局部区域网络,覆盖面积小,网络传输速率高,传输的误码率低。
为了使数据链路层更好地适应多种局域网标准,IEEE802委员会将局域网的数据链路 层拆分为两个子层:
- 逻辑链路控制(Logical Link Control ,LLC)子层(名存实亡)
- 介质访问控制MAC子层
==============数据链路层寻址与ARP寻址==============
MAC地址(物理地址、局域网地址):MAC地址具有唯一性,每个网络适配器 对应一个MAC地址
1、MAC地址表示: 以太网和IEEE 802.11无线局域网,使用的MAC地址长度为6字节(48位);
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或:连接起来: 例如:00-2A-E1-76-8C-39 或 00:2A:E1:76:8C:39 【十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F】
- MAC地址空间的分配 由电气和电子工程师协会(IEEE)统一管理。IEEE分配前24位的MAC地址块。
- MAC广播地址:FF-FF-FF-FF-FF-FF
具有唯一的MAC地址,用来标识局域网中的结点的是:网络适配器
2、地址解析协议( Address Resolution Protocol , ARP):根据本网内目的主机或 默认网关的IP地址获取其MAC地址,可以认为他是网络层协议或者数据链路层协议
地址解析协议(ARP)的基本思想:在每一台主机中设置专用内存区域,称为ARP高速 缓存(也称为ARP表)。存储该主机所在局域网中其他主机和路由器的IP地址与MAC地址 的映射关系。
地址解析协议(ARP)的基本步骤:
- ARP查询分组:通过一个广播帧发送的
- ARP响应分组:通过一个单播帧发送的
- ARP是即插即用的:一个ARP表是自动建立的,不需要系统管理员来配置。
==============以太网( ethernet ,IEEE802.3)=============
以太网( ethernet ,IEEE802.3) :目前为止最流行的有线局域网技术,以太网采用带冲突检测的载波监听多路访问协议(CSMA/CD);向网络层提供无连接不可靠服务
以太网成功的原因:(物美价廉)
- 1、以太网是第一个广泛部署的高速局域网。
- 2、令牌环网、FDDI、ATM比以太网更加复杂、昂贵。
- 3、以太网在数据速率方面比FDDI、ATM毫不逊色。
- 4、以太网硬件价格极其便宜,网络造价成本低。
经典的以太网是采用粗同轴电缆连接的总线型以太网(10Base-5)
- 1、数据传输速率为10Mbit/s,无连接不可靠。
- 2、相距最远主机信号往返的传播时延为51.2μs,所以以太网最短帧长为64字节。
- 3、MAC协议采用CSMA/CD协议。
以太网帧结构
1、目的地址和源地址:MAC地址
2、类型:标识上层协议。例如:0x0800=IP数据报;
3、数据:封装的上层协议的分组;
4、CRC:校验采用循环冗余校验。
5、以太网最短帧 以太网帧最短:64字节。以太网帧除数据部分:18字节。 那么数据最短:46字节。帧首定界符SFD:10101011
以太网帧技术分类
以太网在发送数据时,若发生冲突则采用截断二进制退避算法推迟的随机时间
================交换机==============
交换机:应用最广泛的数据链路层设备;可以隔离冲突域,但不能隔离广播域;
网桥:和交换机功能类似。对数据帧实现转发。 交换机可以认为是多端口的网桥。 集线器:物理层、转发数据。
以太网交换机的基本工作方式是存储一转发
交换机的基本工作原理:当一帧到达时,交换机首先需要决策将该帧丢弃还是转发。如 果是转发的话,还必须进一步决策应该将该帧转发到哪个(或哪些)端口去。决策依据 是,以目的MAC为主键查询内部转发表
以太网交换机的自学习:
- 1、以太网交换机有4个端口,各连接一台计算机,其 MAC地址分别是ABCD。
- 2、开始,以太网交换机里面的转发表是空白的
- 3、风向火发送一个帧,从端口1进入交换机。
- 4、交换机查询转发表,没找到往哪里转发该帧。
- 5、交换机把这个帧的源MAC地址A和端口1写入交换 表,完成第一次学习
- 6、交换机除端口1以外所有端口泛洪(广播)这个帧。
- 7、雷和电丢弃该帧。火收下该帧。
有时为了增加网络的可靠性,在使用以太网交换机组网时,往往会增加一些冗余链路。在这种情况下,自学习的过程就可能导致以太网帧在以太网的某个环路中无限的“兜圈”。为解决兜圈问题,IEEE 802.1D 标准制定了一个生成树协议(STP) 避免产生回路。
以太网交换机的优点:
- 1、消除冲突 :冲突域早期所有主机共享总线的一个网络范围。现在在以太网中,CSMA/CD 能够检测到冲突的网络范围
- 2、支持异质链路
- 3、网络管理
==================虚拟局域网===============
虚拟局域网(Virtual Local Area Network , VLAN):一种基于交换机的逻辑分割广播域的局域网应用形式。以软件的方式划分和管理局域网中的工作组,限制接收广播信息的主机数,不会因为传播过多的广播信息而引起性 能的恶化
建立虚拟局域网的交换技术:端口交换、帧交换、信元交换
划分虚拟局域网的方法:
- 1、基于交换机端口划分
- 2、基于MAC地址划分
- 3、基于上层协议类型或地址划分
五、点对点链路协议
1、点对点协议(Point to Point Protocol , PPP):适合单个发送方和单个接收方的点 对点链路
PPP主要提供3类功能:
1、成帧:确定一帧的开始和结束,支持差错检测。 开始标志字节:01111110 结束标志字节:01111110
2、链路控制协议(Link Control Protocol , LCP) 启动线路、检测线路、协商参数、关闭线路。
3、网络控制协议(Network Control Protocol , NCP) 协商网络层选项
PPP是面向字节的
- 1、PPP帧的长度都是整数字节。
- 2、字节填充技术:插入特殊的控制转义字节01111101。
2、高级数据链路控制(High-level Data Link Control , HDLC):应用于点对点链路和 点对多点链路
HDLC帧格式(6字节):使用6字节包装数据
根据控制位的不同,HDLC有3种类型的帧:
- 信息帧(I格式):传送数据
- 管理帧(S格式)、监控帧:差错控制,流量控制
- 无序号帧(U格式): 也称无编号帧; 链路的建立、拆除
HDLC协议是面向位的:位填充技术
HDLC常用的操作方式:正常响应方式、异步响应方式、异步平衡方式
PPP协议与HDLC协议:HDLC是PPP的升级版、同样不实现:差错纠正、流量控制、按序交付