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

3.1.1 数据链路和帧

链路:

一条无源的点到点的物理线路段,中间没有任何其他的交换节点

一条链路只是一条通路的一个组成部分

数据链路:

把实现控制数据传输的协议的硬件和软件加到链路上就构成了数据链路

适配器(网卡)

数据链路层协议数据单元:帧

3.1.2 三个基本问题

封装成帧、透明传输、差错控制

封装成帧

在一段数据的前后分别添加首部和尾部,构成一个帧

首部和尾部一个重要作用就是帧定界

帧的数据部分<=MTU(最大传送单元)

用控制字符作为帧定界符:控制字符SOH放在一帧最前面表示帧首部开始,控制字符EOT放在一帧末尾,表示帧结束

透明传输

数据中某个字节二进制代码恰好与SOH(01)或EOT(04)一样

在数据链路层透明传送数据:无论发送什么比特组合的数据,这些数据都能按照原样没有差错地通过这个数据链路层

用字节填充或字符填充法解决透明传输的问题

数据部分帧定界符和ESC前加ESC(1B)符

差错检测

传输过程中可能出现比特差错,一段时间内,传输错误的比特占传输比特总数的比率称为误码率BER

循环冗余检验CRC原理

发送端,先把数据划分为组,每组k个比特;

CRC运算在每组M后面再添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共(k+n)位

1. 原始数据M(k位),除数P(有n+1位),先在M后添加n个0
2. 得到的(k+n)位的数模二除以事先选定的P,得出商为Q,余数R
3. M后拼接余数R

这种为了进行检错添加的冗余码称为帧检验序列FCS

CRC差错检测技术只能做到无差错接受

无比特差错和无传输差错是不同的:

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

传输差错分为两大类:

比特差错:一个帧中比特没有改变

传输差错:帧丢失,帧重复,帧失序等(多个帧可能出现的情况)

数据链路层使用CRC检验,能实现无比特差错的传输,但不是可靠传输

要做到可靠传输必须加上帧编号、确认和重传等机制

3.2 点对点协议PPP

3.2.1 PPP协议的特点

对于点对点的链路,目前最广泛的数据链路层协议是点对点协议PPP

PPP协议应满足的需求

简单:首要要求

封装成帧:必须规定特殊的字符作为帧定界符

透明性:必须保证数据传输的透明性

多种网络层协议:能在同一条物理链路上同时支持多种网络层协议

多种类型链路:能在多种类型的链路上运行

差错检测:能对接收端收到的帧进行检测,并丢弃有差错的帧

检测连接状态:能及时自动检测出链路是否处于正常工作状态

最大传送单元:必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值

网络层地址协商:必须提供一种机制使通信的两个网络层实体能通过协商知道或能配置彼此的网络层地址

数据压缩协商:必须提供一种方法来协商使用数据压缩算法

PPP协议的组成

三个组成部分:一个将IP数据封装到串行链路的方法、一个链路控制协议LCP、一套网络控制协议NCP

3.2.2 PPP协议的帧格式

PPP是面向字节的,所有PPP帧的长度都是整数字节

PPP有一个2字节的协议字段。其值

0x0021则信息字段是IP数据报

0x8021则信息字段是网络控制数据

0xC021则信息字段是PPP链路控制数据

0xC023则信息字段是鉴别数据

各字段的意义

首部:4个字段,

标志字段F:帧定界符0x7E,连续两帧之间只需要一个标志字段

地址字段A:置为0xFF,实际不起作用

控制字段C:通常置为0x03

协议字段

尾部:2个字段

帧检验序列FCS:CRC检验的冗余码

透明传输:PPP用在异步传输时使用字节填充法。PPP用在同步传输链路时采用零比特填充法

字节填充

帧定界符0x7E

原始数据中0x7E转为0x7D+0x5E,

0x7D转为0x7D+0x5D

若信息字段出现小于0x20的字符转为0x7D+(通常与0x20异或)

零比特填充

标志字段还是0x7E

信息字段,连续五个1后面添加一个0

3.2.3 PPP协议的工作状态

PPP链路的初始化过程:

用户拨号接入ISP后就建立了一条从用户个人电脑到ISP的物理连接

用户个人电脑向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧)以便建立LCP连接

之后进行网络层配置,网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址

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

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

3.3.1 局域网的数据链路层

