目录
一, 点对点信道的数据链路层
1.1 封装成帧
数据链路层以帧为单位传输和处理数据, 将网络层的数据报前面和后面分别添加上首部和尾部, 封装成一个完整的帧。首部和尾部作用之一就是进行帧定界。
帧图:
1.2 帧定界符
面向字符:
当物理链路以字符为单位传输数据时, 使用某个特殊的不可打印的控制字符作为帧定界符, 使用字节填充的方法将数据部分的特殊字符与帧定界符区分开来, 即在数据中出现的标记字符前插入一个转义字符。
字节填充原理图:
面向比特:
当物理链路传送连续的比特流, 可以使用某个特殊的比特组合, 如ppp协议使用的"01111110" 。ppp协议采用零比特填充法, 即数据部分只要发现有5个连续1, 则立即填入一个0。
原理图:
1.3 差错检测
专用词:
EDC: 差错检测码, Error-Dectecting Code
FCS: 帧检验序列,帧尾部设置的一个差错检验字段。Frame Check Sequence
CRC: 循环冗余检验, Cyclic Redundancy Check, 也称多项式编码
差错检测的基本原理图:
CRC 运算原理:
1.4 可靠传输:
可靠传输即发送端发送什么, 对应的接收端就收到什么。
两种可靠传输服务图:
1.4.1 停止等待协议 Stop-and-Wait
收到一个正常分组时, 回复一个ACK; 发现错误则回复NAK, 并使发送方重发, 发送方每发送一个分组必须停下来等待接受确认后才能发下一个分组。
为防止确认分组丢失, 可以采用超时重传机制。则可以不用NAK, 回复带序号的ACK即可。
SW协议原理图:
停止等待协议的信道利用率:
1.4.2 回退 N 帧协议 Go-back-N
采用流水线传输方式, 利用发送窗口限制发送方连续发送分组的个数, 一个分组出错, 其后续连续发送的所有分组都要重传。
接收方采用累计确认的方式, 有接受窗口的话, 则GBN协议的接受窗口为1。收到失序分组则丢弃, 并对最近按序接受的分组进行确认。
GBN协议原理图:
流水线传输的信道利用率:
1.4.3 选择重传协议 Selective Repeat
在GBN协议基础上, 接受窗口不在为1, 使对正确接受的分组进行逐一确认。
SR协议原理图:
二、广播信道的数据链路层
2.1 媒体接入控制(多址接入)
2.1.1 静态划分信道:
典型技术有频分多址、时分多址、码分多址。对于突发性数据传输信道利用率很低。
2.1.2 动态接入控制:
1) 随机接入: 所有站点通过竞争, 随机在信道上发送数据,以太网采用的就算随机接入
2) 受控接入: 服从一定的控制, 如多点轮询协议与令牌传递协议
多点轮询协议:
一个主站以循环方式轮询每个站点有无数据发送, 被轮询到的站点才能发送数据,缺点是存在单点故障问题。
令牌传递协议:
接收到令牌的站点才能发送数据, 并且在发送完数据后将令牌传递给下一个站点
2.2 局域网:
特点: 网络为一个单位所拥有, 且地理范围和站点数目均有限
局域网拓扑:
网络适配器:
简称: 网卡
通过适配器和局域网通信:
MAC地址:
数据链路层的地址, MAC地址也称硬件地址或物理地址, 用48位进行标识的全球地址。
2.3 以太网 CSMA/CD 协议 (10Mbit/s为例)
采用无连接的工作方式, 提供不可靠的交付, 尽最大努力的交付。站点都连接到一根总线上, 同一时间只能允许一个站点发送数据 (半双工通信)。
CSMA/CD:
载波监听多址接入/碰撞检测 (Carrier Sense Multiple Access/Collision Detecction)
多址接入:
许多站点以多址接入协议连接在一根总线上
载波监听:
发送前先监听, 等待信道变空闲再发送
碰撞检测:
边发送监听,也称冲突检测, 发送碰撞时, 适配器立即停止发送。
传播时延对载波监听的影响:
最坏情况下, 需要两倍的总线端到端的传播时延,才知道发送的数据和其他站点发送的数据是否冲突
原理图:
截断二进制指数退避算法:
帧的发送时延不能小于2倍网络最大传播时延, 即一个争用期, 因此以太网规定最短有效帧长64字节。
强化碰撞:
发送碰撞时, 继续发送32比特或48比特的人为干扰信号, 以便所有站点都能监测出碰撞。
帧间最小间隔:
在发送帧前要等待信道空闲96比特时间, 用于接收方监测一个帧的结束。
利用率:
网络覆盖范围越大, 端到端时延越大, 信道利用率越低, 或者,连接站点越多,冲突概率越大, 信道利用率越低,。因此, 共享以太网只能作为一种局域网技术。
以太网的帧格式:
MAC帧前8个字节, 用于接收端的适配器在接受MAC帧时能迅速调整其时钟频率。
三、网桥
3.1 网桥结构
网桥工作在数据链路层, 采用存储转发方式, 是一种数据链路层的分组交换机。
网桥依靠转发表来转发帧, 转发表也叫路由目录。转发时, 以太网使用CSMA/CD协议
原理图:
网桥优点:
不同网段上的通信不会相互干扰。
3.2 透明网桥
透明网桥是一种即插即用设备
算法原理:
1) 通过自学习算法逐步建立转发表, 网桥每收到一个帧, 就将其源地址和进入网桥的接口号作为目的地址和转发接口记录到转发表中,
2) 如果该帧的目的地址不在转发表中, 则向所有其他接口转发该帧。
3) 每经过一段时间就将转发表中陈旧记录删除, 以便保留网络拓扑最新转态。
3.3 生成树协议:
透明网桥不能出现环路, 否则帧在环路总会不断兜圈子。因此使用生成树协议。
原因图:
3.4 以太网交换机
实质就是一个多接口的网桥。
3.5 虚拟局域网 VLAN
通过逻辑配置建立多个逻辑上独立的虚拟网络, 不属于同一VLAN的站点不能直接通信。可以防止和控制广播风暴(站点过多, 转发过多广播信息而产生网络拥塞)。
原理图:
四、无限局域网 WLAN (Wireless Local Area Network)
4.1 CSMA/CA 协议
传输信道不可靠, 因此采用停止等待协议来提供可靠传输服务。
CSMA/CA:
Carrier Sense Multiple Access/Collision Avoidance 载波监听多址接入/碰撞避免
不使用CSMA/CD 协议的原因:
1) 无限信道传输信号强度的动态范围非常大。
2) 隐蔽站问题:
CSMA/CA 工作原理:
退避算法:
1) 当要发送帧的站点检测信道从忙态转为空闲时, 就要执行退避算法。退避计时器设置一个随机退避时间, 当退避计时器减小到零时, 就开始发送数据。
2) 当退避计时器的时间还未减小到零时,信道又转变为忙态, 便冻结退避计时器的数值,重新等待信道变为空闲, 并经过DIFS 后, 继续启动退避计时器。
3) 为避免一个站点独占信道, 但一个站点成功发送完一个数据帧后, 连续发送下一个帧时要启动退避算法。
信道预约:
1)为减少碰撞的概率和降低碰撞的影响, 源站发送数据帧前要发送一个短的控制帧。即请求发送RTS (Request To Send), 其包括源地址, 目标地址, 通信所需时间(包括确认帧)。
2) 若信道空闲, 目的站就发送一个响应, 即允许发送CTS (Clear To Send )。也包括通信持续时间。
3) 除源站和目的站以外, 其他站收到CTS (或数据帧) 后推迟接入到无线局域网中。如果RST发送碰撞, 需执行退避算法重传RTS。
虚拟载波监听:
RTS 帧和CTS 帧即数据帧都会携带通信持续时间, 这便叫虚拟载波监听, 但站点检测到正在信道中传送的MAC首部的 "持续时间" 字段时, 会调整自己网络分配向量 NAV (Network Allocation Vector)。
原理图:
无线局域网的MAC帧:
共三种类型: 控制帧、数据帧、管理帧。
802.11局域网的数据帧:
1) MAC首部, 共30字节
2) 有效载荷一般为1500字节