阅读 110

计算机网络体系结构之数据链路层

前言

背景:这篇博客为谢希仁老师的《计算机网络》第七版的读书笔记。

前言:在本章中我们研究的是在同一个局域网中,分组怎样在主机间传送,但并不经过路由器转发。局域网属于数据链路层的范围。 数据链路层使用的信道类型:点对点信道广播信道

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

1.1 数据链路和帧

链路分为:

  • 物理链路:是从一个结点到相邻结点的一段物理线路,而中间没有其他的交换结点。
  • 逻辑链路:物理链路+通信协议。通常用网络适配器(软硬件兼有)来实现协议。

在数据链路层,规程协议是同义语。

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

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

1.2 三个基本问题

(1)封装成帧

封装成帧:就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。 最大传送单元(MTU):帧的数据部分长度上限。

帧的首部和尾部的一个重要作用就是进行帧定界。此外,还包括许多必要的控制信息。

帧定界符:控制字符SOHEOT分别表示帧开始和结束。

(2)透明传输

数据链路层的透明传输:表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。因此,对所传送的数据来说,这些数据就"看不见"数据链路层有什么妨碍数据传输的东西,即数据链路层对这些数据来说是透明的。

(3)差错检测

可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。

传输差错:

  1. 比特差错:帧里的比特在传输过程中可能会产生差错: 1 可 能会变成 0,而 0 也可能变成 1。
  2. 帧丢失、帧重复、帧失序。

误码率(BER)误码率=错误比特数/总比特数

循环冗余检验(CRC)检错技术:在数据链路层广泛使用了CRC。但使用CRC只能做到对帧的无差错接受,实现无比特差错,而非可靠传输。接收端丢弃的帧虽然曾收到了,但最终还是因为有差错被丢弃。

帧检验序列(FCS):指的是为了检错而添加的冗余码

2 点对点协议PPP

PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议,是目前使用得最广泛的数据链路层协议。

2.1 PPP协议的特点和组成

① PPP协议的特点:

  • 简单
  • 封装成帧
  • 透明性
  • 多种网络协议: PPP 协议必须能够在同一条物理链路上同时支持多种网络层协议(如 IP 和 IPX 等)的运行。
  • 多种类型链路
  • 差错检测:但是不纠错
  • 检测连接状态
  • 最大传送单元: PPP 协议必须对每一种类型的点对点链路设置最大传送单元 MTU 。
  • 网络层地址协商:提供一种机制,使通信的两个网络层的实体,能够通过协商知道或配置彼此的网络层地址。
  • 数据压缩协商:提供一种方法来协商使用数据压缩算法。

PPPoE:是为宽带上网的主机使用的链路层协议。

在 TCP/IP 协议族中,可靠传输由运输层的 TCP 协议负责,因此,数据链路层的 PPP 协议不需要进行纠错设置序号流量控制。 PPP 协议不支持多点线路 (即一个主站轮流和链路上的多个从站进行通信),而只支持点对点的链路通信。此外, PPP 协议只支持全双工链路。

② PPP协议的组成:

  • 一个将 IP 数据报封装到串行链路的方法。PPP 既支持异步链路,也支持面向比特的同步链路。
  • 一个用来建立、配置和测试数据链路连接的链路控制协议 LCP
  • 一套网络控制协议 NCP

2.2 PPP协议的格式

(1)字段含义

标志字段F:标志字段表示一个帧的开始或结束。连续两帧之间只需要一个标志字段。如果出现连续两个标志字段,就表示这是一个空帧,应当丢弃。 地址字段A、控制字段C,这两个字段实际上并没有携带 PPP 帧的信息。 协议字段:其值代表信息部分的数据类型,如:指明IP数据报、LCP的数据、网络层的控制数据等。 FCS:PPP帧中使用的是CRC冗余码。

(2)字节填充

字节填充:当信息字段中出现和标志字段一样的比特组合,或者出现转义字符时,则发送端在其前面充填转义字符,接收端收到后进行反向变换。适用于异步传输(逐个字符地传送)。

