史上最全的数据链路层基础知识详解,小白都会

  • 2.3.2差错产生的原因和差错类型

  • 2.3.3差错控制编码的基本思想

  • 2.3.4差错控制的基本原理

  • 2.3.5差错控制编码分类

  • 2.3.6循环冗余检验CRC的相关基础知识

  • 2.3.7帧检验序列 FCS

  • 2.3.8接收端对收到的每一帧进行 CRC 检验

  • 2.3.9无差错接受与可靠传输的不同

  • 3. PPP协议

    • 3.1数据链路层使用信道的两种类型
  • 3.2点对点信道的数据链路层通信时的主要步骤:

  • 3.3 PPP 协议应满足的要求

  • 3.4 PPP 协议不支持的功能

  • 3.5 PPP 协议的组成

  • 3.6 PPP 协议的帧格式

  • 3.7透明传输问题

    • 3.7.1字符填充
  • 3.7.2零比特填充

  • 3.8 PPP 协议之所以不使用序号和确认机制是出于以下的考虑:

  • 3.9PPP协议的工作状态

  • 3.10总结

  • 4 局域网的数据链路层

  • 4.1局域网的特点

  • 4.2决定局域网性能的三要素

  • 4.3局域网的拓扑类型

    • 4.3.1星形网:
  • 4.3.2环形拓扑构型与令牌环网:

  • 4.3.3总线网

  • 4.4局域网使用的传输介质

  • 4.5广播信道访问

    • 4.5.1介质接入控制
  • 4.5.2静态划分信道

  • 4.5.3动态媒体接入控制

  • 4.6数据链路层的两个子层

  • 4.7适配器

  • 4.8 CSMA/CD 协议

    • 4.8.1总线型以太网
  • 4.8.2具有广播特性总线上实现一对一的通信

  • 4.8.3为了通信的简便,以太网采取了两种重要的措施

  • 4.9 CSMA协议

    • 4.9.1CSMA ( Carrier Sense Multiple Access) 表示载波监听多点接入。
  • 4.9.2碰撞检测

  • 4.9.3检测到碰撞后

  • 4.9.4电磁波在总线上的有限传播速率的影响

  • 4.9.5重要特性

  • 4.9.6争用期

  • 4.10 CSMA/CD的发送流程可以概括为:

  • 5.使用集线器的双绞线以太网

    • 5.1集线器的一些特点
  • 5.2用集线器扩展以太网

  • 5.3小结

  • 6.以太网的MAC层

    • 6.1 MAC 层的硬件地址
  • 6.2 48 位的 MAC 地址

  • 6.3 适配器检查 MAC 地址

    • 6.3.1 MAC 帧的格式
  • 6.3.2 帧间最小间隔

  • 6.3.3无效的 MAC 帧

  • 6.4小结

  • 7.使用透明网桥扩展以太网

    • 7.1扩展以太网最初常用的方法是在数据链路层使用网桥(Bridge)。
  • 7.2使用网桥带来的好处以及缺点

  • 7.3网桥和集线器(或转发器)不同

  • 7.4透明网桥

    • 7.4.1透明网桥按照逆向学习算法逐步建立转发表
  • 7.4.2透明网桥转发处理帧的方法

  • 7.4.3透明网桥在转发表中登记以下三个信息

  • 7.4.4生成树的得出

  • 7.4.5生成树的算法

  • 7.5 小结

  • 8 以太网交换机

    • 8.1多接口网桥——以太网交换机
  • 8.2以太网交换机的特点

  • 8.3以太网交换机的功能

    • 8.4从总线以太网到星形以太网
  • 8.5以太网交换机的交换模式

  • 8.6碰撞域和广播域的概念

  • 8.7 小结

  • 9 虚拟局域网

    • 9.1物理局域网LAN:
  • 9.2虚拟局域网使用的帧格式

  • 9.3虚拟局域网的实现方法

    • 9.3.1按交换机端口划分定义虚拟局域网(最常用的方式)
  • 9.3.2用 MAC地址定义虚拟局域网(链路层的虚拟局域网)

  • 9.3.3用网络层地址定义虚拟局域网

  • 9.4小结

  • 10 高速以太网

    • 10.1 100BASE-T 以太网
    • 10.1.2 100BASE-T 以太网的特点
  • 10.1.3 三种不同的物理层标准

  • 10.1.4速率自动协商机制

  • 10.2吉比特以太网

    • 10.2.1全双工方式:
  • 10.2.2载波延伸

  • 10.2.3分组突发

  • 10.2.4 10 吉比特和100吉比特以太网

  • **10.2.5端到端的以太网传输**

  • 10.3 小结

  • 11.数据链路层设备

    • **11.1网卡 NIC** (Network Interface Card)”又称为通信适配器(adapter)。
    • 11.1.1网卡分类
  • 11.2网桥

  • 11.3 交换机

  • 11.数据链路层设备

    • 11.1网卡 NIC (Network Interface Card)”又称为通信适配器(adapter)。
    • 11.1.1网卡分类
  • 11.2网桥

  • 11.3 交换机