局域网最主要的特点:

网络为一个单位所拥有

地理范围和站点数目均有限

局域网主要优点:

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

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

提高了系统的可靠性、可用性和生存性

媒体共享技术

静态划分信道:

频分复用

时分复用

波分复用

码分复用

动态媒体接入控制(多点接入):

随机接入:所有用户可随机的发送信息

受控接入:用户必须服从一定的控制

以太网两个标准:

DIX Ethernet V2:世界第一个局域网产品的规约

IEEE 802.3:第一个IEEE的以太网标准

这两种标准的硬件实现可以在同一个局域网上互操作

这两个标准只有很小的差别,因此很多人也常把802.3局域网简称为以太网

局域网数据链路层分为两个子层,逻辑链路控制LLC,媒体接入控制MAC

适配器的作用

把帧发送到局域网,从局域网接收帧

重要功能:

进行串行/并行转换

对数据进行缓存

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

实现以太网协议

3.3.2 CSMA/CD协议

最早的以太网:许多计算机都连在一根总线上

特点:易于实现广播通信、简单、可靠

为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中,仅当数据帧中的目的地址与适配器硬件地址一致时才能接收这个数据帧

缺点:多个站点同时发送时,会产生发送碰撞或冲突导致发送失败

以太网采取的2种重要措施

采用较为灵活的无连接的工作方式:

不必先建立连接就可以直接发送数据

对发送的数据帧不进行编号,也不要求对方发回确认

发送的数据都使用曼切斯特编码,所占的频带宽度比原始的基带信号增加了一倍

CSMA/CD协议的特点

载波监听多点接入/碰撞检测

多点接入(MA):说明这是总线型网络,许多计算机以多点接入的方式连接在一根总线上

载波监听(CS)即边发送边监听,不管在想要发送数据之前还是之中,每个站都必须不停地检测信道

碰撞检测(CD):适配器边发送数据,边检测信道上的信号电压的变化情况,电压摆动值超过一定门限值时就认为总线上至少两个站同时在发送数据,表面产生了碰撞

检测到碰撞后,适配器立即停止发送,等待一段随机时间后再次发送。

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

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

碰撞后重传的时机:采用截断二进制指数退避

发生碰撞的站停止发送数据后,要退避一个随机时间后再发送数据

基本退避时间2t

从整数集合[0、1、、、(2^k-1)]中随机取出一个数记为r。重传所需时延=r * 基本退避时间

参数k=Min[重传次数,10]

当重传达16次仍不能成功时即丢弃该帧,并向高层报告

10Mbit/s以太网争用期长度为51.2us

对于10Mbit/s的以太网,在争用期内可发送512bit,即64字节,这意味着:

以太网在发送数据时,若前64字节没有冲突则后续也不会有

以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧

以太网最大端到端长度:单程时延必须小于争用期一半,即最大长为5km

强化碰撞:发送站检测到冲突后立即停止发送数据帧,接着发送32或48比特的认为干扰信号,以太网还规定帧间最小间隔为9.6us

要点

3.3.3 使用集线器的星形拓扑

传统以太网传输媒体:粗同轴电缆->细同轴电缆->双绞线

采用双绞线的以太网采用星形拓扑

在星形中心则增加了一种可靠性非常高的设备集线器

集线器特点:

使用电子器件来模拟实际电缆线的工作,因此整个系统仍像一个传统的以太网那样运行

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

很像一个多接口转发器,工作在物理层

采用了专门芯片进行自适应串音回波抵消,减少了近端串音

3.3.4 以太网的信道利用率

假设:单程端到端传播时延=t,则争用期长度=2t。检测到碰撞后不发送干扰信号。帧长Lbit,数据发送速率Cbit/s,帧发送时间为L/C

成功发送一个帧需要占用信道的时间是T0+t,比帧的发送时间多一个单程端到端的时延t

要提高以太网信道利用率,必须减小t与T0之比

定义参数a=t/T0

a->0表示一发生碰撞就可立即检测出来并停止发送

a越大表面争用期所占比例增大,每发生一次碰撞就浪费许多信道资源

使a小:数据率一定时以太网连线长度要小一点,以太网帧长不能太短否则T0会很小

信道利用率最大值Smax=T0/(T0+t)

3.3.5 以太网的MAC层

MAC层的硬件地址

MAC帧的格式