(3)零比特填充

零比特填充:在发送端,先扫描整个信息字段,只要发现有 5 个连续1,则立即填入一个 0。适用于同步传输(一连串的比特连续发送)。

2.3 PPP协议的工作状态

  1. 链路静止:是PPP链路的起始和终止状态,此时,用户电脑和ISP的路由器之间不存在物理层连接。
  2. 链路建立:用户电脑通过调制解调器呼叫路由器,双方建立了物理层链接。

LCP协商一些配置选项,协商完毕后,双方就建立了LCP链路,进入鉴别状态。 3. 鉴别:在这个状态中,进行身份鉴别。鉴别成功或无需鉴别,则进入网络层协议状态。 4. 网络层协议:PPP链路的两端的NCP根据网络层的不同协议互相交换网络层的分组。实现了PPP协议两端的网络层可以运行不同的网络协议,但仍然可以使用同一个PPP协议进行通信。 5. 链路打开:当网络层配置完毕后,链路进入了可以数据通信的链路打开状态。 6. 链路终止:链路故障或关闭请求,则进入链路终止状态。

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

广播信道可以进行一对多通信。

3.1 局域网的数据链路层

局域网特点:网络为一个单位所拥有,且地理范围和站点数有限。 局域网优点:

  • 具有广播功能
  • 提高了系统可靠性、可用性和共存性
  • 便于系统的扩展和演变

局域网的传输媒体:双绞线是局域网中的主流传输媒体,当数据率很高时,往往需要使用光纤作为传输媒体。

共享信道的方式:

  • 静态划分信道:如2.4节介绍的各种复用技术,但这种方法代价较高,不适合用于局域网。
  • 动态媒体控制接入:又称多点接入,特点是信道并非在用户通信时固定地分配给用户。
  • 随机接入:用户可以随机发送消息,但如果多个用户同时发送消息,将会发生碰撞
  • 受控接入:用户不可以随机发送消息,需要服从一定的控制。典型的是有分散控制的令牌环局域网和集中控制的多点线路探询轮询)。

(1)子层

为了使数据链路层能够更好地适应多种局域网标准,局域网的数据链路层被拆分成了两个子层:

  • 逻辑链路控制LLC子层
  • 媒体接入控制MAC子层:与接入到传输媒体有关的内容都放在MAC

目前,LLC 子层已经成为历史。

(2)适配器

适配器:是主机箱内的一块网络接口板,又称网卡,实现计算机与外界互联网的连接。 适配器的通信:适配器和局域网之间通过电缆或双绞线以串行传输方式进行通信,适配器和计算机之间通过计算机主板的I/O总线以并行传输方式进行通信。

3.2 CSMA/CD协议

以太网的通信措施:

  • 采用无连接的工作方式。适配器对发送的数据帧不进行编号,也不要求对方发回确认。以太网提供的是不可靠交付,收到有差错的帧会直接丢弃,对有差错帧是否需要重传则由高层决定
  • 采用CSMA/CD协议。
  • 发送的数据使用曼彻斯特编码的信号。

CSMA/CD协议的特点

  • 多点接入:多台计算机以多点接入的方式连在一根总线上,是总线型网络。
  • 载波监听:发送前先监听
  • 碰撞检测:适配器边发送边监听。一旦发生碰撞,传输信号将严重失真,因此需要立即停止发送,并发出人为干扰信号,以便告诉所有用户已经发生碰撞,接着执行指数退避算法。
  • 半双工通信

争用期:一个站发出数据后,最多经过两倍的总线端到端的传播时延,就知道是否发生碰撞,这个时间称为争用期。

最短帧长:以太网规定最短帧长为64字节,但凡小于64字节的帧都是由于冲突和异常中止的无效帧。

截断二进制指数退避算法:用来确定碰撞后重传的时机,算法如下:

  1. 规定争用期为2t
  2. 随机从[0,1,...,(2k-1)]中随机取一个数,记为r。其中k=min(重传次数,10)。重传时间为rt
  3. 如果重传16次仍然不成功,则丢弃该帧,并向高层报告。

