王道计算机网络学习笔记(3)——数据链路层

news2024/11/16 1:46:50

前言

文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。

三:数据链路层

3.1:数据链路层功能概述

结点:主机、路由器

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

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

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

3.2:封装成帧和透明传输(零比特填充和违规编码法比较常用)

 封装成帧

帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止

透明传输:指不管所传数据是怎么样的比特组合,都应当能够在链路上传送

即使是解雇小秘书的文件,小秘书也会正常发送,小秘书就当看不见

1:字符计数法

帧首部使用一个计数字段(第一个字节)来标明帧内字符数。如果有一个帧首部错了,后面的帧的长度都会受到影响。

2:字符填充法

 

 为了防止错误找到EOT,在发送方添加一个转义字符,接收方再将这个转义字符给去掉。

 

3:零比特填充法

起始和停止都是01111110,在发送端扫描整个字符如果出现了连续的5个1就在后面添加一个0;在接收方先确定好起始和停止,如果发现了连续的5个1就将后面的那个0删除。

4:违规编码法

使用在编码过程中不会出现的情况作为起始和终止

3.3.1:差错控制(检错编码)

噪声的来源:

差错的分类:

物理层的编码和数据链路层编码之间的对比:

奇偶校验: 

CRC冗余校验:

要传数据、生成多项式、冗余码

一个例子:

发送端

 接收端

在数据链路层仅仅使用循环冗余校验CRC差错检测技术,只能做到对帧的无差错接收,接收端丢弃的帧最终还是因为有差错被丢弃。

“可靠传输”指数据链路层发送端发送什么,接收端就收到什么。CRC循环冗余校验能够实现无比特差错的传输,但这不是可靠传输。

3.4.1:流量控制和可靠传输机制

数据链路层和传输层流量控制对比

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

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

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

流量控制的方法

1:每发送完一个帧就停止发送,等待对方的确认,在收到确认之后再发送下一个帧。

 

 2:滑动窗口协议

 三种流量控制方式的窗口大小

3.4.2:停止—等待协议

无差错情况

有差错情况(数据帧丢失或检测到帧错误) 

 信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率

 

一个信道利用率的例题

3.4.3:后退N帧协议(GBN)

GBN发送方必须响应的三件事

1:上层的调用(网络层)

2:收到了一个ACK

GBN协议中,对n号帧的确认采用累计确认的方式,标明接收方已经收到n号帧和它之前的全部帧。

3:超时事件

GBN接收方要做的事

滑动窗口长度限制

 协议总结

 性能分析

3.4.4:选择重传协议(SR)

解决的主要问题就是在GBN的基础上只传出错的帧,之前对的帧不重传

SR发送方需响应的三件事

 SR接收方要做的事

运行当中的SR

滑动窗口的长度

 SR协议重点总结

 

3.5.1:信道划分介质访问控制

介质访问:采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况

介质访问控制的分类:

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

多路复用技术:

1:频分多路复用FDM,频分复用的所有用户在同样的时间占有不同的带宽(频率带宽)资源

2:时分多路复用TDM,类似于时间片轮转

 

3:波分多路复用WDM

4:码分多路复用CDM

3.5.2:ALOHA协议

纯ALOHA协议(想法就发)

时隙ALOHA协议(控制想法就发的随意性)

主要思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突则必须等到下一个时间片开始时刻才发送

3.5.3:CSMA协议 

 

主要思想:发送帧之前,监听信道

1-坚持CSMA

非坚持CSMA

p-坚持CSMA

三种CSMA对比

 3.5.4:CSMA-CD协议

传播时延对载波监听的影响(就是A端发送数据给B,但是电磁波在传输过程中会有时延,此时B认为A没有发数据给它,所以它也发数据到总线上,即会造成冲突)

知道自己和别人发生碰撞的时间区间(0, 2τ),超过2τ就不会发生碰撞了

 

最小帧长问题

 

3.5.5:CSMA-CA协议

工作原理

CSMA-CD和CSMA-CA两者对比

3.5.6:轮询访问介质访问控制

三种类型介质访问控制总结

 

 

轮询协议

 

令牌传递协议

3.6.1:局域网基本概念和体系结构

 局域网的网络拓扑结构

 局域网按照传输介质分类

 

局域网的介质访问控制

 局域网的分类

IEEE 802标准

 

3.6.2:以太网

以太网提供无连接、不可靠的服务

无连接:发送方和接收方之间无“握手过程”

不可靠:不对发送双方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠错由高层负责