你了解的越多,不理解的就越多 ,你的关注是我不懈的动力!我的微信公众号,搜索“萌小肆聊编程”。

也可以私聊加微信一起学习

数据链路层属于计算机网络的底层,位于物理层之上,网络层之下

数据链路层为计算机网络提供有效可靠的帧传输。

在了解数据链路层的基础知识之前,我们先从它的功能出发

1.数据链路层的主要功能


​ 1)为网络层提供服务

  1. 链路管理:负责数据链路的建立、维持和释放,主要用于面向连接服务。1

  2. 寻址:保证每一帧都能正确到达目的站。

2)保证数据传输的有效可靠

  1. 帧定界:将物理层的比特封装成帧,确定帧的开始与结束(当两个主机之间互相传送消息时,网络层的分组必须将封装成帧,并以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就够成了帧。首部和尾部中含有很多控制信息,这些信息的重要作用之一就是确定帧的界限,这就是帧定界。)

  2. 帧同步:接收方确定收到的比特流中一帧的开始位置和结束位置。

  3. 差错控制:用于使接收方确定收到的数据就是由发送方发送的数据。

  4. 透明传输:不论数据是什么样的比特组合,都应当能够在链路上进行传输。

  5. 流量控制:控制发送方的发送数据的速率,使接收方来得及接受。

涉及到的基本概念

链路(link):是从一个结点到相邻结点的一段物理线路(有线或者无线)中间没有任何的其他的交换结点

​ 进行数据通信时两个计算机之间的通信路径往往要经过许多段这样的链路;

​ 链路只是一条链路的一个组成部分

数据链路(data link):除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

■ 现在最常用的方法是使用网络适配器(即网卡)来实现这些协议的硬件和软件。

■一般的适配器都包括了数据链路层和物理层这两层的功能。

数据链路层的传输单元-----帧

■常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。

2.三个基本问题


1)封装成帧

2)透明传输

3)差错控制

2.1封装成帧

2.1.1基本概念

封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。

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

在这里插入图片描述

在这里插入图片描述

2.1.2常用成帧方法

1)带字节/字符填充的首尾定界符法

​ 让每一帧用一些特殊的字节作为开始和结束标志。

2)使用比特填充的标志法(也称零比特填充法)

2.2透明传输

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BzTEISSq-1584174683800)(G:\博客\透明传输.png)]

采用零比特填充法就可传送任意组合的比特流,或者说,就可实现数据链路层的透明传输。

当连续传输两个帧时,前一个帧的结束标志字段F可以兼作后一帧的起始标志字段。

当暂时没有信息传送时,可以连续发送标志字段,使收端可以一直和发端保持同步。

2.2.1解决透明传输问题

1)发送端的数据链路层在数据中出现控制字符"SOH"或“EOT"的前面插入一个转义字符“ESC"(其十六进制编码是1B)。

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

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

2.2.2用字节/字符填充法解决透明传输问题
2.2.3字节填充的标志字节法的特点.

缺点:>

容易造成帧定界混淆>依赖于8位字符.

解决方法>

1)在出现的特殊控制字符前插入转义字符,称为字节/字符填充的标志字节法。

2)位填充标志法(零比特插入法)

2.2.4字节填充的首尾定界法

带字节填充的首尾定界法

让每一帧用一些特殊的字节(标志字节)作为开始和结束。

缺点

当传输数据出现这些特殊的字节时容易造成帧定界混淆。

解决方法

在二进制数中偶然出现的标志字节前加入一个转义字节”ESC"。这称为字节/字符填充法。

