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

一、数据链路层基本概念
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

结点:主机、路由器

链路:网络中两个结点之间的物理通道

链路的传输介质主要有双绞线、光纤和微波

分为有线链路、无线链路

数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路

帧:链路层的协议数据单元,封装网络层数据报

image-20201223094333996

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

数据链路层物理层提供服务的基础上向网络层提供服务

image-20201130131648890

1)为网络层提供服务

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

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

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

image-20201130132345271

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

 

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

组帧就是在发送端封装成帧的过程,帧同步是在接受端识别帧开始和结束的过程

image-20201130163856591

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

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

2.使用点对点信道的数据链路层

1.数据链路和帧

2.三个基本问题

数据链路层协议有许多种,但有三个基本问题则是共同的。

这三个基本问题是:

封装成帧:

当数据是由可打印的 ASCII 码组成的文本文件时,帧定界可以使用特殊的帧定界符。

控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。

另一个控制字符 EOT (End Of Transmission) 表示帧的结束。 

透明传输

差错控制

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

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

也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。 单纯使用 CRC 差错检测技术不能实现“无差错传输”或“可靠传输”。 

3.点对点协议 PPP

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

(1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
(2)结点A把封装好的帧发送给结点B的数据链路层。
(3)若结点B的数据链路层收到的帧无差错,则从收到的帧中取出IP数据报交给上面的网络层;否则, 丢弃这个帧。

PPP 协议应满足的要求:

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

2) 封装成帧

3)透明传输

4)多种网络层协议

5) 差错检测能力

1.PPP 协议的特点

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

   PPP 协议在 1994 年就已成为互联网的正式标准。

   PPP 协议有三个组成部分:

    • 一个将 IP 数据报封装到串行链路的方法。
    • 链路控制协议 LCP (Link Control Protocol)。
    • 网络控制协议 NCP (Network Control Protocol)。

2.PPP 协议的帧格式

    1. PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。
    2. 标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。
    3. 十六进制的 7E 的二进制表示是 01111110)。
    4. 地址字段 A 只置为 0xFF。地址字段实际上并不起作用。
    5. 控制字段 C 通常置为 0x03。 PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

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

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

3.PPP 协议的工作状态

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

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

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

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

在这里插入图片描述

4.使用广播信道的数据链路层

点对点信道
这种信道使用一对一的点对点通信方式(即PPP协议)。
广播信道
这种信道使用一对多的广播通信方式。
局域网就是使用广播信道。

4.1局域网的特点

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

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

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

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

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

1)网络拓扑

在这里插入图片描述

2)传输介质

1)双绞线
双绞线是局域网中的主流传输介质。
从10Mbps到10Gbps的局域网都可以使用双绞线。
2)光纤
当数据率很高时,需要使用光纤作为传输媒体。

3)介质接入控制技术

静态划分信道

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

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

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

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

动态媒体接入控制
1)随机接入

特点:用户可随机地发送信息。但可能有多个用户同时发送信息,那么在共享信道上就要发生碰撞,使得用户的发送都失败。因此, 必须有解决碰撞的网络协议。
典型的随机接入访问协议
• ALOHA协议
• CSMA协议
• CSMA/CD协议(以太网使用的协议)

4.3数据链路层的两个子层

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

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

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

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

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

3.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.4适配器

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

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

2)适配器的重要功能:

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

串行和并行的区别为以下几点:

1.数据传送方式不同:串口传输方式为数据排成一行、一位一位送出接收也一样,并口传输8位数据一次送出.

2.针脚不同:串口针脚少,并口针脚多.

3.用途不同:串口现在只用作控制接口,并口多用作打印机、扫描仪等接口.

4.并行数据传输是以计算机的字长,通常是8位、16位、32位为传输单位,一次传送一个字长的数据。它适合于外部设备与CPU之间近距离信息交换。在相同频率下,并口传输的效率是串口的几倍。

5.串行传输即串行通信,是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

2.2)对数据进行缓存。

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

2.4)实现以太网协议。

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

4.5CSMA协议

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

1) “多点接入”表示许多计算机以多点接入的方式连接在一根总线上,即总线 形网。
2) “载波监听”是指“先听后収” ,即每一个站在发送数据前先要用电子技术检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送 数据,必须要等到信道空闲才能収送。
3) 总线上并没有什么“载波”。因此,“载波监听”就是检测信道。
4) 不管在发送前,还是在发送中,每个站都必须不停地检测信道。

2碰撞检测

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

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

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

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

3检测到碰撞后

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

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

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

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

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

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

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

在这里插入图片描述

5争用期
1.基本概念

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

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

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

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

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

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

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

3)定义重传次数 k ,k £ 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 字节没有发生冲突,则后续的数据就不会发生冲突。

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

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

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

