IP接入网
上QQ阅读APP看书,第一时间看更新

2.2 系统架构与参考模型

网络技术的核心和灵魂是网络协议,面对繁杂而烦琐的网络协议,最佳的描述方法是从良好定义的系统架构开始构造,最佳的学习方法也是从掌握系统架构开始梳理关键技术,进而逐步深入重要的细节。本节将介绍广泛用于各种通信网络系统架构的基本概念,以及系统架构核心内容简洁直观的图形表述——参考模型。

本节主要讨论:

• 系统架构基本概念。

• OSI系统架构。

• 802系统架构。

2.2.1 系统架构基本概念

究竟什么是协议系统架构,这是讨论系统架构首先应当了解的问题。关于系统的系统架构有很多说法,其中,言简意赅的表述可见于IEEE 802.3标准。802.3标准在开始的章节中声明:“Architecture: emphasizing the logical divisions of the system and how they fit together”,即系统架构强调的是系统的逻辑划分及其协同。

可见,在网络领域影响极大的802.3标准认为,系统架构是讨论系统功能构成的基本结构及其相互配合关系。术语architecture的中文译名有多个:体系结构、系统架构、系统结构、架构等。本书将主要使用“架构”这一术语。

按照这个观点,网络的系统架构就是对网络协议在功能上进行逻辑划分,并概述各功能部件之间的交互与配合。

坚持用系统架构的观点理解繁杂的技术规范,经常可以画龙点睛,一通百通,是一种高屋建瓴的优良学习方法。

系统架构是一个纲,纲举目张。

2.2.2 OSI系统架构

ISO/OSI的开创性工作为泛通信网络(广泛的通信网络)开启了新一代的网络系统架构。OSI的基本概念和基本模型是泛通信网络系统架构的共同基础,泛通信网络(包括计算机网、电信网、广播电视网)的系统架构都逐渐接纳了OSI的基本概念和基本模型。

ISO/OSI是指国际标准化组织(ISO)在开放系统互连(Open System Interconnection, OSI)领域制定的一系列标准,其中最基本的标准是ISO 7498。7498标准先后有两个正式版本。

• ISO 7498—1984 OSI Basic Reference Model。

• ISO/IEC 7498.1—1994 OSI Basic Reference Model: The Basic Model。

ISO 7498标准于20世纪80年代初期开始制定,标准的第一个正式版本颁布于1984年,对泛通信网络的系统架构带来了深刻而全面的影响。

经过了10年的磨砺,20世纪90年代又对OSI标准系列进行了大规模的修订和扩充。ISO 7498标准也大大扩充了安全、系统管理等内容,并将标准文本划分为4部分,分别规范OSI基本参考模型中的基本模型、安全体系、命名与编址、管理框架等4部分内容。继承ISO 7498—1984版本中主要内容的是ISO 7498.1标准。

OSI基本模型是针对网络需要相互连通的开放系统,系统架构是最基本的然而也是最核心的内容。

在很多文献中,OSI基本模型(OSI/BM)都被称为OSI基本参考模型(OSI/BRM)。

1. OSI模型中的基本概念

OSI参考模型高度抽象十分复杂,然而其基本点,在本质上却是相当单纯的。本小节归纳OSI模型的一些基本要点,作为进一步讨论的基础。

OSI基本模型的最基本要点包括:

1)层次性模型

开放系统根据功能从逻辑上划分为7个有序层,形成了著名的OSI七层模型。每一层执行不同的功能,相邻的上下层之间是提供服务与使用服务的关系。

2)服务与协议

服务与协议是OSI模型最基本的概念。服务是一个开放系统内相邻层实体之间功能的提供与使用,而协议是两个开放系统中的对等实体之间的信息交互。

每一层中的实体使用下一层实体提供的服务,通过与对等实体的协议交互,向上一层实体提供增强了的服务。

相当多的早期技术并未使用服务的概念,但随着网络的系统结构越来越复杂,定义服务并区分服务与协议是十分重要的。