2.2.5零比特填充法

1)以01111110作为一帧的开始和结束标志F字段。>在发送端的数据链路层当碰到一串比特流数据中有5个连续1时,就立即在该比特流后填入一个“0"。

2)在接收帧时,先找到F字段以确定帧的边界。接着再对比特流进行扫描。每当发现5个连续1时,就将其后的一个“0"删除,以还原成原来的比特流。

3)零比特填充法使一帧中两个F字段之间不会出现6个连续1。

2.3差错检测

2.3.1设计数据链路层的原因:

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

在原始物理传输线路上传输数据信号是有差错的。

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

(Bit Error Rate)。

误码率与信噪比有很大的关系。

2.3.2差错产生的原因和差错类型

1)差错控制—检查接收到的数据是否出现差错以及如何纠正差错;

2)通信信道的噪声分为两类:热噪声和冲击噪声;

2.1)热噪声引起的差错是随机差错,或随机错;

2.2)冲击噪声引起的差错是突发差错,或突发错;

3)引起突发差错的位长称为突发长度;

4)在通信过程中产生的传输差错,是由随机差错与突发差错共同构成的。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

2.3.3差错控制编码的基本思想

在发送端被传输的信息位上附加一些冗余位,这些冗余位与信息位之间以某种确定的规则相互关联(约束),接收端按照既定的规则检验信息位与冗余位之间的关系。

2.3.4差错控制的基本原理

信息位:发送端要发送的数据

冗余位:发送端在向信道发送信息位之前,先按照某种关系加上一

定的冗余位

发送与接收的过程

1)发送时:信息位+冗余位构成码字发送;

2)接收时:收到码字后查看信息位和冗余位,并检查它们之间的关

系(校验过程),以发现传输过程中是否有差错发生。

2.3.5差错控制编码分类

纠错码

1)每个传输的分组带上足够的冗余信息;接收端能发现并自动纠正传输

差错。

2)纠错码需要较多的冗余位,信道利用率不高。

检错码(局域网中主要使用的是检错码)

1)分组仅包含足以使接收端发现差错的冗余信息;接收端能发现出错,但不能确定哪一比特是错的,并且自己不能纠正传输差错。目前在数据链路层广泛应用了循环冗余检验CRC (Cyclic Redundancy Check)的检错技术。

2.3.6循环冗余检验CRC的相关基础知识

1)在计算机网络和数据通信中用得最广泛的检错码是一种漏检率低得多也便于实

现的循环冗余码CRC(Cyclic Redundancy Code)

2)CRC码又称为多项式码。任何一个由二进制数位串组成的代码都可以和一个只

含有0和1两个系数的多项式建立一—对应的关系。

3)CRC运算就是在发送数据M后面添加供差错检测用的r位冗余位,构成

一个由k位信息位加上r位冗余位组成的n=k+r位码字发送出去。

工作原理:

一个要发送的k位的帧对应于一个(k-1)次多项式K(x)(k项k-1阶多项式)选定一个多项式编码生成多项式G(x)为除数,G(x)为r阶

设待发送的k位的帧为M(x),k>r,即发送帧M(x)比G(x)长

计算r位冗余位:x^r M(x)/G(x)=Q(x)+R(x),其中,Q(x)为商,R(x)为余数

用二进制的模2运算进行2^r乘M的运算,相当于在M后面添加了r个0,得到(k+r)位被除数除以选定的长度为(r+1)位的除数G,得出商Q和余数R(r位,比G少1位)。

模2运算:

在二进制运算中,加减法做模2运算,采用“加法不进位,减法不借位”的规则,即相

当于异或操作,“相同得0,相异得1"。

模2乘可以看作模2加,模2除可以看作模2减

冗余码的计算举例

现在 k = 6, M = 101001。

n = 3, 除数 P = 1101,

被除数是 2^r*M= 101001000。

模 2 运算的结果是:商 Q = 110101,

​ 余数 R = 001。

把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2^r*M + R

即:101001001,共 (k + n) 位。

CRC校验码的检错能力

1)CRC校验码能检查出全部单个错;

2)CRC校验码能检查出全部离散的二位错;

3)CRC校验码能检查出全部奇数个错;

4)CRC校验码能检查出全部长度小于或等于K位的突发错;

