视频地址:计算机网络微课堂(有字幕无背景音乐版)_哔哩哔哩_bilibili

该课程已上线到以下慕课平台,课程相关资源(课件、PDF文档、仿真软件、汉化包)也可在以下网址下载。
       学银在线 http://www.xueyinonline.com/detail/216843891
       ​中国大学MOO​C(慕课)https://www.icourse163.org/course/HNKJ-1461816178

参考文章:BloothOfYouth 的个人主页 - 动态 - 掘金

主要内容:

3.1 数据链路层概述

3.2 封装成帧和透明传输

3.3 差错检测

3.4 可靠传输

3.5 点对点协议PPP

3.6 共享式以太网

3.7 交换式以太网

3.8 以太网的MAC格式

3.9 虚拟局域网VLAN

3.10 无线局域网

3.1 数据链路层概述

概述

链路 是从一个结点到相邻结点的一段物理线路, 数据链路 则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)

网络中的主机、路由器等都必须实现数据链路层 

局域网中的主机、交换机等都必须实现数据链路层 

从层次上来看数据的流动 

仅从数据链路层观察帧的流动 

主机H1 到主机H2 所经过的网络可以是多种不同类型的 
注意:不同的链路层可能采用不同的数据链路层协议 

数据链路层使用的信道

数据链路层属于计算机网路的低层。 数据链路层使用的信道主要有以下两种类型:

  • 点对点信道
  • 广播信道

局域网属于数据链路层

局域网虽然是个网络。但我们并不把局域网放在网络层中讨论。这是因为在网络层要讨论的是多个网络互连的问题,是讨论分组怎么从一个网络,通过路由器,转发到另一个网络。

而在同一个局域网中,分组怎么从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看, 局域网仍属于数据链路层 的范围

三个重要问题

数据链路层传送的协议数据单元是 帧 

封装成帧

  • 封装成帧  (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
  • 首部和尾部的一个重要作用就是进行 帧定界

差错控制

在传输过程中可能会产生 比特差错 :1 可能会变成 0, 而 0 也可能变成 1。

可靠传输

接收方主机收到有误码的帧后,是不会接受该帧的,会将它丢弃

如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施

如果数据链路层向其上层提供的是可靠服务,那就还需要其他措施,来确保接收方主机还可以重新收到被丢弃的这个帧的正确副本 

以上三个问题都是使用 点对点信道的数据链路层 来举例的

如果使用广播信道的数据链路层除了包含上面三个问题外,还有一些问题要解决

如图所示,主机A,B,C,D,E通过一根总线进行互连,主机A要给主机C发送数据,代表帧的信号会通过总线传输到总线上的其他各主机,那么主机B,D,E如何知道所收到的帧不是发送给她们的,主机C如何知道发送的帧是发送给自己的

可以用编址(地址)的来解决

将帧的目的地址添加在帧中一起传输 

还有数据碰撞问题 

随着技术的发展,交换技术的成熟,在 有线(局域网)领域 使用 点对点链路链路层交换机交换式局域网 取代了 共享式局域网,在 无线局域网 中仍然使用的是 共享信道技术

3.2 封装成帧和透明传输

1、封装成帧

封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧

帧头和帧尾中包含有重要的控制信息

点对点协议的PPP帧的首部和尾部

以太网MAC帧的首部和尾部

帧首部和尾部的作用之一帧定界 

发送方的数据链路层将上层交付下来的协议数据单元封装成帧后,还要通过物理层,将构成帧的各比特,转换成电信号交给传输媒体,那么接收方的数据链路层如何从物理层交付的比特流中提取出一个个的帧?

答:需要帧头和帧尾来做 帧定界 

PPP帧的定界符 

但不是每一种数据链路层协议的帧都包含有帧定界标志,例如以太网V2的MAC帧

前导码作用:

  • 使接收方的时钟同步
  • 表明其后面紧跟着的就是MAC帧

另外以太网还规定了帧间间隔为96比特时间,因此,MAC帧不需要帧结束定界符

最大传送单元MTU

透明传输

帧界定标志也就是个特定数据值,如果在上层交付的协议数据单元中,恰好也包含这个特定数值,接收方就不能正确接收。

解决透明传输问题

解决方法

面向字节的物理链路 使用 字节填充  (byte stuffing) 或 字符填充  (character stuffing),面向比特的物理链路 使用 比特填充 的方法实现透明传输。

字节填充

  • 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面 插入一个转义字符“ESC”(其十六进制编码是1B)。
  • 接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
  • 如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

比特填充

  • 在发送前,对数据部分进行扫描,每5个连续的比特1后面就插入1个比特0,这样就确保了帧定界在整个帧中的唯一性。
  • 接收方的数据链路层从物理层交付的比特流中提取帧时,将帧的数据部分中的每5个连续的比特1后面的那个比特0剔除即可。

3.3 差错检测

1、误码的相关概念

2、常用的检错技术

奇偶校验

循环冗余校验CRC(Cyclic Redundancy Check)

例题

圆圈里面有个加号表示的是异或运算

总结

3.4 可靠传输

1、基本概念

传输差错

分组丢失

分组失序:数据并未按照发送顺序依次到达接收端

分组重复:由于某些原因,有些分组在网络中滞留了,没有及时到达接收端,这可能会造成发送端对该分组的重发,重发的分组到达接收端,但一段时间后,滞留在网络的分组也到达了接收端,这就造成 分组重复 的传输差错

不可靠传输服务和可靠传输服务

可靠传输并不局限于数据链路层

2、停止-等待协议

停止-等待就是指发送方每发送完一个数据分组就必须停下来,等待接收方发来的确认ACK或否认NAK分组

1)实现原理