(1)服务访问点。

服务是在服务访问点(SAP)上通过原语交互实现的。服务访问点用服务访问点地址(SAP地址)标识。为某些重要的服务用户固定分配的保留地址是“众所周知”的,使用特定的SAP地址来标识特定的服务用户是经常使用的有效机制。

(2)数据单元。

信息以数据单元(Data Unit)的形式在实体之间转移,最基本的数据单元是协议数据单元(PDU)和服务数据单元(SDU)。

SDU用于邻接实体之间的服务交互,PDU用于对等实体之间的协议交互。

邻接实体间的SDU逐层递交形成了OSI的物理通信。对等实体使用下层服务构成的PDU逻辑交互形成了OSI的虚拟通信。

在OSI定义中,信息是以数据单元的形式在实体之间转移,这强烈地意味着OSI定义中讨论的开放系统是基于分组的通信(Packet Based Communications)系统。

2. 七层模型

OSI参考模型(通常指基本参考模型,BRM)基于图形表现系统架构的核心元素,是系统架构简洁直观的全局视图。

ISO 7498标准中,最著名的内容就是OSI的基本参考模型(OSI/BRM),并被广泛称为七层模型。OSI基本参考模型如图2-1所示。

图2-1 OSI/BRM示意图

OSI的七层模型将开放系统划分为7个层次,从高到低分别是:

• 应用(A)层,Application layer。

• 表示(P)层,Presentation layer。

• 会话(S)层,Session layer。

• 传送(T)层,Transport layer。

注意:传送(T)层在等同ISO 7498.1的中国国标中译为“运输层”。

• 网络(N)层,Network layer。

• 数据链路(DL)层,Data Link layer。

• 物理(Ph)层,Physical layer。

图中的虚线表示对等层实体之间的虚拟通信。

在OSI模型中,开放系统分为端系统和中继系统两大类型。

1)端系统

端系统(End System, ES)是信息转移的端节点——信源或信宿,典型的端系统是联网的计算机。

2)中继系统

中继系统(Relay System或Intermediate Systems, RS或IS)是信息转移途中的转发设施,典型的中继系统是交换机和路由器。

3. 服务与协议

七层模型是一个严格得近乎苛刻的有序层次性模型。各层中的实体可以使用、只能使用并且必须使用相邻下层实体提供的服务。服务用户和服务提供者通过相邻层界面上的服务访问点(Service Access Point, SAP)上的原语(Primitive)进行交互。一个SAP一次只能与相邻层中的一对实体相连(Attach)。SAP与相邻层实体的关系如图2-2所示。

图2-2 实体与服务访问点

服务访问点地址(SAP地址)标识了与某个服务用户相连的一个特定的服务访问点,采用专用的SAP地址来标识特定服务用户实体是一种常用的有效机制。

按照OSI的观点,各层都通过SAP点为相邻上层的实体提供服务,各个SAP点使用不同的地址作为唯一标识。使用同一服务的相邻上层实体可以只有一个也可以有多个,一个上层实体通常使用一个SAP点,但也可以同时使用多个SAP点。地址可以根据上下层实体的每次连接动态分配,也可以预先固定分配一些“保留地址”以实现SAP与上下层实体的静态绑定。TCP/UDP协议中的“保留端口”实际上就是这种保留地址的著名例子。人们已经习惯于利用这些“众所周知”的端口号来标识特定的应用,例如TCP的端口20/21一般用于FTP协议。

服务原语通常简称原语,是服务用户与其服务提供者之间交互的一种独立于具体实现的抽象表示。原语的具体实现可以是软件进程之间的参数交换,也可以是硬件电路之间的信号通知。原语可以分为请求(Request)、指示(Indication)、响应(Response)、证实(Confirm)4种类型。

协议是指对等实体之间交互的规则和格式(语法和语义)。

在OSI参考模型中,服务与协议是两个重要的基本概念。相邻层实体之间通过服务进行物理通信,而在对等实体之间通过协议进行虚拟通信,如图2-1虚线所示。

