第三章:数据链路
本章主要介绍计算机网络最基本的内容— 数据链路层。
3.1 数据链路的作用
数据链路,指OSI 参考模型中的数据链路层,有时也指以太网、无线局域网等通信手段。
数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等介质。此外,各种设备之间有时也会通过交换机、网桥、中继器等中传数据。
数据链路层处理的数据也不是单传的0,1序列,该层把他们集合为一个叫做帧的块,然后在进行传输。
数据链路:
FDDI:光纤分布式数据接口。
段的范围:
网络拓扑:
3.2 数据链路相关技术
3.2.1 MAC 地址
MAC地址用于识别数据链路中互联的节点。
MAC地址长48比特,结构如下:
在使用网卡(NIC)的情况下,MAC地址一般会被烧入到ROM中,因此一个网卡的MAC地址都是唯一的,在全世界都不会有重复的。
3.2.2 共享介质型网络
从通信介质的使用方法上看,网络可以分为共享介质型和非共享介质型。
共享介质型网络指由多个设备共享一个通信介质的一种网络。最早的以太网和FDDI就是介质共享型网络。在这种方式下,设备之间使用同一个载波信道进行发送和接收。为此,基本上采用半双工通信方式,并有必要对介质进行访问控制。
共享介质型网络中有两种介质访问控制方式:
- 争用方式
- 令牌传递方式
争用方式:
争用方式是指争夺获取数据传输的权力,也叫CSMA(载波监听多路访问)。这种方法通常令网络中的各个站采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象。会导致网络拥堵和性能下降。
在一部分以太网中,采用改良的 CSMA 的另一种方式–CSMA/CD 方式。该方式要求每个站提前检查冲突,一旦发生冲突,则会尽早释放信道。原理如下:
- 如果载波信道上没有数据流动,则任何站都可以发送数据
- 检查是否会发生冲突。一旦发生冲突时,放弃发送数据,同时立即释放载波信道
- 放弃发送后,随机延时一段时间,在重新争用时间,重新发送帧
CSMA/CD方式
- 令牌传递方式
令牌传递方式是沿着令牌环发送一种叫做令牌的特殊报文,是控制传输的一种方式。只有获得令牌的站才能发送数据。这种方式有两个特点:
- 不会有冲突
- 每个站都有通过平等循环获得令牌的机会;因此,即使网络拥堵也不会导致性能下降。
当然,这种方式中,一个站在没有收到令牌前不能发送数据帧,因此在网络不太拥挤的情况下数据链路的利用率就不会达到100%。为此衍生了多种令牌传递的技术。例如:早期令牌释放、令牌追加等方式以及多个令牌同时循环等方式。目的都是为了尽可能提高网络性能。
3.2.3 非共享介质网络
非共享介质网络是指不共享介质,是对介质采用专用的一种传输控制方式。网络中每个站直连交换机,由交换机负责转发数据帧。
3.2.4 根据MAC地址转发
在使用同轴电缆的以太网(10BASE5、10BASE2)等介质共享网络中,同一时间只能由一台主机发送数据。当连网的主机数量增加时,通信性能会明显下降。若将集线器或集中器等设备以星型连接,就出现了一款新的网络设备—交换集线器,这是一种将非介质共享型网络中所使用的交换机用在以太网中的技术,交换集线器也叫作以太网交换机。
以太网交换机就是持有多个端口(计算机设备的外部接口都称作端口)的网桥。它们根据数据链路层中每个帧的目标MAC地址,决定从哪个网络接口发送数据。这时所参考的、用以记录发送接口的表就叫做转发表(Forwarding Table)。
这种转发表的内容不需要使用者在每个终端或交换机上手工设置,而是可以自动生成。数据链路层的每个通过点在接到包时,会从中将源MAC地址以及曾经接收该地址发送的数据包的接口作为对应关系记录到转发表中。以某个MAC地址作为源地址的包由某一接口接收,实质上可以理解为该MAC地址就是该接口的目标。也可以说,以该MAC地址作为目标地址的包,经由该接口送出即可。这一过程也叫自学过程。
交换机的自学过程:
由于MAC地址没有层次性,转发表中的入口个数与整个链路中所有网络设备的数量有关。当设备数量增加时,转发表也会随之变大,检索转发表所用的时间也就越长。当连接多个终端时,有必要将网络分成多个数据链路,采用类似于网络层的IP地址一样对地址进行分层管理。
交换机的转发方式:
交换机转发方式有两种,一种叫存储转发,另一种叫直通转发。
存储转发方式检查以太网数据帧末尾的FCS位再进行转发。因此,可以避免发送由于冲突而被破坏的帧或噪声导致的错误帧。
直通转发方式中不需要将整个帧全部接收后再进行转发。只需要得知目标地址即可开始转发。因此,它具有延迟较短的优势。但同时也不可避免地有发送错误帧的可能性。
3.2.5 环路检测技术
通过网桥连接网络时,一旦出现环路该如何处理?这与网络的拓扑结构和所使用的网桥种类有直接关系。最坏的情况下,数据帧会在环路中被一而再再而三地持续转发。而一旦这种数据帧越积越多将会导致网络瘫痪。
为此,有必要解决网络中的环路问题。具体有生成树与源路由两种方式。使用具有这些功能的网桥,那么即便构建一个带有环路的网络,也不会造成严重的问题。只要搭建合适的环路,就能分散网络流量,在发生某一处路由故障时选择绕行,可以提高容灾能力。
网桥搭建带有环路的网络:
- 生成树方式
每个网桥必须在每1-10秒内相互转换 BPDU 包,从而判断那些端口使用哪些不使用,以便消除环路。一旦发生故障,则自动切换通信线路,利用那些没有被使用的端口继续进行传输。
RSTP:缩短到几秒以内
- 源路由法
该方式可以判断发送数据的源地址是通过哪个网桥实现传输的,并将帧写入RIF。网桥则根据这个RIF信息发送信息帧给目标地址。
3.2.6 VLAN(虚拟局域网)
简单的VLAN:
该交换机按照其端口区分了多个网段,从而分了广播数据传输的范围、减少网络负载并提高了网络的安全性。
跨交换机的VLAN:
3.3 以太网
3.3.1 以太网连接形式
初期以太网结构举例:
现代以太网结构举例:
3.3.2 以太网的分类
3.3.3 以太网的历史
3.3.4 以太网帧格式
以太网帧的前导码:
- 0,1交替,SFD值为11
以太网帧本体的前端是以太网的首部,总共14个字节。分别是6个字节的目标MAC地址,6字节的源MAC地址以及2字节的上层协议类型。
以太网帧格式:
- FCS(帧检验序列):检查帧是否有所损坏
3.4 无线通信
无线LAN的连接:
3.5 PPP
PPP是指点对点,即一对一连接的计算机协议。
3.6 其他数据链路
3.7 公共网络
后边内容见:《图解TCP_IP》