【计算机网络】第三章·数据链路层 超硬核复习好物,考前必看!!!

本文主要是介绍【计算机网络】第三章·数据链路层 超硬核复习好物,考前必看!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🥰欢迎阅读,来和 小哇 一起进步!

🌈感谢大家的阅读、点赞、收藏和关注💕


👑第三章 数据链路层

目录

1、主要信道

2、数据链路层三个基本问题:

1.封装成帧:

2.透明传输:

3.差错检测:

3、两个协议:

点对点协议PPP:

应满足的需求:

PPP帧格式:

透明传输

CSMA/CD协议

   三个要点:

争用期(又叫碰撞窗口):

最短有效帧长:

截断二进制指数退避算法:

4、局域网

5、以太网


1、主要信道

数据链路层使用的主要信道:

点对点信道(使用一对一的点对点通信方式)    

广播信道(使用一对多的广播通信方式,过程较复杂,必须使用专用的共享信道协议来协调该信道上连接的主机的数据发送)

2、数据链路层三个基本问题

1.封装成帧:

      (首部/尾部,定界) 就是在一段数据的前后分别添加首部和尾部,构成一个帧。首部、尾部的一个重要作用就是进行帧定界(即确定帧的界限);

网络层的IP数据报传到数据链路层成为帧的数据部分,在帧的数据部分前后加上首部和尾部构成完整的帧(数据链路层的数据传输单元)

       帧的数据部分<=最大传送单元MTU(数据部分长度上限)

当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符SOH表示帧的首部开始、EOT表示帧的结束)。

接收端收到不完整的帧(只有首部开始符SOH,没有传输结束符EOT)就丢弃,完整的才收下。

2.透明传输:

表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。

所传输的帧数据部分不允许出现和 用作帧定界的 控制字符的比特编码一样,否则会出现帧定界的错误。

       传送的帧是文本文件组成时,不管从键盘上输入什么字符都可以传输过去,此传输为透明传输

       但当数据部分是ASCII码的文本文件时,若数据中某字节的二进制代码和SOH或EOT这种控制字符一样,数据链路层会错误地“找到帧的边界”,收下部分帧,丢下剩下的数据,此传输不是透明传输。

       采用字节填充(或字符填充)的方法可解决透明传输问题:发送端数据链路层在数据出现控制符SOH或EOT前插入一个转义字符“ESC”,接收端数据链路层在把数据送往网络层之前删除这个转义字符。如果转义字符也在数据中,同理在其前面插入一个转义字符。

3.差错检测

比特差错:比特在传输过程中产生差错,1-->0,0-->1

误码率BER:一段时间内,传输错误的比特占所传输比特总数的比率。信噪比提高,误码率减小。

差错检验措施:

循环冗余检验CRC:一种检错技术、方法(书P76~77

   原理:

     在发送端,把数据进行分组,每组k个比特,待传送的数据为M(有k位),CRC就是在数据M后添加n位冗余码,一共发送(k+n)位给接收端。

        n位冗余码:在M后添加n个0,得到的(k+n)位数除以(n+1)位的除数p,得到有n位的余数R,R就是冗余码(又叫帧检验序列FCS。(除数p事先规定好的)

    在接收端,把收到的每个帧都除以同样的除数p,然后检查余数R(在数据M后加上n位冗余码的后除以p)。若余数R=0,则这个帧没有差错,接收;若R!=0,这个帧有错,就丢弃

   可用生成多项式表示除数p,比如p为1101,生成多项式为P(X)=X^3+X^2+X^0

3、两个协议

对于点对点链路:

点对点协议PPP

应满足的需求:

(1)简单  是首要的需求  使互操作性提高了

 (2)封装成帧   必须规定特殊字符作为帧定界符

(3)透明性        必须保证数据传输的透明性

  ……

(6)差错检测   对接收端收到的帧进行差错检测,丢弃有错的帧

  ····

PPP帧格式:

           各字段的意义:PPP帧首部四个字段,尾部两个字段,中间是信息部分(不超过1500字节)。首部第一个、尾部第二个字段都是标志字段F 规定为0x7E(标志字段是PPP帧的定界符)。连续两帧间,只需一个标志字段。

透明传输

 字节填充:PPP使用异步传输(逐个字符地填充)时,填充方法:

        将信息字段中出现的每个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)

        若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)

        若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。例如: 0x03-->0x7D,0x23

