diff --git "a/07\345\207\241\345\205\211\344\271\220/20250320 \346\225\260\346\215\256\351\223\276\350\267\257\345\261\202.md" "b/07\345\207\241\345\205\211\344\271\220/20250320 \346\225\260\346\215\256\351\223\276\350\267\257\345\261\202.md" new file mode 100644 index 0000000000000000000000000000000000000000..cd3b29e4b916c2f8432a13cfb3e746c54b0bdfef --- /dev/null +++ "b/07\345\207\241\345\205\211\344\271\220/20250320 \346\225\260\346\215\256\351\223\276\350\267\257\345\261\202.md" @@ -0,0 +1,348 @@ +## 课堂笔记 + +## 一、数据链路层 + +[一文详细理解计算机网络 - 数据链路层(考试和面试必备)-阿里云开发者社区](https://developer.aliyun.com/article/1611558) + +### (一)、数据链路层概述 + +数据链路层:是计算机体系结构中的其中一层,在数据链路层中使用的信道可以分为两种: + +1、点对点信道:一对一的通信方式 + +2、广播信道:一对多的通信方式 + +![](E:\数据链路层方式.webp) + +从整个互联网来看,局域网属于数据链路层的范围,因此,在数据链路层中探讨的问题主要以局域网作为研究对象。 + +### (二)、数据链路和帧的概念 + +#### 1、链路的概念 + +链路是一条无源的点到点的物理线路段,中间没有任何其他的交换节点,一条链路只是一条通路的一个组成部分,通常也称作物理链路。 + +### 2、数据链路的概念 + +除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上(使用适配器——网卡来实现这些协议的硬件和软件,一般的适配器都包括了数据链路层和物理层这两层的功能),就构成了数据链路,通常数据链路也称作逻辑链路。 + +### 3、传输单元帧的概念 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742477228.webp) + +### (三)、数据链路层的基本问题 + +在数据链路层中存在着许多的协议,但这些协议有三个共同的基本问题: +**(1)封装成帧** +**(2)透明传输** +**(3)差错检测** + +**(1)、封装成帧**:封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧(数据的传输单元),首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限),一个帧的长度 = 帧的数据部分长度 + 帧首部长度 + 帧尾部长度,而每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单元MTU + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742477413.webp) + +**(2)、透明传输:**对于封装好的帧,当进行数据传输时,如果数据部分是由可打印的 ASCII 码组成的文本文件时,帧定界可以使用特殊的帧定界符,此时控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始,另一个控制字符 EOT (End Of Transmission) 表示帧的结束。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742477508.webp) + +**(3)、差错检测**:在数据的传输过程中,可能发生比特差错,即二进制流中的1 可能会变成 0, 而 0 也可能变成 1的情况。而在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate),误码率与信噪比有很大的关系。 + +为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施,在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC的检错技术。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742477733.webp) + +**循环冗余检验的原理(CRC)** + +(1)、发送端 + +在发送端,先把数据划分为组。假定每组k个比特。在每组M后面再添加供差错检测用的n位沉余码,然后一起发送出去。在数据后面添加上的冗余码称为帧检验序列FCS,这里FCS = CRC冗余码(不是等于CRC)。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742478046.webp) + +(2)、冗余码计算 + +用二进制的模2运算(异或思想)进行2n乘M的运算,这相当于在 M 后面添加 n 个 0。得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位(生成多项式)的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。将余数 R 作为冗余码拼接在数据 M 后面,一起发送出去。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742478180.webp) + +3)接收方 + +若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。 +若余数 R ≠ 0,则判定这个帧有差错,就丢弃。 +这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 + +##### 奇偶校验码(PCC) + +奇偶校验码是在数据码后附加一个校验位,使构成的码组中“1”的个数为奇数(奇校验)或偶数(偶校验)。接收端收到这组二进制数据后,则校验“1”的个数是否为奇数(偶数),从而确定传输代码的正确性。 + +### (四)、使用点对点信道的数据链路 + +#### 1、PPP协议简介 + +对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议ppp(Point-to-Point Protocol)。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742478310.webp) + +#### 2、PPP协议的组成 + +PPP 协议有三个组成部分: + +(1)一个将 IP 数据报封装到串行链路的方法。 + +(2)链路控制协议 LCP (Link Control Protocol)。 + +(3)网络控制协议 NCP (Network Control Protocol)。 + +#### 3、PPP协议的帧格式 + +PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。 + +标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)。 + +地址字段 A 只置为 0xFF。地址字段实际上并不起作用。 +控制字段 C 通常置为 0x03。 +PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742478521.webp) + +#### 4、PPP协议的透明传输 + +##### (1)、字符填充 + +当PPP协议使用异步传输(字符内同步,字符间异步)时,在透明传输问题上使用字节填充方法。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742478601.webp) + +##### (2)、零比特填充(零比特插入法) + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742478972.webp) + +#### 5、PPP协议的工作状态 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742479038.webp) + +### (五)、使用广播信道的数据链路层 + +#### 1、局域网的概念 + +局域网是一个单位所拥有的网络,在地理范围和站点数目上均有限。局域网具有广播功能,从一个站点可以很方便地访问全网,局域网上的主机可共享连接在局域网上的各种硬件和软件资源。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742479153.webp) + + + +**局域网的网络拓扑:** + +在局域网上使用一对多的广播通信方式(即共享信道的方式)存在这样的问题,若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败。因此,为了避免发生冲突,在技术上具体的实现方式可分为两种: + +**(1)静态划分信道** + +频分复用 +时分复用 +波分复用 +码分复用 +**(2)动态媒体接入控制(多点接入)** + +随机接入 +受控接入(轮询) +由于静态划分信道的成本代价较高,因此不适合局域网,而目前使用较多的技术方式主要是随机接入。 + +#### 2、局域网实例——以太网 + +##### (1)、以太网的两个标准 + +**DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。** + +**IEEE 802.3 是第一个 IEEE 的以太网标准。** + +**其中,IEEE 802.3将局域网的数据链路层拆成两个子层,分别是逻辑链路控制 LLC (Logical Link Control)子层和媒体接入控制 MAC (Medium Access Control)子层。** + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742479400.webp) + +由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了,很多厂商生产的适配器上就仅装有 MAC 协议而没有 LLC 协议。 + +##### (2)、数据链路层的两个子层 + +为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成两个子层: + +**逻辑链路控制 LLC** (Logical Link Control)子层 VLAN + +**媒体接入控制 MAC** (Medium Access Control)子层 MAC + +与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关 + +不管采用何种协议的局域网,对 LLC 子层来说都是透明的。 + +#### 3、适配器的作用 + +网络接口板又称为通信适配器 (adapter) 或网络接口卡 NIC (Network Interface Card),或“网卡”,适配器所实现的功能包括了数据链路层和物理层两个层次,具体重要功能如下: + +(1)进行串行/并行转换(主机内并行,网络中串行) + +(2)对数据进行缓存(数据率不匹配,需要缓存) + +(3)在计算机的操作系统安装设备驱动程序 + +(4)实现以太网协议 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742479663.webp) + +### (六)、使用集线器的星形拓扑 + +1、传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。 + +2、采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器 (hub)。 + +3、传统以太网使用同轴电缆,采用总线形拓扑结构 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742479923.png) + +使用集线器的双绞线以太网 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742479955.png) + +集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。 + +### (七)、以太网的 MAC 层 + +#### 1、MAC层的硬件地址 + +IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2 字节 ( 16 位) 这两种中的一种 + +IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符 + +地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,**必须保证生产出的适配器没有重复地址** + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480073.png) + +#### 2、适配器检查MAC + +所有的适配器都至少能够识别前两种帧,即能够识别**单播地址和广播地址** + +以混杂方式 (promiscuous mode) 工作的以太网适配器只要**“听到”有帧在以太网上传输就都接收下来** + +#### 3、MAC帧的格式 + +常用的以太网 MAC 帧格式有两种标准,一种是DIX Ethernet V2 标准,另一种是IEEE 的 802.3 标准,最常用的 MAC 帧是以太网 V2 的格式。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480151.webp) + +### (八)、扩展的以太网 + +#### 1、使用光纤扩展 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480214.webp) + +#### 2、使用集线器扩展 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480261.webp) + +**优点**: +使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信 +扩大了以太网覆盖的地理范围。 + +**缺点:** +碰撞域增大了,但总的吞吐量并未提高。 +如果不同的碰撞域使用不同的数据率,则不能用集线器将它们互连起来。 + +#### 3、在数据链路层扩展 + +##### (1)、使用网桥扩展 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480498.webp) + +网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发和过滤,当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃。 + +##### (2)、使用交换机扩展 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480540.webp) + +**优点** + +- 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信 +- 扩大了以太网覆盖的地理范围 + +**缺点** + +- 碰撞域增大了,但总的吞吐量并未提高 +- 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来 + +**补充** + +- 碰撞域(collision domain)又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络 碰撞域越大,发生碰撞的概率越高 + +**以太网交换机的交换方式** + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480606.webp) + +**以太网交换机的自学习功能** + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480625.webp) + +##### (3)、虚拟局域网 + +虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。 + +每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480677.webp) + +**虚拟局域网使用的以太网帧格式** + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250320_1742480694.webp) + +**虚拟局域网(VLAN)技术具有以下主要优点:** + +改善了性能 + +简化了管理 + +降低了成本 + +改善了安全性 + +### 作业 + +**1、书本:58,85** + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250321_1742522745.jpg) + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250321_1742522764.jpg) + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250321_1742522780.jpg) + +**2、搞明白 VLAN 是什么** + +VLAN(即虚拟局域网)是一种逻辑网络,允许连接到物理上不同 LAN 的设备进行通信。 VLAN 可以在单个交换机上或跨多个控制器创建,并根据端口、MAC 地址或协议进行配置。 VLAN 提供网络分段、提高安全性并增强网络性能。 + +**3、查交换机长什么样,有什么用。工作原理。** + +**(1)、概念:**交换机是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250321_1742523019.png) + +交换机工作于OSI参考模型的第二层,即[数据链路层](https://so.csdn.net/so/search?q=数据链路层&spm=1001.2101.3001.7020)。交换机拥有一条高带宽的背部总线和内部交换矩阵,在同一时刻可进行多个端口对之间的数据传输。交换机的传输模式有全双工,半双工,全双工/半双工自适应。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250321_1742522987.png) + +**(2)、交换机的工作原理:** + +1、交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。 + +2、交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。 + +3、如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。 + +4、广播帧和组播帧向所有的端口转发。 + +**(3)、交换机的功能与作用** : + +**a、转发数据帧:**当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口。消除回路 当交换机包括一个冗余回路时,以交换机通过生成树协议避免回路的产生,同时允许存在后备路径。 + +**b、连接不同网络:**交换机除了能够连接同种类型的网络之外,还可以在不同类型的网络之间起到互连作用。 + +**c、划分局域网:**交换机可以像网桥那样,将局域网分为多个冲突域,每个冲突域都是有独立的宽带,因此大大提高了局域网的带宽。 + +![](https://gitee.com/fan-guangle/picture-warehouse/raw/master/img/upgit_20250321_1742523244.png) + +交换机通常用在大的局域网内,并且搭配路由器使用,而家庭的网络布局,通常一个小路由器就能搞定,没必要再搭配交换机,因此大家通常是只听说过交换机,而很少见到交换机。