3.3 集线器

背景:10BASE-T 双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,从此以太网的拓扑就从总线型变为了星形网络,而以太网也就在局域网中占据了统治地位。现在以太网几乎成为了局域网的同义词。

集线器特点:

  • 物理上是星形网,逻辑上还是总线形网,使用的还是CSMA/CD协议,同一时刻之多允许一个站发送数据。
  • 集线器类似一个多接口的转发器
  • 集线器工作在物理层,它的每个接口仅仅是简单地转发比特,不进行碰撞检测。
  • 集线器能够使接口转发出去的较强信号不致对该接口接收到的较弱信号产生干扰(即近端串音)。

3.4 以太网的信道利用率

占用信道的时间为T0+t,其中的T0是发送帧所需的时间,t是单程端到端时延,表示发完最后一个比特之后,这个比特还要在以太网传播的时间。

a代表t和T之比。a趋于0时,代表一旦发生碰撞可以立即检测出来。 a=t/T

信道利用率S(假定不发生碰撞):这个公式表明只有当参数a远小于1才能得到尽可能高的极眼信道利用率。 S=T/(T+t)=1/(1+a)

3.5 MAC层

(1)MAC层硬件地址

在局域网中,硬件地址又称物理地址MAC地址,是每一台计算机中固化在适配器的ROM中的地址,与主机所在的地点无关。它的长度为6字节,前三个字节由注册管理机构RA来分配,称为组织唯一标识符OUI,也称公司标识符,后三位由厂家自行指派,称为扩展标识符

混杂方式是以太网适配器的一种特殊工作方式。工作在混杂方式的适配器只要检测到有帧在以太网上传输就都悄悄地接收下来,而不管这些帧是发往哪个站。嗅探器也是使用这种方式。黑客常利用这种方法非法获取网上用户的口令。

(2)MAC帧格式

类型字段:标志上一层使用什么协议。 前同步码:从MAC子层向下传到物理层时,还要在帧的前面插入8字节,第一个字段位7字节的前同步码,其作用是使接收端的适配器在接收MAC帧时能够迅速调整它的时钟频率。 帧开始定界符:定义为10101011,前六位的作用与前同步码相同,后两位是告知适配器MAC帧的信息即将到来。

以太网的数据传送单位为帧,并且各帧之间需要存在间隙。因此,以太网不需要使用帧结束定界符,也不需要使用字节插入来保证透明传输。

4 扩展的以太网

4.1 在物理层扩展以太网

使用集线器可以在物理层扩展以太网。

4.2 在数据链路层扩展以太网

网桥:对收到的帧根据其MAC帧的目的地址进行转发过滤。现在已经被交换机替代。

(1)以太网交换机的特点

  • 实质是一个多接口的网桥,一般为全双工方式,具有并行性,相互通信的主机都独占传输媒体,无碰撞地传输数据,因此不使用 CSMA/CD 协议
  • 即插即用,其内部的帧交换表(地址表)通过自学算法自动建立。

(2)以太网交换机的自学习功能

流程:A要向B发送一帧,从接口1进入交换机。交换机把源地址A和接口1写入交换表,并向其他的所有接口广播这个帧。因为目的地址不同,所以C、D丢弃该帧,B接收。而当B要给A发送帧时,直接根据交换表从接口1转发给A,并且交换表记录(B,3)。 存在问题:这种算法可能存在死循环,所以使用生成树协议STP在逻辑上切除某些链路,避免环路。

4.3 虚拟局域网

虚拟局域网VLAN:是由局域网的一些具有共同需求的网段构成的与物理位置无关的逻辑组。 作用:对于属于相同VLAN的计算机,即使它们没有连在相同以太网交换机上,也可以进行互相广播,而相反,即使连在了同一个以太网交换机,但不属于同一个VLAN的计算机,则无法相互广播。这样可以限制接收广播的计算机数目,避免广播风暴