一个实体使用下层提供的服务,通过对等实体间的协议,为上层实体提供增强了的服务,这就是OSI参考模型的基本点。

在ISO/OSI标准的版本升级(从ISO 7498—1984升级到ISO 7498.1—1994)中,OSI参考模型引入了通信模式(Modes of Communication)的概念。数据传输可以是连接模式(Connection-Mode, CM)和无连接模式(Connectionless-Mode, CL)。因此,服务既可以是连接式服务,也可以是无连接式的服务。

连接模式的数据转移需要建立连接并在连接环境中传送数据,而无连接模式传送数据无须连接环境。连接模式传输系统开销大但通信性能可能更好,无连接模式系统开销小,通信性能不是太高然而健壮性可能更好。

4. 数据单元

信息是以数据单元的形式在实体之间传送。数据单元的基本类型是协议数据单元(PDU)与服务数据单元(SDU)。PDU用于对等实体之间的协议交互,而SDU用于相邻实体之间的原语交互。

由于OSI关注于系统之间相互开放的部分,所以新版标准(ISO 7498.1—1994)中取消了定义主要是具有本地含义(即,系统内部无须对外开放的部分)的接口数据单元。

数据单元通常具有特定的结构并且具有复杂的映射关系。例如,PDU通常由PCI(协议控制信息)和UD(用户数据)两部分组成,并作为SDU下传到SAP。相邻层中的数据单元映射如图2-3所示。

图2-3 相邻层数据单元的映射

在各种具体技术的文献中,PCI通常称为协议头部或简称为头部(head)。

5. 逐层封装

层次模型与数据单元的结合,产生了数据单元的封装与拆封的概念。典型的例子是TCP/IP协议族的逐层封装,如图2-4所示。

图2-4 TCP/IP中的协议数据单元

数据沿物理通信的方向逐层向下传递并逐层加封头部,直到通过物理介质传输到对端系统。对端系统逐层向上传递并逐层拆封。于是,各层虚拟通信交换的PDU就形成逐层加封和逐层拆封的机制。

2.2.3 802网络系统架构

1. 802系统架构

IEEE 802标准强调并制定了统一的系统架构。

以IEEE 802.3标准为例。802.3标准强调以系统架构观点组织标准的全部内容,并在标准开始的章节中,就单独列出小节专门讨论系统架构观点的重要性,概要描述了系统架构和实现,以及按照系统架构组织标准内容的两大基本优点。802.3根据系统架构观点组织标准的内容,使技术总体清晰而全面,技术规范细节的表述灵活,这对内容纷杂繁多的以太网标准制定至关重要。

虽然802.3标准始终坚持以系统架构为纲,但从标准的第一份草案(IEEE draft 802.3—1983)开始,标准制定期已经长达30余年。30年来,随着对系统架构认识的深化,标准中的相关内容也随之更新。802.3标准坚持以架构为纲,不仅支持了802.3标准本身的顺利发展,而且对802标准系列都发生了深刻影响,特别重要的是有力推动了网络IP化进程。

802.3标准的系统架构将在后面专门的以太网接入一章讨论。本小节主要讨论IEEE 802网络总体标准中系统架构的内容。

2. 802参考模型

802参考模型基于OSI七层模型构造,简洁直观地概述了802网络系统架构的核心内容。802参考模型如图2-5所示。

图2-5 802参考模型

图2-5(a)是802标准中当前的参考模型。这个模型的最底层是PHY(物理)层,其上是MAC(介质接入控制)子层,再上是MAC控制子层和MAC客户(层)。除MAC控制子层外,各层或子层都是为其邻接上层提供服务,即PHY为MAC提供服务,MAC为MAC客户提供服务。

MAC控制子层是一个较为特殊的可选子层,插在MAC客户与MAC子层之间而并不为上下两个子层感知。在通常的讨论中可以忽略MAC控制子层(MAC控制子层位于控制平面,通常不在传送平面中讨论),即简化模型仅包括MAC、PHY两层,MAC直接为MAC客户提供服务。

