考研408 | 【计算机网络】 数据链路层

导图:

  •  数据链路层概念:

结点:主机、路由器

链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。

数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

帧:链路层的协议数据单元,封装网络层数据报。

  • 数据链路层功能:

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路, 使之对网络层表现为一条无差错的链路。

  •  封装成帧:

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

  •  透明传输:

是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。

当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

1.字符计数法

2.字符填充法

 

 3.零比特填充法

 4.违规编码法

 

  •  差错控制

差错从何而来?

传输中的差错都是由于噪声引起的

 数据链路层和物理层的编码的区别:

 冗余编码

  • 检错编码--奇偶效验码 

题目:

  •  检查编码--CRC循环冗余码

 

题目:

 

  •  纠错编码--海明码

 

 海明距离:

两个合法编码(码字)的对应比特取值不同的比特数称为这两个码字的海明距离(码距),一个有效编码集中,任意两个合法编码(码字)的海明距离的最小值称为该编码集的海明距离(码距)。

1.确定校验码位数r

 2.确定校验码和数据的位置

3.求出校验码的值

 

4.检错并纠错

 

 

 

 总结:

  • 流量控制:

较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。

数据链路层的流量控制是点对点的,而传输层的流量控制的端对端的。

数据链路层流量控制手段:接收方收不下就不回复确认。

传输层流量控制手段:接收端给发送端一个窗口公告。

方法:

可靠传输:发送端发啥,接收端收啥。

流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。

  •  停止-等待协议:

why有停止-等待协议?

除了比特出差错,底层信道还会出现丢包问题。为了实现流量控制。

 

1.无差错情况

2.有差错情况 

 

 

 性能分析:

 信道利用率

 题目:

  •  后退N帧协议(GBN):

GBN发送方必须响应的3件事:

1.上层的调用

 2.收到了一个ACK

 3.超时事件

 GBN接收方要做的事:

运行中的GBN:

 

 滑动窗口长度:

性能分析:

 GBN协议重点总结

题目:

 

  • 选择重传协议(SR):

滑动窗口:

 SR发送方必须响应的三件事:

1.上层的调用

2.收到了一个ACK

3.超时 事件

 SR接收方要做的事:

 运行中的SR: 

滑动窗口长度

 SR协议重点总结:

题目:

 

  •  信道划分介质访问控制

传输数据使用的两种链路:

介质访问控制:

采取一定的措施,使得两对节点之间的通信不会发送互相干扰的情况。

 

 信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。

静态划分:

频分多路复用FDM:

 时分多路复用TDM:

 统计时分复用STDM(改进的时分复用):

波分多路复用WDM:

 

 码分多路复用CDM:

动态分配信道: 

  • 纯ALOHA协议:

  •  时隙ALOHA协议:

  •  CSMA协议:

 

 

  •  CSMA/CD协议:

 传播时延对载波监听的影响:

 确定碰撞后的重传时机:

 题目:

最小帧长:

 

  •  CSMA/CA协议:

 CSMA/CA协议工作原理:

 CSMA/CD和CSMA/CA的异同:

介质访问控制

 

  • 轮询协议: 

  • 令牌传递协议: 

 

 局域网

 简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。

局域网拓扑结构:

 

 

 

局域网的传输介质

 局域网介质访问控制方法

局域网分类:

 IEEE 802标准

 

 

 

 

 MAC子层和LLC子层:

 以太网

 

 以太网传输介质与拓扑结构的发展:

 10BASE-T以太网

 适配器与MAC地址

 以太网MAC帧

高速以太网

 无线局域网

 IEEE802.11

 802.11的MAC帧头格式:

 

 无线局域网分类:

1.有固定基础设施无线局域网

 2.无固定基础设施无线局域网的自组织网络

 传统局域网的局限

 虚拟局域网VLAN

 VLAN实现

 

 

题目:

 

 广域网

 

 PPP协议的特点

 PPP协议应满足的要求

 PPP协议无需满足的要求

 PPP协议的三个组成部分

PPP协议的状态图

 PPP协议的帧格式

HDLC协议

HDLC的站 

 HDLC的帧格式

PPP协议和HDLC协议的异同

链路层设备 

物理层扩展以太网

链路层扩展以太网

 网桥分类

1.透明网桥

 

2.源路由网桥

 多接口网桥--以太网交换机

以太网交换机的两种交换方式

 网桥的自学习功能

 冲突域和广播域

 题目:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/35023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

河道水位自动监测预警 yolov5

河道水位自动监测预警系统基于yolov5网络模型AI视频智能水尺读数技术,河道水位自动监测预警系统通过在河道周边布设监控摄像头,实时监测水位的变化,一旦水位超过预设阈值,将自动发出预警信号,并提示相关人员采取相应的…

Three.js 实现材质边缘通道发光效果

