三、数据链路层

(一)纠错与检错

1、奇偶校验码(再研究下,原理知道,具体过程无法重现)

分为奇校验和偶校验,奇偶校验位在首部或尾部,奇偶校验满=信息位+奇偶校验位

(1)原理:

奇校验:奇数个1,最后补0,偶数个1,最后补1,终于补成奇数个1

偶校验:奇数个1,最后补1,偶数个1,最后补0,终于补成偶数个1

则,奇校验的整个校验码中有奇数个1,偶校验的整个校验码中有偶数个1

(2)缺点:无法识别错误信息位置,当出错个数为奇数时,能检验出错误,偶数时不能

解释:当出错个数为奇数时,将导致1的个数的奇偶发生变化,可以检测出错误,而为偶数时,1的个数的奇偶不变,故检测不出。

例如:数据1001101

奇校验码10011011,偶校验码10011010

校验:所有位依次进行异或(相同为0不同为1),偶校验若结果为1则数据出错,奇校验若为0则数据出错

奇校验码奇校验

偶校验码偶校验

不出错

10011011=1

10011010=0

出错1位

10011001=0

10011000=1

出错2位

10011101=1

10011100=0

可以看出,出错偶数位判断不出对错

2、海明码

海明码是一种多重奇偶检错系统,利用多组数位的奇偶性来检错、纠错。

码距d>=3,检测d个错误,则编码系统码距>=d+1,纠正d个错误,则编码系统>2d。

设海明码校验位为k,信息位为m,则m+k+1<=2^k

  • 码字:一帧包含m个数据位(报文)和r个冗余位(校验位),总长度n=m+r,包含数据和校验位的n位单元,通常称为n位码字

  • 码距:两个码字中不相同的二进制位的个数

3、CRC循环冗余校验码

CRC是一种循环码,通过循环移位,实现检错,检错力极强,广泛应用于数据链路层。

只能检错不能纠错。

CRC属于后向纠错方式BEC,接收端发现错误后自动请求重发。(补:前向纠错FEC,接收端发现错误后自动纠错)

CRC校验码生成过程:

多项式G(x)=x^4+x+1,信息码字为10111,求CRC校验码

(1)写除数

G(x)=1·x^4+0·x^3+0·x^2+1·x+1·x^0

除数为10011

(2)写被除数

设G(x)的最高位次是r,则就在信息位后补r个0

被除数为101110000

(3)模2除法:对应位进行异或,相同为0,不同为1

101110000

10011

——————

10000

10011

—————

1100

余数为1100

注意:1、余数的位数=G(x)的最高位次r;2、余数不足r,就在余数左边用0补齐r位,例如余数是11,r=4,余数就是0011

(二)点对点协议

1、PPP点到点协议

(1)PPP提供了一种在点到点链路上封装网络层协议信息的标准方法,也定义了可扩展的链路控制协议LCP。主要用于全双工的异步链路上进行点到点的数据传输,PPP协议的一个重要功能便是提供了身份验证功能,但是PPP协议虽然提供了通信双方身份验证的功能,其协议中没有提供地址信息,通信双方无法相互验证对方的身份,不安全,升级是PPPoE

(2)PPP的组成部分:

在串行链路上封装数据报的方法

建立、配置和测试数据链路链接的LCP协议

建立和配置不同网络层协议的一组网络控制协议NCP

(3)在点到点链路上建立通信过程:

PPP链路的一段必须在建立阶段首先发送LCP包配置数据链路,链路建立后,在进入网络层协议阶段前,PPP提供一个可选择的验证阶段

(4)PPP支持两种验证协议:

1.密码验证协议PAP:不安全,密码在电路上明文发送

2.挑战握手验证协议CHAP

2、PPPoE以太网点到点协议

(1)PPPoE可以使以太网的主机通过一个简单的桥接设备连接到一个远端的接入集中器上。通过PPPoE协议,远端接入设备能够实现对每个接入用户的控制和计费。

(2)PPPoE的工作流程包括发现和会话两个阶段:

发现阶段是无状态的,目的是获得PPPoE终结端(在局端的ADSL设备或其他接入设备上)的以太网MAC地址,并建立一个唯一的Session ID。

发现阶段结束后进入标准的PPP会话阶段