各层中的活动元素称为实体。在802模型中,MAC层有唯一的MAC实体,而PHY层中有多个PHY实体,例如10BASE-T、100BASE-TX、1000BASE-T、802.11g、802.11n、802.11ac等实体,每一个实体分别由相应的物理层规范描述。图2-5(a)的模型中并未列举众多的PHY实体,这样并不妨碍模型的完整性,同时可使模型更为简洁。

IP协议实体是当前模型中最重要的MAC客户。LLC实体等仍然可以作为MAC客户以便保持标准的继承性。

802标准的当前模型是从1998年逐渐演进而成的。1998年以前旧标准中的参考模型如图2-5(b)所示。新旧版参考模型的最大差别是:旧版模型中LLC数据单元是MAC服务的唯一承载,MAC PDU能够承载、只能承载并且必须承载LLC PDU,完全不能直接承载IP分组;当前模型可以承载各种MAC客户数据,特别是可以简洁高效地承载IP分组。

MAC能否直接承载IP分组十分重要。后面章节的讨论表明,若一直沿用旧版模型将会给802标准成为LAN/MAN领域的主导性标准带来灭顶之灾。

2.2.4 MAC技术概要

在LAN发展初期,局域网技术都是共享物理介质传输能力的技术。为了避免传输之间的相互干扰,多个站点同时接入共享介质必须有一个接入控制的机制,使多站点接入有序并且有效。介质接入控制(Medium Access Control, MAC)协议就是专门执行这一机制的协议,并在802模型中专门为MAC协议划分出了一个MAC子层。

接入网技术的发展得益于局域网技术很多,重要的一点就是采用了多种多样的MAC技术,以降低单个用户接入的传输介质成本。

MAC层最基本的功能是控制用户的接入并形成MAC数据单元。

MAC层的基本功能是在两个站点的MAC客户之间执行基于分组(Packet-based)的、无连接模式的数据转移功能。转移的分组通常称为MAC帧(MAC frame),或者简称帧。

1. 接入控制概要

MAC层的核心技术是介质接入控制技术,控制的核心是“由谁控制”与“如何控制”两个根本性问题。

根据控制者的不同,MAC协议可以采取中心协调(也称集中仲裁)与分布协调(也称分布仲裁)两种方式。

中心协调的优点是:

• 控制逻辑简单。由一个仲裁者独自决策,一般站点执行命令,相对而言都比较简单。

• 单点决策不易产生冲突。

• 易于在中心点提供多种QoS控制功能,例如优先级、安全性、资源分配等。

分布协调的优点是:

• 系统不存在单点故障,不会因某一点不工作而引起全网瘫痪。

• 不易产生系统瓶颈,所有站点负载较为平均。

显然,这两种协调方式的优缺点是正好相反的,在不同的场合两者各有其长处。

根据如何为多个接入者分配共享信道,可以将MAC协议分为同步接入协议和异步接入协议两大类。同步接入协议广泛用于电路交换网络中,通常称为多路复用协议,典型的有频分复用(FDM)和时分复用(TDM)技术。FDM/TDM技术为各个接入者静态分配一定的信道容量。异步接入协议又称随机接入协议,广泛用于分组交换网络中。协议的协调机制响应接入者的随机请求,动态为之分配信道容量。

随机接入协议可以进一步分为三种类型:轮转、预约和争用。这三种协议类型在接入网中都有应用,下面分别予以讨论。

2. 轮转

轮转(Round Robin)型协议将信道的接入权划分为时间片,各个站点轮流得到一定的时间片控制权,站点得到控制权后方可向共享信道发送数据。站点数据发送完毕或控制权到期,则将控制权传递到下一站点。协调机制可以采用集中式也可以采用分布式,轮询是集中仲裁的典型例子,而令牌传递则是分布协调的典型例子。

轮转型信道接入协议在重载环境中的公平性可以做得比较好,但是在轻载环境中的接入时延和控制开销都会比较大。