MAC层的硬件地址

又称物理地址、MAC地址

IEEE 802为局域网规定了一种48位的全球地址,是局域网上每台计算机中固化在适配器的ROM中的地址

如果某个主机/路由器安装多个适配器,就有多个物理地址,所以物理地址应当是某个接口的标识符

3字节组织唯一标识符,3字节扩展唯一标识符

前三个字节为IEEE注册管理机构RA为厂家分配,后三字节厂家自行分配

必须保证生产出适配器无重复地址

地址被固化在适配器ROM中

地址字段的第一字节的最低位为I/G位

单站地址:I/G位=0;组地址:I/G位=1,组地址用来多播

广播地址:48位均为1,组播和广播地址只能作为目的地址使用

地址字段第一字节的最低第2位规定为G/L位

全球管理:G/L=0,厂商向IEEE购买的OUI属于全球管理

本地管理:G/L=1,用户可任意分配网络上的地址

适配器有过滤功能:

每收到一个MAC帧,先用硬件检查帧中的MAC地址

如果发往本站的帧则收下,再进行其他处理

否则丢弃此帧

MAC帧的格式

DIX Ethernet V2标准

IEEE的802.3标准

最常用的MAC帧是以太网V2格式

以太网V2的MAC帧格式

类型字段用来标志上层使用的是什么协议,以便接收方知道交给上层的什么协议

无效的MAC帧

数据字段的长度与长度字段的值不一致

帧的长度不是整数个字节

用收到的帧检验序列FCS查出有差错

数据字段的长度不在46-1500字节间

有效MAC帧长度为64-1518之间

以太网不负责重传丢弃的帧,无效帧直接丢弃

IEEE 802.3 MAC与以太网V2

3.4 扩展的以太网

3.4.1 在物理层扩展以太网

使用光纤扩展:主机使用光纤和一对光纤调制解调器连接到集线器

使用集线器扩展:多个集线器连成更大的以太网

优点:使原来属于不通碰撞域的计算机能跨域通信,扩大了以太网覆盖的地理范围

缺点:碰撞域增大了总吞吐量未提高,如果使用不同的以太网技术,那么就不能用集线器将它们互连

碰撞域:又称冲突域,指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络,碰撞域越大发生碰撞的概率越高

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

更常用,早期使用网桥,现在使用以太网交换机

网桥:工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发和过滤

交换机:工作在数据链路层,多端口的网桥,可明显提高以太网的性能

以太网交换机的特点

实质上是一个多接口网桥

每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式

以太网交换机具有并行性

能同时连通多对接口,使多对主机能同时通信

相互通信的主机都独占传输媒体,无碰撞地传输数据

每一个端口和连接到端口的主机构成了一个碰撞域

接口有存储器,即插即用,内部的帧交换表是通过自学习算法自动逐渐建立起来的,这种交换表就是一个内容可寻址存储器

使用专用的交换结构芯片,用硬件转发,其转发速率比使用软件转发的网桥快很多

优点:每个用户独享带宽,增加了总容量

以太网交换机的交换方式

存储转发方式:

把整个数据帧先缓存再进行处理;

基于软件,需要进行线路速率匹配、协议转换或差错检测时使用;

直通方式:

接收数据帧的同时立即按数据帧的目的MAC地址决定该帧的转发接口;

缺点:不检查差错就直接将帧转发出去,有可能转发无效帧

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

A向B发送一帧,该帧从接口1进入交换机;

交换机收到帧后,查交换表,没有查到从哪个接口转发;

交换机先把这个帧源地址A和接口1写入交换表;

交换机向除1以外所有接口广播此帧;

目的地址不符的丢弃此帧;

B向A发送一帧(不一定会发),该帧从接口3进入交换机;

交换机收到后查交换表,发现接口1对应MAC地址A,转发;

交换机把源地址B和接口3写入交换表;

考虑到有时要在交换机的接口更换主机,或主机要更换其网络适配器,这就需要更改交换表中的项目,为此,在交换表中每个项目都设有一定的有效时间,过期项目自动删除。

消除回路:使用生成树协议(STP)

生成树协议:不改变网络的实际拓扑,在逻辑上切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构

从总线以太网到星形以太网

3.4.3 虚拟局域网

以太网存在的主要问题:广播风暴,安全问题,管理困难等

一个以太网是一个广播域;