(3)PPPoE优点:

  1. PPPoE由于集成了PPP协议,实现了传统以太网不能提供的身份验证、加密以及压缩等功能。

  1. PPPoE通过唯一的Session ID可以很好的保障用户的安全性。

  1. PPPoE拨号上网作为一种最常见的方式让终端设备能够连接ISP从而实现宽带接入。

  1. PPPoE可用于缆线调制解调器(Cable Modem)和数字用户线路(DSL)等以太网线,通过以太网协议向用户提供接入服务的协议体系。

3、HDLC高级数据链路控制协议

面向比特的链路层协议

HDLC帧结构:(帧定界符:01111110

HDLC的帧类型:

(三)常见广播方式的数据链路层

IEEE 802标准把数据链路层分为两个子层:逻辑链路控制子层LLC和媒体接入控制层MAC。LLC不常用。

1、MAC子层

(1)MAC子层的主要功能:

数据帧的封装/卸装、帧的寻址和识别、帧的接收与发送、链路的管理、帧的差错控制等

(2)MAC层的主要访问方式有CSMA/CD、令牌环和令牌总线三种

(3)以太网中的MAC帧格式

1.前导字段:形为1010...1010

2.帧起始符:固定格式10101011

3.类型字段:标识上一层使用什么协议,也可以表示长度

4.数据字段:上一层的协议数据,IP数据报,最大传输单元MTU=1500字节

5.填充字段:确保最小帧长为64个字节,最小帧长指从目的地址到校验和的长度

6.校验和字段:32位循环冗余码

最小帧长64字节:6+6+2+0+46+4

最大帧长1518字节:6+6+2+1500+0+4

(4)MAC地址

MAC地址(硬件地址、链路地址),48比特,6字节,前24位厂商编号,由IEEE分配给生产以太网网卡的厂家,后24位是序列号,由厂家自行分配,用于表示设备地址

厂商编号

序列号

网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是真正表示主机的地址,用于发送和接收的终端传输数据

2、CSMA/CD载波监听多路访问/冲突检测

(1)分布式的介质访问控制协议

(2)多路访问:多路计算机连接在一根总线上

(3)载波监听CSMA:

信道空闲时

信道忙时

类比

特点

1-持续CSMA

立即发送

继续监听

霸道点,一直要下楼

增加冲突,信道利用率高

非持续CSMA

立即发送

不持续监听,等待随机时间N,再发送

有礼貌,等一会再下楼

减少冲突,信道利用率低

p-持续CSMA

以概率P发送

继续监听

和事佬,概率等下来

有效平衡,但p的取值比较困难,大了冲突,小了延长等待时间

信道有空闲即再帧间最小间隔时间内没有检测到信道上有信号,帧间最小间隔为9.6us

(4)冲突检测

1.CSMA/CD采用“边发送边监听”方式,即边发送边检测信道信号电压变化,如果发现信号变化幅度超过一定限度,则认为总线上发生冲突

2.以太网最小帧是64字节,小于64字节的都是由于冲突而异常终止的无效帧,接收这类帧时应将其丢弃(千兆和万兆以太网最小帧长时512字节

3.为了检测到冲突,最小帧长L=2R×(d/v)

  • R网络数据速率,d最大段长,v信号传播速度

4.“冲突时槽”就是发送站所能检测到冲突的时间

以太网冲突时槽slot=2(S/0.7C+tphy)

局域网最大配置可以接入4个中继器,slot=2(S/0.7C+tphy=4tR)

A端往B端发送一个分组,AB相距S,当分组即将到达B端时,C端也要向B端发送数据,此时,冲突发生了。A端想要检测到冲突,还需要一段返回的延时,总共需2倍的单程延时。

  • S最长传输距离,0.7C信号传播速率,C是光速,tphy发送站物理层时延,tR中继器时延

(5)退避算法

截断的二进制指数退避算法,目的是解决发送数据的碰撞问题。

算法规定发送碰撞的站在信道空闲后并不立即发送数据,而是推迟一个随机时间再进入发送流程。这种方法减少了重传时再次发生碰撞的概率。

特点:

1.考虑了网络负载对冲突的影响,在重负载下能有效化解冲突,网络负载越重,后退的时间越长

2.冲突次数越多,后退时间越长

3.后退次数和负载大小有关

4.重发次数最大为16,大于16次就丢弃该帧并上报高层协议

5.没有对优先级进行定义,不适合突发性业务和流式业务

3、IEEE 802系列

IEEE 802.1

提供高层标准的框架,包括端到端协议、网络互连、网络管理、路由选择、桥接和性能测量

IEEE 802.2

对数据链路层上层逻辑链路LLC控制连接的建立和管理的规范

IEEE 802.3

CSMA/CD,定义MAC子层和物理层规范

IEEE 802.4

令牌总线网Token Bus

IEEE 802.5

令牌环线网Token Ring

IEEE 802.6

城域网MAN

IEEE 802.7

宽带技术

IEEE 802.8

光线技术

IEEE 802.9

语音和数据

IEEE 802.10

可互操作互联网安全标准,定义局域网互连安全机制

IEEE 802.11

无线局域网标准

IEEE 802.12

100Mb/s以太网标准

IEEE 802.14

有线电视标准

IEEE 802.15

无线个人局域网PAN,适用于短程无线通信的标准,例如蓝牙

IEEE 802.16

宽带无线接入标准BWA

(1)IEEE 802.1系列

提供高层协议的框架

IEEE 802.1d

生成树协议STP

IEEE 802.1P

交换机与优先级相关的流量处理的协议

IEEE 802.1q

虚拟局域网协议VLAN,定义了VLAN和封装奇数

IEEE 802.1s

多生成树协议MSTP

IEEE 802.1w

快速生成树协议RSTP

IEEE 802.1x

基于端口的访问控制协议PBNAC,目的是解决无线局域网用户的接入认证问题

(2)IEEE 802.3系列

IEEE 802.3u

快速以太网

快速以太网的最小帧长不变,数据速率提高了10倍,冲突时槽缩小为5.12us

IEEE 802.3z

千兆以太网

帧突发方式,指一个站可以连续发送多个帧

IEEE 802.3ab

1000Base-T(千兆以太网)

IEEE 802.3ae

万兆以太网

4、IEEE 802.3规定的传输介质特性

(1)IEEE 802.3u,快速以太网,100Mbps

标准

电缆

传输距离

编码技术

100Base-T2

2对3、4、5类UTP

100m

100Base-T4

4对3类UTP

100m

8B/6T

100Base-TX

2对5类UTP或2对STP

100m

4B/5B

100Base-FX

1对多模光纤

2km(全双工)

4B/5B

1对单模光纤

40km(全双工)

(2)IEEE 802.3z,千兆以太网,1000Mbps,S短波,L长波

标准

电缆

传输距离

1000Base-CX

2对STP

25m

1000Base-SX

62.5um多模光纤

200m或275m

50um多模光纤

500m或550m

1000Base-LX

62.5或50um多模光纤

550m

单模光纤

5000m

(3)IEEE 802.3ab,千兆以太网,1000Mbps

1000Base-T

4对UTP

100m

(4)IEEE 802.3ae,万兆以太网,10Gbps,只支持光纤,只支持全双工

标准

电缆

传输距离

10GBase-S

50um多模光纤

300m

62.5um多模光纤

65m

10GBase-L

单模光纤

10km

10GBase-E

单模光纤

40km

单模光纤

10km

10GBase-LX4

50um多模光纤

300m

62.5um多模光纤

300m

(四)补充

1、广播和泛洪

广播是向子网所有端口(含自身端口)发送广播帧,广播帧形式FF.FF.FF.FF.FF.FF

泛洪是向所有端口(除自身端口)发送普通数据帧

2、流量控制技术

流量控制技术:协调收发端流量

假设没有传输错误的流量控制技术:

(1)停等协议。

发送一帧,等到应答,再发送,如果不应答,一直等。类似银行柜台存钱。

(2)滑动窗口协议。

连续发送多个帧而无需应答,应答信号ACK。类似ATM机。

3、差错控制技术

差错控制技术:检查和纠正传输错误

(1)肯定应答:收到肯定应答信号ACK继续发送

(2)否定应答重发:收到否定应答信号NAK重发出错帧

(3)超时重发:超过规定时间重发该帧(术称为自动请求重发ARQ)

4、ARQ自动重传请求

ARQ分为3种:停等ARQ、选择重发ARQ、后退N帧ARQ

(1)停等ARQ

停等流量控制和ARQ结合。类似于银行柜台存钱,正常就办理(正确),手续不齐就不办理(错误),超过叫号的时间就下一位(超时)

(2)选择重发ARQ

滑动窗口协议和ARQ结合。类似于银行ATM机存钱,碰到识别不出来的,选择这一张重存

(3)后退N帧ARQ

滑动窗口协议和ARQ结合。类似于银行验钞机,碰到假币,从这一张开始后面所有的都有重新检验真伪

5、各种流量控制和差错控制利用率计算

(1)常数a值:a=(d/v)/(L/R)=(R×T)/L=(R×d/v)/L

d是线路长度,v是传播速度,L是帧长,,R是数据速率,T是传播延迟

(2)效率E值:

停等协议:E=1/(2a+1)

滑动窗口协议:E=W/(2a+1)

(3)窗口W值:

选择重发ARQ:W<=2^(k-1)

后退N帧ARQ:W<=2^k-1

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多线程 (七) 阻塞队列的使用及其实现

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

科大奥瑞物理实验——交流电桥

实验名称&#xff1a;交流电桥 1. 实验目的&#xff1a; 掌握电桥平衡原理、平衡条件&#xff1b;理解交流电桥构造&#xff0c;熟悉交流电桥平衡方法&#xff1b;分析平衡过程中各桥臂调节顺序&#xff0c;判断最佳平衡点&#xff1b;理解复阻抗概念&#xff0c;电桥平衡时复…

虚拟机centos7配置Hadoop单节点伪分布配置教程

系列文章目录 centos7配置静态网络常见问题归纳_张小鱼༒的博客-CSDN博客 centos7克隆虚拟机完成后的的一些配置介绍_张小鱼༒的博客-CSDN博客 文章目录 目录 系列文章目录 文章目录 前言 一、前期准备 二、Hadoop介绍 2.1、Apache Hadoop 2.2、Cloudera Hadoop 2.3…

基于Vision Transformer的图像去雾算法研究与实现(附源码)

基于Vision Transformer的图像去雾算法研究与实现 0. 服务器性能简单监控 \LOG_USE_CPU_MEMORY\文件夹下的use_memory.py文件可以实时输出CPU使用率以及内存使用率&#xff0c;配合nvidia-smi监控GPU使用率 可以了解服务器性能是否足够&#xff1b;运行时在哪一步使用率突然…

第一个vue-cli项目

第一个vue-cli项目 12.1、什么是vue-cli vue-cli官方提供的一个脚手架&#xff0c;用于快速生成一个vue的项目模板&#xff1b;   预先定义好的目录结构及基础代码&#xff0c;就好比咱们在创建Maven项目时可以选择创建一个骨架项目&#xff0c;这个估计项目就是脚手架&…

编写一个函数,输入一个日期,计算其距年底的时间

--编写一个函数&#xff0c;输入一个日期&#xff0c;计算其距年底的时间 create or replace function f_end(i_date varchar2) return number is/*声明四个变量&#xff0c;v_end:存放输入的日期的年底日期 v_date:存放经过转化为日期型的输入字符串 v_minus:存放两个日期之差…

Springboot怎么实现WebSocket通信(二)

前言上一篇文章分享了单机模式下&#xff0c;websocket的基本使用方法&#xff0c;但在实际的业务中&#xff0c;通常是不会这样使用的&#xff0c;大部项目都是分布式部署的&#xff0c;一个工程布署了多个服务节点&#xff0c;前端并不直接请求具体服务节点&#xff0c;而是先…

xijs更新指南(v1.2.1)

xijs 是一款开箱即用的 js 业务工具库, 聚集于解决业务中遇到的常用函数逻辑问题, 帮助开发者更高效的开展业务开发.接下来就和大家一起分享一下v1.2.1 版本的更新内容以及后续的更新方向.1. 添加算法模块分类该模块主要由 WangLei802 贡献, 添加内容如下:添加冒泡排序算法及其…

什么是工程项目管理工作?其特点是什么?

什么是工程项目管理工作&#xff1f;其特点是什么&#xff1f; 工程项目管理是为了实现工程项目的有效、高效和可持续管理而进行的一系列活动。 工程项目的管理就像是驾驭一艘巨大的船只&#xff0c;需要一位经验丰富的船长来领导整个团队。 通过工程项目管理&#xff0c;项…

fiddler(抓包)的用法和HTTP 协议的基本格式

目录 fiddler(抓包)用法&#xff1a; HTTP 协议的基本格式 HTTP请求&#xff1a; 首行 认识HTTP方法 GET和POST的典型区别&#xff1a; 认识请求“报头”&#xff08;header&#xff09; HTTP 响应 HTTP状态码&#xff1a; 状态码的分类&#xff1a; 认识响应 …

python语法基础

&#x1f41f;在本次博客主要想大家介绍一些简单的python语法的注意事项&#xff0c;从代码缩进到注释规则&#xff0c;从标准输入到标准输出&#xff0c;以及位运算符等方面了解python的基础使用方法。那么我们接下来直接开始步入正题&#xff0c;开始我们的python语法的讲解吧…

【SpringCloud】SpringCloud Nacos详解(集群配置)

目录前言一.Nacos集群逻辑图二.Nacos集群搭建1.搭建数据库&#xff0c;初始化数据库表结构2.下载Nacos3.配置Nacos3.启动Nacos4.配置启动nginx5.测试是否成功6.设置服务的nacos地址7.新增一个配置&#xff0c;查看数据看是否进行持久化了前言 在我前面两篇讲的都是单个nacos&a…

c++11 多线程使用

文章目录创建线程异常导致死锁实现两个线程交互的打印奇数和偶数(面试题)创建线程 1.创建线程的方式: 1.拷贝构造禁止了2.允许移动构造3.无参构造后我们可以对对象进行赋值操作4.传递可调用对象(例如包装器,泛函数,lambda,普通函数,静态成员函数) 参数列表 进行创建 2.样例…

第17章_触发器

第17章_触发器 &#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目前在某公…

JavaEE简单示例——SpringMVC的简单数据绑定

简单介绍&#xff1a; 在前面我们介绍过如何将我们自己创建的类变成一个servlet来处理用户发送的请求&#xff0c;但是在大多数的时候&#xff0c;我们在请求 的时候会携带一些参数&#xff0c;而我们现在就开始介绍我们如何在Java类中获取我们前端请求中携带的参数。首先&…

SpringBoot自定义注解+异步来实现日志管理

一、前言 我们在企业级的开发中&#xff0c;必不可少的是对日志的记录&#xff0c;实现有很多种方式&#xff0c;常见的就是基于AOP注解进行保存&#xff0c;同时考虑到程序的流畅和效率&#xff0c;我们可以使用异步进行保存&#xff01; 二、基础环境 1. 导入依赖 我这里…

C#,码海拾贝(06)——连分式(Continued Fraction)曲线插值算法,《C#数值计算算法编程》源代码升级改进版

一、连分式法 连分式法是一种有理函数逼近法&#xff0c;其基本出发点是&#xff1a;将原型展开成连分式&#xff0c;然后截取前面几个起主要作用的偏系数构成简化模型&#xff0c;连分式法计算简便&#xff0c;拟合精度较高&#xff0c;是一种很有效的传递函数简化法。 Cont…

【Spring Cloud Alibaba】5.创建服务消费者(Feign)

文章目录简介什么是 Feign开始搭建创建项目修改POM文件添加启动类创建 Feign 接口添加Controller添加配置文件启动项目测试访问Nacos访问接口测试负载均衡通过终端启动多个服务提供者实例简介 接下来我们创建一个服务消费者&#xff0c;通过Feign来进行与服务提供者交互&#…

KDZD程控超低频高压发生器

一、产品概述 本产品接合了现代数字变频技术&#xff0c;采用微机控制&#xff0c;升压、降压、测量、保护自动化。由于电子化&#xff0c;所以体积小重量轻、大屏幕液晶显示&#xff0c;清晰直观、且能显示输出波形、打印试验报告。 设计指标符合《电力设备专用测试仪器通用…

SSM—【笔记】1.1Spring

Spring好处 简化开发&#xff0c;降低企业级开发的复杂性框架整合&#xff0c;高效整合其他技术&#xff0c;提高企业级应用开发与运行效率 简化开发&#xff1a;1、IoC、2、AOP[2.1衍生出事务处理 ] 框架整合&#xff1a;MyBatis、Mybatis-plus、Struts、Struts2、Hibernat…