MAC地址:在局域网中,硬件地址又称物理地址(实际上是一个标识符)

以太网MAC

 

3.6.3:无线局域网

Wifi遵循的协议

无线局域网的分类

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

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

3.6.4:VLAN基本概念与基本原理

虚拟局域网VLAN(Virtual Local Area Network)是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术。

基于接口的VLAN技术

 

3.7.1:链路层设备(网桥、交换机)

网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后确定该帧转发到哪个接口,或者是把它丢弃。

网段:一般指一个计算机网络中使用同一物理层设备(传输介质、中继器、集线器等)能够直接通讯的那一部分。

网桥优点:

1:隔绝冲突域,使得多个主机在同一时间可以相互通信,过滤通信量,增大吞吐率。

2:扩大了物理范围,提高了可靠性。

3:可互连不同物理层、不同MAC子层和不同速率的以太网。

透明网桥

源路由网桥

以太网交换机

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

冲突域和广播域

总结

以上是本文的全部内容,非常感谢你能看到这。

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

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

相关文章

PolarFormer:Multi-camera 3D Object Detection with Polar Transformer——论文笔记

参考代码:PolarFormer 1. 概述 介绍:在仓库RoboBEV中总结了现有的一些bev感知算法在不同输入情况下的鲁棒性,在这些感知算法中PolarFormer拥有较为不错的泛化性能。这个算法的思想是将之前由直角坐标系栅格化构建bev网格,转换到由…

Unity之透明度混合与ps的透明度混合计算结果不一致

一、问题 前段时间学习shader时发现了一个问题,一张纯红色透明度为128的图片叠加在一张纯绿色的图片上得出的结果与ps中的结果不一致。网上查找了ps中的透明混合的公式为 color A.rgb*A.alpha B.rgb*(1-A.alpha)。自己使用代码在unity中计算了一下结果总是不对。…

Python--异常处理

Python--异常处理 <font colorblue>一、异常<font colorblue>二、异常处理语句<font colorblue>1、try...except语句<font colorblue>2、try...except...else语句<font colorblue>3、try...except...finally语句<font colorblue>4、raise语…

leetcode354. 俄罗斯套娃信封问题(动态规划-java)

俄罗斯套娃信封问题 leetcode354. 俄罗斯套娃信封问题题目描述:解题思路代码演示 动态规划专题 leetcode354. 俄罗斯套娃信封问题 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/russian-doll-envelopes 题目描述: 给你…

c++学习之模板

目录 一&#xff0c;模板的概述 二&#xff0c;函数模板 1.函数模板的定义 2.函数模板的注意事项 3.函数模板的重载 4.函数模板的局限性 三&#xff0c;类模板 1.类模板的概念 2.类模板定义方式 3.类模板的成员函数在类外实现 4.函数模板作为类模板的友元 5.在写程…

《大学英语4》期末考试复习(一)听力原文+答案速记

目录 Unit 1 Long conversation Passage 1 Unit 2 Long conversation Passage 1 Unit 3 Long conversation Passage 1 Unit 4 Long conversation Passage 1 Unit 5 Long conversation Passage 1 Unit 6 Long conversation Passage 1 Unit 7 Long conversat…

Java线程池小结

目录 一.什么是线程池 二.线程池的好处是什么 三.四种基本线程池及其使用 newCachedThreadPool newFixedThreadPool newScheduledThreadPool newSingleThreadExecutor 线程池的四种拒绝策略 选择一:AbortPolicy 选择二:CallerRunsPolicy 选择三:DiscardPolicy 选择四…

【Java】Java核心要点总结70

文章目录 1. volatile 如何保证变量的可⻅性&#xff1f;2. volatile 可以保证原⼦性么&#xff1f;3. synchronized 关键字4. synchronized 和 volatile 的区别5. synchronized 和 ReentrantLock 的区别 1. volatile 如何保证变量的可⻅性&#xff1f; 在Java中&#xff0c;使…

html实现多种风格的时间轴(附源码)

文章目录 1.设计来源1.1 对称风格时间轴1.2 横向风格时间轴1.3 回忆风格时间轴1.4 记事风格时间轴1.5 简易风格时间轴1.6 科技风格时间轴1.7 列表风格时间轴1.8 跑道风格时间轴1.9 人物风格时间轴1.10 容器风格时间轴1.11 沙滩风格时间轴1.12 双边风格时间轴1.13 图文风格时间轴…

【verilog基础】时钟无毛刺切换电路 Clock Glitch Free