5)CRC校验码能以[1-(1/2)K-1]的概率检查出长度为(K+1)位的突发错;

6)如果K=16,则该CRC校验码能全部检查出小于或等于16位的所有的突发差错

并能以1-(1/2)16-1=99.997%的概率检查出长度为17位的突发错,漏检概率为

20003%;

2.3.7帧检验序列 FCS

1)在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

2)循环冗余检验 CRC 和帧检验序列 FCS并不等同。

2.1) CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。

2.2) FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

2.3.8接收端对收到的每一帧进行 CRC 检验

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

(2) 若余数 R 不等于 0,则判定这个帧有差错,就丢弃。

但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。

只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。

2.3.9无差错接受与可靠传输的不同

1)仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。

2)“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。

3)也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。

4)要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。

总结

目前数据链路层广泛使用循环冗余检验CRC的检错技术。

1) 采用CRC校验码的系统,需要约定一个生成多项式(除数)。

2)发送方:信息位+冗余位=发送码字  接收方:用收到的CRC码字除以生成多项式,判定余数是否为零?

  1. 1)为零:接收正确,接受数据帧

  2. 2)不为零:接收有错,丢弃数据帧

3. PPP协议


3.1数据链路层使用信道的两种类型

1)点对点信道

这种信道使用一对一的点对点通信方式。

2)广播信道

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

3.2点对点信道的数据链路层通信时的主要步骤:

(1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。

(2)结点A把封装好的帧发送给结点B的数据链路层。

(3)若结点B的数据链路层收到的帧无差错,则从收到的帧中取出IP数据报交给上面的网络层;否则, 丢弃这个帧。

3.3 PPP 协议应满足的要求

1) 简单——这是首要的要求

2) 封装成帧

3)透明传输

4)多种网络层协议

5) 差错检测能力

6) 检测连接状态

7) 网络层地址协商

8) 数据压缩协商

3.4 PPP 协议不支持的功能

1)纠错

2) 流量控制

3)序号

4) 多点线路

3.5 PPP 协议的组成

PPP协议有三个组成部分:

1)一个将 IP 数据报封装到串行链路的方法。

2)一个链路控制协议 LCP (Link Control Protocol):用于建立、配置 和测试数据链路连接,并在它们丌需要时将它们释放。

3)一套网络控制协议 NCP (Network Control Protocol):其中每个 协议支持丌同的网络层协议,用来建立和配置不同的网络层协议。

3.6 PPP 协议的帧格式

1)标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)。

2)地址字段 A 只置为 0xFF。地址字段实际上并不起作用。

3)控制字段 C 通常置为 0x03。

PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节

在这里插入图片描述

注:PPP 有一个 2 个字节的协议字段。

1)当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。

2)若为 0xC021, 则信息字段是 PPP 链路控制数据。

3)若为 0x8021,则表示这是网络控制数据

3.7透明传输问题

1)当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。

2)当 PPP 用在异步传输时,就使用一种特殊的字符填充法。

3.7.1字符填充

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

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

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

3.7.2零比特填充

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

2)在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除,

3.8 PPP 协议之所以不使用序号和确认机制是出于以下的考虑:

1)在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。

2)在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。

3)帧检验序列 FCS 字段可保证无差错接受。

3.9PPP协议的工作状态

1)当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。

2)PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。

3)这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。

4)通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

PPP协议 状态图:

在这里插入图片描述

3.10总结

1) PPP适用于点到点信道的数据链路层

2)PPP包括成帧方法、LCP和NCP三个组成部分

3)PPP采用了带字节填充的标记法实现透明传输

4)PPP传输的通常是无序号帧

5)PPP链路可以在空闲、建立、讣证、打开等状态之间切换

4 局域网的数据链路层

点对点信道

这种信道使用一对一的点对点通信方式。

广播信道

这种信道使用一对多的广播通信方式。

局域网就是使用广播信道。

4.1局域网的特点

1)局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。

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

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

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

2.3)提高了系统的可靠性、可用性和残存性。

4.2决定局域网性能的三要素

1)网络拓扑

2)传输介质

3)介质接入控制技术

4.3局域网的拓扑类型

在这里插入图片描述

4.3.1星形网:

由于集线器的出现和双绞线大量用于局域网,星形 以太网以及多级星形结构获得广泛应用。

