第三章---数据链路层

因此物理层仅实现了数据传输没有实现有效无差错通信!

要实现真正的通信,还需要做大量的协调工作,如链路管理、流量控制、差错控制等,这些功能由数据链路层来完成。

数据链路层的主要功能是在不可靠的物理链路上实现可靠的数据传输,向网络层提供无差异的、可靠的数据传输通路。

数据链路层的主要功能

1、链路管理

2、封装成帧(帧同步)

3、差错检测

4、将数据和控制信息区分开

5、透明传输

6、寻址

7、流量控制

链路管理

1、为确保接收方处于接收状态,数据的发送方与数据的接收方在数据交换之前,通过交换必要的信息,确定链路的状态。

2、这些状态分为:链路建立、链路维持和链路释放。

3、完成这些状态的转换的功能,称为链路的管理。

帧的概要描述

帧是数据链路层数据传输的单位;

image

帧包含网络层需要传输的数据和传输网络层数据所需的控制信息

封装成帧

在一段数据的前后分别添加首部和尾部,就构成了一个帧。

首部和尾部的一个重要作用就是进行帧定界。

MTU (Maximum Transfer Unit) :帧的数据部分的长度上限。

image

控制字符进行帧定界的方法

image

文头SOH(Start Of Header): 二进制 00000001

文尾EOT(End Of Transmission):二进制 00000100

以帧为单位便于差错检测和处理。

透明传输

将数据正确传输到接收方,称为透明传输;

  1. 当传送的帧是文本文件时,数据部分不会出现像SOH、EOT这样的控制字符,因此是透明传输;
  1. 当数据部分是非ASCⅡ码的文本文件时,如果数据中的某个字节的二进制代码恰好和SOH、EOT这种控制字符一样:

image

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”

字节填充字符填充——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

如果转义字符也出现数据当中,那么应在转义字符前面再插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

image

解决方法:

发送端的数据链路层在数据中出现控制字符“SOH”、“EOT”之前插入转义字符“ESC”(escape):00011011。

接收端的数据链路层先删除这些转义字符,然后再将数据送往网络层。

差错检测控制

差错控制目的:

  1. 及时发现错误
  1. 及时处理

差错编码技术分为两大类:

(1)前向纠错:接收方能检验错误并能纠正错误;

(2)差错检测:只检测错误,不做纠正。

差错控制的具体方法有:

垂直冗余校验(VRC)、水平冗余校验(LRC)、水平垂直冗余校验(TRC)和循环冗余校验(CRC)。

crc的特点:

检错能力极强、开销很小、易于实现

CRC校验常用场合

奇偶校验对一个字符校验一次,适合异步通讯,

一个数据块(frame)校验一次,适合同步通讯

串行同步通信中,在所有链路层或网络接口层协议中,几乎都可以使用这种校验方法。

在串行同步通信中,在所有链路层或网络接口层协议中,几乎都可以使用这种校验方法。

CRC码的生成

CRC码生成和校验基本分为三步:

第一步:在数据单元(k位)的末尾加上r个0。r是一个比预定除数的比特位数(r+1)少1的数。

第二步:采用二进制除法将新的加长的数据单元(k+r位)除以除数。

第三步:求CRC循环冗余校验码

将被除数+余数发送出去

如果余数位数小于r,最左的缺省位数为0。

如果余数为0,则r=0。

说明:

1、发送方和接收方必须有一个共同的多项式P(x);

2、除数比余数多1位。

3、余数既为冗余码,又称帧检验序列FCS

例子:

image

image

多项式P(X)的选择

1、为保证检测错误的概率足够大,必须正确选择P(X);

2、它的最高位和最低位必须是1;

—CRC可以做到无差错接受

将数据和控制信息区分开

1、在数据链路层将控制信息数据组成在一个数据帧中;

2、在数据的接收端,还需要将它们分开;

3、帧包括

(1)帧起始、结束标志

(2)接收站标志

(3)控制字段(流控制、差错控制)

(4)帧校验序列

(5)数据部分

寻址

1、地址作为控制信息,存在帧中;

2、主机的寻址流程

(1)发送主机将源地址和目的地址放入帧中;

(2)收到帧的主机将帧中的目的地址与自己的地址比较;

(3)不同,抛弃;相同,进一步处理。

3、寻址的方式

(1)单播 (2)组播 (3)广播

链路层功能之 流量控制

1、发送方和接收方处理数据的速度必须匹配;

2、当出现不匹配时,数据传输失败;

3、通过接收方控制发送方发送数据的速度,保证数据传输的成功是计算机网络中常用的流量控制方式;

4、接收方使用反馈机制,向发送方应答,报告自己当前的接收情况和能力。接收能力由接收设备的处理速度、接收缓冲的容量等影响)

最后

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

另外,描述问题一定要慢!不要一下子讲一大堆,慢显得你沉稳、自信,而且你还有时间反应思路接下来怎么讲更好。现在开发过多依赖ide,所以会有个弊端,当我们在面试讲解很容易不知道某个方法怎么读,这是一个硬伤…所以一定要对常见的关键性的类名、方法名、关键字读准,有些面试官不耐烦会说“你到底说的是哪个?”这时我们会容易乱了阵脚。正确的发音+沉稳的描述+好听的嗓音决对是一个加分项!

最重要的是心态!心态!心态!重要事情说三遍!面试时间很短,在短时间内对方要摸清你的底子还是比较不现实的,所以,有时也是看眼缘,这还是个看脸的时代。

希望大家都能找到合适自己满意的工作!

进阶学习视频

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)


《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

[外链图片转存中…(img-itERTR2U-1715352917779)]

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-nsinIYmV-1715352917780)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值