文章目录 一、时钟切换电路:容易产生毛刺二、时钟无毛刺切换电路:在S端增加一些控制通路三、异步时钟无毛刺切换电路:使用同步电路解决亚稳态问题四、真题题目解答一、时钟切换电路:容易产生毛刺 1、在芯片运行时经常需要切换时钟源,通常的实现方式是:通过mux来选择不同的…

用试题这把“剑“帮你破除指针与数组之间的那些猫腻

作者主页&#xff1a;paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《系统解析C语言》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白…

【linux】在Linux系统开机的时候卡在/dev/nvme0n1p1:clean / files / blocks界面进不去

一、问题背景 开机的时候没办法开机&#xff0c;一直停留在下面这个界面。 x86/cpu: SGX disabled by BIOS dev/nvme0n1p3:clean, 21118/30523392 fies, 122066176/122070272 blocks dev/nvme0n1p4:clean, 486125/61038592 fies,21657184/244140544b1ocks 试过网上的一些方法…

Ubuntu20.04+Intel SGX(一):环境安装与测试

文章目录 测试环境一、检查服务器是否支持SGX方法1&#xff1a;cpuid查看是否支持SGX方法2&#xff1a;test-sgx.c测试是否支持SGX验证是否支持SPS 二、启动 SGX 服务参考文档启动 SGX方法1&#xff1a;BIOS 启动SGX方法2&#xff1a;软启动 SGX检查SGX是否开启成功 三、安装 S…

C++在线五子棋对战(网页版)项目:环境搭建

Centos-7.6环境搭建 安装wget工具 wget工具是Linux中的一个下载文件的工具&#xff0c;支持通过 HTTP、HTTPS、FTP 三个最常见的TCP/IP协议 下载&#xff0c;并可以使用 HTTP 代理。可以使用以下命令进行下载&#xff1a; sudo yum install wget 下载后&#xff0c;可以使用以…

【Linux】CentOS7 设定本机当前地区时间为虚拟机时间的简单操作

目录 情景系统环境操作 情景 新安装的虚拟机时间和当前本地系统时间不一致&#xff0c;现在想要将虚拟机和本机地区的时间调节为一致。 系统环境 CentOS Linux 7 系统界面大致如此。 操作 点击虚拟机界面左上角的 Applications 选项&#xff0c; 选择System-Tools-- Sett…

【C++】C++关于异常的学习

文章目录 C语言传统的处理错误的方式一、异常的概念及用法二、自定义异常体系总结 C语言传统的处理错误的方式 传统的错误处理机制&#xff1a; 1. 终止程序&#xff0c;如 assert &#xff0c;缺陷&#xff1a;用户难以接受。如发生内存错误&#xff0c;除 0 错误时就会终止…

【Python】元组 创建 访问 切片 拼接 解包

2.3 元组 元组在输出时总是有括号的。 元组在输入时可以没有。 像字符串一样&#xff0c;元组是不可变的。 索引、切片以及一些方法很多与列表相似。 1&#xff09;定义 元组是一种不可变序列&#xff0c;它与列表类似&#xff0c;但元组的元素不能修改。元组中的元素可以是任意…

【Vuejs】1720- 详细聊一聊 Vue3 动态组件

&#x1f449; 「相关文章」 深入浅出 Vue3 自定义指令6 个你必须明白 Vue3 的 ref 和 reactive 问题初中级前端必须掌握的 10 个 Vue 优化技巧分享 15 个 Vue3 全家桶开发的避坑经验 动态组件[1]是 Vue3 中非常重要的一个组件类型&#xff0c;它可以让我们在不同的场景下灵活地…

Git远程仓库使用

说明&#xff1a;使用Git&#xff0c;可以实现版本控制和协作开发。需要协作开发&#xff0c;当然需要建立一个Git代码托管的平台。目前可以使用GitHub、码云、GitLab等&#xff0c;码云相当于国内的GitHub&#xff0c;在国内访问速度高于GitHub&#xff1b;而GitLab是搭建私服…

阿里云服务器的可靠性和稳定性如何?是否有SLA保障?

阿里云服务器的可靠性和稳定性如何&#xff1f;是否有SLA保障&#xff1f;   一、阿里云服务器的可靠性   阿里云服务器作为全球领先的云计算服务平台&#xff0c;以其高性能、高可靠性和高安全性获得了广泛好评。为满足企业客户对稳定、可靠云服务的需求&#xff0c;阿里云…