计算机网络笔记Part3 数据链路层(Data Link Layer)

计算机网络笔记Part3 数据链路层(Data Link Layer)1 基本概念 2 封装成帧

本人计算机网络笔记总目录

1. 基本概念

(补充)链路层编址

1.MAC地址

2.ARP协议(地址解析协议)

3.广播的概念

2. 封装成帧与透明传输

封装成帧就是加将网络数据报加头加尾,相当于将数据打包
透明传输就是为了防止特殊的数据无法正常传输的的情况的发生,比如说在封装成帧的过程中,可能出现数据中的某些标记符与开始/结束标记符恰巧重复的情况,如果不加以处理,那么会导致无法判定帧的开始于结束。
在这里插入图片描述在这里插入图片描述

2.1 透明传输的实现方法

2.1.1 字符计数法

2.1.2 字符填充法

就是加头加尾分别标记开始结束,和零比特填充法(见下)对比,开始和结束的对应的字符不一样
但有可能出现数据内某段比特流数据正好与标记字段重复,从而导致误判断的情况
在这里插入图片描述

解决方法:添加转义字符。即对于那些与标记字符重复的数据流,在它们的前面添加一段转义字符,这样接收方在解析帧时,看到这些转义字符就不会认为那些特殊的数据当成帧的开始/结束了。

在这里插入图片描述

2.1.3 零比特填充法

在这里插入图片描述

2.1.4 违规编码法

因为曼彻斯特编码不使用高-高,低-低来表示,所以如果使用高-高,低-低来表示帧起始和终止就不会与数据冲突
在这里插入图片描述

3. 差错控制

3.1 差错是什么,从哪来的

数据链路层的差错检测的是比特的错误
需要注意的是,即使采用差错检测比特,也还是可能有未检出比特差错的情况。
因此,主要是选择一个差错检测方案,使得这种事件发生的概率很小
在这里插入图片描述


3.2 为什么要在数据链路层进行差错控制?

因为错误可以尽早发现,不会让一个错误的数据包发送了很长时间到达最终目的地之后才被发现,从而导致网络资源的浪费

3.3 检错编码(奇偶校验码,循环冗余码CRC)

3.3.1 奇偶校验码

3.3.2 循环冗余码CRC

3.4 纠错编码(海明码)

分为四步

第一步 确认校验码位数r

在这里插入图片描述

第二步 确定校验码和数据的位置

在这里插入图片描述

第三步 求出校验码的值

第四步 检测并纠错

4. 数据链路层的流量控制和可靠传输

4.1 流量控制与可靠传输

4.1.1 停止等待协议(Stop-and-Wait)

在这里插入图片描述
停止等待协议的无差错情况
注释:因为一次就一个,所以用0和1标记ack(确认序号)就行
在这里插入图片描述
停止等待协议的有差错情况:
使用一个超时计时器,每发一帧就开始计时,设置时间略长于一个RTT(往返时延)。




在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
停止等待协议的特点
1.简单
2.信道利用率低。大部分时间数据都在路上,发送方很长时间闲置,资源浪费
在这里插入图片描述在这里插入图片描述





4.1.2 后退N帧协议(GBN)

4.1.3 选择重传协议(SR)

5. 介质访问控制技术

5.1 信道划分协议

虽然使用一条共享信道,但是通过多路复用技术组合进行传输,提高了信道的利用率

5.1.1 频分多路复用FDM

在这里插入图片描述

5.1.2 时分多路复用TDM

5.1.3 统计时分复用STDM

5.1.4 码分多路复用CDM

5.2 随机接入协议

所有用户都可以随机发送信息,发送时可以占用全部带宽,理论上个人使用时比静态分配信道的速度更快

5.2.1 ALOHA协议

5.2.2 CSMA协议(载波侦听多路访问)

在这里插入图片描述

名称 描述 优点 缺点
1-坚持CSMA 发送信息时监听信道,一空闲下来就立即传输,信道忙也一直监听,如果发送时冲突就等待随机时长之后再监听 立即发送,利用率高 如果多台设备同时监听,那么会发生冲突
非坚持CSMA 发送信息时监听信道,如果空闲就立即传输,信道忙就随机等待一段时间后再监听 冲突发生的几率减少 因为需要等待,所以利用率不高
p-坚持CSMA 发送信息时监听信道,空闲时以概率p进行传输,概率1-p不传输。信道忙就随机等待一段时间后再监听 冲突减少的同时效率也比较高 即使发生冲突也要坚持发送数据,资源被浪费

5.2.3 CSMA/CD协议

概述

5.2.4 CSMA/CA协议

在这里插入图片描述
在这里插入图片描述

5.2.5 CSMA/CD 与 CSMA/CA的区别

在这里插入图片描述

5.3 轮询访问介质访问控制

主要包括两大类,一个是轮询协议,另一个是令牌传递协议

5.3.1 轮询协议

在这里插入图片描述

5.3.2 令牌传递协议

在这里插入图片描述

6.局域网

6.1 局域网的概念

6.1.1 局域网的网络拓扑结构

常用的是总线型拓扑
在这里插入图片描述

6.1.2 局域网的传播介质

局域网 常用介质
有线局域网 双绞线,同轴电缆,光纤
无线局域网 电磁波

