数据链路层
概述
概念:[数据链路层解决的是两个节点之间如何传输数据的问题]{.red}
术语
- 节点:主机,路由器,交换机
- 通信链路:网络中两个节点之间的通信的通道
- 协议数据单位:[帧]{.red} (通过封装网络层传递的数据包得到)
功能
成帧:(1) 封装成帧的方式 (2) 帧格式
差错控制:(1) 奇偶校验(包括二维的奇偶校验) (2) CRC 循环冗余校验 (3) 海明码校验
[注:(1) 差错控制并 不保证可靠传输 (2) 差错控制采用 硬件 实现]{.red}
链路管理:(1) 纯 ALOHA 协议 (2) 时隙 ALOHA 协议 (3) CSMA 协议 (4) CSMA/CD 协议 (5) CSMA/CA 协议
流量控制:流量控制问题起源于数据链路层,但是通常在实践中也不在数据链路层实现流量控制,同样在传输层实现流量控制
可靠传输:数据链路层可以使用超时重传保证可靠传输,但是通常在实践中并不采用这种方式,仅在传输层实现可靠传输
局域网:(1) 以太网 (2) 无线局域网
协议:(1) PPP 协议 (2) HDLC 协议
设备:交换机
实现
硬件:网络适配器 (NetWork Adapter)
注:网络适配器又称为 网络接口卡(俗称网卡 NIC)
核心:链路层控制器:就是实现了 成帧 + 差错控制 + 链路管理 + 以太网协议 的物理 芯片
功能:(1) 执行串并行的转换 (2) 对数据进行缓存 (3) 安装网卡驱动程序 (4) 实现以太网协议等功能
通信过程:
- 发送方网卡获取从高层传递的 网络数据报 (网络层交付的) 并进行封装 成帧
- 发送方网卡根据数据链路层规定的 协议 将帧送入 通信链路
- 接收方网卡接收帧 (网卡驱动程序会响应中断) 并进行拆封执行 差错检测 等工作
细节:
网卡通常直接集成在主板上而不使用外接的方式 (
MAC
地址烧录在网卡的ROM
中)-
注:每当数据帧到达时需要相应的 数据链路层软件 去响应中断告知网卡开始处理数据帧
MAC
地址:概念:全球唯一 的 $12$ 位十六进制地址 (前 $6$ 位地址由 IEEE 分配后 $6$ 位由生产厂商自行决定)
注:
MAC
地址又被称为LAN
地址或者物理地址细节:
- 链路层交换机是 不具有 MAC 地址的:端系统和路由器实际上都是内部的网卡才具有
MAC
地址、 - MAC 地址在帧的传输过程中是会不断发生变化的 (
ARP
协议可以看出) MAC
本质上是永久性的但是现在也可以利用一些软件进行修改
- 链路层交换机是 不具有 MAC 地址的:端系统和路由器实际上都是内部的网卡才具有
问题:为什么要同时使用
IP
地址和MAC
地址 (这个问题其实应该拆成两个问题)(1) 为什么存在
MAC
地址了还需要IP
地址:
MAC
地址是无法进行子网划分的也就意味着每个路由器都需要记住全部的MAC
地址否则就没有办法转发,但是记住所有的MAC
地址显然是不可能的(2) 为什么存在
IP
地址了还需要MAC
地址: 局域网应该支持各种网络层协议而
IP
地址仅仅能够用于IP
协议 如果网络层采用其他协议
IPX
或者DECnet
协议,那么不同网络层的协议在没有MAC
地址的情况下就是无法通信的
[ARP](#ARP 协议):ARP 协议在 《TCP/IP 详解》中归为网络层;在 《自顶向下》中认为网络层或者数据链路层都是可以的
功能
成帧
封装成帧
封装成帧:网络适配器将 数据报 添加 首部信息 和 尾部信息 后进行封装
首部信息( 帧开始符 SOH ):实现帧同步:通知接收方数据帧即将到来请做好接收准备
尾部信息( 帧结束符 EOT):接收方校验数据帧是否正确(CRC 循环冗余校验码)也可以标识帧的结束
注:如果不使用尾部信息接收方是无法得知帧是否出了差错:那么就只能够留给高层判断,这样显然浪费时间
细节:
- 数据报也被称为 最大传送单元 (MTU)
- 首部信息和尾部信息中也有许多协议控制信息,上述仅是最重要的
- 真正的帧格式并不是图中所示,这里仅仅只是抽象地表示,每个局域网协议不同,帧的格式也不同
透明传输
透明传输:保证无论任何组合的比特序列都能够在信道中==不受到任何阻碍==地传输
解释:阻碍是指帧首部和帧尾部是多位比特组成的控制信息,数据部分的比特序列可能和控制信息一致,阻碍帧的数据部分传输
实现透明传输方式
字符计数法
字符填充法
概念:在每个与控制信息冲突的比特序列之前增加转义信息(ESC),如果比特序列和转义信息冲突同样增加转义信息
解析方式:接收方找到正确的帧开始和帧结束之后会 删去转义信息剩下传输的数据
缺陷:复杂性和不兼容性
==零比特填充法==
- 概念:比特序列中每出现 5 个连续的 “1”就在后面增加 1 个 “0”
- 解析方式:接收方找到正确的帧开始和帧结束之后==硬件==会扫描比特序列,每 5 个连续的 “1” 就会删去后面的 “0”
==违规编码==
差错控制
原因
根本原因:信号在信道中传输时受到噪声的影响
类型
全局性:传输介质固有的==随机噪声==;提高信噪比减少噪声(改善传感器)
局部性:外界对信道造成的短暂性的==冲击噪声==(主要原因);使用编码技术解决
帧错:丢失 +重复 + 失序
位错:比特位发生跳变
注:比特序列中一般来说只有一位跳变的可能性最大,两位同时跳变的可能性比较低
细节:
传输帧发生错误后数据链路层直接抛弃并不会重传帧:高层没有收到相应的分组那么会要求低层重传 丢失的帧 (当然高层也可能没有实现可靠传输)
注:因为通常数据链路层都是不实现可靠传输和流量控制的
适用情况
- ==有确认无连接== 和 ==有确认有连接的服务== 是 ==通信质量较差的无线链路==需要使用纠错检错的技术,保证数据的完整性
- ==无连接无确认== 的服务是不需要使用差错控制的技术,保证传输的效率
检错编码
奇偶校验码
概念:
在比特序列的首位前增加一位校验位(1或者0);
如果是==奇校验==,增加校验位后需要保证当前的==比特 “1” 的数量为奇数==
如果是==偶校验==,增加校验位后需要保证当前的==比特 “1” 的数量为偶数==
细节:(1) 能够检测 奇数个比特位 发生错误 (2) 不具有纠错的能力
CRC循环冗余校验码
概念
==需要传输的数据 ÷ 生成多项式 = 商 … FCS帧检验序列(冗余码)==
实际传输数据 = 需要传输的数据 + FCS帧检验序列
接收方将得到的 ==实际传输数据== ÷ 生成多项式
如果余数为 0 那么证明没有发生错误,如果余数不为 0 那么证明传输过程中发生了错误
实现
- 根据生成多项式$(X^4 + X^1 + X^0)$得到对应的二进制编码(10011)
- 需要传输的数据增加 $r$ 个 0(r是生成多项式的最高阶)
- 需要传输的数据 ÷ 生成多项式的二进制编码 –> FCS帧检验序列
- 最后将之前增加的 $r$ 个 0 全部换成 FCS帧检验序列
特点
- CRC 校验码是==具有纠错功能==;数据链路层==只使用检错功能==
- CRC 校验码实现==无差错传输==而不是==可靠传输==
- CRC 校验码能够检验出所有的==单比特出错==
- CRC 校验码可以使用==硬件==完成
- 带 $r$ 个校验位的多项式编码可以检测到所有长度 **小于等于 $r$ **的突发性错误
纠错编码
海明码
实现
海明不等式:==2^r^ ≥ k + r + 1==(r表示校验位的位数,k表示需要传输的数据的位数)
利用海明不等式得到 r 个校验位;每个校验位只能放在 2 的 n 次方的位置(即只能放在1,2,4,8,16…)
确认好校验位和数据的相对位置关系后;利用分组的奇校验得到每个校验位的数据(1或者0)
确定每个校验位到底负责检验哪几个数据
P
1负责检验 D1D2D4D5(P1是第一个,所以找数据的二进制的最低位和P1的 二进制最低位相同的;P2同理,找倒数第二个)校验位 和 负责检验的数据们 进行异或的操作
P
1⊕ D1⊕ D2⊕ D4⊕ D5= 0 –> 倒推得到 P1的值;其余检验位值同理实际传输的数据 = 冗余校验位 + 需要传输的数据
如果传输的数据出现差错,那么再将每个检验位和它们分别负责的数据们进行异或的操作
得到的异或结果再做异或操作,这次得到的结果就是出错比特的位置
特点:能够检验 2 个比特位,但是只能够纠错 1 位比特
链路管理
多路访问链路
传输链路
- 点对点链路
- 概念:两个相邻节点相连,没有第三者
- 应用:==PPP 协议== ==HDLC 协议==
- 广播式链路
- 概念:所有结点共享一个通信信道
- 应用:早期的==总线以太网,无线局域网==
- 典型拓扑结构:星型(逻辑总线型),总线型
- 星型:单点故障;中心设备故障是会导致网络瘫痪的。
- 总线型:不存在单点故障;但是总线结点出问题同样会导致网络瘫痪
信号冲突
基本概念:两个节点 同时 传输帧,两个节点的帧在传输的过程中发生 碰撞
-
注:因为电路交换是点对点地传输数据,分组交换则是基于广播式网络很容易产生冲突
细节:多个帧在发生碰撞之后仍然会继续传输,不过接收方在利用差错控制检测到错误时是不会接收的
解决方式:介质访问控制
介质访问控制
- 目的:==协调==节点传输数据的过程
信道划分介质访问控制
基本概念:将使用介质的每个设备利用技术进行 隔离
频分多路复用(FDM)
内容:协议分配给用户特定频率的频带,用户在通信过程中 ==始终占用当前频带==
原理:多条频率不同的频带产生的信号的“宽度”(频率)不同,接收能够解析不同的信号
优点:(1) 可以 ==同时发送数据且不需要等待== (2) 消除碰撞 (3) 实现容易且效率较高
缺点:资源利用率不高:每个节点的最大带宽只有整个系统的 $\frac{1}{N}$
细节:(1) 所有节点 ==共享信道的时间== (2)==传输模拟信号== (3) 每个频带都可以看做一条链路
时分多路复用(TDM)
内容
协议将信道划分为多个 时间帧,且每个时间帧中又划分为多个 时隙
每个节点会被划分到一个 特定的时隙
每个节点发送数据的时候必须在自己的 特定时隙开始 的时候发送
注:(1)不能够在某个时隙的中间开始发送 (2) 时隙就是 非常短 的一段时间
原理:每个时隙只用于一个节点的传输数据,不会有其他节点的干扰
优点:(1) 可以 ==同时发送数据== (2) 消除碰撞
解释:因为每个时隙很短,所以也可看做同时发送
缺点:(1) 每个节点需要 ==等待== 自己的时隙到来 (2) 资源利用率不高:每个节点的最大带宽只有整个系统的 $\frac{1}{N}$
细节:(1) 所有节点 ==共享信道的频率== (2)==传输数字信号== (这也是为什么更多仍然是使用时分多路复用而不是频分多路复用)
改进的时分复用(STDM)
- 内容
- 每个节点不需要等待自己的时隙到来;==直接==可以将自己需要传输的数据送入==集中器==中
- 集中器将传入的数据进行打包==封装成 STDM 帧==在信道上传输
- 细节:STDM 帧中的时隙数小于节点数
- 优点:==全速传输==(整个系统的带宽完全被利用起来)
- 内容
波分多路复用(WDM)
- 内容:光的频分多路复用
码分多路复用(CDM / CDMA)
内容:
信道将多个结点需要发送的数据根据==特定的编码方式==封装在一起
信道将封装好后的数据进行传输
信道在数据传输到目的节点时根据之前设定的编码方式将多个数据拆分开
实现方式:
每个站点被指定唯一的 m 位==芯片序列==
使用芯片序列对传输的比特进行==编码==;
1 被编码为 (+1 -1 +1 -1 +1 -1 +1 -1);0 就被编码为 1 的反码(-1 +1 -1 +1 -1 +1 -1 +1)
芯片序列中使用 -1 代表 0
多个站点同时发送数据的时,要求每个站点发送的数据的==每个比特实现正交==
==A 站点发送的数据 1 的芯片序列 x B 站点发送的数据 0 的芯片序列 = 0==
如果不满足正交的条件是不允许发送的
多个站点满足正交的条件下发送的数据采用 ==线性==合并的方式
==A 站点发送的数据 1 的芯片序列 + B 站点发送的数据 0 的芯片序列 = 传输的数据的芯片序列==
将合并后的数据分离使各个站点能够正常接收
==传输的数据芯片序列 x A 站点的发送的数据的芯片序列 ÷ 8 = A 站点发送的数据==
总结:既共享时间又共享空间
优点
- 消除碰撞
- 信道利用率高
- 抗干扰能力强,保密性强,语音质量好
适用于无线通信系统
对比
注:只要采用这种静态划分信道的方式,可以说就是将分组交换变成了电路交换 (以太网中都不采用这种方式来划分信道)
FDM TDM CDM 共享 共享时间 共享空间 共享时间和空间 特点 广播式变为点对点 广播式变为点对点 广播式变为点对点 优点 1.消除碰撞 2.同时发送数据 1.消除碰撞 1.消除碰撞 2.信道利用率高 适用性 模拟信号传输 数字信号传输 无线通信 缺点 每个频带带宽较低 1.每个频带带宽较低 2.不能同时发送 无
随机访问介质访问控制
纯 ALOHA 协议
内容:多个站点==可以同时发送数据==,产生信号冲突后,每个站点有 ==概率 p== 立即重传该帧;==1-p的概率选择其他时间== 重传该帧
解释:这里的检测冲突并不是 CSMA/CD 协议的检测冲突,而是利用差错控制发现数据帧损坏而得知可能造成冲突,最后由高层要求重传
缺点:
(1) 多个站点同时发送数据造成的冲突会非常多,产生非常多的超时重发,浪费信道带宽
(2) 无法避免信号冲突
信道效率的近似计算:$Np(1 - p)^2(N-1)$ 取极限最大效率为 1 / 2e ≈ 0.18
注:==实际带宽 = 理想带宽 * 信道效率==
时隙 ALOHA 协议
内容:
- 协议将时间划分为 多个时隙
- 每个节点需要发送数据时都会 占用一个时隙 (这个时隙不专属于任何一个节点)
- 每个节点只可以在 时隙开始 的时候发送数据 (每个节点知道时隙什么时候开始)
- 如果多个站点同时需要发送数据,产生信号冲突后,仍然以 $p$ 的概率 立即重传 或者 $1-p$ 的概率选择 其他时间重传
缺点:(1) 效率仍然偏低 信道效率的近似计算:$Np(1 - p)^(N-1)$ ;最大效率为 1 / e ≈ 0.37 (2) 无法避免冲突
图示
CSMA 协议
基本概念:每个节点在发送帧之前对信道上的其他节点进行 监听,检测其他节点是否正在发送数据
分类(信道忙的不同决策)
1-坚持 CSMA
- 内容:如果信道空闲下==直接传输==帧;如果信道忙则==一直监听==到信道空闲,然后立刻传输帧
- 优点:减少了信道利用率的损失
- 缺点:仍然不能够很好的避免信号冲突
非坚持 CSMA
- 内容:如果信道空闲下==直接传输==帧;如果信道忙则==选择其他时间监听==,如果信道空闲则立刻传输帧
- 优点:较好避免冲突的产生
- 缺点:增加网络数据在网络中延迟,信道利用率是提升的
p-坚持 CSMA
内容:
如果信道空闲下==概率p立即传输帧,概率1-p选择其他时间==传输帧;
如果信道忙则==一直监听==到信道空闲,然后立刻传输帧
缺点:产生冲突后依旧会把当前帧发送完,依然会造成带宽的浪费(之前的所有协议都有这个问题)
细节:
-
解释:传输的数据可能刚好==没有进入==其他站点的==监听范围==,导致其他站点认为信道空闲,开始传输数据,产生冲突
争用期:信号在最远的两个端点之间往返传输的时间
发送方接收到碰撞信号的时间分析:
CSMA/CD 协议
基本概念:碰撞检测(Collision Detection):网络适配器在发送数据的同时依然会对信道电压进行检测
内容:
- 监听信道:(1) 如果信道当前正忙就会持续监听直到信道空闲 (1-坚持 CSMA) (2) 如果信道空闲就直接发送帧
- 帧在传输过程中只要检测到冲突的产生就会 立刻终止帧的传输
- 终止传输后选择另一个时间( 二进制退避算法 )进行重传
- 并发送拥塞信号,通知整个网络中的节点
信道效率:$\frac{1}{1+5d_prop/d_trans}$ (传输帧所花费的时延越高越容易导致冲突无法检测:导致效率降低)
二进制退避算法:
目的:CSMA / CD 协议会在冲突之后终止信号的传输,选择时间重传,二进制退避算法就是用于计算这个时间
步骤
①确定==基本退避时间 2τ==
②从==离散==(只有整数)集合[0 ~ 2^k^ - 1] 中==任取一个==作为基本退避时间的==倍数==
③ ==k = min{10,重传次数}==;如果重传次数超过 10 次,那么 k 一直为 10;如果小于 10 次,那么就 k 就为重传次数
④退避时间 = 倍数 x 基本退避时间 –> t = r x 2τ
⑤如果重传次数==超过 16 次==,数据链路层会向高层报告错误,帧传输失败
最小帧长问题
原因:如果==帧长过短==,那么发送方会直接将帧完全发送出去,此时即使发生了碰撞,发送方也无法终止
解决方式:保证在检测到碰撞的时候,帧仍然没有发送结束,剩下的部分帧就可以被终止发送
公式:==帧的传输时延 ≥ 2 * 信号传播时延(RTT)==(帧长 ÷ 数据发送速率 ≥ RTT)
解释:接收方检测到碰撞的==最大时延==是 2τ;只要保证在 2τ 时间之内帧仍然没有发送结束就可以
细节:
- 适用于 总线型网络 或者 半双工网络
- 应用于有线连接的局域网,不适用于无线局域网:(1) ==实现冲突检测硬件花费过大== (2) 存在隐蔽站问题
CSMA/CA 协议
基本概念
基本思想:节点发送数据之前提前告知其他将要发送数据的节点,使其他节点暂时停止发送,避免出现碰撞
帧间间隔
概念:每个结点在发送过程中每发送一帧都需要等待一段时间
目的:避免碰撞
分类
- SIFS:最短;分隔每一次对话的各帧
- PIFS:中等
- DIFS:最长;节点开始发送数据前
情况:
①节点开始发送之前需要等待 DIFS
②节点在发送过程中每发送一帧需要等待 SIFS
内容
- 根据需要采用 RTS/CTS 预约方式(一般来说是会采用的)
- 如果信道空闲,节点发送数据之前需要经过帧间间隔(DIFS),才能够发送数据
- 如果信道忙,采用二进制退避算法选择其他时间再发送数据
- 数据帧发送后等待接收节点的确认(ARQ):如果未收到确认帧,就会重发
隐蔽站问题
问题描述
两个节点同时向一个节点发送数据;
两个节点因为之间的距离过远导致相互==无法通过冲突检测==到对方(两者可能同时发送数据)
解决方式:“预约”
发送方需要发送数据之前向接收方发送 RTS 帧(包含源地址,目的地址,发送数据持续时间)
接收方接收到 RTS 帧后返回 CTS 帧(只包括通信时间)
接收方利用 CTS 帧向范围内的其他节点广播暂时不要发送数据
对比:数据链路层所有帧的重复都是交由高层决定,因为数据链路层本身并不实现可靠传输没有确认重传机制
纯ALOHA | 时隙ALOHA | CSMA | CSMA/CD | CSMA/CA | |
---|---|---|---|---|---|
冲突检测 | 差错控制检测 | 差错控制检测 | 差错控制检测 | 硬件物理检测 | 不检测 |
监听方式 | 不采用 | 不采用 | 电缆电压 | 电缆电压 | 能量检测,载波检测,能量载波混合检测 |
缺点 | 效率低 | 效率低 | 浪费信道带宽 | 无线网难中以实现 | 无法完全避免冲突 |
避免冲突 | 不能 | 不能 | 不能 | 不能 | 尽量避免 |
轮询访问介质访问控制
轮询协议
内容:
(1) 主节点依次询问从节点是否需要发送数据(发送信号询问)
(2) 如果需要发送数据,从节点立刻发送就行;如果不需要发送数据,主节点依次询问下一个节点是否发送数据
优点:(1) 消除碰撞 (2) 发送时可以占用所有带宽
缺点:(1) 询问信号产生开销 (2) 每个节点需要依次等待 (3) 单点故障
令牌传递协议
内容:
所有节点在==逻辑结构==上组成==环形== (令牌实际上是 MAC 控制帧)
如果信道空闲,令牌就会在信道上按照一定的方向移动(顺时针或者逆时针)
如果节点需要发送数据,那么该节点获得令牌,==修改其标志位==,将其和==数据帧结合==,发送到信道上
令牌 + 数据帧继续在信道上移动,非接收方的节点不会对令牌做任何修改
相应的接收方会对令牌 + 数据帧==进行复制==,再次==修改其标志位==
令牌 + 数据帧到达接收方并被复制一份后==再次回到发送方处==
发送方==检查是否出错==,如果出错就会重发;如果没有出错令牌将会和数据帧分离,继续在信道上移动
优点:适用于==网络负载重,通信量==较大的网络
缺点:(1) ==令牌开销== (2) 每个节点需要依次等待 (3) 单点故障
注意点:每个节点只能在一定的时间内持有令牌,如果超过这个时间数据没有发送成功,令牌将被移交到另一个节点
图示
三种介质访问控制方式对比
- 信道划分介质访问控制
- 优点:适用于网络负载重的情况
- 共享信道效率较高,非常公平
- 不会产生任何冲突
- 缺点:不适合网络负载轻的情况
- 共享信道长时间处于空闲,信道利用率低
- 节点的传输速率在空闲状态依然受到限制
- 优点:适用于网络负载重的情况
- 随机访问介质访问控制
- 优点:适用于网络负载轻的情况
- 节点可以全速传输数据
- 信道利用率高
- 缺点:不适用于网络负载重的情况
- 多个节点同时发送数据会造成大量的冲突,解决冲突会消耗资源
- 优点:适用于网络负载轻的情况
- 轮询访问介质访问控制
- 优点
- 不会产生冲突
- 节点可以全速传输数据
- 优点
点对点链路
广域网
- 概念:国际性网络(Internet)
- 特点
- 通信子网使用分组交换技术
- 实现资源共享的目的
- 对比
- 局域网:强调数据传输的速率
- 广域网:强调资源共享的能力
PPP协议
概念:点对点网络协议;不支持多点线路
点对点:每个站点只能够对应一个站点
特点
使用最为广泛的链路层协议
用户拨号上网时一般都会采用 PPP 协议
只支持全双工通信链路
功能
简单迅速:链路层传输帧不需要纠错,序号,流量控制等功能
封装成帧
透明传输
①异步线路实现透明传输的方式:字节填充
②同步线路实现透明传输的方式:比特填充
多种网络层协议:网络层可以采用多种不同的协议
多种类型链路:数据链路层可以采用多种不同的数据链路传输
差错检测:帧出错直接丢弃
检测连接状态
设定最大传送数据单元(MTU):1500 B
网络层地址协商:知道通信双方的网络层地址
数据压缩协商
协议流程
IP 数据报根据采用透明传输的方式(同步/异步)封装成帧
链路层控制协议 LCP:建立并维护连接
网络层控制协议 NCP:建立并配置逻辑连接
网络层每个不同的协议,PPP协议都会提供对应的 NCP 协议
帧格式
HDLC协议
- 概念:同步网上传输数据,面向比特的数据链路层协议
- 特点&功能
- 只支持全双工通信
- 透明传输:采用 0 比特填充法
- 采用 CRC 检验
- 会对信息帧进行编号
- 传输可靠性高
- HDLC 站的概念
- 主站:发送命令帧;接收从站的响应帧;控制整个链路的启动,差错检验,流量控制
- 从站:接收命令帧;接收主站的命令帧;配合主站工作
- 复合站:既能发送命令帧也能发送响应帧;控制整个链路
- 数据操作方式
- 正常响应方式:从站只能够在主站允许的情况下发送数据
- 异步响应方式:从站可以任意发送数据;不需要得到主站的允许
- 异步平衡方式:每个站点都可以同时发送接收数据
- 帧格式
- 帧种类
- 信息帧
- 监督帧
- 无编号帧
对比
局域网
基本概念
概念:某一较小区域内,多台计算机设备共同组成的计算机组,使用广播信道
组成
- 网络拓扑结构:描述局域网的整体结构
- 传输介质:局域网中各个计算机传输数据依赖的物理媒体
- 介质访问控制方法:计算机传输数据时需要遵循的规定(协议)
特点
- 覆盖范围小
- 数据传输速率高(双绞线(主流介质),同轴电缆,光纤)
- 通信时延低,误码率低,可靠性高
- 多采用分布式控制和广播通信;能够进行广播和组播
网络拓扑结构
- 星型拓扑
- 优点:传输速度快;建网容易且便于控制管理
- 缺点:可靠性低;共享能力差;单点故障
- 总线型拓扑
- 优点:可靠性高;共享能力强;传输速度快;成本低
- 缺点:单点故障(指的是总线不是节点)
- 环形拓扑
- 优点:成本低
- 缺点:单点故障;响应效率低;传输速度低;不便于扩充
- 树形拓扑
- 优点:易于拓展;易于排除故障
- 缺点:单点故障
- 星型拓扑
介质访问控制方法
CSMA / CD 协议:常用于总线型局域网和树形局域网
令牌传递协议:常用于环形局域网
令牌总线协议(?):常用于总线型局域网和树形局域网
该协议在逻辑上将总线型或者树形的每个节点按照接口地址大小排列成环
局域网分类
有线局域网
以太网
应用最为广泛;标准以太网,快速以太网,千兆以太网
逻辑拓扑总线型,物理拓扑星型
CSMA / CD 协议实现介质访问控制
IEEE 802.3协议制定以太网的标准
令牌环网
逻辑拓扑环形,物理拓扑星型
FDDI 网
逻辑拓扑环形,物理拓扑双环
ATM 网
使用 53 固定字节长度的单元进行交换
无线局域网
WIiFi 是无线局域网的一种应用,范围较无线局域网小
IEEE 802.11 协议制定无线局局域网的标准
局域网 和 OSI 模型
局域网对应 OSI 模型中的数据链路层和物理层
IEEE 802.3 协议将数据链路层细分为LLC层和MAC层
LLC 层
①为网络层提供服务(接口)
②维护数据链路层链接
③差错控制
④给帧添加序号
注意:现在许多网卡并没有 LLC 协议
MAC 层
①负责帧的封装和拆卸(组帧和拆帧)
②负责帧的寻址和识别(寻址)
③帧的接收和发送
④帧的差错控制(比特差错控制)
⑤链路管理(竞争处理)
以太网
定义:
- 以太网是局域网的一种:所以可以认为以太网是互联自治的计算机集合
- 以太网是一种 技术规范:只规定 ==数据链路层== 和 ==物理层== 的规范
- 数据链路层:(1) 规定数据链路层采用何种帧的格式 (2) 规定如何解决多路访问问题
- 物理层规范:规定采用何种物理媒介去接入网络核心
基本特性:造价低廉;应用广泛;速率快
标准
- DIX Ethernet V2:第一个以太网规约
- IEEE 802.3:第一IEEE以太网规约
特点
无连接
不可靠服务
只实现无差错传输,不实现可靠传输;即以太网并不负责对产生差错的帧进行处理,而是交由高层负责
采用曼切斯特编码
V2 标准(常用)
高速以太网
- 100 BASE-T 以太网
- 概念:传送基带信号(数字信号)的无屏蔽双绞线以太网,传输速率 100Mb/s
- 采用半双工或者全双工的通信方式
- 全双工通信方式下不使用 CSMA/CD协议
- 吉比特以太网
- 又称千兆以太网
- 采用半双工或者全双工的通信方式
- 10 吉比特以太网
- 不使用铜线只使用光纤作为传输媒体
- 只采用全双工通信方式
- 100 BASE-T 以太网
常见传输介质对比
参数 | 10BASE5 | 10BASE2 | 10BASE-T | 10BASE-FL |
---|---|---|---|---|
传输媒体 | 同轴电缆(粗) | 同轴电缆(细) | 非屏蔽双绞线(UTP) | 光纤对 |
编码方式 | 曼切斯特编码 | 曼切斯特编码 | 曼切斯特编码 | 曼切斯特编码 |
拓扑结构 | 总线型 | 总线型 | 星型 | 点对点 |
最大段长 | 500m | 185m | 100m | 2000m |
最多结点数目 | 100 | 30 | 2 | 2 |
无线局域网
标准:IEEE 802.11
IEEE 802.11 标准
- WDS 帧头格式
概念解释
基本服务集(BSS:Basic Service Set) = 基站(AP:Access Point) + 移动站(移动设备)
①所有的移动站都可以在基本服务集的范围内任意通信
②移动站经过基站可以和基本服务集之外的移动站通信
基站:需要为每一个基站分配一个不超过 32B 的服务集标识符(SSID:Service Set IDentifier)
基本服务区:一个基本服务集覆盖的地理范围称为一个基本服务区(BSA:Basic Service Area)
分配系统(DS:Distribution System):连接两个基本服务集
四种不同格式表格
- SA:Source Address
- RA:Receiver Address
- DA:Destination Address
- 分类
- 有固定基础设施无线局域网
- 无固定基础设施的无线局域网的自组织网络
虚拟局域网
设备
扩展以太网
扩展以太网的原因:
主机需要和其他距离更远的主机进行通信
集线器限制传输距离只能为 100 米
超出这个距离之后信道中的信号受损之后是无法恢复的
物理层扩展以太网
光纤
- 采用光纤作为传输介质连接主机和集线器
集线器
- 采用多层集线器相连的方式
链路层扩展以太网
网桥
基本概念
- 网桥根据 MAC 帧的目的地址对帧进行过滤和转发
- 过滤:网桥抛弃当前帧,不会将当前帧转发到任何一个接口
- 转发:网桥将当前帧发送到其他接口去
- 网段:指一个计算机网络中使用同一物理设备,不借助链路层设备就能够直接通信的那一部分
分类
透明网桥
透明:站点之间相互通信,并不会关心需要经过哪些网桥
原理:采用自学习算法
① 站点 A 向站点 B 发送帧;网桥判断目的地址是否在转发表中存在
②不存在:网桥将会将帧进行广播式地转发,所有的站点都能够收到帧,但只有目的站点会接收当前帧;并将
目的地址记录在转发表中
③存在:网桥判断两个站点是否处于同一网段
- 同一网段:网桥过滤当前帧,不会将当前帧通过其他网桥转发到其他站点
- 不同网盾:网桥通过其他网桥转发当前帧,使目的站点能够接收到当前帧
④网桥会定时刷新转发表中的信息
源路由网桥
原理:寻找最佳的转发路径
源站通过发送发现帧找到用时最少的路径
发送数据帧时将最佳路由信息放在帧的首部
特点:
- 每个网桥只有一个接口
- 采用全双工通信,每个端口的主机可以在任意时刻通信
- 隔离冲突域,不能隔离广播域
优点:
- 过滤通信量,增大吞吐量
- 扩大物理范围
- 提高可靠性
- 消除冲突
交换机
基本概念:每个交换机相当于多个网桥;具有多个端口
分类
直通式交换机
- 特点:检查完目的地址立刻转发;延迟小,可靠性低,不支持具有不同速率的端口的交换
存储转发式交换机
特点:帧被放入高速缓存中,并检查是否正确,如果错误直接丢弃;延迟大,可靠性高,支持不同速率的端口
交换
特点:独占传输媒体带宽
交换机如果具有 30 Mb/s 带宽;每个端口上的主机同样会有 30Mb/s 带宽;
集线器如果具有 30 Mb/s 带宽;每个端口上的主机只会有 30 / N Mb/s 带宽;
冲突域:网络中同一时间只能够有一台设备发送帧
广播域:网络中能够接收任一设备发送的广播帧的所有设备集合