在接受端进行与发送端字节填充相反的变换,来恢复原来的数据。

 零比特填充:(连续5个1添加一个0)PPP 协议用在 SONET/SDH 链路时,是使用同步传输(一 连串的比特连续传送。)这时需要采用零比特填充来实现透明传输。

           发送端只要发现有连续5个1就填入一个0;接收端收到帧后先找到标志字段F来确定一个帧的边界,再删除每五个1后的一个0

CSMA/CD协议

   三个要点:

载波监听 多点接入 碰撞检测

多点接入:说明这是总线型网络,许多计算机以多点接入的方式连在一根总线上。

载波监听:边发送边监听。不管在想要发送数据之前,还是发送数据中,每个站都必须不停检测信道。

碰撞检测也叫冲突检测。

  • 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
  • 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
  • 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率

争用期(又叫碰撞窗口):

2传播时延(以太网的端到端往返时间2τ)。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

凡是长度小于小于64字节的帧都是由于冲突而异常中止的无效帧,应立即丢弃。

最短有效帧长

争用期2τ*发送速率V

截断二进制指数退避算法

用来确定碰撞后的重传时机。

规定:

(1)基本退避时间为争用期2τ

(2)从离散的整数集合[0,1,……,(2^k - 1)]中随机抽出一个数,记为r。重传应推后的时间是r倍的争用期。

当重传次数不超过10时,k为重传次数。重传次数超过10,k一直为10。

(3)重传16次仍未成功,丢弃该帧,向高层报告。

帧间最小间隔为9.6us,相当于96比特时间。

4、局域网

特点:网络为一个单位所拥有,且地理范围和站点数目均有限。

局域网具有如下的一些主要优点:

1具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。

2便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。

             3提高了系统的可靠性、可用性和生存性

共享信道在技术上两种方法:

1、静态划分信道:如频分复用、时分复用、码分复用、波分复用

2、动态媒体介入控制(又称为多点接入):随机接入(主要采用)、受控接入(使用少)

5、以太网

服务:

尽最大努力的交付即不可靠的交付。当目的站收到有差错的帧就立即丢弃,对有差错帧是否需要重传由高层来决定。

曼彻斯特编码:(具体再第二章网络层讲了)

拓扑结构:集线器连接的星型拓扑

集线器特点:   

1、使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。(各站中的适配器执行CSMA/CD协议)。

2、一个集线器有多个端口,因此像一个多端口的转发器。

3、集线器工作在物理层,每个端口仅仅简单地转发比特,不进行碰撞检测。

10base-T双绞线以太网:“10”代表10Mbit/s,BASE表示连接线上的信号是基带信号,“T”代表双绞线。

是局域网发展史上的一个重要里程碑,从此以太网的拓扑从总线型变为更方便的星形网络。

使用CSMA/CD协议。

以太网信道利用率:

        发送帧所需时间To = 帧长(bit)/发送速率(10Mbit/s)

        成功发送一个帧需要占用信道的时间是To+τ(帧的发送时间+单程端到端时延)。

        要提高以太网信道利用率,a的值要尽可能小:

        a = τ/To

以太网MAC层:

        MAC地址又叫硬件地址或物理地址。

        适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.如果是发往本站的帧则收下,否则就将此帧丢弃。

        “发往本站的帧”包括以下三种帧:

                单播(unicast)帧(一对一)

                广播(broadcast)帧(一对全体)

                多播(multicast)帧(一对多)

        MAC帧:封装(首部+尾部=18字节)

         无效的MAC帧(检查出就丢弃):

                帧的长度不是整数个字节;

                用收到的帧检验序列 FCS 查出有差错;

                收到的帧数据字段的长度不在 46 ~ 1500 字节之间。有效的 MAC 帧长度(数据字段+首尾部)为 64 ~ 1518 字节之间。

MTU1500字节,最短有效帧长64字节

MAC地址:48位的标识

扩展以太网

物理层:集线器(hub)   共享式以太网

数据链路层:交换机(switch)别称 交换式集线器或以太网交换机

MAC地址表:自学习、查表转发

高速以太网

无线局域网(教材第九章)

CSMA/CA  载波监听 多点接入/碰撞避免

帧格式


本次计算机网络内容就到这里咯!

下次见~~

这篇关于【计算机网络】第三章·数据链路层 超硬核复习好物,考前必看!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034549

相关文章

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据