🌈个人主页: 十二月的猫-CSDN博客
🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客
💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光
目录
[1. 前言](#1. 前言)
[2. 数据链路层](#2. 数据链路层)
[2.1 章节框架](#2.1 章节框架)
[2.2 数据链路层的设计问题](#2.2 数据链路层的设计问题)
[2.3 封装成帧](#2.3 封装成帧)
[2.3.1 帧结构](#2.3.1 帧结构)
[2.3.2 帧定界](#2.3.2 帧定界)
[2. 字符填充法](#2. 字符填充法)
[4. 违规编码法](#4. 违规编码法)
[2.4 差错控制](#2.4 差错控制)
[2.4.1 差错的由来](#2.4.1 差错的由来)
[2.4.2 差错控制的类型](#2.4.2 差错控制的类型)
[2.4.3 差错检测](#2.4.3 差错检测)
[2.4.4 差错纠正(山东大学不考)](#2.4.4 差错纠正(山东大学不考))
[2.5 流量控制与可靠传输](#2.5 流量控制与可靠传输)
[2.5.1 概述](#2.5.1 概述)
[2.5.2 窗口机制](#2.5.2 窗口机制)
[2.5.3 确认与重传机制](#2.5.3 确认与重传机制)
[2.5.4 流量控制与可靠传输中的不同协议](#2.5.4 流量控制与可靠传输中的不同协议)
[1. 停止-等待协议](#1. 停止-等待协议)
[2. 后退N帧协议(GBN)](#2. 后退N帧协议(GBN))
[3. 选择重传协议(SR)](#3. 选择重传协议(SR))
[2.6 介质访问控制](#2.6 介质访问控制)
[2.6.1 静态划分信道(介质访问控制的静态控制)](#2.6.1 静态划分信道(介质访问控制的静态控制))
[1. 频分复用(FDM)](#1. 频分复用(FDM))
[2. 时分复用(TDM)](#2. 时分复用(TDM))
[3. 波分多路复用WDM](#3. 波分多路复用WDM)
[4. 码分多路复用CDM](#4. 码分多路复用CDM)
[2.6.2 动态分配信道](#2.6.2 动态分配信道)
[1. ALOHA协议](#1. ALOHA协议)
[2. CSMA协议](#2. CSMA协议)
[3. CSMA/CD协议](#3. CSMA/CD协议)
[4. CSMA-CA协议](#4. CSMA-CA协议)
[5. 轮询协议](#5. 轮询协议)
[6. 令牌传递协议](#6. 令牌传递协议)
[3. 局域网](#3. 局域网)
[4.1 定义及特点](#4.1 定义及特点)
[4.2 局域网拓扑结构](#4.2 局域网拓扑结构)
[4.3 局域网传输介质](#4.3 局域网传输介质)
[4.4 局域网介质访问控制](#4.4 局域网介质访问控制)
[编辑4.5 局域网的分类](#编辑4.5 局域网的分类)
[4.6 IEEE 802标准](#4.6 IEEE 802标准)
[4.7 MAC子层和LLC子层](#4.7 MAC子层和LLC子层)
[4.8 以太网](#4.8 以太网)
[1. 概述编辑](#1. 概述编辑)
[2. 无连接、不可靠服务](#2. 无连接、不可靠服务)
[3. 以太网传输介质与拓扑结构发展](#3. 以太网传输介质与拓扑结构发展)
[4. 适配器和MAC地址](#4. 适配器和MAC地址)
[4. 广域网](#4. 广域网)
[4.1 概述](#4.1 概述)
[4.2 广域网和局域网的区别](#4.2 广域网和局域网的区别)
[5. 数据链路层设备编辑](#5. 数据链路层设备编辑)
[5.1 集线器(Hub)](#5.1 集线器(Hub))
[5.2 网桥&交换机(Bridge)](#5.2 网桥&交换机(Bridge))
[6. 广播域&冲突域](#6. 广播域&冲突域)
[7. 总结](#7. 总结)
1. 前言
今天是【计算机网络】课程考试前一周时间,趁着计算机网络考试,猫猫来进一步梳理计网这门课程的知识,希望也能给阅读本系列文章的友友们提供一些帮助。
本系列分为两个部分:
- 全面知识梳理
- 特别知识梳理
(全面知识梳理一律加上【第*章】字样,是软件工程所有知识的全面梳理)
(特别知识梳理一律加上 【一篇搞定】字样,仅仅作为特别重要内容的展开延申)
参考书籍🥰:《计算机网络(第5版)》是2012年清华大学出版社出版的图书,作者是Andrew S. Tanenbaum, David J. Wetherall
十二月的猫猫在这里祝愿大家都能在期末考试中取得好成绩,高分拿拿拿!考试过过过!💯
2. 数据链路层
数据链路层是基于物理层不可靠的传输向上层提供可靠的传输,它提供的是相邻两个节点之间可靠的数据传输(点对点的传输)。本章主要涉及网络模型中第二层(即数据链路层)的设计原则。实现通过一条通信信道连接起来的两台机器,实现可靠有效的完整信息块(称为帧)通信的一些算法。解决通信线路中出错的情况、关于有限的数据传输率、发送时间和接受时间存在的非零延迟等问题。
2.1 章节框架
2.2 数据链路层的设计问题
数据链路层使用物理层提供的服务在通信信道上发送和接受比特。完成一些功能:
- 向网络层提供一个定义良好的服务接口。
- 处理传输错误。
- 调节数据流,保证慢速的接收方不会被快速的发送方淹没。
对应的每一个功能有一个名字:
- **为网络层提供服务:**无确认的无连接服务、有确认的无连接服务、有确认的有连接服务
- **差错控制:**接收方主机收到帧后通过检错码和检错算法判断帧在传输过程中是否产生误码
- **流量控制与可靠传输:**调节数据流,保证慢速的接收方不会被快速的发送方淹没
想要完成这些功能,必然要增加头信息(在网络层数据分组上增加控制信息),因此还需要实现:
- **封装成帧:**数据链路层给网络层交付的协议数据单元添加帧头和帧尾
接下来,我们将从上面四个功能逐一展开去学习数据链路层🍉🍉
2.3 封装成帧
封装成帧
的过程就是将网络层的IP数据报(分组)加头加尾,形成链路层的数据传送单元帧
,IP数据报也就成了帧的数据部分。- 封装成帧需要保证在接收端那边能够拆帧
一些概念:
帧同步
: 接收方从接收到的二进制比特流中区分出帧的起始和终止- 组帧: 就是在发送端封装成帧的过程
数据链路层的帧长
: 帧从帧首部到尾部包括中间数据部分的总长度透明传输:
不管所传数据是什么样的比特组合,都能够在链路上传送并且不会引起帧边界判断错误。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
能够拆帧要解决的问题:
- **帧的边界问题:**如何识别帧的边界。
- **帧的透明传输(填充)问题:**如果帧的数据中出现和边界一样的 flag 该如何防止被识别为边界
透明传输是帧定界需要满足的要求
2.3.1 帧结构
记忆:662N4**,帧结构真好记!**
2.3.2 帧定界
概念 :将一段数据的前后部分添加首部和尾部,构成一个帧;接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
- 首部和尾部的标记,就是首部和尾部添加的一个字节,这个字节叫做
帧定界符
,接收端可据此确定帧开始和结束的位置。 - 首部和尾部包含许多的控制信息,其中的帧定界符才实现
帧定界
的作用;还有其他关于差错控制、流量控制、物理地址等信息
帧定界包含在封装成帧里面
满足透明传输的组帧(帧定界)的四种方法:
- 字符计数法
- 字符(节)填充法
- 零比特填充法
- 违规编码法
1. 字符计数法
帧首部使用一个计数字段(第一个字节,8位)来标明帧内字符数。
如果计数字段发生错误,比如从5到4,则第一个帧的结束位发生错误,导致后面所有的帧都发生错误,导致接受方无法正确的接收每一个帧,接受双方失去了同步。
2. 字符填充法
加头SOH,
加尾EOT
(均为一个字节)标记帧的开始与结束,只要协商好,SOH
和EOT
对应的比特组合可以不同。
- 当传送的帧都使由文本文件组成时,都是ASCII,与一个字节的
SOH
和EOT
不会有交集,因此不会与这连个标记重复,可以实现透明传输
- 但当传送的帧由非ASCII码组成时,有可能出现数据内某段比特流数据正好与标记字段重复 ,从而导致误判断的情况,因此要采用
字符填充法实现透明传输
字符填充法: 在数据部分与标记字段重复的字段前加转义字符
,告诉接受端不用管我后面的字段是什么,正常接收即可,直到遇到真正的开始/结束标志
3. 零比特填充法
首部和尾部的标志相同,均是01111110
如果发送端发送一系列一连串的比特时,数据部分也出现了与标志相同的比特组合01111110
,那么怎么实现透明传输呢?这就是零比特填充法
要解决的问题
4. 违规编码法
因特网传输使用的是曼彻斯特编码,回顾一下:
- 曼彻斯特编码:跳零反跳1看中间,中必变
- 差分曼彻斯特编码:跳0不跳1看起点,中必变
- 反向非归零编码:跳0不跳1看起点,中不变
因此,对于因特网的传输,因为曼彻斯特编码不使用高-高
,低-低
来表示数据信息,所以如果使用高-高
,低-低
来表示帧起始和终止就不会与数据冲突
2.4 差错控制
2.4.1 差错的由来
为什么要在数据链路层进行差错控制?
因为错误可以尽早发现,不会让一个错误的数据包发送了很长时间到达最终目的地之后才被发现,从而导致网络资源的浪费
2.4.2 差错控制的类型
数据链路层的差错控制针对的是比特,也就是物理层传输中出现的错误。
差错控制包括两类:
- 差错检测:奇偶效验码、循环冗余码
- 差错纠正:海明码
注意:数据链路层编码和物理层的数据编码与调制不同。
- 物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。
- 而数据链路层的编码针对的是一组比特 ,它通过
冗余码
的技术实现一组二进制比特串在传输过程是否出现了差错
2.4.3 差错检测
推断是否发生错误。适用于高度可靠的信道,错误偶尔发生时,只需重传整个数据块即可。
1. 奇偶校验码
奇校验:保证1的个数为奇数
偶 校验:保证1的个数为偶数
上图中D选项的错误不能检测,由此可见奇偶效验效果并不好
2. 循环冗余码
循环冗余码分为两个步骤:
- 发送端生成冗余码
- 接收端检测错误
发送端生成冗余码:
接收端检测错误:
2.4.4 差错纠正(山东大学不考)
1、确定校验位数r
2、确定校验码和数据的位置
3、求出校验码的值
4、检错并纠错
2.5 流量控制与可靠传输
前面的差错控制保证了物理层的传输是正确的,即比特层面是正确的,但是数据链路层的传输不一定正确,即帧层面不一定是正确的。因此需要可靠传输来保证链路层的传输是正确的。
流量控制是可靠传输的前提,如果没法做到流量控制,那么如果发送端速度远大于接收端,那么就会出现很严重的掉帧现象,可靠传输机制就会不停要求重新处理。因此,流量控制需要被拿出来单独处理。
2.5.1 概述
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
流量控制依靠:窗口机制
可靠传输依靠:确认机制、超时重传机制
通过这三个机制就能够实现流量控制与可靠传输机制🥝~~
2.5.2 窗口机制
在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口。
同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。
特点:
- 在接收方,只有收到的数据帧的序号落入接收窗口内才收下 ,否则丢弃。当接收窗口收到了一个序号正确的帧后会向前滑动一个位置同时向接收方发送确认信息,发送窗口收到确认信息后才能向前滑动一个帧的位置。
- 不同的窗口机制(窗口协议)窗口大小可以不一样。
协议与窗口机制:
- 停止-等待协议(Stop-and-Wait):发送窗口大小=1,接收窗口大小=1。
- 后退N帧协议(Go-Back-N, GBN):发送窗口大小>1,接收窗口大小=1。
- 选择重传协议(Selective Repeat, SR):发送窗口大小>1,接收窗口大小>1。
2.5.3 确认与重传机制
数据链路层的可靠传输通常使用确认 和重传两种机制来完成。
确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复数据帧中(不能忽略发送时延),称为捎带确认。
重传是指接收方出现错误的时候,通知发送方重新发送数据。重传机制也有很多类型,比如超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。给超时计时器设置的超时重传时间RTO 应当仔细选择,一般将RTO设置为略大于收发双方的平均往返时间RTT。还有快速重传是指发送方在接收到多个相同的确认ACK后就知道它的下一帧是出错帧。以及NAK重传机制,即发送否认帧NAK,若某帧出错,就要求发送方重传指定帧。
自动重传请求(Auto Repeat reQuest, ARQ) 通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来的差错的方法之一。传统自动重传请求分为三种,即停止-等待ARQ、后退N帧ARQ、选择重传ARQ。
后两种协议当窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称连续ARQ协议。
2.5.4 流量控制与可靠传输中的不同协议
根据这三个机制设定的不同,流量控制与可靠传输存在不同的协议:
- 停止等待协议
- 后退N帧协议
- 选择重传协议
1. 停止-等待协议
窗口机制: 停止-等待协议的发送窗口和接收窗口大小均为1。
**确认机制:**一发一确认
**重发机制:**超时重发
具体实现细节:
- 确认和超时重传机制。
- 用1bit判定重复帧 :可能会出现接收方确认帧丢失然后发送方超时重传的情况,只需一个1个比特位对发送的帧交替地用0和1来标识,同时对确认帧也进行0和1编号,用来对ACK0是迟到而不是丢失这种情况的处理。
- 为了超时重传和判断重复帧的需要,发送方和接收方都需要设置一个帧缓冲区。
2. 后退N帧协议(GBN)
**窗口机制:**发送窗口>1;接受窗口=1
**确认机制:**累积确认、捎带确认
**重传机制:**快速重传、超时重传
具体实现细节:
- 在后退N帧(GBN)协议中,发送方无须在收到上一个帧的ACK后才能开始发送下一帧,而是可以连续发送帧。发送窗口大于1,接收窗口等于1。
- 后退N帧的含义 :发送方在得知某一帧出错时,不得不重传该出错帧及随后的N个帧。这也反映了接收方只允许按顺序接收帧。当出错率较高时GBN协议也不一定优于停止-等待协议。
- 累积确认 ,为了减少开销GBN协议规定接收方不必每收到一个正确的数据帧就必须发回一个确认帧。可以在自己有数据要发送时才将对以前正确收到的帧加以捎带确认。(比如收到了1、3、5号帧的确认 ,代表5号帧及以前都收到了)
3. 选择重传协议(SR)
**窗口机制:**发送窗口>1;接受窗口>1
**确认机制:**一发一确认、捎带确认
**重传机制:**NAK重传机制
具体实现细节:
- 无累积确认 ,因为要选择出错的那一帧重传,所以每个都要确认。**采用NAK机制重传,**即发送否认帧NAK,若某帧出错,就要求发送方重传指定帧。
- 当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层 ,当接收方仍可以收下来,存放在一个缓存区中,同时要求发送方重新传送出错的那一帧。
- 一旦收到重新传来的帧后,就可以与已存放于缓存区中的其余帧一并按正确的顺序递交高层。缓冲区的数目等于窗口的大小。
协议中窗口大小与窗口编号的关系:
举个例子:
上图接收方正确接收了0、1、2、3、4,于是滑动窗口滑到上图位置。
但接下来0号的确认帧丢失了,发送方重传0号帧,然后滑动窗口中正好有0,于是发生差错。
2.6 介质访问控制
前面提到数据链路层的一个功能:为网络层提供服务
**这个功能就包括:**确认的无连接服务、不确认的无连接服务、确认的有连接服务
有连接意味着两个点直接的传输通道是双方占用的,这样必然会导致信道占用率低;但是无连接意味着信道是所有节点都可以使用的,这也意味着冲突,一旦冲突就代表传输的信息不可以再使用,需要重新发送。因此对于无连接的服务来说,就需要有一套机制去控制节点对介质的访问权限,以防/减少冲突;对于有连接的服务,只要明确连接分配方式即完成介质访问控制。
进入这一部分之前,先来看看几个重要的概念:
- 信道利用率:即信道的效率。指发送方在一个发送周期的时间内,有效地发送数据所需要的时间占整个发送周期的比率。
- 发送周期:发送方从开始发送数据到收到第一个确认帧为止,称为一个发送周期T。
- 信道吞吐量=信道利用率×发送方的发送速率。
现在,正式进入介质访问控制的学习🍓🍓!
1. 概念
**介质访问控制:**分配好每一个介质的访问权。有静态控制和动态控制两种类型。
2. 分类
- 静态划分信道:在用户通信之前,预先将信道按照时间(时隙)/空间(频率)对信道进行划分,使用户在通信过程中不会发生碰撞,不会相互干扰
- 动态分配信道:又叫做动态媒体接入控制/多点接入,信道并不是在用户通信时固定分配给用户,使得用户占用的带宽更大
2.6.1 静态划分信道(介质访问控制的静态控制)
核心技术:信道复用技术
信道划分的实质就是通过分时、分频、分码
等方法把原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道。
1. 频分复用(FDM)
频分复用(Frequency Division Multiplexing, FDM)是指将信道的总频带(整个带宽)划分为多个子频带,每个子频带作为一个子信道,每个用户或信号分配一个独立的子信道进行通信,如下图所示。通过这种方式,不同的信号可以同时在同一介质上进行传输,每个信号在属于自己的频带中进行传输,从而避免了信号之间的干扰。
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带(即 FDM 的所有用户在同样的时间占用不同的带宽资源)。每个子信道分配的频带可不相同,但它们的总和不能超过信道的总频带。在实际应用中,为了防止子信道之间互相干扰,相邻信道间还要加入 "隔离频带" 。
2. 时分复用(TDM)
时分复用(Time Division Multiplexing, TDM)又称同步时分复用,是指将信道的传输时间划分为一段段的等长的时间片,称为 TDM 帧,每个用户在每个 TDM 帧中占用固定序号的时隙,且每个用户所占用的时隙周期性地出现(其周期就是 TDM 的长度),因此 TDM 信号也称为等时(isochronous)信号。如下图所示,所有用户在不同的时间占用同样的信道资源(即频带宽度)。
TDM 帧是一段固定长度的时间。需要注意它与数据链路层的帧不是同一个概念。
因为时分复用是按固定次序给用户分配时隙的,当用户在某段时间暂无数据传输时,其他用户也无法使用这个暂时空闲的线路资源,所以时分复用后的信道利用率不高。下图所示为时分复用可能会造成线路资源的浪费。
因此提出改进的策略------统计时分复用STDM
3. 波分多路复用WDM
4. 码分多路复用CDM
具体可以参考下面这篇文章:
2.6.2 动态分配信道
动态分配信道研究的是不建立连接(不是两个点之间专用)情况下,信道要如何分配使得彼此之间减少/避免冲突。
想要彼此之间减少冲突,方法就是增加对每一个部分的控制,而不是让他们随意发送信号。
增加控制的方法就是协议。
协议有如下几种:
- ALOHA协议:不听就说
- CSMA协议:先听再说
- CSMA/CD协议:先听再说,边说边听
1. ALOHA协议
纯ALOHA:
冲突概率很高,因为想要就发过于随意了
时隙ALOHA协议:
只能在时间片开始发送,限制发送的随意性
2. CSMA协议
CSMA分为:
- 1-坚持CSMA
- 非坚持CSMA
- p-坚持CSMA
**坚持:**指信道忙要如何处理
p坚持CSMA: 真实是p概率 1坚持CSMA
1-坚持CSMA
非坚持CSMA
p-坚持CSMA
总结
对于以上三种CSMA,它们的冲突检测方案只能在发送完整段数据帧之后,是否收到来自接收方的确认帧来判断是否发生冲突,如果没有收到来自接收方的确认帧,发送方就会判定发生冲突,因此之前发送的数据帧完全浪费。
3. CSMA/CD协议
CSMA-CD和CSMA的区别就在于:前者边发边听,后者仅仅发之前听
既然是边发边听,那我们就不禁要问,那我们要听多久?也就是要发多久?发0.00000001ms也就是听0.00000001ms可以吗?
显然不行,我们听完可能信号还没从A到B,听后仍然可能出现冲突,此时我们就解决不了了。
因此,接下去要考虑 传播时延 的影响,这也就引出 最小帧长 的概念
传播时延
最小帧长
- 如果发送了一个很小的帧发生了碰撞,但是由于帧太短,帧发送完毕之后才发生了碰撞,此时已经停止检测,也就是说我们不会知道冲突。
- 而CSMA/CD的诞生就是为了能够检测冲突及时重发,因此定义了一个
最小帧长
,希望在发送冲突时,帧仍然没有发送完,也就是仍然在冲突检测当中。 - 上述我们得到,最迟经过2个传播时延,检测到碰撞,因此要求帧的传输时延>=2倍信号在总线中的传播时延,就可以保证检测到碰撞时帧还没有发送完,便可以叫停
4. CSMA-CA协议
为什么要有 CSMA-CA**?**
①两者的传输介质有着本质区别,也正是这种区别,导致 WLAN 存在新的问题:隐藏终端问题和暴露终端问题。
②两者传输范围有区别:WLAN 中,无线电传输范围有限,一个站不能给所有其他站发送帧,也无法接收来自所有其他站的帧;在有线局域网中一个站发出一帧,所有其他站都能接收到。
③信道检测方式不同:WLAN 采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式;以太网通过电缆中电压的变化来检测。
④在 WLAN 中,对某个节点来说,其刚刚发出的信号强度要远高于来自其他节点的信号强度,也就是说它自己的信号会把其他的信号给覆盖掉,但在本节点处有冲突并不意味着在接收节点处就有冲突。
隐藏终端问题
A 给 B 发,但 C 的信号接收覆盖范围没法覆盖到 A,导致不知道 A 在给 B 发,误以为 B空闲,一旦发送,则信号会冲突干扰,导致失效。可以看到,问题的关键在于 C 无法知道 B的接收情况,因为之前的监听是在发送方 C 自己这里进行的。这个问题是致命的。
暴露终端问题
B 给 A 发,此时 C 想要发送信号给 D,但 C 监听到介质上有信号传输,则会等待 B 传输结束再进行给 D 的传输,但实际上这种等待是不必要的因为 C 即使发给 D 也不会干扰 A 的接收信号,因为干扰只在接收方端产生,所以这种问题带来了效率的降低,根源还是在于 C不知道接收方 A 的情况,只知道自己附近发送方 B 的情况。但注意并不是致命的,因为还是没有破坏传输。
工作原理·MACA协议
**出现前面问题的根本原因:**只能监听发送方附近的信息,不能监听接收方附件的信息
为了解决之前说的两个问题,即之前的 CSMA 只能监听到发送方附近而不是接收方附近介质情况根本问题,希望能通过协议让接收方也"发言",即通过这次信号让接收方附近的站点也能感受到接收方的存在,从而避免后续的继续发送造成该接收方的冲突。
解决的方案就是发送方先发 RTS,之后接收方回 CTS 信号,并从这个信号中包含这次传输的持续时长信息保证让此时长内接收方附近站点主动静默,从而不会使其受到干扰。
即一个点如果只听到 RTS,没有听到 CTS,说明它在发送方的发送范围内,却不在接收方的发送范围内,则它只要不干扰发送方收 CTS,即可随便发送。解决了暴露终端问题。
一个点如果只要听到 CTS 说明它就在接收方发送范围内,此时它要保持静默到持续时长,直到此次传输结束它再进行发送,否则会干扰接收方接收。解决了隐藏终端问题。
工作原理·CSMA/CA协议
与 MACA 类似,但是将规则改成了听到 RTS 后也停止传输一切东西,直到此次数据传输结束后再进行传输。这样其实是无法解决暴露终端问题的,但由于考虑到暴露终端问题是效率问题而不是致命问题,且处理这个不经常发生的问题需要耗费操作时间,所以就进行了舍弃。
对比CSMA/CD
5. 轮询协议
轮询协议实现介质访问控制是动态控制的一种。
缺点:
- 询问的过程就是发送一个较短的数据帧,如果从属节点较多,就会多次轮询,产生较大的开销
- 对于靠后的主机,会有等待延迟,等待前面的主机轮询结束
- 单点故障,如果主结点宕机,则从属节点都通信不了(实际会有备用主结点)
优点:
- 不会发生冲突,每次只能允许一台主机发送数据,该主机占用全部带宽
6. 令牌传递协议
3. 局域网
4.1 定义及特点
4.2 局域网拓扑结构
4.3 局域网传输介质
4.4 局域网介质访问控制
4.5 局域网的分类
以太网是一种计算机局域网技术,定义了物理层连线、电子信号和介质访问协议等内容
4.6 IEEE 802标准
4.7 MAC子层和LLC子层
4.8 以太网
以太网是使用最广泛的局域网
1. 概述
2. 无连接、不可靠服务
以太网提供无连接、不可靠服务
无连接
: 发送方和接收方之间无"握手过程".不可靠
: 不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责- 以太网只实现无差错接收,不实现可靠传输。
3. 以太网传输介质与拓扑结构发展
4. 适配器和MAC地址
网卡对应的就是MAC地址,每一个机子都有唯一一个网卡,路由器也有
4. 广域网
4.1 概述
注意:
- 交换机是链路层的设备。
- 集线器是物理层的设备。
- 路由器是网络层的设备。
- 上层设备会调用下层设备的功能。
- 交换机的数据交换只能在一个网络中,路由器可以在多个网络中交换。
- 广域网可以由交换机,集线器,还可以有网络层的路由器。
4.2 广域网和局域网的区别
- 广域网覆盖的网络体系结构层次从物理层、链路层到网络层;而局域网仅有物理层和链路层两个层次。
- 局域网多采用逻辑上总线结构的多点接入技术,而广域网通常采用点对点相互连接的全双工或者半双工的通信模式。
- 广域网的传输速率比局域网高,但是传播延迟更长。
了解:****
点对点协议PPP
( Point-to- Point protocol) 是目前使用最广泛的广域网当中的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。
5. 数据链路层设备
5.1 集线器(Hub)
物理层拓展使用的器件
由于集线器是逻辑总线型,因此当机器变多时,冲突的概率会变得很大很大。
5.2 网桥&交换机(Bridge)
为了解决主干集线器方式的冲突大,出现了网桥(交换机的前身)&交换机
交换机功能原理:
- 开始转发表为空。
- 每次要转发时如果转发表中没有该记录,则记录下发送者的地址与接口(为了后面使用),然后广播帧。
- 如果转发表中有该记录,则直接使用即可,点对点传输。
交换机的动作:
- 写入:转发表中有没有
- 转发:目的LAN未知则广播,目的LAN已知则有目的转发
例题:
下图表示有六个站点分别连接在三个局域网上,并且用网桥B1和B2连接起来。每一个网桥都有两个接口(1和2)。在一开始,两个网桥中的转发表都是空的。以后有以下各站向其他的站发送了数据帧:B发送给A,E发送给D,C发送给E,A发送给B,F发送给E。试把有关数据填写在表中。
解答:
随着技术发展,网桥的接口越来越多,网桥就变成了以太网交换机
核心点:
- 交换机就是有很多接口的网桥。
- 集线器的带宽是平均分的,交换机的带宽是可以被一个接口独占的。
以太网交换机的两种交换方式:
6. 广播域&冲突域
7. 总结
本文到这里就结束啦~~
目前已完成:
期待您的关注~~🥰🥰
猫猫陪你永远在路上💪💪
如果觉得对你有帮助,辛苦友友点个赞哦~