相关API的使用: 1. EffectComposer(渲染后处理的通用框架,用于将多个渲染通道(pass)组合在一起创建特定的视觉效果) 2. RenderPass(是用于渲染场景的通道。它将场景和相机作为输入,使用Three.…

使用script标签解决跨域问题,但是只能使用get请求,且不需要获取get请求的数据,例如埋点,只需要触发后发送get请求,而不需要获取返回的参数

在项目中,使用埋点的时候,因为使用的是外部提供的接口,所以直接请求的时候,前端会报跨域的问题,本着不麻烦后端的想法,怎怎么前端实现跨域而完全不需要后段的配合,这时候就想到了通过script标签…

【简单认识zookeeper+kafka分布式消息队列集群的部署】

文章目录 一、zookeeper1、定义2、工作机制3、Zookeeper 特点4、Zookeeper 数据结构5、Zookeeper 应用场景6、Zookeeper 选举机制(1)第一次启动选举机制(2)非第一次启动选举机制 7、部署zookeeper群集 二、消息队列概述1、为什么需…

百度云盘发展历程与影响

摘要: 百度云盘作为中国领先的云存储与共享服务提供商,自其创立至今经历了多个阶段的发展与变革。本论文通过对百度云盘的历史回顾与分析,探讨了其在技术、商业模式、用户体验以及对社会的影响等方面的演变。同时,还分析了在竞争激…

使用luarocks安装cjson并使用cjson

1.luarocks安装 wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz --no-check-certificatels -lrthtar -xvf luarocks-3.3.1.tar.gz mv luarocks-3.3.1 /usr/local/cd /usr/local/luarocks-3.3.1/./configure --prefix/usr/local/luarocks-3.3.1 vim /etc/profilePAT…

Mac下⬇️Git如何下载/上传远程仓库

使用终端检查电脑是否安装Git git --version 通过此文章安装Git ➡️ ​​​​​​​传送门🌐 方式1⃣️使用终端操作 1.下载——克隆远程仓库到本地 git clone [远程地址] 例:git clone https://gitee.com/lcannal/movie.git​ 2.编…

Windows - UWP - 为UWP应用创建桌面快捷方式

Windows - UWP - 为UWP应用创建桌面快捷方式 前言 这是一个较为简单的方式,不需要过多的命令行。 How 首先Win R -> shell:AppsFolder -> 回车, 这将显示电脑上的已安装应用(Win32 & UWP): 找到想要创建…

【Nginx】Nginx负载均衡

负载均衡:通过反向代理来实现 Nginx的七层代理和四层代理: 七层是最常用的反向代理方式,只能配置在nginx配置文件的http模块当中 ;配置的方法名称为:upstream模块,不能写在server中也不能写在location中&a…

ZABBIX 6.4的完全安装步骤

此安装文档是我一步一步的验证过的,按步骤来可以顺畅的安成ZABBIX6.4的部署。 Zabbix 主要有以下几个组件组成: Zabbix Server6.4:Zabbix 服务端,是 Zabbix 的核心组件。它负责接收监控数据并触发告警,还负责将监控数…

Leetcode

持续更新中。。。。。。。。。。。。。。 day 20230811 /*** 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。* <p>* 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和* <p>* 不包括 相交的元素只计算一次* <p>* 输入&…

(2023Arxiv)Meta-Transformer: A Unified Framework for Multimodal Learning

论文链接&#xff1a;https://arxiv.org/abs/2307.10802 代码链接&#xff1a;https://github.com/invictus717/MetaTransformer 项目主页&#xff1a;https://kxgong.github.io/meta_transformer/ 【注】&#xff1a;根据实验结果来看&#xff0c;每次输入一种数据源进行处…

Java项目初始化ES、MYSQL表结构及表数据

一、初始化MYSQL数据 public boolean initMysql() throws Exception {log.info("initMysql.start");//获取所连接的数据库名称String database systemMapper.getDatabase();if (StringUtils.isBlank(database)) {throw new BusinessException("连接数据库失败,…

微信小程序时钟

微信小程序自定义时钟&#xff0c;模拟翻牌时钟。1、页面布局 <view class"date-time-box"><view class"date-box">{{nowDate}}</view><view class"time-box"><view><image class"pic01 {{move[0]?move…

代码随想录算法训练营第45天|动态规划part07

8.11 周五 70. 爬楼梯 &#xff08;进阶&#xff09; 322. 零钱兑换 279.完全平方数 详细布置 70. 爬楼梯 &#xff08;进阶&#xff09; 题目&#xff1a;一次可爬1或2个台阶&#xff0c;问n个台阶有多少种方式 题解&#xff1a; 1、转换为完全背包问题&#xff0c;nums[1…

Ajax-AJAX请求的不同发送方式

&#x1f954;&#xff1a;你一定能成为想要成为的人 发送AJAX请求不同方式 发送AJAX请求不同方式1、jQuery发送AJAX请求2、axios发送AJAX请求&#xff08;重点&#xff09;3、fetch发送AJAX请求 发送AJAX请求不同方式 1、jQuery发送AJAX请求 首先需要jquery的js文件&#xf…

Vc - Qt - QToolButton

QToolButton 是 Qt 框架中的一个类&#xff0c;是 QPushButton 的子类。它可以显示一个可单击的按钮&#xff0c;并且可以与弹出菜单、图标和文本等进行关联。 QToolButton的一些常见特性和用法包括&#xff1a; 设置文本&#xff1a;使用 setText() 函数设置按钮上的文本。设置…

webpack 热更新的实现原理

webpack 的热更新⼜称热替换&#xff08;Hot Module Replacement&#xff09;&#xff0c;缩写为HMR。这个机制可以做到不⽤刷新浏览器⽽将新变更的模块替换掉旧的模块。 原理&#xff1a; ⾸先要知道 server 端和 client 端都做了处理⼯作&#xff1a; 在 webpack 的 watch…

uniapp点击输入框时键盘不上推页面

adjust-position设置为false&#xff0c;然后监听键盘的高度赋值给输入框bottom 这里还一个非常重要的地方&#xff0c;在根元素设置touchmove.stop.prevent&#xff0c;这样在ios上页面就不会滚动&#xff0c;不影响其他组件内部滚动 onReady() {// 监听键盘高度变化&#x…