计算机网络05——数据链路层
计算机网络——数据链路层与局域网
一、数据链路层服务
- 数据链路层服务
- 链路:通信链路连接的相邻结点的通信信道
- 链路层数据单元:帧
- 主要功能包括:
- 组帧
- 链路接入:点对点链路、广播链路
- 可靠交付(可靠传输方法多用于高出错率链路)
- 差错控制
二、差错控制
差错控制的四种基本方式:
- 检查重发
- 前向纠错:接收方进行差错纠正
- 反馈校验:接收端将收到的数据原封不动发回发送端
- 检错丢弃
差错编码的基本原理
*- 香农信道编码定理:理论上可以通过编码使得数据传输过程不发生错误,或者将错误概率控制在很小的数值之下。

- 香农信道编码定理:理论上可以通过编码使得数据传输过程不发生错误,或者将错误概率控制在很小的数值之下。
差错编码的检查与纠错能力
- 汉明距离:两个等长码字之间,对应位不同的位数
- 编码集的汉明距离:该编码集中任意两个码字之间汉明距离的最小值
- 差错编码的检错或纠错能力与编码集的汉明距离有关
- 检错编码:如果编码集的汉明距离ds=r+1,则该差错编码可以检测r位的差错
- 纠错编码:如果编码集的汉明距离ds=2r+1,则该差错编码可以纠正r位的差错
典型的差错编码
- 奇偶检验码:
- 奇校验:编码后的码字中“1”的个数为奇数
- 偶检验:编码后的码字中“1”的个数为偶数
- 汉明码:可以实现单个比特差错纠正
- 循环冗余码CRC:检错能力强,编码效率高,实现简单
*
- 奇偶检验码:
三、多路访问控制协议
- 信道划分MAC协议
- 多路访问控制MAC:广播信道上用于协调各个结点的数据发送
- 信道划分MAC协议:
- 频分多路复用:在频域内将信道带宽划分为多个子信道
- 时分多路复用:将通信信道的传输信号在时域内划分为多个等长的时隙
- 波分多路复用:在一根光纤中,传输多路不同波长的光信号
- 码分多路复用:从编码域进行划分,使得编码后的信号在同一信道中混合传输
- 随机访问MAC协议
- ALOHA协议
- 纯ALOHA:直接发送——>信道侦听——>冲突重发
- 时隙ALOHA:时隙开始时发送——>信道侦听——>冲突则下——>时隙以概率P重发
- 载波监听多路访问协议CSMA,发送前监听信道是否空闲
- 非坚持CSMA:忙则等待随机时间后再侦听
- 1-坚持CSMA:忙则持续侦听
- p-坚持CSMA:闲则概率P在最近时隙发送
- 带冲突检测的载波监听多路访问协议CSMA/CD
- 监听空闲后发送,发送时检测碰撞,碰撞后等待重发
- ALOHA协议
- 受控接入MAC协议
- 集中式控制:由一个主机负责调度其他通信站接入信道,从而避免冲突。
- 其主要方法:轮询技术,又分为轮叫轮询和传递轮询
- 分散式控制: 典型方法有令牌技术,如令牌环网
- 集中式控制:由一个主机负责调度其他通信站接入信道,从而避免冲突。
四、局域网
- 数据链路层寻址与ARP
- MAC地址:每个接口对应一个MAC地址,且全球唯一,长度48位。
- 地址解析协议(ARP):根据本网内目的主机或默认网关的IP地址获取其MAC地址。查询/响应的方式。
- 以太网
IEEE802.3标准- 采用
CSMA/CD访问控制方法* - 以太网技术
- 10Base-5,10Base-T
- 快速以太网100Base-TX,100Base-T4,100Base-FX
- 千兆以太网
- 万兆以太网
- 交换机
- 转发与过滤:可以依据接收道的链路层帧的目的MAC地址,选择性地转发到相应的端口,以目的MAC地址为主键,查找交换表。
- 自学习:交换机通过
自学习构建交换表 - 优点:
- 消除冲突,提高性能
- 支持异质链路
- 易于进行网络管理
- 虚拟局域网(VLAN)
- 一种基于交换机(支持VLAM功能)的逻辑分割广播域的局域网应用形式
- 不受物理位置的限制,以软件的方式划分和管理局域网中的工作组
- 能够抑制
广播风暴 - 划分方法:
- 基于交换机端口
- 基于MAC地址
- 基于上层协议类型或地址
五、点对点链路协议
- 点对点协议——PPP
- 能够处理差错检测、支持多种上层协议、允许连接时协商IP地址、允许身份认证
- 典型应用:拨号上网
- 功能:
- 成帧
- 链路控制协议
LCP - 网络控制协议
NCP
- 高级数据链路控制——HDLC协议
- 可应用于点对点链路和点对多点链路
- 帧定界:帧定界符是01111110

- 位填充:(透明传输)
- 发送端:只要发现数据字段5个连续的1,就立即插入一个0,保证数据字段不会出现连续的6个1
- 接收端:发现数据流中5个连续的1,就删除其后的0,还原成原来的信息
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Another Dimension!
评论
ValineDisqus