6.1.3 局域网介质访问方法

在这里插入图片描述

6.2 局域网的分类

在这里插入图片描述

6.3 IEEE802标准

在这里插入图片描述

6.3.1 IEEE802描述的局域网参考模型

在这里插入图片描述

6.4以太网

6.4.1 以太网概念

在这里插入图片描述
在这里插入图片描述

6.4.2 以太网的发展

在这里插入图片描述

6.4.3 适配器和MAC地址

在这里插入图片描述

6.4.4 以太网MAC帧

在这里插入图片描述

6.4.5 10BASE-T以太网

在这里插入图片描述

6.4.6 高速以太网

在这里插入图片描述

6.5 无线局域网

在这里插入图片描述
在这里插入图片描述

6.5.1 两种无线局域网

在这里插入图片描述
在这里插入图片描述

7.广域网

7.1 广域网的概述

7.2 PPP协议(Point-to-Point Protocol)

PPP协议是目前使用最广泛的数据链路层协议,拨号基本都是PPP协议
PPP协议仅支持全双工链路

7.2.1 PPP协议需要满足的要求

在这里插入图片描述

7.2.2 PPP协议不需要满足的要求

在这里插入图片描述

7.2.3 PPP协议组成成分以及功能

在这里插入图片描述

7.2.4 PPP协议的帧格式

在这里插入图片描述

7.3 HDLC协议(High-Level Data Link Control)

7.3.1 HDLC协议概述

在这里插入图片描述

7.3.2 HDLC的三种站

在这里插入图片描述

7.3.3 HDLC的帧格式

在这里插入图片描述

7.4 PPP协议和HDLC协议对比

8. 链路层设备

8.1 网桥(Bridge)

使用网桥时,由于网桥会根据mac地址进行过滤,所以不会形成冲突域
在这里插入图片描述

8.1.1 两种网桥

透明网桥

通过自学习来构建转发表。每一个通过网桥的数据包都会被记录下网桥收到数据时数据对应的地址网桥自己的接口,通过许许多多的数据包的构造的缓存,网桥就可以知道哪个数据包在哪个接口,以后如果要穿数据包就知道要往哪个接口发送数据包了

原路由网桥

在发送时,直接将最佳路径放到帧首部。那么网桥如何获得最佳路径?通过广播方式想目标地址发送广播,此时可能会经过不同路由产生不同的路径,目标地址收到后再将每一条路径都发一个响应帧给网桥,网桥经过对比就知道哪个接口最快了

8.2 交换机

8.3 冲突域和广播域

在这里插入图片描述

9. 本章总结思维导图(如果看不清可右键保存)

请添加图片描述

本章常用中英文对照

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208306.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:53
下一篇 2026年3月19日 上午11:54


相关推荐

  • java获取文件名乱码_java导出文件名中文乱码

    java获取文件名乱码_java导出文件名中文乱码Java读linux系统文件文件名乱码的解决办法1,问题描述web应用想通过Java读取linux系统文件显示到web页面上,结果中文文件名出现乱码?问题场景描述:当用户通过浏览器访问tomcat服务器,请求查看某一路径下文件列表信息,tomcat的web应用调用getFilesByPath(Stringpath)方法读取文件列表信息响应请求,页面中文文件名出现乱码。推荐教程:《java学习》代…

    2022年10月20日
    4
  • windows下怎么安装laravel框架

    windows下怎么安装laravel框架windows下怎么安装laravel框架

    2022年4月24日
    45
  • 解决GitHub下载速度太慢的问题「建议收藏」

    解决GitHub下载速度太慢的问题「建议收藏」方法一:从GitHub下载文件一直非常慢,查看下载链接发现最终被指向了Amazon的服务器,下载地址是http://github-cloud.s3.amazonaws.com/,从国内访问Amazon非常慢,所以总是下载失败,解决方法时更改host文件,使该域名指向香港的服务器:更改hosts文件:Windows更改C:\Windows\System32\driver…

    2022年5月3日
    46
  • Supplier JAVA_深入理解java1.8之supplier

    Supplier JAVA_深入理解java1.8之suppliersupplier 也是是用来创建对象的 但是不同于传统的创建对象语法 new 看下面代码 publicclassT privateintag TestSupplier System out println age publicstatic String args 创建 Supplier 容器 声明为 TestSupplier 类型

    2026年3月16日
    3
  • 工作流引擎Activiti详解

    工作流引擎Activiti详解工作流引擎 Activiti1 什么是工作流 1 1 工作流介绍 1 2 工作流系统 1 3 工作流实现方式 1 4 工作流实现原理 2 Activiti7 概述 2 1Activiti 介绍 2 2Activiti 使用 3 Activiti 环境配置 3 1 创建数据库 3 2 初始化数据库表 3 3 创建数据库表 3 4 数据库表命名规则 4 Activiti 架构简介 5 Activiti 入门案例 5 1 流程定义 5 2 部署流程 5 3 启动流程 5 4 流程定义查询 5 5 流程定义删除 5 6 流程定义资源查询 1 什么是工

    2026年3月20日
    7
  • 蓝天bios怎么开启安全启动

    蓝天bios怎么开启安全启动

    2026年3月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号