4.3.2环形拓扑构型与令牌环网:

1)结点使用点—点线路连接,构成闭合的物理的环型结构;

2)环中数据沿着一个方向绕环逐站传输,多个结点共享一条环通路;

3)环建立、维护、结点的插入不撤出比较复杂。

4)最典型的是令牌环形网(token ring),又称为令牌环网。

总线型网:

1)所有结点都连接到一条作为公共传输介质的总线上;

2)总线两端的匹配电阻吸 收总线上传播的电磁波信号的能量,避免产生有害的电磁波反射。

3)总线型局域网的介质访问控制方法采用的是“共享介质”方式;

4)所有结点都可以通过总线传输介质以“广播”方式収送或接收数据,因此出 现“冲突(collision)”是不可避免的;“冲突”会造成传输失败;

4.3.3总线网

1)必须解决多个结点访问总线的介质接入控制(MAC, medium access control)问题。

2) 总线网可以使用两种协议:

2.1)一种是传统以太网使用的CSMA/CD协议,现在已经演变为星形网

2.2)另一种是令牌总线网,即物理上是总线网而逡辑上是令牌环形网。令牌总 线网已退出了市场。

令牌总线网

令牌总线网(Token Bus)的物理结构是总线网而逡辑拓扑结构是令牌环 形网。

4.4局域网使用的传输介质

1)双绞线

双绞线是局域网中的主流传输介质。

从10Mbps到10Gbps的局域网都可以使用双绞线。

2)光纤

当数据率很高时,需要使用光纤作为传输媒体。

4.5广播信道访问

1)广播信道(又称为共享信道或多路访问信道)面临的问题:

1.1)可能有多个用户站点同时请求访问信道,如何使多用户合理而方便地共 享通信介质资源?

解决办法:介质接入控制(MAC, medium access control)。

4.5.1介质接入控制

如何分配信道?

1)静态划分信道:用户开始只要分配得到了信道,就丌会和其他用户収生冲突。

**2) 动态媒体接入控制:**又称为多点接入(multiple access),信道并非在用户 通信时固定分配给用户,信道是开放的,允许多点(用户)接入访问信道。

4.5.2静态划分信道

1) 静态划分信道,如频分复用、时分复用、波分复用和码分复用等。

2) 信道N等分

2.1) 资源分配丌合理,不能满足用户对丌同资源占用的不同需求

2.2)资源浪费,延迟时间大,信道利用率低

2.3)适用于用户数量固定且用户数量少的情况

2.4) 适合于通信量大且通信流量稳定的情冴

2.5)不适合于局域网和某些广播信道的网络使用

4.5.3动态媒体接入控制

1)随机接入

特点:用户可随机地发送信息。但可能有多个用户同时发送信息,那么在共享信道上就要发生碰撞,使得用户的发送都失败。因此, 必须有解决碰撞的网络协议。

典型的随机接入访问协议

• ALOHA协议

• CSMA协议

• CSMA/CD协议(以太网使用的协议)

2) 受控接入控制

特点:用户不能随机地发送信息而必须服从一定的控制来 使用信道。

典型代表有:

2.1)分散控制的令牌环网

2.2)集中控制的多点线路探询(polling) 或称轮询。

4.6数据链路层的两个子层

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

逻辑链路控制 LLC (Logical Link Control)子层

媒体接入控制 MAC (Medium Access Control)子层。

2)与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的

3)以后一般不考虑 LLC 子层

  1. 1)由于TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 1)而丌是 IEEE 802 标准中的几种局域网,因此现在 802 委员会制定的逡辑链路控制子层 LLC (即 802.2 标准)的作用已经不大了。

3. 2)很多厂商生产的网卡上就仅装有 MAC 协议而没有 LLC 协议2)

4)以太网和传统以太网

1.)严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网。

2.)通常用“传统以太网”来表示最早的10Mbit/s速率的以太网

4.7适配器

1)计算机不外界局域网的连接是通过通信适配器(adapter)。

2)网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。

2)适配器的重要功能:

2.1)进行串行/并行转换。

2.2)对数据进行缓存。

2.3)在计算机的操作系统安装设备驱动程序。

2.4)实现以太网协议。

计算机通过适配器和局域网进行通信

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zRZXOjLb-1584174683802)(G:\博客\images\适配器与局域网通信.png)]