广播域:一个网络,其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收

交换机的每个端口处于一个独立的碰撞域中,但所有计算机都处于同一个广播域

虚拟局域网VLAN

利用以太网交换机,可以很方便地实现虚拟局域网VLAN

IEEE 802.1Q对虚拟局域网VLAN定义:

虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN

虚拟局域网其实只是局域网给用户提供的一种服务,不是一种新型局域网;

每个虚拟局域网是一个广播域,虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息而引起性能恶化

优点:改善了性能、简化了管理、降低了成本、改善了安全性

划分虚拟局域网的方法:基于交换机端口、基于计算机网卡的MAC地址、基于协议类型、基于IP子网地址、基于高层应用或服务

基于交换机端口

最简单最常用方法,在第一层划分

缺点:不允许用户移动

基于计算机网卡MAC地址

第二层划分

允许用户移动

需要输入和管理大量MAC地址,如果用户的MAC地址改变了则需要管理员重新配置VLAN

基于协议类型

根据以太网帧的第三个字段“类型“确定该类型的协议属于哪一个虚拟局域网

第二层划分

基于IP子网地址

根据以太网帧第三个字段“类型”和ip分组首部中源ip地址字段确定该ip分组属于哪个虚拟局域网

属于在第三层划分

基于高层应用或服务

根据高层应用或服务、或它们的组合划分虚拟局域网

更加灵活、但更加复杂

虚拟局域网使用的以太网帧格式

3.5 高速以太网

3.5.1 100BASE-T以太网

又称快速以太网,在双绞线上传输100Mbit/s基带信号的星形拓扑以太网

用户只需要使用100Mbit/s的适配器和100Mbit/s的集线器或交换机,就可以直接升级,不必改变拓扑结构

仍使用IEEE 802.3的CSMA/CD协议

特点:

全双工方式下工作而无冲突发生,全双工方式下工作时,不使用CSMA/CD协议;

使用IEEE 802.3规定的MAC帧格式

保持最短帧长不变,但将一个网段最大电缆长度减到100m

帧间时间间隔从9.6us改为0.96us

3种物理层标准

3.5.2 吉比特以太网

特点:

允许在1Gbit/s下以全双工或半双工两种方式工作

使用IEEE 802.3规定的MAC帧格式

半双工方式下使用CSMA/CD协议,全双工下不使用

与10BASE-T和100BASE-T技术向后兼容

吉比特以太网可用作现有网络的主干网,也可在高带宽的应用场合中

物理层:2种成熟的技术,一种来自现有以太网,一种是美国国家标准协会ANSI制定的光纤通道FC

半双工方式工作的吉比特以太网

半双工时采用CSMA/CD必须进行碰撞检测

为保持64字节最小帧长度,以及100m的网段最大长度,增加2个功能

载波延伸

分组突发

载波延伸

将争用时间增大为512字节,凡发送的MAC帧长不足512字节时用特殊字符填充在帧的后面

分组突发

当很多短帧要发送时,第一个短帧采用载波延伸方法进行填充,随后的一些短帧可一个接一个发送只需要有必要的帧间最小间隔即可,这样可形成一串分组的突发,直到1500字节或稍多一些为止

3.5.3 10吉比特以太网和更快的以太网

特点:

万兆比特

与10、100Mbit/s和1Gbit/s以太网的帧格式完全相同

保留了IEEE 802.3规定的以太网最小和最大帧长

只使用光纤作为传输媒体

只工作在全双工方式,没有争用问题,不使用CSMA/CD协议

端到端的以太网传输,以太网的工作范围已经扩大到城域网和广域网,实现了端到端的以太网传输

好处:

技术成熟

互操作性好

在广域网中使用以太网时价格便宜

采用统一的以太网帧格式,简化了操作和管理

3.5.4 使用以太网进行宽带接入

特点:

可提供双向的宽带通信

可根据用户对带宽的需求灵活的进行带宽升级

可实现端到端的以太网传输,中间不需要再进行帧格式转换

不支持用户身份鉴别

PPPoE

在以太网上运行PPP

将PPP帧封装到以太网中来传输

现在的光纤宽带接入FTTx都要使用PPPoE方式接入

利用ADSL进行宽带上网时,从用户个人电脑到家中的ADSL调制解调器之间的连接也使用RJ-45和5类线也使用PPPoE