第三章 数据链路层

数据链路层

  • 一、数据链路层的作用
  • 二、基本概念
  • 三、数据链路层的三个基本问题
    • 1、帧界定的方法-使用控制字符
    • 2、实现透明传输的方法-字节填充(或字符填充)
    • 3、比特差错
    • 4、误码率
    • 5、循环冗余检验原理
  • 四、使用点对点信道的数据链路层
    • 1、PPP协议的特点
    • 2、PPP协议的组成
    • 3、PPP协议的帧格式
    • 4、PPP协议的工作状态
  • 五、使用广播信道的数据链路层
    • 1、局域网的数据链路层
    • 2、媒体共享技术
    • 3、以太网的两个标准
    • 4、以太网提供的服务
    • 5、数据链路层的两个子层
    • 6、适配器的作用
    • 7、CSMA/CD 协议
    • 8、 以太网的信道利用率
    • 9、以太网的 MAC 层
    • 10、MAC 帧的格式
    • 11、扩展的以太网
    • 12、虚拟局域网

一、数据链路层的作用

数据链路层的作用就是将网络层的数据包封装成帧(交给物理层)发送到链路上;或者把(从物理层中)接收到的帧中的IP数据报取出并交给网络层

二、基本概念

第三章 数据链路层_第1张图片
帧的格式
第三章 数据链路层_第2张图片

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

第三章 数据链路层_第3张图片

1、帧界定的方法-使用控制字符

第三章 数据链路层_第4张图片

SOH和EOT的十六进制值分别为01和04,二进制值分别为00000001和00000100

2、实现透明传输的方法-字节填充(或字符填充)

当传输的数据中含有与控制字符相同的二进制数值时就会造成传输错误,例如

第三章 数据链路层_第5张图片

此时应在中间的EOT前面填充一个字节“ESC”,称之为转义字符。其十六进制值为1B,二进制值为00011011,这种方法称之为字节填充(或字符填充)

3、比特差错

比特在传输过程中由0变为1或由1变为0的错误
在数据链路层保证的是无比特差错,而并无传输差错,传输差错还包含帧丢失,帧重复,帧失序等;

4、误码率

传输错误的比特占所传输的总比特数的比率。误码率与信噪比有关,信噪比越高,误码率越低

5、循环冗余检验原理

发送数据=K位数据+n位冗余码
例如:1)、假设发送数据为M=101001 位数k=6,取一个n+1位的除数P,这里取n=3,假设P=1101
2)、做模2运算:计算M/P的余数

第三章 数据链路层_第6张图片

这里在做减法时,1-1=0,1-0=1,0-0=0,0-1=1,不借位

计算所得的余数就是001就是冗余码,刚好有三位,与n值相等,则要发送的数据就是M+R=101001001,在接收端对收到的数据以帧为单位进行CRC检验(除以相同的数P),如果余数为0则表示收到的数据正确,否则说明数据出错

四、使用点对点信道的数据链路层

PPP协议

1、PPP协议的特点

第三章 数据链路层_第7张图片
第三章 数据链路层_第8张图片

2、PPP协议的组成

第三章 数据链路层_第9张图片

3、PPP协议的帧格式

1)、各字段的意义
第三章 数据链路层_第10张图片

F为标志字段,表示一个帧的开始或者结束
A为地址字段,规定为0xFF
C为控制字段,规定为0x03
协议字段区分信息部分的内容(为0x0021时表示信息字段时IP数据报,为0xC021时,表示信息字段为PPP链路控制协议LCP的数据,为0x8021 时表示这是网络层的控制数据)
信息字段的长度可变,不超过1500字节
FCS字段表示的是帧检验序列

2)、同步传输与异步传输

同步传输:逐个字符地传输
异步传输:一连串的比特连续传送

3)、字节填充与零比特填充

字节填充:当PPP使用异步传输时,它把转义字符定义为0x7D(即01111101),若信息字段中出现和标志字段相同的比特组合时,则进行字节填充