3. 预约

预约(Reservation)型协议特别适合于长时延信道。长时延信道上的申请和分配都不可能及时送达,因此采用预先约定的机制是合理的。站点的预约申请得到批准后,方能在分配的时隙中向共享信道发送数据。卫星数据网是采用预约型接入协议的最好例子。预约型协议的协调机制可以是集中式也可以是分布式,分布式预约协议理论分析相当精彩但实现颇难,集中控制机制简单而易于理解,在接入技术中得到很好的应用。

4. 争用

争用(Contention)型协议是局域网中最常用的MAC协议。站点的数据发送需求具有猝发性,请求的时间是随机的,容量也是随机的,面对这种环境,争用型协议是有效的。初看起来,争用型协议似乎杂乱无章,但是大量的深入研究揭示了协议的有效性。争用型接入的协调机制通常是分布式的。

争用型信道接入协议在轻载环境中的接入时延会比较小,但是在重载环境下接入冲突会急剧增多甚至信道可能产生拥塞。

在IEEE 802标准中,应用最为广泛的802.3和802.11网络中采用的CSMA协议族是典型的争用型接入协议。

5. MAC地址

MAC地址是MAC子层系统架构的一个重要内容。MAC地址的基本内容主要包括两个问题:地址含义和地址格式。

1)MAC地址含义

802标准中的MAC地址用以标识MAC实体,共享信道上每一个站点都应当有一个全网唯一的MAC地址作为站点MAC实体的基本标识。共享信道上的站点在进行MAC协议交互时使用MAC地址标识自身的MAC实体,在站点交互的MAC帧中填入源MAC地址和目的MAC地址,源MAC地址用以通告帧的发送者而目的MAC地址用以通告帧的接收者。

由于局域网中的每一个站点都是通过该站点的局域网物理接口(经常被称为网卡接口)联入局域网,这个网卡的物理地址就是一个天然的唯一标识。所以,站点的MAC地址通常使用网卡的物理地址充当MAC地址的默认值,并在系统初始化期间赋值。

注意:MAC地址是一个逻辑地址而不是物理地址。通常MAC地址与局域网接口物理地址的值相同,但并不意味着MAC地址就是物理地址。在虚拟网络和虚拟接口广为应用的今天,同一物理接口可能会具有不同的MAC地址,物理地址和逻辑地址的差异开始在终端用户面前明确显现。

2)MAC地址格式

IEEE 802—2001中定义了802网络MAC地址的通用格式。地址长度可以是16位或48位两种格式,当今的MAC地址几乎都只使用48位的格式。48位的MAC地址也可以认为是由6个八位组(Octet)组成的。

在讨论MAC地址格式时容易混淆的是地址的表示法,因为两个标准化机构——IEEE和IETF——的文献中使用了不同的表示方法:十六进制表示法(Hexadecimal representation)和比特反转表示法(Bit-reversed representation)。阅读文献时应当细加分辨。

48位MAC地址在线路上最先传输的两位(高八位组的最低位与次低位)分别是I/G位与U/L位。

I/G位是单目地址/组(Individual/Group)地址位。I/G位置0/置1分别表示单目传送和组传送。I/G位置0,则表示对单一目的地址传送,或简称单目传送。I/G位置1,则表示同时对多个目的地址传送,简称为多目传送或组传送。作为目的地址时,I/G位置0或置1均可;作为源地址时,I/G位只能置0。MAC地址置48位全1时特别规定为广播地址。

U/L位是全球地址/本地管理地址(Universally/Locally administered)位。U/L位置0/置1分别表示全球定义的地址与本地定义的地址。U/L位通常置0,表示此MAC地址是由全球监管机构规定的,是全球唯一的MAC地址。如果U/L位置1,则意味着此MAC地址是由本地的网络管理员自行定义的,通常这是为了特定策略需要,当然此时的MAC地址不能保证其全球唯一性。

就像IP地址对IP网络的意义一样,MAC地址对局域网十分重要。