确认、否认和重传

超时重传 

数据分组需要编号 

确认分组需要编号

注意,图中最下面那个数据分组与之前序号为0的那个数据分组不是同一个数据分组

注意事项 

2)信道利用率

3、回退N帧协议GBN

1)为什么用回退N帧协议

在相同的时间内,使用停止-等待协议的发送方只能发送一个数据分组,而采用流水线传输的发送方,可以发送多个数据分组。

2)流水线传输

3)发送窗口

4)接收窗口

5)回退N帧的含义

6)累计确认

7)有差错情况

例如

在传输数据分组时,5号数据分组出现误码,接收方通过数据分组中的检错码发现了错误

于是丢弃该分组,而后续到达的这剩下四个分组与接收窗口的序号不匹配

接收同样也不能接收它们,将它们丢弃,并对之前按序接收的最后一个数据分组进行确认,发送ACK4,每丢弃一个数据分组,就发送一个ACK4

当收到重复的ACK4时,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器超时就立刻开始重传,具体收到几个重复确认就立刻重传,根据具体实现决定。

如果收到这4个重复的确认并不会触发发送立刻重传,一段时间后。超时计时器超时,也会将发送窗口内以发送过的这些数据分组全部重传。

8)发送窗口的尺寸超越其范围上限将出现接收方无法辨析新旧分组的情况

9)信道利用率

总结

4、选择重传协议

3.5 点对点协议PPP

点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议。

PPP协议是因特网工程任务组IEIF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]。

数据链路层使用的一种协议,它的特点是:简单;只检测差错,而不是纠正差错;不使用序号,也不进行流量控制;可同时支持多种网络层协议。

1、PPP协议两种应用

2、PPP协议的组成

从网络体系结构看PPP协议的组成

3、PPP协议的帧格式

1)PPP帧中各字段的含义

2)PPP帧的透明传输

字节填充:面向字节的异步链路使用字节填充来实现透明传输

零比特填充:面向比特的同步链路使用零比特填充来实现透明传输

3)差错检测

能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。

可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

4、PPP协议的工作状态

以用户主机拨号接入因特网网络服务提供者ISP的拨号服务器的过程为例:

  • 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
  • PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
  • 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机
  • 分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
  • 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

3.6、共享式以太网

1、以太网的诞生

以太网以曾经被假想的电磁波介质----以太来命名

以太网最初采用无源电缆(不包含电源线)作为共享总线来传输帧,属于基带总线局域网,传输速率2.94Mb/s。

总线被集线器替代

2、网络适配器

要将计算机连接到以太网,需要使用相应的网络适配器,网络适配器一般简称网卡。

网卡的基本组成

3、MAC地址

1)MAC地址的作用

MAC地址的存放位置

严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络各设备的唯一标识。

2)MAC地址的格式

MAC地址的分类

单播地址MAC举例

广播MAC地址举例

组播MAC地址举例

3)网卡的混杂方式

被设置为混杂方式的网卡,只要收到共享媒体上传来的帧就会收下,而不管帧的目的MAC地址是什么。

4)MAC地址的发送顺序

4、CSMA/CD协议

1)作用

2)基本原理

多址接入MA:多个站点连接在一条总线上,竞争使用总线。

载波监听CS:每个站点在发送帧之前,先要检测以下总线上是否有其他站点在发送帧

  • 若检测到总线上空闲96比特时间(发送96比特所耗费的时间,也称为最小帧间隔),则发送个帧
  • 若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送这个帧

