第五章 数据链路层与局域网
- 数据链路层服务
- 差错控制
- 多路访问控制协议
- 局域网
- 点对点链路协议
一、数据链路层服务
-
概念
数据链路层: 负责通过一条链路,从一个结点向另一个物理链路直接相连的相邻结点 ,传送网络层数据表报,中间不经过 任何 其他交换结点。
数据链路: 网络中两个结点之间的逻辑通道。实现控制数据传输协议的硬件(网卡)和软件加到链路上构成的。
数据链路层传输单元:帧。
-
数据链路层提供的服务
-
组帧
帧头:发起结点和接受结点的信息地址、定界字符。
帧尾:用于差错检测和差错编码。
-
链路接入
物理链路可以分为: 点对点链路和广播链路。
-
可靠交付
无线链路(出错率高):支持可靠数据传输。
光纤、双绞线(出错率低):不提供可靠数据传输服务。
-
差错控制
数据链路层帧在物理媒介上的传播过程,可能会出现比特翻转的差错。
误比特率:出现差错的比特数/传输比特总数
-
二、差错控制
-
概念:
-
噪声
信号在信道传输过程中,会受到各种噪声的干扰,从而导致传输差错。
- 随机噪声:随机差错或独立差错。
- 冲击噪声:突发差错。
- 突发长度:突发错误发生的第一位错误与最后一位错误之间的长度。
-
差错控制:通过差错编码技术,实现对信息传输差错的检测,并基于某种机制运行差错纠正和处理。
-
差错编码分类:检错编码、纠错编码。
-
-
差错控制
-
差错控制基本方式
-
检错重发。(检错编码)
发送端: 待发送数据进行差错编码,然后发送。
接收端: 利用差错编码监测数据是否出错。若出错,接收端请求发送端重发数据加以纠正。
-
前向纠错(Forward Error Correction,FEC )(纠错编码)
发送端: 对数据进行纠错编码,然后发送。
接收端: 收到数据,利用纠错编码进行差错检测,且纠错
适用: 单工链路。
-
反馈校验。(不用编码)
接收端: 将收到的数据原封不动发回发送端。
发送端:通过对比接收端反馈的数据与发送的数据确认接收端是否正确接收的已发送数据。若不同,立即重传数据。
优点:原理简单,易于实现,无须差错编码;
缺点:需要相同传输能力的反向信道,传输效率低,实时性差。
-
检错丢弃(检错编码)
网络应用对可靠性要求不高,可以采用不纠正出错数据,直接丢弃错误数据。
适用于:实时性高的系统。
-
-
差错编码的基本原理
原理: 在待传输数据嘻嘻基础上,附加一定的冗余信息。
冗余信息: 与数据信息建立某种关联关系。(复制一次或者两次)
例如: 复制一次:待传输数据为10。 传输数据+冗余信息:1010 复制两次:待传输数据为10。 传输数据+冗余信息:101010
-
差错编码的检错与纠错能力
-
编码集的汉明距离。
编码集: 差错编码的所有有效码字的集合。(编码方式:复制一次)编码集{1010,0101,1111,0000}
汉明距离: 两个等长码字之间,对应位数不同的位数。
例如: 码字1:0 1 1 0 0 1 0 1 码子2:1 0 0 1 1 1 0 1 汉明距离dc=5
编码集的汉明距离: 编码集中任意两个码字之间汉明距离的最小值,记为ds
例如: 编码集{1010,0101,1111,0000} 编码集的汉明距离: ds=min{4,2,2,2,2,4} 编码集的汉明距离:ds=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位差错
-
-
-
典型的差错编码
奇偶校验码:最简单的检错码。利用1位冗余信息实现差错检测。
分类:奇校验码、偶校验码。-
奇校验码:1位冗余位,取值为“0”或“1”,使得编码后的码字中1的个数为奇数。
例如:
数据10110111,采用奇校验码编码后的码字为:101101111
数据10110110,采用奇校验码编码后的码字为:101101100 -
偶校验码: 1位冗余位,取值为“0”或“1”,使得编码后的码字中1的个数为偶数。
例如:
数据10110111,采用偶校验码编码后的码字为:101101110
数据10110110,采用偶校验码编码后的码字为:101101101 -
优缺点:
优点:编码简单、编码效率高、开销最小的检错编码;
缺点:检错率不高。
-
循环冗余码(CRC码)
基本思想:将二进制位串看成是系数为0或1的多项式的系数。
如: G(x)= x5+x2+1 100101
-
三、 多路控制访问控制协议
-
概念
-
点对点信道: 一对一通信方式,信道被双方独享()拨号上网
-
广播信道 (共享介质) 一对多通信方式,信道上连接的点很多,信道 被结点共享。(总线以太网,现在的wifi)
-
-
多路访问控制协议(MAC协议)
-
MAC协议的根本任务:解决信道的共享问题。
-
信道划分MAC协议
利用多路复用技术实现信道共享的MAC协议
多路复用思想:
将信道资源划分后,分配给不同的结点,各结点通信时使用 其分配 到资源,避免多结点通信时的互相干扰。
-
频分多路复用(FDM):在频域内将信道带宽划分为多个子信道,将原始信号调制到对应的某个子信道的载波信号上,使同时传输的多路信号在整个物理信道带宽的允许范围内频谱不重叠,从而共用一个信道。
-
时分多路复用(TDM):将通信信道的传输信号分为多个等长的时隙,每路信号占用不同的间隙,使多路信号合用单一的 通信信道在时域上 不重叠,从而实现信道共享。
1. 按照固定顺序把时隙分配给各路信号。 同步时分多路复用(STDM) 2. 时隙和用户间没有固定的对应关系。 异步时分多路复用(ATDM) 统计时分多路复用(STDM)
-
波分多路复用(WDM):广泛用于光纤通信。在光纤通信中,光载波频率很高 ,通常用光的波长来代替频率讨论,所以叫做波分多路复用。在 光纤通信中,为了实现长距离的高速传输,通常采用 波分多路复用和光纤 放大器。
-
码分多路复用(CDM):通过利用互相正交的码组分别编码各路原始信息的每个码元 ,使得编码后的信号在同一信道中混合传输。是一种扩频的通信形式。
-
-
随机访问MAC协议
所有用户都可以根据自己的意愿随机地向信道上发送信息。 没有其他用户:发送成功。 有两个及以上用户:产生冲突或碰撞。用户发送信息失败。每个用户随机退让一段时间后,再次尝试,直至成功。
-
ALOHA协议:最早的,最基本的无线数据通信协议。分类:ALOHEA和时隙ALOHA
纯ALOHA
工作原理: 任何一个站点有数据发送时就可以直接 发送至信道。发送数据后对新到进行侦听: 如果收到应答信号,说明发送成功; 否则说明冲突,等待一个随机时间重新发送,直到成功为止。 性能: G网络负载:表示在一帧的发送时间内发送的平均帧数。 S吞吐量:在一帧的发送时间内成功发送的平均帧数。 网络负载不能大于0.5
时隙ALOHA
工作原理: 把信道时间划分为离散的间隙,每个时隙为发送一帧所需的时间,每个通信站点只能在每个时隙开始的时刻发送帧。 如果在一个间隙内发送帧出现冲突,下一个时隙以概率P重发该帧,直到帧发送成功。P不能为1,否则会出现死锁。 性能: G网络负载:表示在一帧的发送时间内发送的平均帧数。 S吞吐量:在一帧的发送时间内成功发送的平均帧数。 网络负载不能大于1
-
载波监听多路访问协议(Carrier Sense Multiple Access , CSMA)
工作原理: 通过硬件装置(载波监听装置),在通信站发送数据之前,先监听信道上其他站点是否在发送数据,如果在发送,则暂时不发送。 分类: 根据监听策略不同: 1. 非坚持CSMA 别人在发送的时候,就等待一个随机时间,然后重新开始监听信道。 2. I-坚持CSMA 别人在发送的时候,一直侦听,侦听道信道空闲,则立即发送数据。 3. P-坚持CSMA 别人在发送的时候,先侦听信道,若发现信道空闲,则以概率P在最近时隙发送数据。
-
带冲突检测的载波监听多路访问协议(Carrier Sense Multiple Access/Collision Detection , CSMA/CD)
CSMA/CD存在冲突的主要原因是: 信号传播时延
工作原理: 通信站使用CSMA协议进行数据发送,在发送期间如果能检测到碰撞,立即终止发送,并发出一个冲突强化信号,使所有通信站都知道 冲突发生。发出冲突强化信号后,等待一个随机时间,再重复上述过程。 CSMA/CD的工作状态分为: 传输周期、竞争周期、空闲周期。 信道三种状态:传输状态。竞争状态、空闲状态
使用CSMA/CD协议实现多路访问时
通过共享信道通信的两个通信站之间相距的最远距离D,信号的传播速度V,数据帧长度L,以及信道信息传输速率R之间满足以下约束:
-
-
受控接入MAC协议
各个用户不能随意的接入信道而必须服从一定控制。分类:集中式控制,分散式控制。
-
集中式控制:系统有一个主机负责调度其他通信站接入信道,从而避免冲突。
-
分散式控制:方法是令牌技术。
令牌是一种特殊的帧,代表了通信站使用信道的许可。在信道空闲时一直在信道上传输。一个通信站想要发送数据必须首先获得令牌。 令牌丢失和数据帧无法撤销是环网上最严重的两种错误。
令牌环的操作过程: 1. 网络空闲时,只有一个令牌在环路上绕行。 2. 当一个站点要发送数据时,必须等待并获得一个令牌,将令牌的标志位置为1,随后便可发送数据。(空令牌:标志位为0,被占用标志位置为1) 3. 环路中的每个站点边转发数据,边检查数据帧中的目的地址,若为本站点的地址,便读取其中所携带的数据。 4. 数据帧环绕一周返回时,发送站将其从环路上撤销,即自生自灭。 5. 发送站点完成数据发送后,重新产生一个令牌传值下一个站点,以使其他站点获得发送数据帧的许可权。
-
-
四、局域网
-
概念
局域网(LAN):采用广播的方式,局部区域网络,覆盖面积小,网络传输速率高,传输的误码率低。
为了使数据链路层更好地适应多种局域网标准,IEEE802委员会将局域网的数据链路层拆分为两个子层:
- 逻辑链路控制(Logical Link Control ,LLC)子层(名存实亡)
- 介质访问控制(medium access control,MAC)MAC子层
-
数据链路层寻址与ARP
-
MAC地址(物理地址、局域网地址):MAC地址具有唯一性,每个网络适配器对应一个MAC地址。48位
MAC地址空间的分配:由电气和电子工程师协会(IEEE)统一管理。IEEE分配前24位的MAC地址块。 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广播地址:FF-FF-FF-FF-FF-FF
-
地址解析协议( Address Resolution Protocol , ARP): 根据本网内目的的主机或默认网关的IP地址获取其MAC地址。
地址解析协议的基本思想:在每一台主机中设置专用内存区域,称为ARP高速缓存(也称ARP表)。存储该主机所在局域网中其他主机和路由器的IP地址与MAC地址的映射关系。一般来说这个映射存放的时间是20min分钟。 ARP通过广播ARP查询报文,来询问某目的的IP地址对应的MAC地址,即知道本网内某主机的IP地址,可以查询得到其MAC地址。 在应用层,输入域名。利用DNS知道IP地址。但是在数据链路层,是结点到结点的通信,需要知道MAC地址。 ARP查询分组:通过一个广播帧发送的。 ARP响应分组:通过一个单播帧发送的。 ARP是即插即用的:一个ARP表是自动建立的,不需要系统管理员来配置。
-
-
以太网
目前为止最流行的是有线局域网技术。
以太网成功的原因:
1. 以太网第一个广泛部署的高速局域网 2. 以太网数据速率快 3. 以太网硬件价格及其便宜,网络造价成本低。 4. 其他有线局域网技术复杂、昂贵,阻止了网络管理员改用其他技术。
经典的以太网采用粗同轴电缆连接的总线型以太网
1. 数据传输速率10Mbit/s,无连接不可靠。 2. MAC协议采用CSMA/CD协议 3. 相距最远主机信号往返的传播时延为51.2us,所以以太网最短帧长64字节。
以太网帧结构
目的地址和源地址: MAC地址。 类型:标识上层协议。 数据:封装的上层协议的分组; CRC:校验采用循环冗余校验。 以太网最短帧:64字节;以太网帧除数据部分:18字节;数据最短:46字节。
以太网帧技术
-
交换机
-
概念:
依据接收到的数据链路层帧的目的MAC地址,选择性地转发到相应的端口。应用最广发的数据链路层设备
网桥:和交换机功能类似。对数据帧实现转发。交换机可以认为是多端口的网桥。
集线器:物理层
-
以太网交换机转发和过滤
交换机的基本工作原理: 当一帧到达时,交换机首先需要决策将该帧丢弃还是转发。 如果是转发的话,还必须进一步决策应该将该帧转发到哪个端口去。 决策依据是,以目的MAC为主键查询内部转发表。
-
以太网交换机优点
- 消除冲突
- 支持异质链路
- 网络管理
-
-
虚拟局域网
一种基于交换机的逻辑分割广播域的局域网应用形式。
以软件的方式划分和管理局域网中的工作组,限制接收广播信息的主机数,不会因为传播过多的广播信息而引起性能的恶化。
划分虚拟局域网的方法:
1. 基于交换机端口划分 2. 基于MAC地址划分 3. 基于上层协议类型或地址划分。
五、点对点链路协议
-
点对点协议(PPP)
适合单个发送方和单个接收方的点对点链路。
功能:
1. 成帧:确定一帧的开始和结束,支持差错检测。 开始标志字节:01111110 结束标志字节:01111110 2. 链路控制协议(Link Control Protocol,LCP) 启动线路,检测线路、协商参数、关闭线路 3. 网络控制协议(Network Control Protocol, NCP) 协商网络层选项。
PPP是面向字节的
PPP帧的长度都是整数字节。 字节填充技术:插入特殊的控制转义字节01111101
-
高级数据链路控制协议(High-level Data Lik Control, HDLC):应用于点对点链路和点对多点链路。
-
HDLC帧格式(6字节)
1. 01111110: 帧定界符 2. 控制字段:序列号,确认等 3. 校验和:循环冗余码 4. 根据控制位的不同,HDLC有三种类型帧: 信息帧: 传递数据 管理帧:差错控制,流量控制 无序号帧:链路的建立、删除
-
HDLC协议是面向位的。
数据字段出现与标志字段相同的比特流 1000111110010010 发送端:发现5个连续的1,在其后插入0 100011111010010010 接收端:发现5个连续的1,删除其后的0 100011111010010010
-