零比特填充:当PPP使用同步传输时,采用零比特填充。
原理:在发送端扫描整个信息字段,只要发现有5个连续的1就填入一个0;在接收端首先找到帧开始边界,然后扫描比特流,当发现5个连续的1时就将后面的一个0删除

第三章 数据链路层_第11张图片

4、PPP协议的工作状态

第三章 数据链路层_第12张图片

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

1、局域网的数据链路层

第三章 数据链路层_第13张图片
第三章 数据链路层_第14张图片
第三章 数据链路层_第15张图片
第三章 数据链路层_第16张图片

2、媒体共享技术

第三章 数据链路层_第17张图片

3、以太网的两个标准

第三章 数据链路层_第18张图片

严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网
DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。

4、以太网提供的服务

1)、以太网提供的服务是不可靠的交付,即尽最大努力的交付。
2)、当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。
3)、如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

以太网发送的数据都使用曼彻斯特(Manchester)编码

5、数据链路层的两个子层

为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层:
逻辑链路控制 LLC (Logical Link Control)子层
媒体接入控制 MAC (Medium Access Control)子层。
与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的

第三章 数据链路层_第19张图片

由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了。
很多厂商生产的适配器上就仅装有 MAC 协议而没有 LLC 协议。

6、适配器的作用

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

第三章 数据链路层_第20张图片
第三章 数据链路层_第21张图片

7、CSMA/CD 协议

CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。
“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。

碰撞检测

“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。

检测到碰撞后

在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

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

当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。
A 向 B 发出的信息,要经过一定的时间后才能传送到 B。
B 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。碰撞的结果是两个帧都变得无用。

CSMA/CD 协议的特性

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

争用期

最先发送数据帧的站,在发送数据帧后至多经过时间 2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
以太网的端到端往返时延 2τ称为争用期,或碰撞窗口。
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

争用期的长度

以太网取 51.2 μs 为争用期的长度。
对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。
以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。

最短有效帧长

如果发生冲突,就一定是在发送的前 64 字节之内。
由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。
以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

强化碰撞

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

人为干扰信号

第三章 数据链路层_第22张图片

二进制指数类型退避算法 (truncated binary exponential type)

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

8、 以太网的信道利用率

以太网的信道被占用的情况:
争用期长度为 2τ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。
帧长为 L (bit),数据发送速率为 C (b/s),因而帧的发送时间为 L/C = T0 (s)。

一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间 τ使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。

第三章 数据链路层_第23张图片
信道利用率的最大值 Smax

发送一帧占用线路的时间是 T0 + τ,而帧本身的发送时间是 T0。于是我们可计算出理想情况下的极限信道利用率 Smax为:

第三章 数据链路层_第24张图片

参数 a是以太网单程端到端时延τ与帧的发送时间 T0 之比

第三章 数据链路层_第25张图片

a→0 表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。
a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。

9、以太网的 MAC 层

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

IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)。
地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。
一个地址块可以生成224个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是EUI-48。
“MAC地址”实际上就是适配器地址或适配器标识符EUI-48。

适配器检查 MAC 地址

如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。
“发往本站的帧”包括以下三种帧:
单播(unicast)帧(一对一)
广播(broadcast)帧(一对全体)
多播(multicast)帧(一对多)

10、MAC 帧的格式

常用的以太网MAC帧格式有两种标准 :
DIX Ethernet V2 标准
IEEE 的 802.3 标准
最常用的 MAC 帧是以太网 V2 的格式。

以太网 V2 的 MAC 帧格式
第三章 数据链路层_第26张图片

目的地址:6 字节
源地址: 6 字节
类型字段 :2 字节,类型字段用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议。
数据字段:46 ~ 1500 字节,数据字段的正式名称是 MAC 客户数据字段
最小长度 64 字节 - 18 字节的首部和尾部 = 数据字段的最小长度
FCS 字段: 4 字节,为帧检验序列
在帧的前面插入的 8 字节中的第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段是帧开始定界符,表示后面的信息就是MAC 帧。

为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节

无效的 MAC 帧