碰撞检测CD:每个发送帧的站点边发送边检测碰撞,一旦发现总线上出现碰撞,立即停止发送,退避一段时间后再次从载波监听开始进行发送。

注意

3)争用期

使用CSMA/CD协议的共享总线,以太网上的任意站点在发送帧的过程中都可能遭遇碰撞。

某个站点在发送帧时,最常要经过多次时间,才能检测出自己发送的帧与其他站点发送的帧产生冲突?

4)最小帧长和最大帧长

5)退避算法

6)信道利用率

5、使用集线器的共享式以太网

早期的传统以太网

使用集线器的共享式以太网

对比

10BASE-T以太网

6、在物理层扩展以太网

1)扩展站点与集线器的距离

2)扩展共享式以太网的覆盖范围和站点数量

7、在数据链路层扩展以太网

在数据链路层扩展以太网可以使用网桥,网桥工作在数据链路层(包含其下的物理层),因此网桥具备属于数据链路层范畴的相关能力。

  • 识别帧的结构
  • 根据帧首部中的MAC地址和网桥自身的帧转发表来转发或丢弃所收到的帧

1)网桥的基本工作原理

网桥的主要结构

网桥转发帧举例

2)透明网桥的自学习和转发帧流程

透明网桥从自己的接口收到帧后,会进行以下操作:

  1. 自学习
  2. 转发帧

盲目转发

明确转发

丢弃

3)透明网桥的生成树协议

使用冗余链路提高以太网的可靠性但引入了环路

使用生成树协议避免环路带来的问题

3.7 交换式以太网

网桥的接口数量很少,只有2-4个,一般只用来连接不同的网段。

1992年面世的交换式集线器,实质上是具有多个接口的网桥,常称为以太网交换机或二层交换机。

仅使用交换机的以太网就是交换机以太网

1、以太网交换机

1)基本工作原理

2)交换方式

2、共享式以太网与交换式以太网的对比

3.8 以太网的MAC格式

1、以太网V2的MAC格式

2、物理层前导码

3、无效的MAC帧

  • MAC帧的长度不是整数个字节
  • 通过MAC帧的FCS字段的值检测出帧有误码
  • MAC帧的长度不再64B~1518B之间

接收方收到无效的MAC帧时,就简单将其丢弃,以太网的数据链路层没有重传机制。

3.9 虚拟局域网VLAN

1、虚拟局域网VLAN技术的诞生背景

将多个站点通过一个或多个以太网交换机连接起来就构建出了交换式以太网。

交换式以太网中的所有站点都属于同一个广播域,随着交换式以太网规模的扩大,广播域也相应扩大。

分割广播域的办法

2、 虚拟局域网VLAN概述

虚拟局域网VLAN并不是一种新型网络,它只是局域网能够提供给用户的一种服务。

3、 虚拟局域网VLAN实现机制

1)IEEE 802.1Q帧

对以太网的V2的帧进行扩展 

VLAN标签字段 

交换机对802.1Q帧的处理 

802.1Q帧一般不由用户主机处理,而是由以太网交换机处理。

2)以太网交换机的接口类型

注意:交换机的每一个接口仅有一个PVID 

 Access接口

举例一:在一个交换机上不进行人为的VLAN划分,交换机各接口默认属于VLAN1且类型为Access的情况

举例二:在一个交换机上划分两个不同VLAN的情况

Trunk接口

Hybrid接口

3.10 无线局域网

无线局域网的数据链路层

1)使用CSMA/CA协议(而不使用CSMA/CD协议)

无线局域网的隐蔽站问题 

2)CSMA/CA协议的基本工作原理

DCF帧间间隔DIFS

短帧间间隔SIFS

虚拟载波监听 

确认机制 

退避算法 

使用退避算法的原因

使用退避算法的情况

退避算法 

3)信道预约

为了进一步降低发生碰撞的概率,802.11无线局域网允许源站对信道进行预约

RTS帧 

CTS帧 

推迟访问信道 

额外开销 

信道预约也属于虚拟载波监听 

无线局域网的MAC帧

1)三种类型的帧

2)数据帧的格式

