计算机网络(第三章 数据链路层)
这里写目录标题
- 计算机网络(第三章 数据链路层)
- 一、概述
- 二、使用点对点信道的数据链路层
- 三、使用广播信道的数据链路层
一、概述
1. 基本概念
- 链路(物理链路):网络中两个结点之间的物理通道
- 数据链路(逻辑链路):把实现控制数据传输协议的硬件及软件加到链路上就构成数据链路
最常用的方法:网络适配器(网卡)来实现这些协议的硬件和软件
- 帧 – 数据链路层协议传输的数据单位
2. 作用及功能
-
作用:在相邻节点间无差错传输数据帧
-
功能:
(1)链路管理:数据链路的建立、维护、释放
(2)帧同步:接收方应从收到的比特流中正确判断帧的开始与结束
(3)组帧:使发送方和接收方能够在数据流中识别出单个消息或数据单元的开始和结束位置,而将数据组织成特定格式的过程
(4)流量控制:控制发送方的数据发送速度,使得接收方来得及接收,以致网络不发生拥塞
(5)差错控制:发现传输中出现的错误
(6)透明传输:采取适当措施,使接收方不至于把数据误认为是控制信息
(7)寻址:收发双方应知道对方是谁
3. 组帧方法
(1)字符计数法
- 帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数
- 若第一个字节发生错误,导致后面所有帧全部发生错误
(2)字符填充法
- 当错误的找到了帧的边界,使用字符填充
- 在控制信息字符前加入转义字符,意在高速接收端,不用管转义字符后的数据是什么,正常接收,直到遇到真正的结束字符
(3)零比特填充法
(4)违规编码法
- 使用编码中不会用到的方式
总结:由于字节计数法中Count字段的脆弱性及字符填充实现的复杂和不确定性,目前普遍使用的是比特填充法和违规编码法
4. 三个基本问题
(1)封装成帧
- 在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限
- eg:使用控制字符进行帧定界
(2)透明传输
- 透明传输指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西
- 解决方法:字节填充法
(3)差错检测
5. 可靠传输和不可靠传输
Tips:可靠传输三种协议
<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="n4ZeIfmp-1727194749853" src="https://player.bilibili.com/player.html?aid=64605483&page=25"></iframe>3.4.2 可靠传输的实现机制 — 停止-等待协议
二、使用点对点信道的数据链路层
1.通信主要步骤
- 发送方A数据链路层将网络层交下来的IP数据报添加首部和尾部封装成帧
- 发送方A将封装好的帧发送给结点B的数据链路层
- 接收方B收到的帧无错,则从帧中提取出IP数据报转交给网络层;若有错,则丢弃该帧
2. 三个基本问题
- 封装成帧
- 透明传输(用字节填充法解决)
- 差错检测(用循环冗余检验 CRC)
3. 点对点协议 PPP
(1)点对点协议的特点
- PPP协议应满足的需求:
- PPP协议不需要的功能:
- PPP协议的组成:
(1)一个将 IP 数据报封装到串行链路的方法
(2)链路控制协议 LCP
(3)网络控制协议 NCP
(2)PPP协议帧格式
- 各字段意义
- 透明传输问题:
(3)PPP协议的工作状态
三、使用广播信道的数据链路层
1. 局域网的数据链路层结构
- 局域网技术不仅仅与数据链路层有关
2. 数据链路的两个子层
- 逻辑链路控制 LLC
与传输媒体无关 - 媒体接入控制(介质访问控制) MAC
与接入到传输媒体有关的内容都放在 MAC 子层
3. 介质访问技术(MAC)
(1)静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
Tips:
- 预先固定分配好信道,不灵活,代价较高
- 通常在无线网络的物理层中使用,而不是在数据链路层
(2)动态接入控制
4. 以太网
(1)以太网的两个标准
- DIX Ethernet V2
·世界上第一个局域网产品(以太网)的规约
·以太网V2标准通常指的是IEEE 802.3标准的早期版
- IEEE 802.3
·第一个 IEEE 的以太网标准
·该标准涵盖了多种以太网技术:
传统的以太网(10 Mbps)、快速以太网(100 Mbps)、千兆以太网(1 Gbps)、更高速度的以太网(如10 Gbps、40 Gbps和100 Gbps等)
IEEE 802.3涵盖了更广泛的物理层和MAC层的规范,
以太网V2则更加专注于具体的帧格式和高层协议的支持
(2)为了通信简便,以太网的两种重要措施
- 采用较为灵活的无连接工作方式
- 不必先建立连接就可以直接发送数据
- 对发送的数据帧不进行编号,也不要求对方发回确认。
- 这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。
- 以太网提供的服务是不可靠服务
- Tips:无连接方式 ≠ 无线
- 以太网发送的数据都使用曼彻斯特编码
(3)解决随机接入 网络碰撞的协议 CSMA/CD
Tips:以太网、以太网的两种举措、CAMA / CD
- CSMA/CD协议 ?
CSMA/CD 是一种介质访问控制(MAC)协议,用于在共享介质的局域网(LAN)中协调多台设备的通信。处理共享介质网络中的数据碰撞问题。- CSMA/CD协议 & 以太网 ?
· 以太网是一种广泛使用的局域网技术,而CSMA/CD协议是早期以太网中常用的介质访问控制协议之一。
·在早期的共享介质以太网中,所有的设备都连接在一个共享的通信介质上(如同轴电缆或双绞线),这意味着如果多个设备同时发送数据,就可能发生数据碰撞。为了处理这种情况,CSMA/CD协议被设计出来,以确保数据能够可靠地传输,并尽量减少数据碰撞带来的影响。
- 以太网采用无连接工作方式,允许设备随时发送数据,而CSMA/CD协议则通过载波监听和冲突检测机制来确保数据能够可靠地传输。
- 早期以太网使用曼彻斯特编码来提供数据传输的自同步功能,与CSMA/CD协议相结合,共同保证了数据传输的可靠性和效率。
(4)以太网 CSMA / CD 协议 – 信道利用率
(5)以太网 MAC 帧 两种主要的格式
- 以太网 V2 标准
- 类型字段用来标志 上一层 使用的是什么协议
- 数据字段:MAC 客户数据字段
- 最小长度字节 - 18 字节的首部和尾部 = 数据字段的最小长度(46 字节)
- 为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节
- IEEE 802.3 标准
与以太网 V2 标准的区别
- 头部结构:IEEE 802.3在类型字段之后添加了LLC和SNAP字段。
- 类型字段功能:在以太网V2中,该字段仅用于标识高层协议类型;而在IEEE 802.3中,该字段可以用来标识数据长度或者高层协议类型。
- LLC/SNAP字段:这些字段提供了对高层协议的进一步识别和支持,而以太网V2没有这些字段。
(6)以太网的 MAC 层
- MAC 层硬件地址
- MAC 层帧格式
- b0 位(I/G 位): 0(单播);1(多播)
- b1 位(G/L 位): 0(全球管理);1(本地管理)
- 发送顺序:
·字节发送顺序:第一字节 -> 第六字节
·字节内比特发送顺序:b0 -> … -> b7
Tips:单播、广播、多播、适配器
适配器(网络接口卡 NIC):计算机与外界局域网的连接,通过通信适配器进行
- 进行串行/并行转换
适配器和局域网通过电缆或双绞线串行传输;适配器和计算机通过计算机主板I/O总线并行传输- 对数据进行缓存
网络上的数据率和计算机总线上的数据率不相同- 在计算机操作系统安装设备驱动程序
- 实现以太网协议
Tips:MAC 地址、IP 地址、ARP协议
- IP地址(属于网络层)
IP地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识两部分信息:
- 网络编号:标识因特网上数以百计的网络
- 主机编号:标识同一网络上不同主机(或路由器各接口)
MAC 地址不具备区分不同网络的功能
- 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)。
- 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用。
地址解析协议 ARP
- 每台主机上都会有 ARP 高速缓存表
类型:- 动态:自动获取,生命周期默认为两分钟,生命周期结束,记录自动删除(IP 地址与 MAC 地址对应关系不是永久的)
- 静态:手工设置,不同操作系统下的生命周期不同
ARP 协议只能在一段链路/一个网络上使用,不能跨网络使用
(7)使用集线器的星型拓扑(双绞线以太网)
- 在逻辑上仍然是总线网,各站共享资源,各站中的适配器使用 CSMA / CD协议
- 集线器有很多接口(8-16个),像多接口转发器
- 集线器只工作在物理层,他的每个接口仅简单地转发比特,不进行碰撞检测(由各站的网卡检测)
- 集线器一般都有少量的容错能力和网络管理功能。(例如,若网络中某个网卡出了故障,不停地发送帧。此时,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网仍然能正常工作)
Tips:命名规则
- 速度 + Base(基带信号,数字信号) +介质信息
- 10Base5 : 10Mbps,粗同轴电缆,总线结构
- 10Base2 : 10Mbps,细同轴电缆,总线结构
- 10BaseT* :10Mbps,双绞线。星行结构。*可以是其他信息
(8)扩展的以太网
?为什么要对以太网进行扩展
适应 更高的带宽、更远的传输距离、更多的连接设备以及更复杂的网络环境
-
用光纤在物理层扩展以太网
-
用集线器 HUB 在物理层扩展以太网
优点:
- 使原来属于不同碰撞域的以太网上的计算机能够进行跨域碰撞的通信
- 扩大了以太网覆盖的地理范围
缺点:
- 碰撞域增大了,但总的吞吐量并未提高
(eg:每一个系的最大吞吐量是 10 Mbit/s,因此,三个系最大吞吐量有 30 Mbit/s,但将这三个系互联连后变成一个碰撞域,最大吞吐量为 10 Mbit/s)- 如果不同的碰撞与使用不同的数据率,那麽就不能用集线器将它们互连起来
(eg:一个系使用 10 Mbit/s 的适配器,那么另外的系也得使用 10 Mbit/s 的适配器才能互连成一个碰撞域)
- 早期使用网桥在数据链路层扩展以太网
网桥 & 交换机异同: - 用交换机 SWITCH 在数据链路层扩展以太网
以太网交换机的交换方式:
- 存储转发:先接收完整的数据帧,然后检查其完整性(如CRC校验),只有在确认帧没有错误的情况下才会将其转发到正确的目的端口。
- 直通方式:
交换机在接收到帧的第一个字节后就开始检查目的MAC地址,并立即准备将帧转发到相应的端口。
缺点: 延迟较低,但由于帧尚未完全到达就进行转发,可能导致错误帧被传播出去。
- 无碎片方式:交换机会先接收帧的前64字节(即最小有效帧长度),然后再决定是否继续转发。
(9)以太网交换机
以太网交换机自学习和转发帧的流程
- 以太网是一种即插即用的设备,其内部的帧交换表(地址表)是通过自学习算法逐渐建立起来的
![在这里插入
·A给B发送帧,A从1接口进入,首先进行登记(自学习),然后转发,帧交换表中没有 B 的 MAC 地址,然后广播式的盲目转发,主机 B的网卡收到该帧,根据 目的MAC 地址知道是发给自己的,于是接受该帧;
· 交换机 2 首先进行登记,然后转发
- !每条记录都有自己的有效时间,到期自动删除(接口连接的主机 和 网卡 会更换)
以太网交换机生成树协议 STP
?如何提高以太网可靠性
增加冗余链路(主链故障、分散流量…)
?为什么使用生成树协议
冗余链路负面影响 – 形成网络环路(产生广播风暴)
- 物理上不切断连接,不改变网络实际拓扑
- 逻辑上切断某些链路,形成树形(无逻辑环路)
(10) 虚拟局域网 VLAN
- 一种将局域网内的设备划分成与物理位置无关的逻辑技术,这些逻辑组具有某些共同的需求
- 实质:局域网给用户提供的一种服务,并不是新型局域网
同一个 VLAN 可以广播通信,不同的 VLAN 不能广播通信
-
划分
基于交换机接口划分
基于 MAC 地址划分
基于协议类型划分
基于 IP 子网划分
基于高层服务划分 -
实现机制
-
基于接口的 VLAN技术
- Access端口:
(1)一般用于连接用户计算机
(2)只能属于一个 VLAN
(3)端口的 PVID 值与端口所属 VLAN 的 ID 相同(默认为1)
(4)接收处理方法:
一般只接受“未打标签”的普通以太网 MAC 帧
根据接收帧的端口 PVID 给帧“打标签”
(5)发送处理方法:
若帧中的 VID 与端口 PVID 相等,则“去标签”,并转发,否则不转发
- Trunk 端口:
(1)一般用于交换机之间或交换机与路由器之间
(2)可以属于多个 VLAN
(3)用户可以设置 Trunk 端口的 PVID 值。默认为1
(4)发送处理方法:
对 VID 等于 PVID 的帧,去标签再转发
对 VID 不等于 PVID 的帧,直接转发
(5)接收方法:
接收未打标签的帧,根据接收帧的端口 PVID 给帧打标签
接收已经打标签的帧
- Hybrid 端口:
(1)既可用于交换机之间或交换机与路由器之间(同 Trunk)也可用于交换机与用户之间(同Access)
(2)可以属于多个 VLAN(同 Trunk)
(3)用户可以设置端口 PVID 值。默认为1(同 Trunk)
(4)发送处理方法:(查看帧的 VID 是否在端口的去标签列表中)
若存在,去标签再转发
若不存在,直接转发
(5)接收处理方法:(同 Trunk)
接收未打标签的帧,根据接收帧的端口 PVID 给帧打标签
接收已经打标签的帧