前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >计算机网络学习--数据链路层

计算机网络学习--数据链路层

作者头像
shimeath
发布2020-08-01 15:16:02
7110
发布2020-08-01 15:16:02
举报
文章被收录于专栏:shimeath的Java学习

第一章 概述

第二章 物理层

第三章 数据链路层

第四章 网络层

第五章 传输层

第六章 应用层

第三章 数据链路层

数据链路层使用的信道主要有以下两种类型:

  • 点对点信道。这种信道使用一对一的点对点通信方式。
  • 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发

3.1、点对点信道的数据链路层

3.1.1、数据链路和帧

  • 链路(link)是一条无源点到点物理线路段,中间没有任何其他的交换结点。
代码语言:txt
复制
- 一条链路只是一条通路的一个组成部分。

数据链路层传送的是

3.1.2、三个基本问题
  1. 封装成帧 ​ 封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限
  1. 透明传输

字节填充

​ 在数据中可能存在帧开始字符或帧结束字符,这时为了透明传输就需要转义,类似于编程语言中的\\n

  1. 差错检测

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)

在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术 模2除即为非进位除法或异或

帧检验序列 FCS

  • 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
  • n循环冗余检验 CRC 和帧检验序列 FCS并不等同。
    • CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
    • FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

校验:

  1. 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。
  2. 若余数 R ¹ 0,则判定这个帧有差错,就丢弃。

3.2、点对点协议 PPP

3.2.1、PPP 协议的特点

用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。

3.2.2、PPP 协议组成
  • 一个将 IP 数据报封装到串行链路的方法。
  • 链路控制协议 LCP (Link Control Protocol)。
  • 网络控制协议 NCP (Network Control Protocol)。
3.2.3、PPP帧格式
  • 标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)。
  • 地址字段 A 只置为 0xFF。地址字段实际上并不起作用。
  • 控制字段 C 通常置为 0x03。
  • PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
  • PPP 有一个 2 个字节的协议字段。
代码语言:txt
复制
-  当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。
代码语言:txt
复制
-  若为 0xC021, 则信息字段是 PPP 链路控制数据。
代码语言:txt
复制
-  若为 0x8021,则表示这是网络控制数据。

透明传输

  • 当 PPP 用在异步传输时,就使用一种特殊的字符填充法。
代码语言:txt
复制
1.  将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。
代码语言:txt
复制
2.  若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。
代码语言:txt
复制
3.  若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
  • 零比特填充
代码语言:txt
复制
- 在发送端,只要发现有 5 个连续 1,则立即填入一个 0。
- 接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除
2.3.4、PPP协议工作状态

3.3、使用广播信道的数据链路层

3.3.1、局域网的数据链路层

媒体共享技术

  • 静态划分信道
    • 频分复用
    • 时分复用
    • 波分复用
    • 码分复用
  • 动态媒体接入控制(多点接入)
    • 随机接入(常用)
    • 受控接入 ,如多点线路探询(polling),或轮询。

为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层:

  • 逻辑链路控制 LLC (Logical Link Control)子层(一般不存在)
  • 媒体接入控制 MAC (Medium Access Control)子层。
3.3.2、CSMA/CD协议

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

  • 多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
  • 载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
  • 碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小
代码语言:txt
复制
- 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞
- 碰撞的结果是两个帧都变得无用

使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)

争用期

最先发送数据帧的站,在发送数据帧后至多经过时间 2t (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。 以太网的端到端往返时延 2t 称为争用期,或碰撞窗口

二进制指数类型退避算法

  • 发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
代码语言:txt
复制
-  确定基本退避时间,一般是取为争用期 2_t_。
代码语言:txt
复制
-  定义重传次数 _k_ ,_k_ £ 10,即 ​		
代码语言:txt
复制
-  从整数集合[0,1,…, (2_k_ -1)]中随机地取出一个数,记为 _r_。重传所需的时延就是 _r_ 倍的基本退避时间。
代码语言:txt
复制
-  当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突

以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧

强化碰撞

  • 当发送数据的站一旦发现发生了碰撞时:
代码语言:txt
复制
-  立即停止发送数据;
代码语言:txt
复制
-  再继续发送若干比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞

3.4、使用广播信道的以太网

3.4.1、使用集线器的星形拓扑

这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)

使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线

集线器很像一个多接口的转发器,工作在物理层(没有处理能力,收到什么发什么)

集线器示意图

3.4.2、以太网的信道利用率

帧长为 L (bit),数据发送速率为 C (b/s),因而帧的发送时间为 L/C = _T_0 (s)。

  • 当数据率一定时,以太网的连线的长度受到限制,否则 t 的数值会太大。
  • 以太网的帧长不能太短,否则

的值会太小,使 a 值太大

3.4.3 、以太网的 MAC 层
  • 在局域网中,硬件地址又称为物理地址,或 MAC 地址。
  • MAC地址共48位,前24为IEEE注册管理机构分配给厂家,后24厂家自行安排
  • 最常用的 MAC 帧是以太网 V2 的格式

适配器检查MAC地址

收到帧之后进行检测,如果是发往本站就接受,否则就丢弃。

发往本站的帧:

  • 单播(unicast)帧(一对一)
  • 广播(broadcast)帧(一对全体)
  • 多播(multicast)帧(一对多)

MAC帧格式

3.5 在数据链路层扩展局域网

在数据链路层扩展局域网是使用网桥

网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴

集线器和网桥的不同

  • 集线器在转发帧时,不对传输媒体进行检测。
  • 网桥在转发帧之前必须执行 CSMA/CD 算法。
    • 若在发送过程中出现碰撞,就必须停止发送和进行退避。

3.6、以太网交换机

交换式集线器常称为以太网交换机(switch)或第二层交换机(表明此交换机工作在数据链路层)

3.7、虚拟局域网(VLAN)

虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记(tag)

帧格式:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第三章 数据链路层
    • 3.1、点对点信道的数据链路层
      • 3.1.1、数据链路和帧
      • 3.1.2、三个基本问题
    • 3.2、点对点协议 PPP
      • 3.2.1、PPP 协议的特点
      • 3.2.2、PPP 协议组成
      • 3.2.3、PPP帧格式
      • 2.3.4、PPP协议工作状态
    • 3.3、使用广播信道的数据链路层
      • 3.3.1、局域网的数据链路层
      • 3.3.2、CSMA/CD协议
    • 3.4、使用广播信道的以太网
      • 3.4.1、使用集线器的星形拓扑
      • 3.4.2、以太网的信道利用率
      • 3.4.3 、以太网的 MAC 层
    • 3.5 在数据链路层扩展局域网
      • 3.6、以太网交换机
        • 3.7、虚拟局域网(VLAN)
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档