数据字段的长度与长度字段的值不一致;
帧的长度不是整数个字节;
用收到的帧检验序列 FCS 查出有差错;
数据字段的长度不在 46 ~ 1500 字节之间。
有效的 MAC 帧长度为 64 ~ 1518 字节之间。
对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

帧间最小间隔

帧间最小间隔为 9.6μs,相当于 96 bit 的发送时间。一个站在检测到总线开始空闲后,还要等待 9.6 μs 才能再次发送数据。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

11、扩展的以太网

第三章 数据链路层_第27张图片
集线器的内部结构
第三章 数据链路层_第28张图片
网桥的内部结构

第三章 数据链路层_第29张图片
网桥的工作过程

若从 A 发出的帧从接口 x 进入了某网桥,那么从这个接口出发沿相反方向一定可把一个帧传送到 A。网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目。在建立转发表时是把帧首部中的源地址写在“地址”这一栏的下面。在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入接口当作转发接口。

第三章 数据链路层_第30张图片
网桥转发表中存储的信息

地址、接口、帧进入该网桥的时间

记录帧进入网桥时间的作用:
这是因为以太网的拓扑可能经常会发生变化,站点也可能会更换适配器(这就改变了站点的地址)。另外,以太网上的工作站并非总是接通电源的。把每个帧到达网桥的时间登记下来,就可以在转发表中只保留网络拓扑的最新状态信息。这样就使得网桥中的转发表能反映当前网络的最新拓扑状态。

网桥使各网段成为隔离开的碰撞域
第三章 数据链路层_第31张图片

源路由网桥

透明网桥容易安装,但网络资源的利用不充分。
源路由(source route)网桥在发送帧时将详细的路由信息放在帧的首部中。
源站以广播方式向欲通信的目的站发送一个发现帧,每个发现帧都记录所经过的路由。
发现帧到达目的站时就沿各自的路由返回源站。源站在得知这些路由后,从所有可能的路由中选择出一个最佳路由。凡从该源站向该目的站发送的帧的首部,都必须携带源站所确定的这一路由信息。

多接口网桥——以太网交换机

以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层

以太交换机的特点:
1)、以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式。
2)、交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据。
3)、以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。

透明网桥

“透明”是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。
透明网桥是一种即插即用设备,其标准是 IEEE 802.1D。

12、虚拟局域网

虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。

第三章 数据链路层_第32张图片
当 B1 向 VLAN2 工作组内成员发送数据时,工作站 B2 和 B3 将会收到广播的信息。
B1 发送数据时,工作站 A1, A2 和 C1都不会收到 B1 发出的广播信息。
虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即“广播风暴”)而引起性能恶化

虚拟局域网的帧格式

虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记(tag),用来指明发送该帧的工作站属于哪一个虚拟局域网。

第三章 数据链路层_第33张图片

高速以太网
第三章 数据链路层_第34张图片

100BASE-T 以太网的特点

1)、可在全双工方式下工作而无冲突发生。因此,不使用 CSMA/CD 协议。
2)、MAC 帧格式仍然是 802.3 标准规定的。
3)、保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。
4)、帧间时间间隔从原来的 9.6 μs 改为现在的 0.96 μs。

吉比特以太网的特点

1)、允许在 1 Gb/s 下全双工和半双工两种方式工作。
2)、使用 802.3 协议规定的帧格式。
3)、在半双工方式下使用 CSMA/CD 协议(全双工方式不需要使用 CSMA/CD 协议)。
4)、与 10BASE-T 和 100BASE-T 技术向后兼容。

10吉比特以太网的特点

1)、10 吉比特以太网与 10 Mb/s,100 Mb/s 和 1 Gb/s 以太网的帧格式完全相同。
2)、10 吉比特以太网还保留了 802.3 标准规定的以太网最小和最大帧长,便于升级。
3)、10 吉比特以太网不再使用铜线而只使用光纤作为传输媒体。
4)、10 吉比特以太网只工作在全双工方式,因此没有争用问题,也不使用 CSMA/CD 协议。

你可能感兴趣的:(计算机网络笔记&总结)