前言

这一章的笔记涉及OSI网络层结构中的第1、2层的基本技术与功能。

对于第一第二层,我们通过之前的学习知道它们之间的连接如图所示:

第一层之间通过媒介进行直接相连,而第二层往上则是逻辑上的连接。接下来开始介绍第一层和第二层的一些常见技术。


物理层

物理层负责通过物理介质移动数据,涉及在介质上传输的信号和比特流。根据网络传输过程,物理层从数据链路层接收完整的(Frame),将二进制编码为一系列信号,并通过本地物理介质传输这些信号。

物理层还从介质中检索这些单独的信号,将它们恢复为它们的二进制表示,并将bits作为完整的帧传递到数据链路层。

常见的物理层技术有:

  • Fast Ethernet:IEEE 802.3u
  • Gigabit Ethernet:IEEE 802.3z
  • WIFI: IEEE 802.11
  • 串行数据通信接口: EIA/TIA-232

基带信号传输与宽带信号传输

基带信号传输(Baseband signaling)是指数据信号直接通过介质,占用整条网线的信号传输。

宽带信号传输(Broadband signaling)指模拟信号(载波信号)被数据信号调制(modulated)后发送,一条网线可以传输多种不同的信号

宽带信号传输实现多路复用,信道的容量大大增加;而宽带传输的距离比基带远,传输的速率低。

编码(Encoding)是一种将逻辑二进制数据转换为物理信号的方法。有两种编码方法:

  • Transistor-Transistor Logic (TTL) (Level driven):晶体管逻辑,具有比较明显的高低信号,变化频率低,效率高。

  • Manchester (Edge driven): 曼切斯特编码,是二进制边缘触发,变化频率高,效率低。

如图:

(经典TTL,0表示低信号,1表示高信号。缺点:无法判断无信号和低信号)

(其他TTL,缺点:多个同bit时无法知道个数)

(Manchester,一个信号变化两次,边缘触发,缺点:变化频率高)

(Multi-Level Threshold-3 Manchester,当为1时转变为下一循环位置,为0时不变。缺点:比较复杂)

在日常使用中,Fast Ethernet(100-Mbps Ethernet)采用4B/5B技术进行编码,发送5位来表示4位。同时发送时,使用MLT3(Multi-Level Threshold-3)进行编码。

而现在升级的Gigabit Ethernet(1000-Mbps Ethernet)采用8B/10B进行编码。

调制

调制(Modulation)是一种将一个或多个周期性的载波混入想发送之信号的技术。
基本载波可以通过以下三个方面进行调制:

  • 调幅(AM,Amplitude Modulation):调整振幅。

  • 调频(FM,Frequency Modulation ):调整频率。

  • 调相(PM,Phase Modulation):调整相位。

同步传输与异步传输

  • 异步传输(Asynchronous): 在一条网线中,异步发送data和timing infomation。异步传输传输效率低,速度慢。e.g. 键盘敲击/Ethernet。。

  • 同步传输(Synchronous):在不同的网线中,同时发送data和timing infomation。e.g. Manchester 编码(不需要第二条网线)/Fast Ethernet/Gigabit Ethernet。

Layer 1 domain

我们知道物理层通过物理介质相连,从本质上来看,物理层是在做一个转发决策(Forwarding Descion)——将二进制信号(binary signal)广播(boardcast)到其他相连的物理设备。

我们把两个设备第一层相连,而形成的物理介质区域称为Layer 1 Domain。如下图中,4个存在第一层的设备相连,形成三个连接介质。图中椭圆位置即为Layer 1 Domain。

图中一共有三个Layer 1 Domain。第一层的主要功能就是将二进制信号从一个Layer 1 Domain发送到其它Layer 1 Domain。


数据链路层

数据链路层通过物理链路提供可靠的数据传输,它涉及介质访问、物理寻址、网络拓扑、错误通知、帧的有序传递和流量控制。

  • 第二层使用介质访问控制(Media Access Control, MAC)去选择哪个主机将传输二进制数据。
  • 第二层使用地址空间(flat addressing)去标识一个主机。
  • 第二层使用(Frame)来组织或分组比特信息。
  • 第二层通过逻辑链路控制(Logical Link Control, LLC)与上层沟通。
  • 第二层功能由网络适配器(网卡,NIC)执行。

冲突域

与Layer 1 Domain一样,在第二层存在Layer 2 Domain,我们把它称为冲突域(Collision Domain)。Layer 2 Domain是指在该网段中传输的信号(bits/frame)可能发生冲突。

所谓冲突即在这个范围内,存在不同的信号相互影响。本质上,第二层也是在做一个转发决策(Forwarding Descion)——处理传输上冲突的问题。

如图,下面所有的设备组成了一个冲突域:

其中还包含了5个Layer 1 Domain,1个Layer 2 Domain。因为设备间有5条线连接,这个域中L2的传输存在冲突(bits/frame)

而如下图的这个例子中有两个冲突域,下面两个设备均具有第一第二层,它们之间的连接传输不会影响到其他设备,在Layer 2逻辑上没有冲突。

其中包含了5个Layer 1 Domain,2个Layer 2 Domain。

总结:第二层在网络沟通上出现决策选择时存在冲突域,不存在决策选择的设备间自成Layer 2 Domain。

上图中,下方左侧的设备与下方右侧的设备之间的沟通不存在决策选择,而上面的冲突域中的L2传输出现了决策选择。

所以说,可以认为Layer 2 domain是指能够与其他第二层设备进行逻辑连接的区域

子层结构

数据链路层可以分为两个子层:

  • 逻辑链路控制(Logical Link Control, LLC)定义了向网络层协议提供服务的软件过程。

  • 介质访问控制(Media Access Control, MAC),定义了由硬件执行的介质访问过程。

MAC

介质访问控制(MAC)子层定义了访问不同介质的规则,MAC协议决定了在一个公共介质环境中的哪个主机可以传输数据

它有两类介质访问控制方法:

  • Deterministic (taking turns) 通过将token顺序地传递给每个主机来控制网络访问。 当主机接收到token时,该主机可以在网络上发送数据。 如果主机没有要发送的数据,它会将token传递给下一个主机,然后重复该过程。简单来说就是:指定host,存在顺序。

  • Non-deterministic (first come, first served) 每个主机都可以将其数据发送到网络介质上的所有其他主机。不指定host,没有顺序,先来先发

MAC主要由硬件实现,通常在主机的网络适配器中。

LLC

逻辑链路控制(LLC)子层在IEEE 802.2规范中定义,允许部分数据链路层独立于现有技术运行,可以简单看成是连接网络层的附加信息。

LLC由软件实现(通常在网卡的驱动程序中),其实现独立于硬件。

数据链路层头部

根据之前学到的分层信息,我们可以知道L2的PDU结构如图:

其中,MAC+LLC称为数据链路层的头部,LLC可选。


后记

在这一章中,学习了OSI网络层结构中的第一层和第二层的基本技术和功能。我们了解了物理层如何通过物理介质移动数据,以及如何使用编码、调制、同步和异步传输等方法来实现信号的转换和传输。我们还了解了数据链路层如何通过MAC和LLC子层来提供可靠的数据传输,以及如何使用地址空间、帧、冲突域等概念来组织和控制网络访问。

这里的一切都有始有终,却能容纳所有的不期而遇和久别重逢。
最后更新于 2023-09-19