4.8 CSMA/CD 协议

最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。

4.8.1总线型以太网

1)最初的以太网是将许多计算机都连接到一根总线上。

2) 总线上的每一个计算机都能检测到任一主机収送的数据信号,这就是广 播通信方式。

4.8.2具有广播特性总线上实现一对一的通信

1) 每一台计算机的适配器地址不同,在B向D发送数据帧时,在发送帧的首 部写明接收站D的地址。

2) 只有计算机 D 的地址不数据帧首部的地址一致,因此只有 D 才接叐这 个数据帧。其他所有的计算机(A, C 和 E)都检测到不是发送给它们的 数据帧,因此就丢弃这个数据帧而不接受。

4.8.3为了通信的简便,以太网采取了两种重要的措施

1)第一、采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送 数据。

1.1)以太网对发送的数据帧不进行编号,也不要求对方发回确认。

• 局域网信道的质量很好,因信道质量产生差错的概率很小。

1.2)以太网提供的服务是丌可靠的交付,即尽最大努力的交付。

1.3)当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。

1.4)如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个 重传的帧,而是当作一个新的数据帧来发送。

2)第二、以太网収送的数据都使用曼彻斯特(Manchester)编码 的信号。

曼彻斯特(Manchester)编码的编码方法是把每个码元分成两个相等的间隔。 如图,码元1是前一个间隔为高电压后一个间隔为低电压,即位周期中心向下跳变表示1;码元0正好相反,位周期中心向上跳变表示0。这样保证了在每一个 码元中间出现一次电压的转换,接收端就利用这种电压的转换方便地把位同步 信号提取出来。

在这里插入图片描述

总线形以太网在同一时间只能允许一台计算机収送信息,那么如何 协调总线上各计算机的工作?

​ 以太网采用CSMA/CD协议。

接下来便是CSMA/CD协议的阐述

4.9 CSMA协议

4.9.1CSMA ( Carrier Sense Multiple Access) 表示载波监听多点接入。

1) “多点接入”表示许多计算机以多点接入的方式连接在一根总线上,即总线 形网。

2) “载波监听”是指“先听后収” ,即每一个站在发送数据前先要用电子技术检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送 数据,必须要等到信道空闲才能収送。

3) 总线上并没有什么“载波”。因此,“载波监听”就是检测信道。

4) 不管在发送前,还是在发送中,每个站都必须不停地检测信道。

4.9.2碰撞检测

1)“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。

2)当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。

3)当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

4)所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。

4.9.3检测到碰撞后

1)在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。

2)每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送

4.9.4电磁波在总线上的有限传播速率的影响

1)当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。

2)A 向 B 发出的信息,要经过一定的时间后才能传送到 B。

3)B 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。

4)碰撞的结果是两个帧都变得无用。

在这里插入图片描述

4.9.5重要特性

以太网使用 CSMA/CD( Carrier Sense Multiple Access with Collision Detection)带有碰撞检测的载波监听多点接入协议。

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

2)每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。

3)这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

4.9.6争用期

1.基本概念

1)最先发送数据帧的站,在发送数据帧后至多经过时间 2_t_ (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

2)以太网的端到端往返时延 2_t_ 称为争用期,或碰撞窗口。

3)经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

4)以太网使用截断二进制指数退避(truncated binary exponential backoff)算法来确定碰撞后重传的时机

2.二进制指数类型退避算法

1)发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

2)确定基本退避时间,一般是取为争用期 2_t_。

3)定义重传次数 kk £ 10,即

k = Min[重传次数, 10]

4)从整数集合[0,1,…, (2^k -1)]中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。

5)当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

3.争用期的长度

1)以太网取 51.2 微秒为争用期的长度。

2)对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。

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

4.最短有效帧长

1)如果发生冲突,就一定是在发送的前 64 字节之内。

2)由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。

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

5.强化碰撞

1)当发送数据的站一旦发现发生了碰撞时:

2)立即停止发送数据;

3)再继续发送若干比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞。

4.10 CSMA/CD的发送流程可以概括为:

1) 先听后发

2)边听边发

3) 冲突停止

4) 延迟重 发

小结:

1)CSMA的基本原理:先听后发

2) CSMA/CD的基本原理: 先听后发 边听边发 冲突停止 延迟重 发