计算机网络第3章(数据链路层)相关推荐

  1. 计算机网络第三章数据链路层习题答案

    计算机网络第三章数据链路层习题答案 3-02数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透 ...

  2. 计算机网络第三章——数据链路层(仅记录我所认为重要的知识点)

    计算机网络第三章--数据链路层 数据链路层使用的信道类型 点对点信道 广播信道 数据链路层位置 数据链路层的3个基本问题 数据链路和帧 链路 数据链路 数据链路层传输的是帧 封装成帧 透明传输问题 差 ...

  3. 计算机网络第三章 数据链路层重点复习(点对点)

    目录 前言 系列文章目录 3.1 使用点对点通信的数据链路层 3.1.1 点对点通信的主要步骤 3.1.2 三个基本问题 3.2 点对点协议PPP 3.2.1 PPP协议的特点 3.2.2 PPP协议 ...

  4. 【计算机网络】南航计算机网络第三章 数据链路层

    文章目录 计算机网络第三章 数据链路层 3.1 使用点对点信道的数据链路层 帧--数据链路层的协议数据单元 基本问题 封装成帧 透明传输 差错检测 3.2 点对点协议PPP(Point-to-Poin ...

  5. 计算机网络第3章数据链路层 单元测试(习题+答案+图文解析)

    计算机网络第3章数据链路层 单元测试 本篇笔记整理:Code_流苏(CSDN) 观前提示:以下解析来自自己思考以及笔记记录的综合,可能并不官方,如有问题,欢迎评论交流学习!建议收藏!结合笔记计算机网络 ...

  6. 计算机网络——第三章 数据链路层(详细附图)

    第三章 数据链路层 3.1 数据链路层概述 3.1.1 本章问题 封装成帧 差错检测 可靠传输 广播信道的数据链路层 网桥和交换机的工作原理 3.2 封装成帧 封装成帧 透明传输 面向字节的物理链路 ...

  7. 计算机网络 第三章 数据链路层总结

    第3章 数据链路层 数据链路层的地位 数据链路层是实现设备之间通信的非常重要的一层 数据链路层使用的信道 点对点信道 这种信道使用一对一的点对点通信方式 广播信道 使用一对多的广播通信方式 因此必须使 ...

  8. 计算机网络 第三章 数据链路层

    有一说一,王道的计算机网络个人感觉不尽如意,数据链路层的内容安排实在是有些乱,里面并不是按照课本来的,而是穿插了很多其它章节的知识. 3.1 数据链路层的功能 数据链路层在物理层提供服务的基础上,向网 ...

  9. 计算机网络第三章-数据链路层

    数据链路层知识结构 文章目录 一.数据链路层的功能 二.组帧 三.差错控制 四.流量控制与可靠传输机制 五.介质访问控制 六.局域网 七.广域网 八.数据链路层设备 一.数据链路层的功能 1.为网络层 ...

  10. 计算机网络第三章——数据链路层

    数据链路层 一.学习目标: 二.概念 三.数据链路层的几个共同问题 3.1 数据链路 链路 数据链路 3.2 帧 3.3 三个基本问题 3.3.1 封装成帧 3.3.2 透明传输 3.3.3差错检错 ...

最新文章

  1. R语言在直方图条(柱形)上添加计数(count)或者百分比(percent)标签
  2. 如何解析字符串类型的xml
  3. 二叉树的深度优先和广度优先遍历
  4. spring配置详解-属性注入(p名称空间SPEL表达式)
  5. 『流畅的Python』第1~4章笔记_数据结构、编码
  6. Hibernate事实:始终检查Criteria API SQL查询
  7. 云数据库·ApsaraDB 产品6月刊
  8. java 定义xml_java中web.xml定义详解
  9. VMware配置额外内存设置
  10. 通过lvm方式扩展swap分区
  11. [CSS3]Clearfix
  12. java后端简历项目经历_java后台开发个人简历怎么写
  13. 31个省环境统计年鉴面板数据(2003-2019年)
  14. arduino 点灯科技 用esp8266 01s 实现wifi控制继电器开关 支持天猫精灵
  15. 未找到beta版怎么解决_你要的直播解决方案来了!无需采集卡!
  16. Gearman中文手册技术文档分享chm
  17. 后端开发工程师不懂这些就危险了
  18. 16.[STM32]从原理开始带你了解DS18B20温度传感器-四位数码管显示温度
  19. BAT等公司高薪招聘Android开发面试题目集锦
  20. IDEA执行hadoop相关报错xxx from xxx is not a valid DFS filename.

热门文章

  1. 攻防世界 逆向 game
  2. lustre文件系统部署流程
  3. Android常用控件,四大组件,intent应用
  4. 华为鸿蒙首批升级机型名单曝光
  5. 光伏发电物联网数字化解决方案
  6. (超好用)linux/Windows环境下pdf转图片
  7. 大三上数据库系统管理复习
  8. Qt会场触摸互动开发,超大屏触摸游戏开发
  9. Lecture 12: Information from parts of words: SubwordModels
  10. 中南大学计算机模拟试题6,中南大学大学计算机基础模拟试题.doc