IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> [计算机网络][内容梳理]三、数据链路层 -> 正文阅读

[网络协议][计算机网络][内容梳理]三、数据链路层

要点

  • 数据链路侧鞥的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点。
  • 数据链路层的三个基本问题:封装成帧、透明传输和差错检测
  • 以太网MAC层的硬件地址
  • 适配器、转发器、集线器、王琼啊、以太网交换机的作用以及使用场景。

数据链路层的几个共同问题

数据链路和帧

链路:从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。

链路是一条路径的组成部分,计算机间的通信往往要经过多段链路。

数据链路:把实现一些必要的协议的硬件和软件加到链路上,就构成了数据链路。(最常用的方法是使用网络适配器

网络适配器既有硬件,也有软件,一般实现了数据链路层和物理层两层功能。

:点对点信道的数据链路层的协议数据单元。

三个基本问题

  1. 封装成帧
  2. 透明传输
  3. 差错检测

1. 封装成帧

在一段数据的前后分别添加首部和尾部。是的接收端在收到物理层上交的比特流后,能够根据首部和尾部标记,从收到的比特流中识别帧的开始和结束。

帧 的 长 度 = 帧 的 数 据 部 分 长 度 + 帧 首 部 长 度 + 帧 尾 部 长 度 帧的长度 = 帧的数据部分长度 + 帧首部长度 + 帧尾部长度 =++

首部和尾部的作用是进行帧定界
每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传输单元MTU

帧首部SOH:十六进制编码为01
帧尾部EOT:十六进制编码为04

封装成帧能够识别出不完整的帧。

2. 透明传输

透明:某一个实际存在的事物看起来却好像不存在一样。

为了解决透明传输问题,就必须设法使数据中可能出现的控制字符“SOH”和"EOT"在接收端不被解释为控制字符。

字节填充(或字符填充):在数据部分出现的SOH和EOT前面插入一个转义字符ESC(十六进制编码为1B)。而在接受短的数据链路层删除插入的转义字符。

3. 差错检测

比特差错:比特在传输过程中可能会产生差错,1可能变成0,0可能变成1。

误码率BER:字啊一段时间内,传输错误的比特占传输比特总数的比率。

误码率与信噪比有很大关系。

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测。

循环冗余检验CRC
  1. 发送端把数据分组,每组kbit
  2. CRC运算求出n位的冗余码(帧检验序列FCS)
  3. 将冗余码添加到数据后面
  4. 发送帧(k + n位)

n位冗余码可以用模2运算
如果在传输过程中无差错,那么经过CRC检验后得出的余数R肯定是0

在数据链路层,发送端帧检验序列FCS的生成和接收端的CRC检验都是用硬件完成的,处理很迅速,因此并不会延误数据的传输。

凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。

点对点协议PPP

PPP协议是用户计算机和ISP进行通信时所使用的数据链路层协议。

特点:

  1. 简单:首要要求
  2. 封装成帧
  3. 透明性
  4. 多种网络层协议:能够在同一条物理链路上同事支持多种网络层协议
  5. 多种类型链路
  6. 差错检测
  7. 检测连接状态:及时自动检测出链路是否处于正常工作状态
  8. 最大传送单元
  9. 网络层地址协商:提供一种机制使通信的两个网络层的实体能够通过协商知道哦啊或能够配置彼此的网络层地址
  10. 数据压缩协商

PPP协议的组成

  1. 一个将IP数据报封装到串行链路的方法
  2. 链路控制协议LCP:用来建立、配置和测试数据链路连接
  3. 网络控制协议NCP

PPP协议的帧格式

1. 各字段的意义

PPP帧的首部和尾部分别为四个字段和两个字段。
首部第一个字段和尾部的第二个字段都是标志字段。规定为0x7E。
是首部中第2个字段规定为0xFF,第三个字段规定为0x03.至今没有给出定义(没有携带PPP帧的信息)

2. 字节填充

异步传输时使用字节填充。
采取措施使信息部分和标志字段一样的比特组合不出现。

  1. 把信息字段中出现的每一个0x7E字节转变为2字节序列0x7D 0x5E
  2. 若信息字段中出现0x7D字节,则转为2字节序列0x7D,0x5D
  3. 若信息字段出现ASCII码控制字符(即数值小于0x20的字符),则在该字符前加0x7D,同事将该字符的编码加以改变。

3. 零比特填充

同步传输时使用零比特填充。

在发送端,先扫描真个信息字段,只要发现有5个连续1,则立即填入一个0。
接收端,发现5个连续1,则把后一个0删除掉。

PPP协议的工作状态

当用户通信完毕时,网络控制协议NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。

物理层连接建立
LCP配置协商
鉴别成功或无须鉴别
NCP配置协商
链路禁止
链路建立
鉴别
网络层协议
链路打开

LCP配置协商,即发送LCP的配置请求帧。链路的另一端可以发送一下几种响应的一种:

  1. 配置确认帧:所有选项都接受
  2. 配置否定帧:所有选项都理解但不能接受
  3. 配置拒绝帧:选项有的无法识别后不能接受,需要协商

使用广播信道的数据链路层

广播信道可以进行一对多的通信。

局域网的数据链路层

局域网的主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限。

局域网的优点:

  1. 具有广播功能
  2. 便于系统的扩展和逐渐地演变
  3. 提高系统的可靠性、可用性和生存性

按网络拓扑进行分类:

  • 星型图
  • 环形图
  • 总线图

星型以太网以及多级星型结构的以太网获得了非常广泛的应用。

局域网工作的层次跨越了数据链路层和物理层。

共享信道要着重考虑的一个问题是如何使众多用户能够合理而方便地共享通信媒体资源。

  1. 静态划分信道:不太适合用于局域网
  2. 动态媒体接入控制(多点接入):信道并非在用户通信时固定分配给用户
    • 随机接入:所有用户随机发送信息。(如多个用户同时发送信息,会产生碰撞(需要解决碰撞的协议))
    • 受控接入:服从一定控制发送信息(局域网中不常用)

适配器的使用

计算机与外界局域网的连接是通过适配器

这种适配器即是网络接口卡NIC

计算机的硬件地址就在适配器的ROM中,而计算机的软件地址——IP地址,则在计算机的存储器中。

CSMA/CD协议

为了通信方便,以太网采取以下两种措施:

  1. 采用较灵活的无连接工作方式。适配器对发送的数据帧不进行编号,也不要求对方发回确认。
  2. 使用曼彻斯特编码的信号

CSMA/CD协议要点

  1. 多点接入:总线型网络,计算机以多点介入方式连接在总线上
  2. 载波监听:即“边发送边监听”。不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道
  3. 碰撞检测:适配器边发送数据边检测信道上的信号电压的变化情况。当电压变化超过一定门限值时,表明产生碰撞。

电磁波在1km电缆的传播时延为5us

单程端到端传播时延记为τ。A发送数据,最迟经过两倍的总线端到端的传播时延(2τ)。

使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双工交替通信(半双工通信)

每一个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的时间。

发送的不确定性:以太网不能保证在检测到信道空闲后的某一段时间内,i但能够把自己的数据帧成功地发送出去。

争用期(碰撞窗口):以太网端到端往返时间2τ。
经过争用期没有检测到碰撞,才能肯定此次发送不会有碰撞。

碰撞处理

以太网使用截取二进制指数退避算法来确定碰撞后的重传时机。

若连续多次发生碰撞,就表明可能有较多的站参与争用信道。但使用退避算法是重传需要推迟的平均时间随重传次数而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。

为了防止较短的帧在发送端发送结束后发生碰撞,规定最短帧长64字节(512比特,不足时填充字节),使得碰撞一定只发生在帧发送时。因此凡长度小雨64字节的帧都是由于冲突而异常中止的无效帧。

强化碰撞:当发送数据的站一旦发现发生了碰撞时,除立即停止发送数据外,还要再继续发送32比特或48比特人为干扰信号,以便让所有用户知道现在已经发生冲突。

帧最小间隔:以太网规定帧最小间隔为9.6us,以便接收站来得及清理缓存。

流程图如下

未发生冲突
争用期发生冲突
准备发送
检测信道
空闲
繁忙
载波监听
成功
失败
指数逼退算法

使用集线器的星型拓扑

集线器:在采用星型拓扑的以太网的中心一个可靠性非常高的设备。

集线器的特点:

  1. 使用集线器的以太网在逻辑上仍是一个总线网。各站共享逻辑上的总线,使用的还是CSMA/CD协议。
  2. 一个集线器有许多个端口
  3. 集线器工作在物理层:只进行转发,不做碰撞检测。

以太网的MAC层

  1. MAC层的硬件地址
    硬件地址又称为物理地址,MAC地址,长度为48位。是局域网中的每一台计算机中固化在适配器的ROM中地址。
  • MAC地址高24位:组织唯一标识符OUI,由注册管理机构RA分配
  • MAC地址低24位:有厂家自行指派

适配器有过滤功能。当适配器从网络上每收到一个MAC帧就先用硬件检查MA
帧中的目的地址。如果是发往本地的帧则收下,否则丢弃。
发往本站的帧包括三种:

  1. 单播帧:一对一
  2. 广播帧:一对全体
  3. 多播帧:一对多

所有适配器至少应当能够识别前两种。

MAC 帧的格式

以太网V2的MAC帧由五个字段组成。前两个字段分别为6字节长的目的地址和源地址字段。
MAC帧格式
类型字段:标志上一层使用的是什么协议。

IEEE802.3标准规定凡出现一下情况之一,即为无效MAC帧

  1. 帧的长度不是整数个字节
  2. 用收到的帧检验序列FCS查出有差错
  3. 数据字段长度不再46~1500字节之间。(即有效MAC帧长度为64~1518字节之间)

扩展的以太网

在物理层上扩展以太网

扩展主机和集线器之间的距离的一种简单方法就是使用光纤和一堆光纤调制解调器。

使用多个集线器,可以连接成覆盖更大范围的多级星型结构的以太网。

好处:

  1. 使不同网络的计算机能够进行通信
  2. 扩大以太网覆盖的地理范围

在数据链路层扩展以太网

在数据链路层扩展以太网更常用。

最初使用网桥进行扩展。

网桥对收到的帧根据其MAC帧的目的地址进行转发过滤

交换式集线器(常称为以太网交换机第二层交换机)淘汰了网桥。

以太网交换机特点

  • 实质是多端口的网桥
  • 一般工作在全双工方式
  • 即插即用设备,内部的帧交换表(地址表)通过自学习算法自动建立

交换表是一个内容可寻址存储器CAM

以太网交换机的自学习功能

交换表的两个项目:

  • 目的MAC地址
  • 转发端口

假设A、B、C和D都为MAC地址

从端口1进入交换机
A向B发送一帧
交换机查找交换表
找到
未找到
根据交换表中的端口转发
把A和端口写入交换表
向端口1除外所有端口转发

本文是对《计算机网络(第八版)》谢希仁著的学习总结

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:27:45  更:2022-01-03 16:29:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:49:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码