1. 链路层概述和功能
概述
-
结点:
主机、路由器
-
链路:
网络中两个结点之间的 物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无限链路。
-
数据链路:
网络中两个结点之间的 逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成了数据链路。
-
帧:
链路层的协议数据单元,封装物理层数据报。
数据链路层 负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
功能
数据链路层在物理层提供服务的基础上向 物理层提供服务,其最基本的服务是将源自网络层来的数据 可靠 地传输到相邻节点地目标机网络层。
其主要作用是 加强物理层传输原始比特流地功能,将物理层提供地可能出错的物理连接改造成为 逻辑上无差错的数据链路 ,使之对网络层表现为一条无差错的链路。
功能:
- 为网络层提供服务。 无确认无连接服务,有确认无连接服务,有确认面向连接服务。(有连接一定有确认)
- 链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
- 组帧。
- 流量控制。(限制发送方)
- 差错控制(帧错 / 位错)
2. 封装成帧和透明传输
封装成帧
- 封装成帧 就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。
接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记。从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用: 帧定界(确定帧的界限)。
透明传输
3. 差错控制(检错编码)
3.1 检错编码
奇偶校验码
-
例: -
奇偶校验码特点:
CRC循环冗余码
发送端:
接收端:
接收端检错过程:把收到的每一个帧都除以同样的除数,然后检查得到的余数R.
- 余数为 0,判定这个帧没有差错,接受。
- 余数不为0,判定这个帧有差错(无法确定到位),丢弃。
FCS的生成以及接收端CRC检验都是硬件实现,处理很迅速,因此不会延误数据的传输。
链路层使用CRC检验,能够实现无比特差错的传输,但这 还不是可靠传输。
可靠传输:数据链路层发送端发送什么,接收端就收到什么。
3.2 纠错编码
海明码
-
海明码:
发送双 比特错, 纠正单 比特错。
-
工作原理:动一发而牵全身 -
工作流程:
-
确定校验码位数 r 海明不等式: 2 r ≥ k + r + 1 r 为冗余信息位, k 为信息位. ● r 位冗余位的组合共有 2 r 种 ● 选择 2 r 种组合中的一种用于表示数据正确 ● 其中 2 r - 1 种组合用于表示编码中产生一位错误 ● 故得到海明不等式 例:要发送的数据:D = 101101 数据的位数 k = 6,满足不等式的最小 r 为 4,也就是 D = 101101的海明码应该有 6 + 4 = 10 位,其中原数据 6 位,校验码 4 位。 -
确定校验码和数据的位置 假设4位校验码分别为 P 1 、P 2 、P 3 、P 4 ,数据从左到右为 D 1 、D 2、…、D 6. 校验码 放在2的几次方的位置,数据 按序把空填满。 -
求校验码的值 令所有要校验的位异或 = 0 校验码 P i 的二进制 i 位为 1,与二进制 i 位为1 数据 D j 进行异或,令结果为0求 P i ● P 1 ⊕ D 1 ⊕ D 2 ⊕ D 4 ⊕ D 5 = 0,得 P 1 = 0; ● P 2 ⊕ D 1 ⊕ D 3 ⊕ D 4 ⊕ D 6 = 0,得 P 2 = 0; ● P 3 ⊕ D 2 ⊕ D 3 ⊕ D 4 = 0,得 P 3 = 0; ● P 4 ⊕ D 5 ⊕ D 6 = 0,得 P 4 = 1; 故 101101的海明码为 0 0 1 0 0 1 1 1 0 1 . -
检错并纠错 假设第五位出错,因此接收到的数据位为 0010111101, 令所有要校验的位异或运算 ● P 1 ⊕ D 1 ⊕ D 2 ⊕ D 4 ⊕ D 5 = 1; ● P 2 ⊕ D 1 ⊕ D 3 ⊕ D 4 ⊕ D 6 = 0; ● P 3 ⊕ D 2 ⊕ D 3 ⊕ D 4 = 1; ● P 4 ⊕ D 5 ⊕ D 6 = 0; 从后往前排得到 0101,即 5,说明第五位出现错误。
4. 流量控制与可靠传输机制
选择题中一定会考!!!
4.1 数据链路层的流量控制
4.2 流量控制的方法
4.2.1 停止 - 等待协议
4.2.2 滑动窗口协议
流水线技术
- 必须增加序号范围。
- 发送方需要缓存多个分组。
后退N帧协议(GBN)
接收方接收到 0 帧 后返回一个确认值,接收窗口往前移动到 1 号;
接收方收到确认后,也向前移动。
假设发送窗口尺寸为4
出现超时,发送方重传所有已发送但未被确认的帧
-
GBN 协议重点总结(常考必考点)🔺 1)累积确认(偶尔捎带确认) 2)接收方只按顺序接收帧,不按序无情丢弃 3)确认序列号最大的、按序到达的帧 4)发送窗口最大为 2 n - 1,接收窗口大小为1 -
GBN协议性能分析 1)因连续发送数据帧而提高了信道利用率 2)在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。 -
例题 发送方收到 0、2、3号帧的确认,看最大的,是3号帧,则说明0~3号帧传送成功,重新发送 4、5、6、7号帧,因此选 C。
选择重传协议(SR)
-
GBN协议的弊端 -
发送窗口大小 > 1,接收窗口大小 > 1; (图中发送方、接收方的数据是没有关系的,只是要说明其数据是什么样的状态。) -
SR发送方必须响应的三件事 1)上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;
否则就像 GBN 一样,要么将数据 缓存,要么 返回给上层 之后再传输。
2)收到了一个 ACK
如果收到 ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。
如果该帧序号是窗口的下界(最左边第一个窗口对应得序号),则窗口向前移动到具有最小序号得未确认帧处。
如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
3)超时事件
每个帧都有自己的定时器,一个超时事件发生后 只重传一个帧。
-
SR接收方要做的事 SR接收方 确认一个正确接收的帧 而 不管其是否按序。失序的帧将被 缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后 向前移动滑动窗口。 如果收到了窗口序号外(小于窗口下界)的帧,就返回一个 ACK。 其他情况,就忽略该帧。 -
滑动窗口长度 发送窗口最好等于接收窗口。(大了会溢出,小了没意义) WTmax = W Rmax = 2 ( n - 1 ) ,T指发送窗口,R是接收窗口,n是用多少位bit来标窗口序号 一个例子,假如接收方和发送方都是3个窗口 图中左边最后的0号帧是重传的,右边的是新的0号帧,即会出现二义性问题。 图中窗口序号为0、1、2、3,即需要2位bit来表示,窗口为 3 > max = 2 ( 2 - 1 ) = 2,就会出现二义性问题。
假设发送窗口尺寸为4
图中最后收到ACK 3后发送方滑动窗口还不能移动,因为还没收到 2 号帧的确认
可靠传输、滑动窗口、流量控制
5. 介质访问控制
5.1 静态划分信道
5.1.1 信道划分介质访问控制
-
信道划分介质访问控制:
将使用介质的每个设备与来自同一信道上的其他设备的 通信隔离开,把 时域和频域资源 合理地分配给网络上地设备。
-
类别
频分多路复用 FDM
-
优点: 充分利用传输介质带宽,系统 效率较高; 由于技术比较成熟,实现也比较容易。
时分多路复用 TDM
-
统计时分复用 STDM —— 改进地时分复用
波分多路复用 WDM
光的频分多路复用
码分多路复用 CDM 🟣
-
码分多址(CDMA):是码分复用的一种方式 -
1bit分为多个码片 / 芯片(chip),每一个站点被指定一个唯一的 m 位的芯片序列 -
发送 1 时站点发送芯片序列,发送 0 时发送芯片序列反码(通常把 0 写成 -1) 如何不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。 如何合并:各路数据在信道中被线性相加。 如何分离:合并的数据和源站规格化内积。
5.2 动态分配信道
5.2.1 随机访问介质访问控制
ALOHA协议
-
纯 ALOHA 协议 ? 协议思想:不监听信道,不按时间槽发送,随机重发。 想发就发 ? 冲突如何检测:如果发生冲突,接收方就会检测出差错,然后不予确认,发送方在一定时间内收不到确认就判断发生冲突。 ? 冲突如何解决: 超时后等一随机时间再重传。 -
时隙 ALOHA 协议 ? 思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发生。 控制想发就发的随意性 -
关于 ALOHA 需要知道的事 1)纯 ALOHA 比时隙 ALOHA 吞吐量更低,效率更低。 2)纯 ALOHA 想发就发,时隙 ALOHA 只有在时间片段开始时才能发。
?
CSMA 协议
? CS:载波侦听 / 监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
? MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
? 协议思想:发送帧之前,监听 信道。
?
-
1-坚持 CSMA 坚持指的是对于监听信道 忙 之后的坚持。 ? 思想:
如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则一直监听,直到空闲马上传输。
如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
? 优点:
只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
? 缺点:
假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
-
非坚持CSMA 非坚持指的是对于监听信道 忙 之后就不继续监听。 ? 思想:
如果一个主机要发送信息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则等待一个随机的时间之后再进行监听。
? 优点:
采用随机的重发延迟时间可以减少冲突发生的可能性。
? 缺点:
可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
-
p-坚持CSMA p-坚持指的是对于监听信道 空闲 的处理。 ? 思想:
如果一个主机要发送信息,那么它先监听信道。
空闲则以 p 概率直接传输,不必等待;概率 1 - p 等待到下一个时间槽再传输。
忙则持续监听直到信道空闲再以 p 概率发送。
若冲突则等到下一个时间槽开始再监听并重复上述过程。
? 优点:
既能像非坚持算法那样减少冲突,又能像 1-坚持算法那样减少媒体空闲时间的这种方案。
? 缺点:
发生冲突后还是要坚持把数据帧发送完,造成了浪费。
?
? 三种CSMA协议对比总结:
类比排队喝奶茶的三种人
?
CSMA / CD 协议 🟣
? 载波监听多点接入 / 碰撞检测 CSMA / CD (carrier sense multiple access with collision detection)
? CS:载波侦听 / 监听,每一个站在 发送数据之前 以及 发送数据时 都要检测一下总线上是否有其他计算机在发送数据。
? MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。 总线型网络
? CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。 半双工网络
?
? 先听后发为什么还会冲突:因为电磁波在总线上总是以有限的速率传播的。
?
-
传播时延对载波监听的影响 A、B具体通信细节:
?
-
如何确定碰撞后的重传时机——截断二进制指数规避算法 1)确定基本退避( 推迟 )时间为争用期
2
τ
2 \tau
2τ 2)定义参数 k ,它等于 重传次数,但 k 不超过 10,即 k = min[重传次数,10]。 ? 当重传次数不超过 10 时,k 等于重传次数; ? 当重传次数大于 10 时,k 就不再增大而一直等于 10. 3)从离散的整数集合 {0, 1, … , 2 k - 1} 中随机取出一个数 r,重传所需要退避的时间就是 r 倍的基本退避时间,即:
2
τ
?
r
2 \tau*r
2τ?r 4)当重传达 16次 仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。 例如: 若连续多次发送冲突,就表明可能有 较多的站参与争用 信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。 例题: k = min {11, 10} = 10 2 10 - 1 = 1023 r ∈ [0, 1, … , 1023] ? -
最小帧长问题 帧的传输时延至少要两倍于信号在总线中的传播时延
帧
长
(
b
i
t
)
数
据
传
输
速
率
≥
2
τ
\frac{帧长(bit)}{数据传输速率} \ge 2\tau
数据传输速率帧长(bit)?≥2τ 最小帧长 = 总线传播时延 × 数据传输速率 × 2
2
τ
×
数
据
传
输
速
率
2\tau \times数据传输速率
2τ×数据传输速率 以太网规定最短帧长为 64 B,凡是长度小于 64 B 的都是由于冲突而异常终止的无效帧。
?
CSMA / CA 协议
? 载波监听多点接入 / 碰撞避免 CSMA / CA(carrier sense multiple access with collision avoidance)
-
CSMA / CA 协议工作原理 ? 发送数据前,先检测信道是否空闲。 ? 空闲则发出 RTS,RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。 ? 接收端收到 RTS 后,将响应 CTS(clear to send)。 ? 发送端收到 CTS 后,开始发送数据帧(同时 预约信道:发送方告知其他站点自己要传多久数据)。 ? 接收端收到数据帧后,将用 CRC 来检测数据是否正确,正确则 响应 ACK 帧。 ? 发送方收到 ACK 就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用 二进制指数退避算法 来确定随机的推迟时间)。 总结下来就是: 1) 预约信道 2) ACK帧 3)RTS / CTS 帧(可选) -
CSMA / CD 与 CSMA / CA
-
相同点: CSMA / CD 与 CSMA /CA 机制都从属于 CSMA 的思路,其核心是 先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。 -
不同点: 1)传输介质不同:CSMA / CD 用于总线式以太网【有线】,而 CSMA / CA 用于无线局域网【无线】。 2)载波检测方式不同:因 传输介质不同, CSMA/CD 与 CSMA/CA的 检测方式也不同。 CSMA / CD 通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而 CSMA / CA 采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。 3)CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行 有上限的重传。
?
5.2.2 轮询访问介质访问控制
-
信道划分介质访问控制(MAC Multiple Access Contril)协议: ? 基于 多路复用 技术划分资源。 ? 网络负载重:共享信道效率高,且公平 ? 网络负载轻:共享信道效率低 -
随机访问 MAC 协议: 冲突 ? 用户根据意愿 随机 发送信息,发送信息时可独占信道带宽。 ? 网络负载重:产生冲突开销 ? 网络负载轻:共享信道效率高,单个结点可利用信道全部带宽 -
轮询访问 MAC 协议 / 轮流协议 / 轮转访问 MAC 协议: 既要 不产生冲突,又要发送时 占全部带宽。
?
轮询协议
令牌传递协议
-
令牌:一个特殊格式的 MAC 控制帧,不含任何信息。 控制信道的使用,确保同一时刻只有一个结点独占信道。 令牌环网无碰撞 每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权力,并不是无限制地持有令牌。 -
问题: 1)令牌开销 2)等待延迟 3)单点故障 应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。 采用令牌传送方式的网络常用于 负载较重、通信量较大 的网络中。
?
6. 局域网
6.1 局域网的基本概念和体系结构
?
-
局域网拓扑结构 总线型拓扑是局域网当中常用的拓扑结构。
?
-
局域网传输介质
?
?
-
局域网的分类 1)以太网
以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网(100Mbps)、千兆以太网(1000Mbps)和10G 以太网,它们都符合 IEEE802.3 系列标准规范。
逻辑拓扑总线型,物理拓扑是星型或拓展星型。
使用 CSMA / CD。
2)令牌环网
物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。已是“明日黄花”,基本用不到了。
使用 IEEE802.5 标准
3)FDDI网(Fiber Distributed Data Interface) 了解即可
物理上采用了双环拓扑结构,逻辑上是树形拓扑结构。
4)ATM网(Asynchronous Transfer Mode) 了解即可
较新型的单元交换技术,使用 53 字节固定长度的单元进行交换。
5)无线局域网(Wireless Local Area Network; WLAN)
采用 IEEE802.11 标准。
?
-
IEEE 802 标准 IEEE 802标准
?
?
6.2 以太网
?
-
以太网传输介质与拓扑结构的发展
?
?
-
适配器与MAC地址
?
-
以太网 MAC 帧
?
-
高速以太网
?
6.3 无线局域网
?
-
无线局域网地分类
-
有固定基础设施无线局域网 -
无固定基础设施无线局域网地自组织网络
?
7. 广域网
-
广域网(WAN,Wide Area Network):
通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
广域网的通信子网主要使用 分组交换 技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的 局域网或计算机系统 互连起来,达到 资源共享 的目的。 如因特网(Internet)是世界范围内最大的广域网。 一些补充: 结点交换机(单个网络中转发分组) 路由器(多个网络之间转发分组) 广域网覆盖的网络体系结构层次:物理层、链路层、网络层 (点对点)(强调资源共享) 局域网覆盖的网络体系结构层次:物理层、链路层 (多点接入)(强调数据传输)
?
7.1 PPP协议
-
PPP协议的特点
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用 PPP 协议。
只支持全双工链路 -
PPP 协议应满足的要求 简单:对于链路层的帧,无需纠错,无需序号,无需流量控制 封装成帧:帧定界符 透明传输:与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。 多种网络层协议:封装的IP数据报可以采用多种协议。 多种类型链路:串行 / 并行,同步 / 异步,电 / 光… 差错检测:错就丢弃 检测连接状态:链路是否正常工作 最大传送单元:数据部分最大长度 MTU(MTU默认不超过1500字节) 网络层地址协商:知道通信双方的网络层地址 数据压缩协商 -
PPP 协议无需满足的要求 纠错、流量控制、序号、不支持多点线路
?
- PPP协议的三个组成部分
- 一个将IP数据报封装到串行链路(同步串行 / 异步串行)的方法。
- 链路控制协议 LCP:建立并维护数据链路连接。 身份验证
- 网络控制协议 NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的 NCP 来配置,为网络层协议建立和配置逻辑连接。
?
-
PPP协议的状态图
?
?
7.2 HDLC协议
(很少用)
-
高级数据链路控制(High-Level Data Link Control或简称HLDC),是一个在同步网上传输数据、面向比特 的数据链路层协议,它是由国际标准化组织(ISO)根据 IBM 公司的 SDLC(synchronous Data Link Control)协议扩展开发而成的。 数据报文可透明传输,用于实现透明传输的 “0比特插入法” 易于硬件实现。 采用全双工通信 所有帧采用 CRC检验,对信息帧进行顺序 编号,可防止漏收或重发,传输可靠性高。
?
-
HDLC站
?
-
HDLC帧格式 ? 控制C: 1)信息帧(I):
第1位为 0,用来 传输数据信息,或使用捎带技术对数据进行确认;
2)监督帧(S):
10,用来 流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能;
3)无编号帧(U):
11,用来提供对 链路 的建立、拆除等多种控制功能。
?
7.3 PPP协议和HDLC协议比较
-
相同点: ? HDLC、PPP只支持 全双工 链路。 ? 都可以实现透明传输。 ? 都可以实现差错检测,但不纠正差错。 -
不同点:
?
8. 数据链路层设备
8.1 物理层扩展以太网
主机和集线器间距离不能超过 100m ,若超过会失帧严重,无法恢复。
在物理层上对以太网进行扩展:
-
法一:通过光纤的方式: 光纤调制器:实现光信号和电信号之间的转换。 -
法二:利用多个集线器组合 集线器会从所有端口转发出去
?
8.2 链路层扩展以太网
8.2.1 网桥
网桥 根据 MAC帧的目的地址 对帧进行 转发 和 过滤。
当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
-
网桥分类
-
透明网桥 通过自学习完善转发表: 会进行更新。 -
源路由网桥
?
8.2.2 多接口网桥——以太网交换机
以太网交换机也可以直接连接主机
-
以太网交换机的两种交换方式: ? 直通式交换机: 查完目的地址(6B)就立刻转发。 延迟小,可靠性低,无法支持具有不同速率的端口的交换。 ? 存储转发式交换机: 将帧放入高速缓存,并检查是否正确,正确则转发,错误则丢弃。 延迟大,可靠性高,可以支持具有不同速率的端口的交换。
?
-
补充——冲突域和广播域: ? 冲突域:
在同一个冲突域中的每一个节点都能收到所有被发送的帧,简单来说就是同一时间内只能有一台设备发送信息的范围。
? 广播域:
网络中能接收任一设备发出的广播帧的所有设备的集合,简单来说就是如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。
?
|