3)集线器很像一个多接口的转发器,工作在物理层,它的每个接口只是简单地转发比特,不进行碰撞 检测。
4)集线器有许多接口,每个接口通过RJ-45插头与一台计算机上的适配器 相连,因此很像一个多端口的转发器。

5.2用集线器扩展以太网
1)用多个集线器可连接成覆盖更大范围的多级星形以太网。
2) 一个以太网就是一个独立的碰撞域(Collision domain,又称为冲突域),即在 任一时刻,在每一个碰撞域中只能有一个站发送数据。

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)否则就将此帧丢弃,不再进行其他的处理。

小结:

1) MAC地址(物理地址)由48位组成,前24位需由厂商向IEEE申请。
2) MAC地址就是适配器地址或适配器标识符EUI-48。
3) 常用的以太网MAC帧格式有两种标准:

3.1) DIX以太网V2标准(常用的以太网V2MAC帧)
3.2) IEEE 802.3标准
4) 有效的以太网MAC帧长度为64~1518字节之间。检查出无效的MAC帧就
简单地丢弃,以太网不负责重传丢弃的帧。

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

7.1扩展以太网最初常用的方法是在数据链路层使用网桥(Bridge)。

1)网桥对收到的帧根据其MAC 帧的目的地址迚行转发(forwarding)和过滤 (filtering)。
2)当网桥收到一个帧时,并丌是向所有的端口转发此帧,而是根据此帧的目的MAC地址, 查找网桥中的转发表,然后确定将该帧转发到哪一个端口,或者把此帧丢弃(即过 滤)。

7.2使用网桥带来的好处以及缺点

优点

1)过滤通信量。

2)扩大了物理范围。

3)提高了可靠性。

4)可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网。

缺点

1)存储转发增加了时延。

2)在MAC 子层并没有流量控制功能。

3)具有不同 MAC 子层的网段桥接在一起时时延更大。

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

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

网桥是数据链路层的网络互连设备,而集线器工作在物理层。
1)集线器在转发帧时,不对传输媒体进行检测。
2)网桥在转发帧之前必须执行 CSMA/CD 算法。
*若在发送过程中出现碰撞,就必须停止发送和进行退避。
3) 网桥和转发器都可以扩展局域网,但网桥还能起到提高局域网的效率并连接不同MAC子层和不同速率局域网的作用。

8.以太网交换机

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

1)1990 年问世的交换式集线器(switching hub),可明显地提高局域网的性能。

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

3)以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。

8.2以太网交换机的特点

1)以太网交换机具有并行性,即能同时连通多对接口,使多对主机能同时通 信(而网桥一次只能分析和转发一个帧)。相互通信的多对主机都是独占 传输媒体,无碰撞地传输数据。
2) 以太网交换机是一种即揑即用设备,其内部的帧交换表(又称为地址表)是 通过逆向学习(backward learning,或称自学习)算法自动地逐渐建立起 来的。
3)以太网交换机使用了专用的交换结构芯片,用硬件转发,其交换率比使用软件转发的网桥快得多。

4)以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式。

8.3以太网交换机的功能

1) 以太网交换需要建立和维护一个内部的交换转发表(即MAC地址与交换机 端口号对应关系的映射表)。
2)在发送主机与接收主机端口之间建立虚连接。
3) 完成帧的过滤(filtering)与转发(forwarding)。

小结
1)以太网交换机(switch)又称为第二层交换机(工作在数据链路层)。以太网交换
机实质上就是一个多端口的网桥,每个端口都直接与一台主机或一个集线器相连,
并工作在全双工方式。

2) 以太网交换机具有并行性,能同时连通多对接口同时通信(而网桥一次只能分析
和转发一个帧),每对主机都是独占传输媒体,无碰撞地传输数据。

3)以太网交换机兼容直接(cut-through)交换方式和存储转发方式

9.数据链路层设备

二层设备

1)网卡

2)网桥

3)交换机

1网卡 NIC (Network Interface Card)”又称为通信适配器(adapter)。

 为主机提供对传输介质的访问(Media Access Control),实现主机不网络的连接通信。
 每块网卡有唯一的MAC地址烧录在其ROM芯片中。
 封装数据成帧(Framing),为传输比特流打包。
 实现数据的编码/解码。
 提供数据串行/并行传输的转换。

2网桥

网桥是用来连接不同的LAN段,在数据链路层可扩展局域网的作用范围。

 通过过滤属于同一网段内的通信流量,隔离碰撞域,减少冲突,改善网络的性能。

 以LAN段分流通信量,基于MAC地址存储转发和过滤。

3 交换机

1)交换机实质上是一个多端口的网桥,其工作原理不网桥相同。

2)交换机最重要的工作就是建立和维护其地址转发表(即端口号/ MAC地址映 射表)。

3)交换机通过检查端口传入帧的源 MAC 地址来动态构建 MAC 地址表。
4)交换机通过匹配帧中的目的 MAC 地址不 MAC 地址表中的条目来转发 帧。

阅读剩余
THE END