计算机网络组成原理
计算机网络,说复杂,其实也简单。把它看成一个平面,实际上只有两种物理元素:
链路
和节点
。 计算机网络的通信过程就是在链路和节点上实现的。为了实现通信,必须建立节点和链路上的通信规则,这些通信规则称为协议
。
计算机网络及其分类
计算机网络及其功能
计算机网路就是用通信介质将多台计算机连接起来形成的计算机系统。
其中的连接有两重含义:
- 通过传输媒介建立的物理连接
- 由网络软件实现的逻辑上的连接
进行连接是为了实现以下功能:
- 通信
- 资源共享
- 提高计算机系统的可靠性(主备)
计算机网络的分类
按拓扑结构分类
链路型网络(点到点结构)
点到点结构中,一条链路只能有两个节点互联,两点之间要么直接通信,要么通过中间节点转发。
- 星型结构:以中央节点为中心,若干外围节点都与中心节点连接,中心节点实施全网控制
- 树型结构:是由星型结构演变而来,它实际是多个星型结构的级联组合(分级管理的集中式网络)。
- 环形结构:把所有节点连接成环形,每个节点都有两条链路与之相连。
- 格状网络:所有节点具有两个或两个以上直接通路的拓扑结构
- 全互联结构:所有节点之间都有直接连通的拓扑结构。
格状网络
和全互联结构
也称网状结构,具有较高的可靠性,但是网络结构也比较复杂,链路多、投资大。
广播型网络
广播型网络的特点是,通信线路为多个节点共享。这样一个节点发送的信息可以传输到其它所有节点;当有两个以上节点同时发送信息时候,便会引起冲突。总线型结构
是一种应用最普遍的广播型网络拓扑结构。
在总线型结构中,各个计算机网络节点的设备用一根总线连接起来。总线型结构目前在局域网中应用很广,有以下特点:
- 节点插入、拆卸很方便,易于扩充
- 不需要中央控制器,有利于分布式控制,某个节点发生故障对整个系统影响很小,网络可靠性高。
- 总线自身的故障对系统是毁灭性的,因而要有较高的安装质量。
按覆盖地域分类
- 微微网(Piconet):微微网是由采用蓝牙技术的设备以特定方式组成的网络,这种网络的建立是从两台设备的连接开始(比如笔记本和移动电话),同一时刻最多可以激活8态设备。
- 个人局域网(PAN, Personal Area Network):各种短距离无线电技术发展而来的新概念,一般覆盖距离为100m以内
- 局域网(LAN, Local Area Network):一般是 10km 范围内的网络,例如:一栋办公司、一座仓库、一个学校中的计算机网络
- 城域网(MAN, Metropolitan Area Network):一般覆盖一个城市的网络,范围在 5~50km之内。
- 广域网(WAN, Wide Area Network):网络延伸到整个国家甚至全世界的网络
按照网络中主机台数分类
分为三大类:
- A类是大型网络:主机最多可达1600万台
- B类是中型网络:主机最多可达65534台
- C类是小型网络:主机最多可达254台
其它分类方法
- 按使用权限分类:公用网络和专用网络
- 按公司命名分类
- 按操作系统及其版本分类
- 按所用技术分类
- 按使用介质分类
- 按业务范围分类
计算机网络元素
为了保证网络节点之间能正常通信,必须使元素之间遵守约定的规则和原则。这些规程和规则就是协议
。
网络节点
在复杂的网络中进行数据传输,从源节点往往要经过多个中间节点才能传送到目的节点。中间节点大致有四种:
端节点
、中继节点
、交换节点
、路由节点
。
端节点
端节点是进行数据处理的节点,在网络中这些节点应当具有两种功能:数据处理
和通信
。其中:
- 数据终端设备DTE(Data Terminal Equipment)为具有一定数据处理能力的发送、接收设备,如计算机或各种终端设备。
- 数据通信设备DCE(Data Communication Equipment)为通信接口设备,在 DTE 与通信网之间提供信号变换及编码功能,并负责建立、维护和释放物理连接,如:波形变换器、基带传输器、调制解调器等。
中继节点
信号在介质中传输时候,随着传输距离的增加,幅度会衰弱,波形会失真。中继器用于同类网络介质之间的互联,起到信号再生、放大作用。
中继器有一通一的中继器,也有一通多的中继器(集线器Hub,一段输入的信号,经整形、方法后转发到其它所有端口上)
交换节点
通信过程往往需要经过多条链路才能实现。转换由交换节点实现。
路由节点
路由节点是一种特殊节点。它位于网络之间,起连接网络的作用,属于所有连接的网络共有,正是由于路由节点,才使互联网得以形成。
把每个网络看成一个通路——链路,那么路由节点的分布就形成了互联网的拓扑结构或框架。
路由的网络连接功能主要体现在它能为到达的数据选择到达目的节点的路由,这就是路由节点称为路由器的原因。
传输链路
传输链路是网络中连接两个节点的直接信息通路,简称链路
。
数据在计算机网络中传输,往往要经过多条链路一段一段的传输。中间可能经过中继节点,也可能经过交换节点。
链路可能是物理的,也可能是逻辑的。采用多路复用技术可以把一条物理链路划分成多条逻辑链路。
通信介质就是搭载信号的传输媒介,是链路的物理基础。通信信号是 $10^{4} - 10^{16}Hz$ 频率范围的电磁波。它们的基本传播途径有两种:
- 有线传输——在有限空间内传输
- 无线传输——在自由空间中传输
协议
除了节点和链路这样两种物理元素外,网络还有一种非物理的元素 —— 协议。
协议及其内涵
凡是两个以上的对象或系统相互进行联系,都需要建立联系的规则或约定,这些为了通信或联系所指定的约定、规则和标准就被称为协议。
协议存在于任何通信过程中,它包含了传输信息的格式(语法)、语义和定时(传输顺序)三个方面的约束:
- 语法:语法是关于信息格式的规定,将信息按照一定的格式进行组织和传输。例如:一个数据分组有多长、具体划分为几个字段等。两个不同的网络互联,即当一个数据分组被转换为数字信号以后从一个网络进入另一个网络时候,必须进行数据格式的转换,这就需要根据两种网络协议的规定进行数据的分割和组装。
- 语义:在计算机网络中,传输的数据有用户信息和控制命令两种。语义用来规定命令和应答的含义。
- 定时:命令和应答需要一定的次序关系。定时用于规定命令、应答和状态变化的顺序和时间要求。
协议的基本功能
在计算机网络中,协议的目的就是确保通信过程的顺利、安全、可靠的进行,因此它的基本功能有以下几点:
- 分割与组装:在通信网络中,为了提高传输效率以及客服传输能力的限制,在发送端要将保温分割成一些适合网络传输的数据包——分组,并在分组时候加上控制信息;在接收端要将数据分组重新组装成报文。
- 规定格式和特性:规定数据格式,规定网络接口的机制、物理、功能和规程特性等。
- 传输服务:满足一定的性能需求,如在传输过程中要求控制数据优先于信息数据等。不同的通信系统有不同的传输服务,例如:为了在一条下怒上同时传输多路信号,就会要求系统按照何时的顺序发送和接收报文,并规定同步方式和寻址方式等。
- 传输控制:包括流量控制、差错控制和连接控制。流量控制用于控制数据传输过程中发送方的发送数度和数量,解决信道上拥塞问题;差错控制用于减少、监测和纠正错误;连接控制用于通信实体间连接的建立或拆除。
协议的实现——网卡和网络操作系统
网络协议通常是由网卡和网络操作系统共同实现的。
- 网卡:网络接口卡简称网卡,又称为网络适配器,该电路板安装在计算机扩展槽中以连接计算机和网络,是网络设备(如工作站、服务器等)与网络的通信介质进行连接的服务设备。它主要实现网络协议中与通信相关的功能。网络正常工作时候,网卡通过通信介质的端口监视网络的状态,接收传输介质上的信号。当网卡接收到有效的数字信号时候,网卡会判断是否发给本站(是,则将数据通过网络设备的接口传输到网络设备;否,则放弃或按原方向转发);另一方面,要适时将所连设备需发送的数据发送到网上,以实现网络设备间的通信。
- 网络操作系统:网络操作系统是网络用户与通信网络之间的接口。最早的网络操作系统仅仅用于网络上的文件管理,随着计算机网络的发展,网络操作系统的功能不断丰富和完善,为网上用户提供了遍历的操作和管理平台。目前市场上的几种主要 NOS 为:Linux、Unix和windows等。
链路上的通信技术
链路是指物理链路,即一条无缘的点到点的物理线路段,中间没有任何交换节点。
本章讨论一段链路中的数据传输技术,即将数据从一个节点传送到另一个节点的技术,这些技术包括:
- 源节点和目标节点之间的交互方式(单工、双工或半双工)
- 数据的传输形式(并行传输/串行传输)
- 同步控制方式(同步传输/异步传输)
- 信号形式(信号分析与编码)
- 在一条物理信道中传输多路信号——多路复用技术
- 差错控制技术
- 流量控制技术
- 典型传输规程
本章还有另一个术语——
信道
,应该注意信道
与链路
的微笑区别
基本通信方式
交互方式
信道的交互方式是指在一条物理信道上所允许的信号流动方向,有三种形式:
- 一方发送、另一方接收(
单工通信
)。比如:无线广播、电视等 - 双方可以同时进行收、发,但是两方收、发智能交替进行,不能同时进行(
半双工通信
)。比如:对讲机 - 双方可以同时双向进行发送和接收信号(
全双工通信
),相当于两个单工显露的组合。比如:电话
并行传输和串行传输
计算机中在数据传输时候,一条线路同一时刻智能传输信号的1位。如果将信号的各位分别在多条线路同时传输,则称为并行传输;如果只用一条先,让信号以位位单位顺序传输,就称为串行传输。
串行通信中的同步控制
同步的概念
为了让计算机的各个部件间协调工作,必须靠时钟对它们分别定时和定序。
在计算机网络中,接收方和发送方的时许协调也要依靠时钟定时,即发送方依靠时钟来决定每一位的起始和终止,接收方也要依靠定时时钟来确定对信号每一位的采样取值位置和时间间隔。然而,任何两个系统间时钟完全准确地同步(一致)是不太可能的。为了解决这一问题,就需要对表一样,每个一个时间间隔,收发两端校对一下时间。收发两端校对时间就称为收发两端的同步
。
帧级同步、字节级同步和位级同步
按照传输的数据的长度,可以考虑从三个级别上进行收发两端的同步:帧级、字节级和位级。
帧级同步
帧(Frame)是在链路连接的两端每次所传输的数据块,通常由多个字节组 成,具体长度由链路上所使用协议规定。帧的同步,就是在数据块的两端加上前文(Preamble)和后文(Postamble),表示帧的起始和结束。前文和后文的特性也取 决于所用的协议,并可以分为面向字符和面向位两大类。
在面向字节的同步传输中,帧头包含一个或多个同步字符——SYN。SYN是一个控制字符,后面是控制和数据字节。接收端发现帧头,便开始接收后面的数据块,直至遇到另一个同步字符。IBM的二进制同步规程(BSC或Bisync)是具有代表性的面向字符的同步传输规程。
在面向位的同步传输中,将数据块看作数据流,并用序列"01111110"作为开始和结束的标志。为了避免在数据流中出现序列"01111110"时引起混乱,发送方总是在其发送的数据流中每出现5个连续的"1"就插入一个附加的"0";接收方则每监测到5个连续的"1"并其后有一个"0"时,就删掉该"0"。目前应用最普遍的面向位的同步传输规程是 `HDLC` 和 `SDLC`。
采用帧同步时,接收端时钟和发送端时钟会有微小的差异,会造成帧内各数据位的漂移。由于帧一般较长,位漂移的积累将造成一个帧内后面部分的数据位无法正确接收,所以帧同步不能独立使用。
字节级同步
字节级永不就是两端每次以字节为单位传输数据,并在字节的两端加上特殊极好,表示字节的开始和结束,以实现收发两端同步。通常采用如图2.4所示的方法:
- 不传送时,信道一直处于高电平,表示停止(状态"1")
- 用1位低电平(状态"0")表示起始位;
- 接着传送 1 个字符;
- 最后用1位或2.5位或2位的高电平表示停止位。
在字节级同步方式中,接收方知道了字节起止后,尽管会由于时钟的差异造成字节内位的漂移,但由于字节较短,还不至于漂移到使接收端脉冲信号不能正确接收的程度,因而它可以直接独立使用。
位级同步
前两种方式都采用附加冗余数据信号来实现同步。但是位级同步不能再采用附加冗余数据信号的方法了。因为这样不仅冗余太大,而且几乎无法实现。因此,位级同步需要采用同步时钟实现,即用发送方时钟直接控制接收方时钟,使双方达到完全同步。发送方对接收方的同步可以通过两种方法进行:
- 外同步法:在发送方和接收方之间提供单独的时钟显露,发送方在每个比特周期向接收方发送一个同步脉冲。接收方根据这一串同步脉冲来调整自己的接收时许,把接收时钟的重复频率锁定在同步频率上。这种方法在短距离传输中比较有效;长距离传输中,会因同步信号失真而失效。
- 自同步法:利用特殊编码(如:曼彻斯特编码 或 微分曼彻斯特编码)让数据信号携带时钟信号。
由于实际上不可能以位为单位进行传输,所以位级永不方式也不能独立使用。而字级别同步又可以独立使用,所以位级别同步只能与另外一种不能独立使用的同步方式——帧同步配合使用。
同步传输和异步传输
在实际应用中,通常用位级同步来弥补帧同步的不足,而字节级同步可以独立使用。于是实际应用的同步方式只有两种。位级同步和帧同步结合的同步方式最显著的特点是接收端与发送端具有共同的时钟。这种方式被称为同步传输方式;相对而言,字节级同步方式中接收端与发送端不需要严格的时间标准,因而称为异步传输,或称起止同步方式。异步传输实现简单,设备技术开销小,价格便宜。但由于传输时每个字符都要附加2~3位用于起止位,字节之间还有间隔,因此传输效率低。
数据信号分析和编码
信号是数据在载体中的存在形式,为了便于分析,可以用时域法或频谱法表示
时域表示法
时域表示法就是把信号的幅值表示成时间函数。用时域表示法表示信号 时,可以清楚地看出信号随时间变化的规律。
区分
模拟信号
和数字信号
频谱表示法
频谱表示法是把信号的幅值表示成频率的函数。这是基于傅里叶分析的一种方法。傅里叶分析表明,基频为 $f$ 的任意周期函数 $g(t)$ 都可以由(无限个)正弦函数和余弦函数合成,即:
$$ g(t) = \frac{1}{2} C + \displaystyle \sum^{\infty}_{n=1} a_{n} sin(2 \pi nft) + \displaystyle \sum^{\infty}_{n=1} b_{n} cos (2 \pi nft) $$
式中:$f$ 称为基频,$C$ 是常数,$a_{n}$、$b_{n}$ 是第 $n$ 次谐波的幅值,$n=1$ 的分量波称为基波。
如果把一个持续时间有限的数据信号想像成一个反复重复的模式,就可以将任意信号作为周期信号进行傅里叶分析,分析出它的谐波组成。一个信号的频率范围称为该信号的绝对带宽。在现实中,许多信号具有无限带宽,即它的傅里叶分析结果是无穷级数之和。不过,信号的大部分能量都集中在某一段频带之中,这个频带称为该信号的有效带宽,简称带宽。
用这种表示方法,可以看出一种信号的频率范围———带宽,以及每一个频率 分量的信号能量的大小。同一信号的时域表示与频谱表示之间有一定的关系。越接近正弦波,信号的带宽就越小,对信道的质量要求就越低;而越接近数字信号,信号的带宽就越宽,对信道的质量要求就越高。
为了有效地解决信号传输中不同频率的谐波分量共存所引起的技术问题,人们把信号分为基带(Base Band)信号和频带信号两大类。
频带信号,一般就指音频模拟信号,即带宽为$300HZ$ ~ $3400HZ$ 的普通电话信号。这种信号对信道质量要求较低。
关于基带信号,有三种层次的定义:最广义的概念是指一切原汁原味的不经任何变换(调制)的原始信号;稍低层次的概念是指最高频率与最低频率相差很大的信号,它既可以是模拟信号(如电视信号,基本频带为0~6MHz),也可以是数字信号;在计算机数据通信中,使用的是狭义的概念,主要指数字信号,它是一种矩形波,其分量的频率范围相差很大。
信道的主要性能参数
数据传输的必经之路称为信道。
信道在实际传输信号时,会面临三大损害:衰减、延迟失真和噪声。
衰减
:是指信号在传输过程中的能量损耗,与距离有关(用单位dB/km度量)
延迟失真
:是指由于信道对信号中的各傅里叶分量,因其频率不同所引起的衰减程度不同而造成的波形失真
噪声
:是指信道上的非发送方期待的能量。噪声分为热噪声、串音和脉冲噪声。热噪声
是由于线路(主要是电气线路)中的电子自由运动加剧而产生的能量。串音
是由于临近线路上传输的信号耦合感应传递的能量;脉冲噪声
是由于外界强力的电磁信号(如雷电、电力线路上的尖峰等)传递的能量。
信道的性能可以从信道的传输速率
、信道带宽
、信道容量
、吞吐量
、出错率
等方面衡量。
传输速率
数据的传输速率是指单位时间内所传输的数据量的多少
带宽
任何信道都不是理想的,每一个信道都对能通过信号的频率范围有一个限制。信道允许通过的信号频率范围,即可传送的信号最高频率与最低频率之差,被称为信道的通频带宽,亦即信道带宽,单位为Hz
信道容量
信道容量即信道上所允许的最大数据传输速率,这是信道的一个极限参数,即信道传输数据的速率不能超过其最大数据传输速率,它与信道带宽以及噪声强度有关。
信道误码率
误码率是指信道传输信号的出错率,是数据通信系统在正常工作情况下的 传输可靠性指标
数字信号的模拟调制
将不适合信道传输的信号变换为适合信道传输的信号称为调制
。数字信号的调制是将数字信号转换为频带信号,以便能将数字数据在传统的模 拟线路(电话网)上进行传输。
调制的逆过程称为解调。由于通信多是双向的,所以在实际应用中调制与解调两部分功能要做在一个设备———调制解调器中。
幅移键控 ASK
用不同幅值的正弦载波信号来分别表示数字1
和0
ASK的技术简单、实现容易,但抗干扰能力差
频移键控 FSK
用不同角频率的正弦载波信号来分别表示数字1
和0
FSK 的技术简单、实现容易、抗干扰能力强,是目前最常用的方法
相移键控 PSK
用不同初相位的正弦载波信号来分别表示数字1
和0
PSK 它的抗干扰能力强,但实现技术复杂
模拟信号的数字编码——脉冲编码调制技术
模拟数据的数字编码是将连续的信号波形用有限个离散(不连续)的值近似 代替的过程。其中最常见的方法是脉冲编码调制(PCM)
PCM 基本步骤是:
- 采样:将原波形的时间坐标离散化,得到一系列的样本值
- 量化:对采样得到的样本值按量级分级并取整
- 编码:将分级并取整的样本值转换为二进制(0,1)码
数字化的质量取决于下列技术参数:
- 采样频率:一秒内采样次数(水平方向的精度)
- 测量精度:量化等级(垂直方向的精度)
数字编码
虽然"1"和"0"是两个非常简单的码,但实际传输和使用的信号形式有很大的差别,下面给出了6种具有代表性的二进制数字信号的编码方式:
单极性码和双极性码
(a)和(c)是单极性码
,它们的特点是只在表示"1" 时才发出电流,表示"0"时不发出电流,电流只有一个极性(方向)
(b)和(d)是双极性码
,它们的特点是表示"1"时发出正电流,表示"0"时发出负电流,电流具有两个极性(方向)
归零码和不归零码
(c)和(d)是归零码
,它们的特点是,每次进行0-1变换或1-0变换时,都要在无电流处停留一下。
(a)和(b)是不归零码
,它们的特点是,每次进行0-1变换和1-0变换都是直接的,不在无电流处停留。
曼彻斯特码和差分曼彻斯特码
曼彻斯特码
的特点是将每个比特周期分为两部分:前半个比特周期传送该比特的原码,后半个周期传送该比特的反码,于是在每个比特周期的中间产生一个电平跃变。这个跃变信号既可以用做同步信号,也可以用做表示 数据(如图(e)所示,用正跃变表示为"0",用负跃变表示为"1")。
差分曼彻斯特码
是对曼彻斯特码的的改进,它用每一码元的开始边界处有无跃变来区别"0"和"1",如图(f)所示,有跃变表示为"0",无跃变表示为"1"。这时,每个比特周期中间的跃变仅仅用做同步时钟。
评价数字信号编码方式的优缺点可以从以下几点考虑:
脉冲的宽度
:脉冲宽度大,信号的能量就大,对于提高接收端的信噪比有利
占用的频带宽度
:脉冲宽,占用的频带就窄,如归零码比全宽码占用的 频带要宽
直流分量的成分
:直流分量低有利于传输,如双极性码的直流分量较 低,曼彻斯特码和差分曼彻斯特码的每个码元中都有跃变,因而没有直流分量
自同步能力
:曼彻斯特码和差分曼彻斯特码的每个码元中都有跃变,可以提供自同步能力。如在IEEE802.5中,正常的信号编码都采用差分曼彻斯特 码,只有起始和结束字段中各有4位“特殊比特”,这些特殊比特的码元中间没有 跃变,要么是全高电平,要么是全低电平,以“特殊比特”来作为信号编码起始和 结束的标志。
信道的多路复用技术
在通信系统中,信道有逻辑信道
与物理信道
之分。物理信道与逻辑信道之间的关 系有点像铁路与车次之间的关系,物理信道好比是铁路,逻辑信道好比是车次。
北京到重庆之间并没有一条专线,但可以通过连接京广线—陇海线—宝成线— 成渝线,开出一趟或几趟北京至重庆的列车来。
逻辑信道是建立在物理信道基础上的:一条物理信道通过载波、分 时或改变连接方式等,有可能分为几条逻辑信道(好像同一条铁道上同时运行多 趟列车一样);在复杂拓扑结构的网络上,两点之间的通信并不一定要有一条专 门的物理线路,而可以由其内部节点间的连接来实现。通常把逻辑信道的实现 称为“连接”。
多路复用(MUX)源于拉丁语multi(许多)和plex(混合)。它指在一个物理信道上同时传送多个信号,或者说是把一个物理信道设法分成多个逻辑信道,以提 高信道利用率。
频分多路复用(FDM)技术
FDM(Frequency Division Multiplexing)是模拟传输中常用的一种多路复用技术。它把一个物理信道划分为多个逻辑信道,各个逻辑信道占用互不重叠的频带,相邻信道之间用“警戒频带”隔离,以便将不同路的信号调制(滤波)分别限制 在不同的频带内,在接收端再用滤波器将它们分离。
目前,FDM 技术已经在一定程度上实现了标准化。其中一个广泛使用的国 际标准是把12×4000Hz的音频信道(用户使用3000Hz,再加两个500Hz的防护频带)复用到60Hz~108Hz的频带上,其单位称为群(Group)
时分多路复用(TDM)技术
TDM基本原理
与FDM的同时发送多路信号相比,时分多路复用(TDM, Time Division Multiplexing)是一种非同时发送的多路复用技术。如下图示,它将一个传送周期划分位多个时隙,让多路信号分别在不同的时隙内传送,形成每一路信号在连续的传送周期内轮流发送的情形。
数字信号的时分复用也称为复接,参与复接的信号称为支路信号
,复用后的信号称为合路信号
,从合路信号中将原来的支路信号分离出来称为分接
。
通常,话音信号是用脉码调制来编码的。由于典型的电话通道是4KHz,按 照奈奎斯特定理,为了用数字信号精确地表示一个模拟信号,对话音模拟信号的采样频率至少要达到8000Hz。用一个8位字来代表每个采样,则话音信号数字化的结果便是一个8000x8(位字)的数据流,数据传输速率为64kb/s。上述方法称为 PCM 复用。为了提高数码率,对 PCM 复用后的数字信号再进行时分复用,形成更多路的数字通信,目前广泛采用这种数字复用方法来提高通信容量。
下图所示为 TTU-T 推荐的数字速率等级和复接等级,它们都是基于传输速率 64kb/s (称为零次群)的数字信号的。两种等级不同之处在于,一类是用 TDM 技术将 24 路零次群复用到一条线路上,形成数据传输速率为 1.544MB/s 的一次群(称为 T1 次速率,主要在北美应用),并在此基础上形成其二次群、三次 群、四次群等;另一类是用 TDM 技术将 30 路零次群复用到一条线路上,形成数 据传输速率为 2.048MB/s 的一次群(称为 E1 次速率,主要在欧洲应用),并在此基础上形成其二次群、三次群、四次群等。
复接方式
TDM 可以设计成按位、按字节、按字符、按字或按任意多位的方式来对每个终端进行扫描复接。
下图(a)(b)分别为按位和按字节进行扫描复接的示意图:
按位复接又称为比特复接,即复接时每支路依次复接一个比特。这是目前 广泛使用的方法,它的设备简单,需容量小,且容易进行,但对信号的交换不利。
按字节复接的方法如下:对基群来说,一个码字有8位,复接前先将8位码 存起来,在规定的时间内一次复接;4个支路轮流复接。这种方法需要较大的存 储容量,适合于数字电话交换。
按帧复接是每次复接一个支路的帧(256比特)。这种方法不破坏原来的帧 结构,有利于交换,但需要更大的存储容量。
复接实际上就是通过脉冲采样再生成一定宽度的数字信号的过程,但由于要保持原来的数字信号周期,因此复接生成的方波宽度一定要按复接支路数进行分频。如在下图中,对4路数字信号进行复接后,在合路上的位宽减小到 原来的 1/4,使得4路的总宽等于原来1位的宽度,这样才能保持信号的传输速率不变。
同步时分复用和异步时分复用
下图给出了时分多路复用的两种同步方式———同步时分多路复用(STM)和异步时分多路复用(ATM)。同步时分多路复用是指时分方案中的时间片是预先分配好的,时间片与数据源是一一对应的,不管某一个数据源有无数据 要发送,对应的时间片都是属于它的;或者说,各数据源的传输定时是同步的。在接收端,根据时间片的序号来分辨是哪一路数据,以确定各时间片上的数据应 当送往哪一台主机。
采用异步时分多路复用时,各时间片与数据源无对应关系,系统可以按照需 要动态地为各路信号分配时间片,各时间片与数据源无对应关系。为使数据传 输顺利进行,所传送的数据中需要携带供接收端辨认的地址信息,因此异步时分 多路复用也称为标记时分多路复用。ATM 技术中的传输就是这种方式。
复接时系统间的同步问题
当由几个低次群数字信号复接成一个高次群数字信号时,如果各低次群采 用独立的时钟,即使每个低次群所使用的时钟的标称数码率相同,也会由于线路 长短不同产生的时延差异等原因,造成瞬时数码率的差异,从而形成如下图所示的重叠或错位现象,使复接合成后的数字信号无法分接恢复成为原来的低 次群数字信号。
为避免这个问题,需要解决系统与系统间的同步问题。系统间的同步可以 用两种方法实现:一种是用一个高稳定的主时钟来控制被复接的几个低次群,使 它们的数码率统一在主时钟的频率上,从而达到同步的目的;另一种,也是最常 用的,是称为码速调整的方法。码速调整方法是让各低次群仍然使用自己的时 钟,并在复接前插入一些码元。例如,要将支路速率为2048kb/s的4个基群信 号复接到速率为8448kb/s的二次群上,就必须首先对基群的数据速率进行调 整,使之与8448kb/s的4分频速率2112kb/s同步,然后再进行同步复接。这 种调整后的数码率高于调整前的数码率的码速调整方法称为正码码速调整。
下图所示是调整到2112kb/s的基群流帧结构,称为二次群复接子帧结 构。图中
- $C_{ij}$ 为插入标志码,用于分接时判断所在基群中的复接子帧中有无插入 码速调整位。有插入位,取全"1";无插入位,取全"0"。
- $V_{i}$为插入码——位调整码率而插入的码元。支路速率偏低,在该时隙插入一个不含信息的脉冲;支路速率正常,该时隙仍传输支路信息。
在支路级速率调整的基础上,进行二次复接帧的速率调整。下图为PCM二次群复接帧结构。从图中可以看出,二次群的数码率为 8.448Mb/s,帧周期约为 100us,帧周期内共 848 个比特。其中:
- 第 1 ~ 10 位为插入帧同步码 1111010000 (依据 ITU-T 规定)
- $F_{33}$ (第11位)作对端告警码
- 第12比特备用
- $C_{11}$、$C_{21}$、$C_{31}$、$C_{41}$、$C_{12}$、$C_{22}$、$C_{32}$、$C_{42}$、$C_{13}$、$C_{23}$、$C_{33}$、$C_{43}$为插入标志码。
- $V_{1}$、$V_{2}$、$V_{3}$、$V_{4}$ 位插入码——为调整码率而插入的比特。
在复接器中为调整码率要插入插入码,在分接器中要将它们去掉———消插。分接器进行消插的依据是“插入标志码”。当插入标志码的4位中有“000”时,表 示无插入码;当插入标志码的4位中有“111”时,表示有插入码。这种方法叫做 “大数判决法”。
实际上,同步复接中也要使用插入码。与异步复接不同的是,它在每一个帧 中都要插入插入码,目的是使低次群的码速能在复接后符合高次群的要求。
准同步数字系列 PDH
准同步数字系列 PDH(PlesiochronousDigitalHierarchy)是曾广泛使用的数字 传输技术,它采用异步复接,而且大多数采用正码码速调整,即通过插入一些非 信息比特使各支路信号与复接设备信号同步,并复接成高次群信号。这种方式 的最大缺点是很难从高次群信号中直接识别和提取低次群信号。要分接出支路 信号或插入支路信号,惟一的方法是将高次群信号一步一步地分接成所要提取 的低次群信号,然后再一步一步地复接成高次群信号。图2.23示出了在 PDH 系统中从PCM 四次群传输速率为140Mb/s信号中提取传输速率为2Mb/s信号 的过程。
同步数字系列 SDH
…略
光波分多路复用技术(WDM)
WDM基本原理
光波分多路复用(WDM,WavelengthDivisionMultiplexing)技术是在一根光纤 中能同时传输多个光波信号的技术。WDM 的基本原理如图2.29所示,是在发 送端将不同波长的光信号组合起来,复用到一根光纤上,在接收端又将组合的光 信号分开(解复用),并送入不同的终端。
差错控制
差错产生的原因与基本对策
在数据传输中,接收到的数据与原来发送的数据不一致称为传输差错。信道噪声引起传输信号的畸变是产生差错的主要原因。
循环冗余码校验
目前,主要的检错技术是奇偶校验(Odd-EvenCheck)和循环冗余码校验 (CRC,CyclicRedundancyCheck)。
奇偶校验码分为垂直奇偶校验码、水平奇偶校验码和水平垂直奇偶校验码。它们的冗余位少、方法简单,但纠错能力差,一般只用于要求较低的通信场合。 这里只介绍循环冗余码校验CRC。
流量控制与滑动窗口协议
高级数据链路控制协议 HDLC
数据链路连接管理方式
面向连接的服务
无连接的服务
HDLC的配置和数据传输工作方式
通信站
两种链路配置
HDLC数据传输工作方式
正常响应方式(NRM)
异步平衡方式(ABM)
异步响应方式(ARM)
HDLC 帧格式
中间节点上的通信技术
交换节点上的通信
在多节点的网络中,为了提高线路的利用率,任意两个节点间的通信不可能 都是建立在一条直接通路上,在许多情况下要使用两条以上的线路。把一条线 路上的数据转接到另一条线路上,称为数据交换。或者说,交换的基本功能就是 转发业务流。
电路交换
在电路交换(CircuitSwitching或CircuitExchanging)方式下,通信的双方在进 行数据传送之前先要建立一个实际的物理电路连接,连接的电路被通信的一对 用户独占,只有通信结束电路释放后,才能被别人使用。简单地说,它要经过3 步:建立连接(呼叫),数据传送,线路拆除(释放)。
电话系统是一种电路交换的网络,通信双方一旦接通,便独占一条线路,即 使没有数据传送,别的用户也无法利用。
电路交换有如下特点:
- 由于需要连接过程,建立连接需要时间,故适合传输大量数据,而传输 少量数据时效率不高;
- 连接一旦建立,便可以固定的速率传输数据,除了传输延迟外,不再有 别的延迟;
- 一旦连接成功,就建立了一条临时专线,即使不通话,也被占用,他人不 可使用。
存储——转发交换
存储——转发概念
存储-转发交换(Store-and-ForwardSwitching)是一种不要求建立专用物 理信道的交换技术。当发送方要发送信息时,应把目的地址先加到报文中,然后 从发送节点起,按地址把报文逐节点地转送到目的节点;在转送过程中,中间节 点要先把报文暂时存储起来,然后在线路不忙时将报文转发出去,这就是将其称 为存储-转发交换的缘由。
存储转发交换不像电路交换那样要独占一条固定的 信道,线路利用率高,同时可以根据网络中的流量分布动态地选择报文的通过路径,系统效率高,因而得到了广泛的应用。
为了实现存储-转发,每个交换节点要为每一个端口分别设置一个输入缓 冲区和一个输出缓冲区。
分组交换系统的发展
早期的存储-转发交换以报文(Message)形式进行,称为报文交换。下图演示了在连续的4个节点之间用报文分组交换方式进行数据传输的基本过程。
一般说来,报文较大,因而传输延时较长,不适合传输语音等实时信号;并 且,在传输过程中容易因为个别错误而导致整个报文传输作废。例如,某一线路 允许的差错率为10-5,若传输的报文长度为100kB(B表示字节),则每次传输中 都可能有1个字符出错。这样的报文很难传到目的节点。为此,在报文交换的 基础上,研制出分组交换(PacketSwitching),也称包交换。报文分组后,就可以避 免上述两个缺点。 在分组交换网中,要先把
在分组交换网中,要先把一个报文分割成规定长度的信息组———分组打包, 然后在每个分组上贴上标签———报头,按编号一批一批地将“数据分组”发出去; 在每一个中间节点上,都要先存储、后转发;传送到达目的地后,再重新装配成完 整的报文。
ATM、TCP/IP 都是分组交换。但是,它们的分组大小和具体交换方式各不 相同。
分组交换的虚电路服务和数据报服务
分组交换有虚电路(VirtualCircuit)和数据报(Datagram)两种服务方式
虚电路服务
虚电路的服务过程与下面的部队从A地向D地转移的过程相似。
① 先派侦察兵侦察出一条安全的通道(如图中的 A-B-C-D),侦察 工作完成后,向指挥部发回报告;
② 部队接到通道已经侦察好的报告,开始以支队为单位沿侦察好的通道转移,并且是先出发的先到达;
③ 部队转移结束,A地通知D地,该通道的任务完成,停止使用。
虚电路服务也分3个阶段。下图说明在A-B-C-D4个节点之间以虚电路方式进行数据传输的时序关系。
1. 建立虚电路
A启动路由算法,选择下一个节点 B,并向 B发送一个“呼叫请求分组”;接 着B也启动路由算法,选择下一个节点 C,并向 C转发“呼叫请求分组”。于是 “呼叫请求分组”沿A-B-C的路径到达目的节点D。目的节点D则沿D-C- B-A的路径返回“呼叫应答分组”。至此虚电路建立。
2. 数据传输
A将报文分组打包,不需再加目的主机的全地址,只需带上到B的虚电路号 (A对可能到达的每个节点编号)即可,按照该虚电路号将各数据分组发送到 B。 B如法炮制,将各数据分组发送到C,由C再发送到D。
这里之所以要使用分组(包),而不是将报文作为整体发送,是因为:如果在 某个节点上检验出某个分组有错,只要重发该分组即可,不需将全部报文重发, 这是分组交换比报文交换的优越之处;不会在物理上占用每一段电路。此外,采用虚电路方式可以连续地发送数据分组,数据分组上附 加的地址信息少,且接收到的数据分组顺序与发送的顺序一致,又有些像电路交 换,可以保证数据分组的实时性。所以说,虚电路是电路交换和存储-转发交换 的结合。但是,若在某一对相邻节点间的传送中有一个分组不能被正确接收,其他分组就要等待,从而降低了传送效率。
3. 拆除虚电路
报文传送完毕,A沿 A-B-C-D路径发送“释放请求分组”到 D;D 返回 “释放应答分组”,将虚电路拆除。
虚电路 可以 是 临时 的,也 可以 是永 久的。临 时虚 电路 也称 交换 虚电 路 (SVC),它在每次数据传输时建立一次连接,每次数据传输结束便拆除。永久虚 电路(PVC)则是将连接持续到其中一台计算机关机时为止,两端用户可以随时 使用该逻辑信道。
数据报服务
数据报服务方式犹如大部队化整为零后分头向某地行进集结,每个分组都 加有目的地地址,并且按“各自为战”的策略,依据网络的运行情形各自选择合适 的路径,向目的地进发。这样,就会呈现以下几个传输特点。
- 每个分组所走过的路径可能是不相同的,例如对于有 A、B、C、D4个节 点的全连通网络,要从节点 A发送数据到节点D,则可能有下列传输途径:
- A——B——D
- A——C——D
- A——B——C——D
- A——C——B——D
- A——D
下图所示出,一个只有A、B、C、D4个节点的网络在数据报方式下进行传输的示意图。
- 由于传输路径不同,各节点交换处理的时间不等,到达目的地的时间也 不相同,于是就会出现到达目的地后各分组的顺序与发送时的顺序不同,必须重 新排序,再装配成报文。
- 数据报服务不需要进行连接,因此也说它提供无连接的服务。后面要 介绍的IP就只提供数据报服务。
- 数据报服务要求在传送过程中每一个数据分组都要带有目的地址和源 地址。同时在传送到目的地后,有可能出现乱序、重复与丢失现象,因而传输延 时较大,适合于突发性通信,不适合于长报文通信。
电路交换、虚电路与数据报的比较
下面主要从三个过程、三个参数上对交换方式进行比较:
- 三个过程:连接过程; 传输过程; 释放过程。
电路交换和虚电路都有连接和释放过程。但是,电路交换所连接的是物理 信道,而虚电路连接的是逻辑电路。虚电路服务,就是当两个节点之间要传输数 据时,必须首先进行路由选择,建立一条虚电路连接;虚电路连接建立之后,所有 的分组将沿该路径传送;数据传送结束后,要拆除虚电路连接。换句话说,在虚 电路方式中,所有的分组将沿同一条路径传输,整个的传输过程只是连接时进行一次路由选择。
数据报没有连接过程。各分组传输路径不一定相同,是一种各自为政的方 式,并且每做一次转发都要进行一次路由选择。为了不断地进行路由选择,每个 分组都必须具有目的端的完整地址。对于大型网络,目的地址字段会非常长。 而对虚电路来说,由于在数据传输前路径已经确定,每个分组中不一定再需要完 整的地址字段,而只用简短的虚电路号代之。虚电路号表明经过一个节点时,下 一步将从哪一条逻辑电路上发出去。为此,要为每个节点建立一张节点逻辑电 路管理表。
- 三个参数:时延、顺序、通用性
-
时延: 呼叫时延:呼叫连接过程花费的时间; 传输时延:从一个节点传输到下一个节点所用的时间; 节点时延(处理延迟):节点进行数据交换和处理花费的时间。
-
顺序:分组到达目的节点的顺序是否与源节点发送时的顺序一致。
-
通用性:是否适合不同类型、不同速率的计算机或终端之间通信。
电路交换一经连接即可以恒定速率进行数据直通传输,只有传输延迟,没有 节点延迟。分组交换,不管是数据报还是虚电路,都有节点延迟,因为每一个中 间节点都要进行存储、转发等处理,因而不仅有传输延迟,还有可变节点延迟。 其中,由于每个数据报都是独立发送的,因而数据包节点延迟要比虚电路长;另 外,由于各数据报报文分组,经过的路径不同,节点延迟不同,因而分组的到达顺 序可能会与发送时不同,传给主机前还要进行重装。
交换机的功能
现代通信网络按照有无交换功能可以分为两大类:交换网与传输网。
传输 网没有交换功能,仅仅用于数据传输。例如 DDN(数字数据网)就没有交换功 能,一般用于向用户提供专线服务。在交换网中,数据交换是由交换机实现的。 因此,交换机是交换网的交通枢纽。简单地说,交换机的作用是接收数据,然后 有选择地将数据转发出去,实现交换网中的数据流控制。进一步说,它的功能包括:
- 数据转发
- 物理编址 —— 定义数据帧的物理地址
- 网络拓扑结构设定 —— 定义设备物理连接所形成的网络拓扑结构
- 差错验证 —— 错误发生时发出告警
- 数据帧整序
- 流量控制 —— 延缓数据的传输能力
交换机实现技术
构成交换机构的最基本元件是交换单元。交换单元的基本实现技术有两种:空间交换
和时隙交换
。
空间交换
空间交换是指交换单元按照链路的空间分布进行交换,将分组从一条链路 转送到另一条链路上。最典型的空间交换机构是下图所示的交叉点矩阵结 构,也称纵横制交换(crossbarswitching)机构。它的 N路输入线和 N路输出线之 间有N2 个接点。通常这些接点是触点开关或电子开关,只要适当地控制这些开 关的接通或断开,即可在任一路入线和出线之间构成通路。
时隙交换
时隙交换是按时间顺序进行交换,是指将输入链路上某个时隙上的分组安 排到输出链路上的另一个时隙上。
STM传输模式的交换机
STM传输模式的交换机 STM模式的交换机按照时隙顺序进行交换。图3.9给出一种称为ATOM 的 共享介质型交换单元结构。在共享介质型交换单元中,各个输入端口的分组被 同步地分时复接到一组高速介质(如时分复用总线等)上,各个输出端口也与这 组高速介质相连。输出端口利用地址过滤器(AF)将发往本端口的分组接收下 来。很像商店里出售处理品的柜台,售货员将各种要处理的商品倒在摊位上,顾 客经过过滤挑选自己需要的商品。
共享介质型交换机有一个高速背板,用于交换单元间的互连。因而共享介 质结构常用于模块化的交换机中,以实现较高的端口密集度。
ATM传输模式的交换机
ATM传输模式的交换机是按照分组标记进行交换。下图所示为共享内存型交换单元结构,其核心是一个 RAM。各个输入端口的分组流复接成一条高 速分组流后,根据分组中的标记写入 RAM中与每个输出端口对应的队列中。输 出时,轮流从各个队列读出一个分组,输出分组流经分接后到达各个输出端口, 完成交换过程。
共享内存型交换单元是低价小型交换机中常见的一种结构,其优点是能够 在一台交换机中同时支持不同类型和速率的局域网。
多级互联网络交换结构 MIN
为了减少交叉节点的数目,可以把大容量交换网络分成小容量的交换单元, 并将这些交换单元连接成多级互联网络(MIN,Multi-stageInterconnectNetwork)。 图3.11示出了一个由2×2的基本交换单元构成的3级 MIN结构,每一级有4 个基本单元。级间要求全互连,以使每一条入线都能到达每一条出线。
分组交换结构的发展
计算机网络中的交换系统最早是由计算机实现的,如 ARPAnet,它为每一个 端接口分别设置一个分组输入队列和一个分组输出队列,交换过程就是将某个 端接口输入队列中的分组放到另一个端接口的输出队列中。为了减轻主计算机 的负荷,后来在系统中增加了前端机 FEP(Front-EndProcessor),执行较低级别 的规程,如链路差错控制等,形成下图所示的结构。
分组交换系统进一步发展,前端处理机的功能不断增强,计算机退出对分组 交换过程的直接干预,仅仅用于虚电路的建立,并通过总线与各前端处理机交换 信息,形成下图所示的结构。这时,系统中计算机瓶颈消除,但由于采用共享 介质分时地进行分组传输,使吞吐量受到介质带宽的限制。
计算机网络发展的历史,就是计算机技术和通信技术在发展中融合的历史。 在分组交换系统中引入电话交换系统,是迟早的事情。这种系统的结构如下图所示。它用较小的基本交换单元构成多级交换网络,在控制处理机的控制 下进行并行处理,大大地提高了吞吐量。这就是今天广泛应用的交换机系统。
路由节点上的通信
路由节点是联结不同网络的节点。当数据分组传输到路由节点时,路由节 点不是对其进行简单的交换;由于它处于几个网络的边界,因此首先要判断该数 据分组的目的地是否与送来的节点在同一个网络———称为本地:如果是,就本地 提交;如果不是,就转发出去。由于它可能联结多个网络,因此转发时还要考虑从哪一条路径上转发出去较好。在路由节点上承担路由工作的设施是路由器。 如果将每个网络看成一条链路,那么网络与路由节点组成的拓扑结构就是互联 网的拓扑结构。所以说,路由器的配置决定了互联网的结构框架。
路由表与路由算法
路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路 径,并将该数据帧有效地传送到目的站点。为此,每个路由器中都要维护一个路 由表(RoutingTable),供路由选择时使用。路由表中的每一个表项均为四元组: 〈目的地,下一站地址,下一站网络接口号,距离〉。以目的地址作为关键字,就可 以从路由表中查出下一站路由器的地址以及它所在的接口。因此,路由表就成 为路由器的中枢,它决定了每个数据包的转发方向。于是路由表的建立和维护 就成为路由器技术的关键。建立和维护的算法称为路由算法。
路由选择是一个极为复杂的问题。因为网络中每一个节点的工作都是置于 网络上其他节点形成的环境中,并且网络上各个节点、各条路径的工作状态往往 是随机的。此外,当网络处于拥塞状态时,路由选择应当有利于拥塞的缓解。下 面介绍几种常用的路由选择算法。从总的方面看,它们分别属于静态路由和动态路由。
静态路由
静态路由用预先编好的程序定义通过网络的路径,其算法通常由网络管理 员人工实现。该管理员负责发现和传播通过网络的路由。下面介绍几种常用的静态路由算法。
洪泛(Flooding)算法
洪泛算法也称扩散式算法。它的基本思想是,每个节点收到分组后,即将其 发往除分组来的节点之外的其他各相邻节点。可以想像,按照这种算法,网络上 的分组会像洪水一样泛滥起来,造成大量的分组冗余,导致网络出现拥塞现象。 因此要限制分组复制的数目。可以有3种方法:一是在每个分组的头部设一个 计数器,用来统计分组到达节点的数量,当计数器超过规定值(如端到端最大段 数)时,将之丢弃;另一种方法是,在每个节点上建立一个分组登记表,不接收重 复的分组;还有一种方法是只选择距目标节点近的部分节点发送分组。
洪泛算法具有很好的健壮性和可靠性,适用于规模较小、可靠性要求较高的 场合。
热土豆(Hot Potato)算法
通常每个节点要为其连接的相邻节点各建一个分组队列。热土豆算法是,节点收到一个分组后,为了尽快脱手,要将其放在最短的队列中,而不管该分组的目标节点是什么。
固定路由算法
固定路由算法也称查表法,它是在网络的每个节点上都存放一个预先计算 好的路由表,给出本节点到所有可能的目标节点的最短路径。下图所示为一 个固定路由算法的例子。这样,一个节点每收到一个分组,通过查表就可找出相应的转发出口。
固定路由算法简单、实现容易,选择的是最短路径,但是不适应网络的拓扑 变化,当被选路由出现故障时,影响正常传送。改进的方法是,为每个节点提供 一个次佳路由,当第一路由失效时,起用次佳路由。
固定的路由是静态路由,它由网络管理员事先设置,一般是在系统安装时根 据网络的配置情况预先设定的,不随未来网络结构的改变而改变。当网络的拓 扑结构发生变化时,要由网络管理员手工修改路由表中的相关路由。并且,静态 路由信息在缺省情况下是私有的,不会传递给其他的路由器。不过,网络管理员 也可以将其设置为共享的。
静态路由适合比较简单的网络环境。在这样的环境中,网络管理员易于清 楚地了解网络的拓扑结构,设置正确的路由信息以及网络拓扑变化时进行路由 信息的调整不需太多的精力。此外,静态路由具有较高的安全保密性。
动态路由
动态(Dynamic)路由表是路由器根据网络系统的运行情况自动调整的路由表。通常是通过路由器与相邻路由器交换网络信息来动态地进行路由表维护的。路由器间相互交换网络信息的规范由路由协议定义。根据发现和计算到达目的网络的新路径的方法,可以把动态路由算法分为3种:
距离向量算法
距离向量算法的原理非常简单:它把每经过一个路由器称为一跳。一条路 由上的跳数称为“距离”,然后动态地选择最短距离作为路径。下图所示为一个简单的距离向量路由表示的例子。图中给出了R2、R3和R4三个路由器的距 离向量路由表。
距离向量算法的主要优点是易于实现和调试,主要用于小型网络中。
链路状态(Link State)算法
链路状态是路由器上的接口(网络地址和网络类型等)描述及其与相邻路由 器关系的总称。这些链路状态的集合形成了一个链路状态数据库(Link-State Database)
用链路状态算法确定网络拓扑的过程非常直截了当。
在Internet中广泛使用的最短路径优先SPF(ShortestPathFirst)就是一种分布 式链路状态协议(LinkStateProtocol)。它提供了网络的树状表示。树根是运行 SPF的设备,用来计算到达每个目的网络的最短路径列表。下图所示为在路 由器R1上执行最短路径算法的例子:
(a) 每个路由器标识与它直接相连的网络上的所有路由设备
(b) SPF将实际网络、路由器和链路集抽象成有向图,两个路由器间的一系 列链路由一对有向弧表示,各指向一方,且它们的权值可能不同。然后根据有向 弧上的权值计算最短路径。这些权值用专用名词“度”(Metric)称呼,其值可以是 1~65535中的任何一个无量纲的数。“度”的具体内容可以是费用、距离、时延、 带宽等,它们都由网络管理人员决定。在上图中,R5-3表示到R5的路径上的度为3。SPF处理服务类型路由的办法是保留多张有向图,一张标注以时延为度,一 张标注以吞吐量为度,一张标注以可靠性为度(虽然3张有向图的计算工作量是 一张图的3倍,但却提供了分别按时延、吞吐量和可靠性优先选择路由的可能)
(c) 每 个 路 由 器 通 过 与 网 络 中 的 其 他 路 由 器 交 换 LSA(Link State Advertisement,链路状态公告)通知所有与之直接相连的网络链路以及每个链路 关联的度。 每个路由器使用这些LSA建立一个详细记录当前网络拓扑结构的链路状 态数据库(因为每个路由器处理相同的LSA集合,所以每个路由器建立的链路 状态数据库是相同的)。只要网络拓扑发生任何变化,该链路状态数据库就能很 快进行更新,并且通过各路由器之间频繁地交换信息,维持链路状态数据库在全 网的一致性,即维持各路由器链路状态数据库的同步。
(d) SPF提供了网络的树状表示。树根是运行SPF的设备,用来计算到达每 个目的网络的理想路径。虽然每个路由器的链路状态数据库相同,但是由于每 个设备占据了网络中的一个不同位置,SPF将为每个路由器产生不同的树。
混合(Hybrid)路由算法
混合算法试图综合距离向量算法和链路状态算法的优点:
- 使用“度”把优先权分配给一个路径(吸取距离向量算法的优点)
- 通过事件驱动更新路由而不是定期更新路由(吸取链路状态算法的优点)
路由器的基本结构
路由器是一种设备,其基本结构都包括路由器接口(网卡)、路由器软件、接 收/发送缓冲区等。下面介绍各部分的功能。
网络接口
路由器的网络接口用作将路由器连接到网络。对路由器来说,接口的主要 功能是输入和输出。
从大的方面来说,网络接口可以分为局域网接口和广域网接口两种。局域 网接口主要包括:10Mb/s以太网接口、100Mb/s以太网接口、1000Mb/s以太网 接口、10/100Mb/s自适应以太网接口、快速以太网接口、令牌环、令牌总线等网 络接口。广域网接 口主要包括:通用串 行口(可转换成 X.21DTE/DCE、V.35 DTE/DCE、RS232DTE/DCE、RS449DTE/DCE、EIA530DTE)、E1/T1,E3/T3,DS3, ATM 接口(2M、25M、155M、633M 等)、POS接口(155M、622M)等。
网络接口通常由网卡提供,一块网卡一般支持4、8或16个端口。
路由器软件
路由器软件一般实现路由协议功能、查表转发功能和管理维护功能等。由 于Internet规模庞大,路由表一般也非常庞大,可能会有几十万条。路由协议是 路由器软件的核心,主要用作建立和维护路由表。
路由交换单元
路由器还可以与交换开关结合在一起,组成一个路由交换单元。交换开关可以使用多种不同的技术来实现。最简单的开关是使用一条总线来连接所有输入和输出端口,总线开关的缺点是其交换容量受限于总线的容量以及为共享总线仲裁所带来的额外开销。交换开关通过开关提供多条数据通路,具有 N×N 个交叉点的交换开关可以被认为具有2N条总线。如果一个交叉点是闭合的, 则输入总线上的数据在输出总线上可用,否则不可用。交叉点的闭合与打开由调度器来控制,因此,调度器限制了交换开关的速度。在共享存储器的路由器中,进来的包被存储在共享存储器中,所交换的仅是包的指针,这提高了交换容量,但是开关的速度受限于存储器的存取速度。尽管存储器容量每18个月能够翻一番,但存储器的存取时间每年仅降低5%,这是共享存储器交换开关的一个固有限制。
路由队列
路由器是基于IP分组交换的设备,在每个接口上进行带宽统计复用。所以路由器必须在每个端口上维护一个或多个队列,以处理多个数据包发向一个端 口而端口接收能力有限的矛盾。队列管理的能力直接影响路由器的性能以及拥 塞管理能力。下面是三种常用的队列管理算法:
- 基于时标的IP分组调度算法:基于时标的IP分组调度算法为每个IP分组维持两个时标:起始时标(Start TimeStamp)和完成时标(FinishTimeStamp)。路由器根据这两个时标来决定下一 个转发数据包,常见的有 WFQ、WF2Q等。
- 基于轮转的调度算法:轮转调度算法又称时间片法,系统赋予每个队列一个时间片。转发操作在 各队列间轮转地进行,常见的有 WRR、DRR等。
- 基于优先级的调度算法:基于优先级的调度算法是根据预先规定的优先级对不同队列的数据包进行 调度转发。
路由技术的演进
路由器的具体结构随路由技术的发展而发展。下表所示是华为公司关于路由器体系结构演进的总结。
- 第一代路由器技术:第一代路由器主要由一个 CPU和多个固定的网络接口组成,如下图所示,CPU与网络接口之间通过内部总线相连接。网络接口收到报文后,通过内部总线传送给CPU。CPU负责所有事务处理,包括路由收集、转发处理、设备管理 等。CPU处理后,从另一个网络接口传送出去。
第一代路由器的接口是固定的。这样,就难于满足网络链路经常变化的需求,给网络设备投资保护和维护管理带来不便
-
第二代路由器技术:第二代路由器把网络接口做成可插拔的活动模块,使用户可以根据需要增 减网络接口模块,为路由器升级扩容提供了便利。但是,它还是使用一个 CPU 进行集中转发。
-
第三代路由器技术:第三代路由器是在各网络接口上增加 CPU,使路由器呈现 分布式结构。这样,每个接口业务处理模块都用自己的 CPU进行转发和业务处 理,它只负责少量网络接口。
-
第四代路由器技术:前面3种路由器都采用基于CPU的软件转发模式。第四代路由器则是在 第三代实现分布式转发的基础上,将基于CPU的软件转发模式转换为基于 ASIC (Application-SpecificIntergratedCircuit,专用集成电路)技术的硬件转发。在此基础上,还采用了交换网络结构,即各接口板只需要一条高速链路与交换网芯片连 接。
-
第五代路由器技术:第五代路由器基于第四代路由器的硬件转发和交换网式体系结构,在关键 的IP转发和业务流程处理上采用如下两大技术替代了原来的ASIC技术:
- 采用可编程序的、专为IP网络设计的网络处理器(NP),实现IP报文处理 和转发
- 采用大容量的交换网络结构,可通过升级软件增加新的处理功能,满足 不同的应用需求