3) 传统以太网使用了CSMA/CD协议

4)传统以太网将端到端往返时延 2 t定义为争用期,规定了最短有效帧长为 64 字节,

即512bit,争用期时间是51.2us

5) 以太网使用截断二进制指数退避算法来确定碰撞重传的时机

5.使用集线器的双绞线以太网


IEEE 802.3标准制定的传统以太网使用的传输媒体有四种

1)铜缆(粗缆10Base5或细缆10Base2)

2)双绞线 10Base-T

3)光缆 10Base-F

这样,以太网就有四种不同的物理层

1. 10Base5粗缆以太网

1) 粗缆以太网是原始的以太网标准。

2) 10Base5表示的含义是:工作速率为10Mb/s,采用 基带信号传输,最大支持网段长为500m。

3)使用直径10mm的50欧姆粗同轴电缆为传输介质

4)采用总线型拓扑结构

2. 10Base5粗缆以太网的有关布线标准:

1) 每个网段最大允许距离为500m。

2) 任意两个站点乊间,最多使用4个中绠器(转収器),连接3个网段,故最 大网络直径为2500m。

3) 站点到收収器的最大距离为0.5m。

4)主干线段的每一端均需有一个50欧姆的终端电阻,其中一端必须接地。

3.细缆以太网 10BASE2

细缆以太网10Base2标准:

1)更便宜的直径为 5 mm 的细同轴电缆

2)直接用标准 BNC T 型接头连接到网卡上的 BNC 连接器的插口。

3)10Base2表示的含义是:工作速率为10Mb/s, 采用基带信号传输,最大支持网段长为185m。

4. 10Base2细缆以太网的有关布线标准:

1)每个网段最大允许距离为185m。

2) 每个网段允许有30个站点。

3) 任意两个站点乊间,最多使用4个中绠器,连接3个电缆网段,故最大网络 直径为925m,最大网络节点数是90个。

4)站点到收収器的最大距离为0.5m。

5) 同样主干线段的每一端均需有一个50欧姆的终端电阻,其中一端必须接地

5.10Base-T双绞线以太网

1)1990年IEEE制定了星形以太网10Base-T的标准 802.3i。

2) 使用3类或3类以上无屏蔽双绞线UTP为传输介质, 采用星形拓扑结构,中央节点通常为集线器HUB 或交换机,用RJ-45模块作为端接器。

3)10Base-T表示的含义是:速率为10Mb/s,采用 基带信号传输,T表示使用的传输介质为双绞线。

6. 10Base-T双绞线以太网的有关布线标准

1)网段最大允许距离为100m。

2)每个网段允许有1024个站点。

3)保持了10Base5的4中绠器/5网段的设计能力。

4)使用RJ-45连接器。针1和2用于传输,针3和6用于接收。

10Base-T双绞线以太网

10BASE-T 双绞线以太网既降低了成本,又提高了可靠性,是局域网 収展叱上的一个非常重要的里程碑,它为以太网在局域网中的统治地 位奠定了牢固的基础。

7. 10Base-F光纤以太网 用作集线器的远程连接

5.1集线器的一些特点

1)集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。

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

3)集线器很像一个多接口的转发器,工作在物理层,它的每个接口只是简单地转发比特,不进行碰撞 检测。

4)集线器有许多接口,每个接口通过RJ-45插头与一台计算机上的适配器 相连,因此很像一个多端口的转发器。

5.2用集线器扩展以太网

1)用多个集线器可连接成覆盖更大范围的多级星形以太网。

  1. 一个以太网就是一个独立的碰撞域(Collision domain,又称为冲突域),即在 任一时刻,在每一个碰撞域中只能有一个站发送数据。

优点

1) 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。

2) 扩大了以太网覆盖的地理范围。

缺点

1)碰撞域增大了,但总的吞吐量并未提高。

2)如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起 来。

5.3小结

1)传统以太网从最初使用粗同轴电缆,到比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。

2) 使用集线器的双绞线以太网物理上是一个星形网,在逻辑上仍是一个总线网,使用的还是CSMA/CD协议。

3) 集线器是工作在物理层的网络互连设备,它的接口只简单地转发比特。可以把集线器看成一个多接口的转収器。用集线器可以扩展星形以太网。

6.以太网的MAC层


1)IEEE 802 委员会将局域网的数据链路层分成逻辑链路控制 LLC 子层和媒体接入

控制 MAC 子层。

2) 不传输媒体接入有关的内容都放在 MAC子层。

3)具有广播特性总线上实现一对一的通信 发送帧的首部包含目的接收站的硬件地址 接收站根据发送帧中的地址是否是自己的来判定是否接受

6.1 MAC 层的硬件地址

1)在局域网中,硬件地址又称为物理地址,或 MAC 地址。

2)802 标准所说的“地址”严格地讲应当是每一个站的“名字”或标识符。

3)但鉴于大家都早已习惯了将这种 48 位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。

4)IEEE 802标准为局域网规定了一种48bit(6字节)的全球地址(简称为“地 址”),是指局域网上每台计算机中固化在适配器的ROM中的地址

6.2 48 位的 MAC 地址

1)IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)。

2)地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。

3)一个地址块可以生成224个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是EUI-48。

4)“MAC地址”实际上就是适配器地址或适配器标识符EUI-48

“MAC地址”实际上就是适配器地址或适配器标识符。 每个主机拥有不同的适配器(网卡)地址,路由器同时连接两个网络, 它需要两块适配器(网卡)和两个MAC地址

6.3 适配器检查 MAC 地址

1)适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.

1.1)如果是发往本站的帧则收下,然后再进行其他的处理。

1.2)否则就将此帧丢弃,不再进行其他的处理。

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

2.1)单播(unicast)帧(一对一)

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

2.3)多播(multicast)帧(一对多)

6.3.1 MAC 帧的格式

常用的以太网MAC帧格式有两种标准 :

1)DIX Ethernet V2 标准

2)IEEE 的 802.3 标准

最常用的 MAC 帧是以太网 V2 的格式。

6.3.2 帧间最小间隔

1)帧间最小间隔为 9.6 ms,相当于 96 bit 的发送时间。

2)一个站在检测到总线开始空闲后,还要等待 9.6 ms 才能再次发送数据。

3)这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

6.3.3无效的 MAC 帧

1)数据字段的长度与长度字段的值不一致;

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

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

4)数据字段的长度不在 46 ~ 1500 字节之间。

5)有效的 MAC 帧长度为 64 ~ 1518 字节之间。

6)对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后的最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
需要完整面试题的朋友可以点击蓝色字体免费获取

大厂面试题

面试题目录

位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。

3)一个地址块可以生成224个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是EUI-48。

4)“MAC地址”实际上就是适配器地址或适配器标识符EUI-48

“MAC地址”实际上就是适配器地址或适配器标识符。 每个主机拥有不同的适配器(网卡)地址,路由器同时连接两个网络, 它需要两块适配器(网卡)和两个MAC地址

6.3 适配器检查 MAC 地址

1)适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.

1.1)如果是发往本站的帧则收下,然后再进行其他的处理。

1.2)否则就将此帧丢弃,不再进行其他的处理。

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

2.1)单播(unicast)帧(一对一)

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

2.3)多播(multicast)帧(一对多)

6.3.1 MAC 帧的格式

常用的以太网MAC帧格式有两种标准 :

1)DIX Ethernet V2 标准

2)IEEE 的 802.3 标准

最常用的 MAC 帧是以太网 V2 的格式。

6.3.2 帧间最小间隔

1)帧间最小间隔为 9.6 ms,相当于 96 bit 的发送时间。

2)一个站在检测到总线开始空闲后,还要等待 9.6 ms 才能再次发送数据。

3)这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

6.3.3无效的 MAC 帧

1)数据字段的长度与长度字段的值不一致;

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

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

4)数据字段的长度不在 46 ~ 1500 字节之间。

5)有效的 MAC 帧长度为 64 ~ 1518 字节之间。

6)对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-wBd3CDfv-1712320906526)]

[外链图片转存中…(img-3t8I7oms-1712320906526)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-fZe14lGQ-1712320906527)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后的最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
需要完整面试题的朋友可以点击蓝色字体免费获取

[外链图片转存中…(img-X9IFW1cm-1712320906527)]

[外链图片转存中…(img-NvFbuMpJ-1712320906527)]

[外链图片转存中…(img-Jg9xmOdo-1712320906527)]

[外链图片转存中…(img-kFwMce7H-1712320906528)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值