- 数据通信与IP网络技术
- 李昌 李兴
- 17077字
- 2020-08-27 02:35:50
1.3 数据通信协议
在数据通信逐步占据通信领域主导地位的过程中,出现了多种通信协议并存的竞争局面。这是各个厂商的技术与商业利益相互博弈的结果,同时这种竞争博弈也影响到了网络中不同设备之间的相互兼容的问题。为此,国际标准化组织(ISO)在1984年提出了开放系统互联参考模型(Open System Interconnection Reference Model,OSI-RM)统一了数据通信的协议基础模型。本节在介绍OSI-RM分层模型的基础上,将重点分析IP数据通信网络的支撑协议——TCP/IP协议栈。
1.3.1 OSI参考模型与描述
OSI参考模型如图1-14所示。它采用分层结构化技术,将整个网络的通信功能分为7层。通过分层表述,各个子层功能相对独立、规范。
图1-14 OSI参考模型
由低层至高层分别是:物理层、数据链路层、网络层、运输层(也称传送层)、会话层、表示层、应用层。每一层都有特定的功能,并且上一层利用下一层的功能所提供的服务。
在OSI参考模型中,各层的数据并不是从一端的第N层以实体连接的形式直接送到另一端的第N层,第N层的数据在垂直的层次中自上而下地逐层传递直至物理层,在物理层的两个端点进行物理通信,我们把这种通信称为实通信。物理层之上的各个对等层由于通信并不是直接进行,可视为虚通信。
应该指出,OSI-RM只是提供了一个抽象的体系结构,根据这一模型衍生出多项标准,在这些标准的基础上可设计相应的通信系统。开放系统的外部特性必须符合OSI参考模型,而各个系统的内部功能是不受限制的。
OSI各层功能逐一描述如下。
1. 物理层
物理层主要解决通信线路上比特流的传输问题。这一层协议描述传输媒质的电气、机械、功能和过程的特性。其典型的设计问题有:信号的发送电平、码元宽度、线路码型、物理连接器插脚的数量、插脚的功能、物理拓扑结构、物理连接的建立和终止、传输方式等。
2. 数据链路层
数据链路层需要解决在数据链路上的帧传输问题。这一层协议的内容包括:帧的格式,帧的类型,比特填充技术,数据链路的建立和终止信息,流量控制,差错控制,向物理层报告一个不可恢复的错误等。这一层协议的目的是保障在相邻的站与节点或节点与节点之间正确地、有次序地、有节奏地传输数据帧。常见的数据链路协议有两类:一类是面向字符的传输控制规程,如基本型传输控制规程(BSC);另一类是面向比特的传输控制规程,如高级数据链路控制规程(HDLC)。
3. 网络层
网络层主要处理分组在网络中的传输。这一层协议的功能是:路由选择,数据交换,网络连接的建立和终止,给定数据链路上网络连接的复用,根据从数据链路层来的错误报告而进行的错误检测和恢复,分组的排序,信息流的控制等。
4. 运输层
运输层是第一个端对端的层次。OSI的低3层可组成公共网络,它可被很多设备共享,并且计算机—网络节点、网络节点—节点机是按照“接力”方式传送的,为了防止传送途中报文的丢失,两个计算机之间可实现端对端控制。这一层的功能是:把运输层的地址变换为网络层的地址,传输连接的建立和终止,在网络连接上对传输连接进行多路复用,端对端的次序控制,信息流控制,错误的检测和恢复等。
上面介绍的4层功能可以用邮政通信来类比。运输层相当于用户部门的收发室,它们负责本单位各办公室信件的登记和收发工作,然后交邮局投送,而网络层以下各层的功能相当于邮局,尽管邮局之间有一套规章制度来确保信件正确、安全地投送,但难免在个别情况下会出错,所以收发用户之间可经常核对流水号,如发现信件丢失就向邮局查询。
5. 会话层
会话层是指用户与用户的连接,它通过在两台计算机间建立、管理和终止通信来完成对话。会话层的主要功能:在建立会话时核实双方身份是否有权参加会话;确定何方支付通信费用;双方在各种选择功能方面(如全双工还是半双工通信)取得一致;在会话建立以后,需要对进程间的对话进行管理与控制,例如,对话过程中某个环节出了故障,会话层在可能条件下必须存这个对话的数据,使数据不丢失,如不能保留,那么终止这个对话,并重新开始。
6. 表示层
表示层主要处理应用实体间交换数据的语法,其目的是解决格式和数据表示的差别,从而为应用层提供一个一致的数据格式,如文本压缩、数据加密、字符编码的转换,从而使字符、格式等有差异的设备之间相互通信。
7. 应用层
应用层与提供网络服务相关,这些服务包括文件传送、打印服务、数据库服务、电子邮件等。应用层提供了一个应用网络通信的接口。
从7层的功能可见,低1~3层主要是完成数据交换和数据传输,称之为网络低层,即通信子网;上面5~7层主要是完成信息处理服务的功能,称之为网络高层;低层与高层之间由第4层衔接。数据通信网只涉及物理层、数据链路层和网络层,我们主要研究这3层。
1.3.2 OSI参考模型中的数据封装过程
在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层,如图1-15所示。
图1-15 OSI参考模型中的数据封装过程
在应用层,用户的数据被加上应用层的报头(Application Header,AH),形成应用层协议数据单元(Protocol Data Unit,PDU),然后被递交到下一层——表示层。
表示层并不“关心”上层——应用层的具体数据格式及内容,它负责是把整个应用层递交的数据包看成是一个整体进行封装,即加上表示层的报头(Presentation Header,PH),然后递交到下一层——会话层。
同样,会话层、运输层、网络层、数据链路层也都要分别给上层递交下来的数据加上自己的报头。它们是:会话层报头(Session Header,SH)、运输层报头(Transport Header,TH)、网络层报头(Network Header,NH)和数据链路层报头(Data link Header,DH)。其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(Data link Termination,DT)形成最终完整的一帧数据。
当一帧数据通过物理层传送到目标主机的物理层时,该主机的物理层把它递交到上层—数据链路层。数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。如果数据没有出错,则递交到上层——网络层。
同样,网络层、运输层、会话层、表示层、应用层也要做类似的工作。最终,原始数据被递交到目标主机的具体应用程序中。
解封装是一个与封装相逆的过程,在此就不赘述。
1.3.3 物理层接口
物理层作用:保证比特流的透明传送。
1. 物理层的功能和接口特性
物理层的规程是在通信设备之间通过有线或无线信道实现物理连接的标准。物理层在国际标准化组织(ISO)开放系统互联(OSI)模型七层协议中的最低层,是通信系统实现所有较高层协议的基础。计算机网络中的物理设备和传输媒体的种类繁多,通信手段也有许多不同的方式,物理层的作用就是对上层屏蔽掉这些差异,提供一个标准的物理连接,保证数据比特流的透明传输。为了保证各厂家的通信设备可靠互连、互通,国际电信联盟电信标准化部门(ITU-T)、美国电子工业协会(EIA)、电气电子工程师学会(IEEE)等组织机构分别制定了许多物理层相同的标准和建议,用于定义DTE(终端或计算机)DCE之间的接口,使物理层一级保持接口电路的一致性。
通常物理层规程执行的功能有:
① 提供DTE和DCE接口间的数据传输;
② 提供设备之间的控制信号;
③ 提供时钟信号,用以同步数据流和规定比特速率;
④ 提供机械的连接器(即插针、插头和插座等);
⑤ 提供电气地。
一般的物理接口都应具有以下4个特性。
(1)机械特性
定义了连接器件的大小、形状、接口线的数量和插针分配等。
(2)电气特性
定义接口电路的电气参数,如接口电路的电压(或电流)、负载电阻、负载电容等。
(3)功能特性
定义了接口电路执行的功能。
(4)规程特性
定义了接口电路的动作和各动作之间的关系和顺序。
2. V系列建议书
V系列接口标准,一般指数据终端设备与调制解调器或网络控制器之间的接口,这类系列接口除了用于数据传输的信号线外,还定义了一系列控制线,是一种比较复杂的接口。
(1)机械特性
描述连接器的形状、接口线的数量等。如:
• RS-232:规定9芯的插头、插座;
• RS-232、V.24:规定25芯的插头、插座;
• V.35:规定34芯的插头、插座。
(2)电气特性
描述电信号的特性,如电平、速率、阻抗等。如:
• V.28、RS-232:规定了不平衡双流接口电路的电气特性(多条信号线采用一条公共地线);
• V.35:规定了平衡双流接口电路的电气特性(每个信号均有两根导线各自构成独立的回路);
• V.10:规定了采用集成电路的不平衡双流接口电路电气特性;
• V.11:规定了采用集成电路的平衡双流接口电路电气特性。
(3)功能特性
描述接口执行的功能,标识每条接口线的作用。
接口线的分类:数据线、控制线、定时线和地线。如V.24功能特性,V.24接口线的分类:
• 数据线:TD、RD;
• 流控线:RTS、CTS;
• 硬件检测线:DSR(DCE好即Modem正常)、DTR(通信软件好,端口已打开);
• 握手线:CD;
• 振铃指示线:RI(当线路上有振铃信号时,DCE将此信号送DTE,DTE收到后做出应答选择)。
(4)规程特性
描述DTE—DCE传送数据时执行事件的顺序,如图1-16所示。
图1-16 传送数据执行事件顺序
在用户专线接入或拨号接入时,Modem的握手过程分析如下。
专线用户:用户作为连接发起方,局方Modem作为应答方。当M用户准备好,向M局发出载波请求,双方Modem协商一致(如速率等参数)后回送载波,M用户检测到后,其CD灯亮,握手成功。
拨号用户:用户先摘机拨号,M局振铃RI=“on”后可自动应答,M用户收到后也发出载波,共同协商收发参数,约1s后两个Modem自动检测对方有效的CD,且各自通知自己的DTE,握手成功。
3. X系列建议书
X 系列接口是较晚制定的,这类接口适用于公共数据网的宅内电路终接设备和数据终端设备之间的接口,定义的信号线很少,因此是一种比较简单的接口。
(1)X.24规定了公用数据网DTE-DCE间接口电路的功能特性。
X.24用C线的状态和T线的编码相配合来标明DTE发出的不同控制信号,用指示线I的状态和收线R的编码相配合来标明DCE发出的响应信号。X.24较V系列节省了线路。图1-17所示定义了X.24对DTE的不同控制信号线。
(2)X.21建议书是CCITT于1976年制定的一个用户计算机的DTE如何与数字化的DCE交换信号的数字接口标准。X.21建议书的接口以相对来说比较简单的形式提供了点对点式的信息传输,通过它能实现完全自动的过程操作,并有助于消除传输差错。在数据传输过程中,任何比特流(包括数据与控制信号)均可通过该接口进行传输。ISO的OSI参考模型建议采用X.21作为物理层载规约的标准。
图1-17 DTE定义信号线
X.21的另外一个设计目标是允许接口在比EIA RS-232C更长的距离上进行更高速率的数据传输,其电气特性类似于EIA RS-422的平衡接口,支持最大的DTE-DCE电缆距离是300m。X.21可以按同步传输的半双工或全双工方式运行,传输速率最大可达10Mbit/s。X.21接口适用于由数字线路(而不是模拟线路)访问公共数据网(PDN)的地区。
(3)其他X系列接口建议如下。
有关接口电路机械特性的建议书有:X.21、X.21bis。
有关接口电路电气特性的建议书有:X.26、X.27。
有关接口电路功能特性的建议书有:X.25。
有关接口电路规程特性的建议书有:X.20、X.21。
4. CCITT G.703
该标准定义了分级数字接口的电气特性和功能特性。该建议书用于网络接口,如分组交换机和PCM传输设备的连接,最常见用于数字程控交换机的数字中继电路。
64kbit/s的接口:该接口采用交替变换相邻码组极性多电平传输的方法,在一条线上传输表示数据信号(用户数据)、64kHz定时信号(位同步)和8kHz定时信号(字同步)的编码。
2Mbit/s的接口:采用HDB3码传输(规则为破坏点交替反转)。
5. 局域网接口
常见的以太网接口主要有AUI、BNC和RJ-45接口,还有FDDI、ATM、吉比特以太网(千兆以太网)等都有相应的网络接口,下面分别介绍主要的几种局域网接口。
(1)AUI端口
AUI端口就是用来与粗同轴电缆连接的接口,它是一种“D”型15针接口,这在令牌环网或总线状网络中是一种比较常见的端口之一。路由器可通过粗同轴电缆收发器实现与10Base-5网络的连接。但更多的则是借助于外接的收发转发器(AUI-to-RJ-45),实现与10Base-T以太网络的连接。当然,也可借助于其他类型的收发转发器实现与细同轴电缆(10Base-2)或光缆(10Base-F)的连接。
(2)RJ-45端口
a. RJ-45端口是我们最常见的端口了,它是我们常见的双绞线以太网端口。因为在快速以太网中也主要采用双绞线作为传输介质,所以根据端口的通信速率不同,RJ-45端口又可分为10Base-T网RJ-45端口和100Base-TX网RJ-45端口两类。其中,10Base-T网的RJ-45端口在路由器中通常是标识为“ETH”,而100Base-TX网的RJ-45端口则通常标识为“10/100bTX”。
b. RJ-45水晶头的正确接线方法。我们在使用UTP(非屏蔽双绞线)制作网线主要遵循ANSI/TIA/EIA-568A(简称T568A)和ANSI/TIA/EIA-568B(简称T568B)标准。两种接线方法基本相同,不同之处在于T568B的首线对是橙色,T568A的首线对是绿色。
T568B标准一般使用较多,在使用三类双绞线、五类双绞线、增强的五类双绞线的网络工程中一般遵循T568B的接线标准,在使用五类双绞线时,其传输速率可达到100Mbit/s。在使用上,T568A/T568B只能在接线颜色上进行区别。
T568A的排线顺序为:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕。
T568B的排线顺序为:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕。
如果直接用网线将两台PC用对等网连接,应采用的接法为一端为T568A,另一端为T568B。如果通过网络集线器或网络交换机组网,网线两头接法应同为T568A或T568B,常见的是T568B的接法。以RJ-45为例,各脚功能(10Base-T/100Base-TX)定义如下:
• 传输数据正极Tx+;
• 传输数据负极Tx-;
• 接收数据正极Rx+;
• 未使用;
• 未使用;
• 接受数据负极Rx-;
• 未使用;
• 未使用。
(3)SC端口
SC端口也就是我们常说的光纤端口,用于光纤的连接。光纤端口通常是不直接用光纤连接至服务器或工作站,而是通过光纤连接到快速以太网或吉比特以太网(千兆以太网)等具有光纤端口的交换机。
6. 广域网接口
下面介绍几种常见的广域网接口。
(1)RJ-45端口
利用RJ-45端口也可以建立广域网与局域网VLAN(虚拟局域网)之间,以及与远程网络或Internet的连接。如果使用路由器为不同VLAN提供路由时,可以直接利用双绞线连接至不同的VLAN端口。但要注意这里的RJ-45端口所连接的网络一般都是100Mbit/s及以上的快速以太网。如果必须通过光纤连接至远程网络,或连接的是其他类型的端口时,则需要借助于收发转发器才能实现彼此之间的连接。
(2)AUI端口
AUI端口我们在局域网中也讲过,它是用于与粗同轴电缆连接的网络接口,其实AUI端口也常用于与广域网的连接,但是这种接口类型在广域网应用比较少。在Cisco 2600系列路由器上,提供了AUI与RJ-45两个广域网连接端口。用户可以根据自己的需要选择适当的类型。
(3)高速同步串口
在路由器的广域网连接中,应用最多的端口还要算“高速同步串口”(SERIAL)了,这种端口主要是用于连接目前应用非常广泛的DDN、帧中继X.25、PSTN(模拟电话线路)等网络连接模式。在企业网之间有时也通过DDN或X.25等广域网连接技术进行专线连接。这种同步端口一般要求速率非常高,因为一般来说通过这种端口所连接的网络的两端都要求实时同步。
(4)异步串口
异步串口(ASYNC)主要是应用于Modem或Modem池的连接。它主要用于实现远程计算机通过公用电话网拨入网络。这种异步端口相对于上面介绍的同步端口来说,在速率上要求就松许多,因为它并不要求网络的两端保持实时同步,只要求能连续即可,主要是因为这种接口所连接的通信方式速率较低。
(5)ISDN BRI端口
因ISDN这种互联网接入方式连接速度上有它独特的一面,所以在当时ISDN刚兴起时,在互联网的连接方式上还得到了充分应用。ISDN BRI端口用于ISDN线路通过路由器实现与Internet或其他远程网络的连接,可实现128kbit/s的通信速率。ISDN有两种速率连接端口,一种是ISDN BRI(基本速率接口);另一种是ISDN PRI(基群速率接口)。ISDN BRI端口是采用RJ-45标准,与ISDN NT1的连接使用RJ-45-to-RJ-45直通线。
其他广域网接口有POS155、POS622、POS2.5G等接口。
1.3.4 物理传输介质举例
数据通信网络的组成除了通信设备之外,还需要连接这些设备的物理传输介质:同轴电缆(如图1-18所示)、双绞线(如图1-19所示)和光纤(如图1-20所示)等。不同的传输介质具有不同的特性,这些特性直接影响到通信的诸多方面,如线路编码方式、传输速度和传输距离等。
同轴电缆(Coaxial)是指有两个同心导体、导体和屏蔽层共用同一轴芯的电缆。最常见的同轴电缆由绝缘材料隔离的铜线导体组成,在内层绝缘材料的外部是另一层环形导体及其绝缘体,然后整个电缆由聚氯乙烯或特氟纶材料的护套包住。
图1-18 同轴电缆
图1-19 双绞线
图1-20 光纤及转接头
目前,常用的同轴电缆有两类:50Ω和75Ω的同轴电缆。75Ω同轴电缆常用于CATV网,也被称为CATV电缆,传输带宽可达1GHz,目前常用CATV电缆的传输带宽为750MHz。50Ω同轴电缆主要用于基带信号传输,传输带宽为1~20MHz,总线状以太网就是使用50Ω同轴电缆,在以太网中,50Ω细同轴电缆的最大传输距离为185m,粗同轴电缆可达1000m。
双绞线(Twisted Pair)是综合布线工程中最常用的一种传输介质。
双绞线是由一对相互绝缘的金属导线绞合而成。采用这种方式,不仅可以抵御一部分来自外界的电磁波干扰,也可以降低多对绞线之间的相互干扰。把两根绝缘的导线互相绞在一起,干扰信号作用在这两根相互绞缠在一起的导线上是一致的(这个干扰信号叫作共模信号),在接收信号的差分电路中可以将共模信号消除,从而提取出有用信号(差模信号)。
与同轴电缆相比,双绞线具有更低的制造和部署成本,因此在企业网络中被广泛应用。双绞线可分为屏蔽双绞线(Shielded Twisted Pair,STP)和非屏蔽双绞线(Unshielded Twisted Pair,UTP)。屏蔽双绞线在双绞线与外层绝缘封套之间有一个金属屏蔽层,可以屏蔽电磁干扰。双绞线有很多种类型,不同类型的双绞线所支持的传输速率也不尽相同。
例如,三类双绞线支持10Mbit/s传输速率;五类双绞线支持100Mbit/s传输速率,可满足快速以太网标准;超五类双绞线及更高级别的双绞线支持吉比特以太网(千兆以太网)传输。双绞线使用RJ-45接头(如图1-19所示)连接网络设备。为保证终端能够正确收发数据,RJ-45接头中的针脚必须按照一定的线序排列。
由于光在光导纤维的传导损耗比电在电线传导的损耗低得多,光纤被用作长距离信息传递的载体。光纤的出现,彻底改变了网络布局受地理位置限制的不足,使得远距离数据通信变得更加简单、便捷。
光纤和同轴电缆相似,只是没有网状屏蔽层。中心是光传播的玻璃芯。
根据光纤传输光信号模式的不同,光纤又可分为单模光纤和多模光纤。单模光纤只能传输一种模式的光,不存在模间色散,因此适用于长距离高速传输。多模光纤允许不同模式的光在一根光纤上传输,由于模间色散较大而导致信号脉冲展宽严重,因此多模光纤主要用于局域网中的短距离传输。
光纤连接器种类很多,常用的连接器包括ST,FC,SC,LC连接器。通常,多模光纤中,芯的直径是50μm和62.5μm两种,大致与人的头发的粗细相当。而单模光纤芯的直径更细,通常只有8~10μm。芯外面包围着一层折射率比芯低的玻璃封套,以使光线保持在芯内。再外面的是一层薄的塑料外套,用来保护封套。光纤通常被扎成束,外面有外壳保护。纤芯通常是由石英玻璃制成的横截面积很小的双层同心圆柱体,它质地脆,易断裂,因此需要外加一保护层。
通常光纤与光缆两个名词会被混淆。光缆内部包括光纤、缓冲层及披覆。多数光纤在使用前必须由几层保护结构包覆,包覆后的缆线即被称为光缆。光纤外层的保护层和绝缘层可防止周围环境对光纤的伤害,如水、火、电击和生物体破坏等。
双绞线和同轴电缆传输数据时使用的是电信号,而光纤传输数据时使用的是光信号。光纤支持的传输速率包括10Mbit/s,100Mbit/s,1Gbit/s,10Gbit/s,甚至更高。
网络通信中常常会用到各种各样的串口电缆(如图1-21所示)。常用的串口电缆标准为RS-232,同时也是推荐的标准。但是RS-232的传输速率有限,传输距离仅为6m。其他的串口电缆标准可以支持更长的传输距离,如RS-422和RS-485的传输距离可达1200m。RS-422和RS-485串口电缆通常使用V.35接头,这种接头在20世纪80年代已经淘汰,但是现在仍在帧中继、ATM等传统网络上使用。
图1-21 串口电缆
V.24是RS-232标准的欧洲版。RS-232本身没有定义接头标准,常用的接头类型为DB-9和DB-25。现在,RS-232已逐渐被FireWire、USB等新标准取代,新型网络设备产品及新设备已普遍使用USB标准。
1.3.5 链路层协议
1. 数据链路传输控制规程
为了有效可靠地进行数据通信,对传输操作实施严格的控制和管理,完成这种控制和管理的规则称为数字链路传输控制规程,也就是数据链路层协议。任何两个DTE之间只有当执行了某一数据链路层协议而建立起双方的逻辑连接关系后,这一对通信实体之间的传输通路就称为数据链路。
链路控制规程执行的数据传输控制功能可分为5个阶段。
阶段1为建立物理连接(数据电路)。数据电路可分为专用线路与交换线路两种。在点对多点结构中,主要采用专线,物理连接是固定的。在点对点结构中,如采用交换电路时,必须按照交换网络的要求进行呼叫接续,如电话网的V.25和数据网的X.21呼叫接续过程。
阶段2为建立数据链路。建立数据链路,在点对点系统中,主要是确定两个站的关系,谁先发,谁先收,做好数据传输的准备工作。在点对多点系统中,主要是进行轮询和选择过程。这个过程也就是确定由哪个站发送信号,由哪个(些)站接收信息。
阶段3为数据传送。该阶段主要实现如何有效可靠地传送数据信息,如何将报文分成合适的码组,以便进行透明的相对无差错的数据传输。
阶段4为数据传送结束。当数据信息传送结束时,主站向各站发出结束序列,各站便回到空闲状态或进入一个新的控制状态。
阶段5为拆线。当数据电路是交换线路时,数据信息传送结束后,就需要发现控制序列,拆除通信线路。
2. 数据链路控制规程的功能
数据通信的双方为有效地交换数据信息,必须建立一些规约,以控制和监督信息在通信线路上的传输和系统间信息交换,这些操作规则称为通信协议。数据链路的通信操作规则称为数据链路控制规程,它的目的是在已经形成的物理电路上,建立起相对无差错的逻辑链路,以便在DTE与网路之间,DTE与DTE之间有效可靠地传送数据信息。为此,数据链路控制协议(规程)应具备下面功能。
(1)帧同步。将信息报文分为码组,采用特殊的码型作为码组的开关与结尾标志,并在码组中加入地址及必要的控制信息,这样构成的码组称为帧。帧同步的目的是确定帧的起始与结尾,以保持收发两端帧同步。
(2)差错控制。由于物理电路上存在着各种干扰和噪声,数据信息在传输过程中会产生差错。采用水平和垂直冗余校验,或循环冗余校验进行差错检测,对正确接收的帧进行认可,对接收有差错的帧要求重发帧。
(3)顺序控制。为了防止帧的重收和漏收,必须给每个帧编号,接收时按编号确认,以识别差错控制系统要求重发的帧。
(4)透明性。在所传输的信息中,若出现了每个帧的开关、结尾标志字符和各种控制字符的序列,要插入指定的比特或字符,以区别以上各种标志和控制字符,这样来保障信息的透明传输,即信息不受限制。
(5)线路控制。在半双工或多点线路场合,确定哪个站是发送站,哪个站是接收站;建立和释放链路的逻辑连接;显示各个站点的工作状态。
(6)流量控制。为了避免链路的阻塞,应能调节数据链路上的信息流量,决定暂停、停止或继续接收信息。
(7)超时处理。如果信息流量突然停止,超过规定时间,决定应该继续做些什么。
(8)特殊情况。当没有任何数据信息发送时,确定发送器发送什么信息。
(9)启运控制。在一个处于空闲状态的通信系统中,解决如何启动传输的问题。
(10)异常状态的恢复。当链路发生异常情况时(如收到含义不清的序列,数据码组不完整或超时收不到响应等),自动地重新启动恢复到正常工作状态。
3. 传输控制规程的种类
目前已采用的传输控制规程基本上可分为两大类,即面向字符型控制规程和面向比特型控制规程。
面向字符型控制规程的特点是利用专门定义的传输控制字符和序列完成链路的功能,其主要适用于中低速异步或同步数据传输,以双向交替工作的通信方式进行操作。面向字符型控制规程主要有基本型控制规程及其扩充规程(如会话型传输控制规程、编码独立的信息传输规程等)。这种控制规程一般适用于“主机—终端”型数据通信系统,一般说来其不适合计算机之间的通信,因此这种规程应用范围受到一定的限制。
面向比特型控制规程的特点是不采用传输控制字符,而仅采用某些比特序列完成控制功能,实现不受编码限制的透明传输,传输效率和可靠性都高于面向字符型的控制规程。它主要适用于中高速同步全双工方式的数据通信,尤其适用于分组交换网与终端之间的数据传输。随着计算机网的发展,它将成为一种重要的传输控制规程。
4. 高级数据链路控制规程
高级数据链路控制规程(High Level Data Link Control Procedures,HDLC)是国际标准化组织(ISO)颁布的一种面向比特的数据链路控制规程。
(1)HDLC的基本概念
a. 站的类型。HDLC中站的类型可分为主站、从站和复合站等3类。主、从站相当于控制规程中的控制站、辅助站,但与基本型中的主、从站完全不同。主站负有发起传输、组织数据流,执行链路级差错控制和差错恢复的责任;从站按照来自主站的命令动作;复合站具有平衡的链路控制能力,它能起到主站和从站两者的作用。
b. 帧。所谓帧,就是主站和从站间通过链路传送的一个完整的信息命令,它是信息传输的基本单元。HDLC,所有信息都以帧为单位进行传输。帧可以分为命令帧和响应帧。主站使用命令帧使从站响应某个规定的数据链路控制功能,从站使用响应帧向主站通告对一个或多个命令所采取的行动。
c. 逻辑数据链路结构。逻辑数据链路结构可分为非平衡型、对称型和平衡型3种结构形式,如图1-22所示。
图1-22 HDLC 链路逻辑结构
对称型结构是连接两个点对点独立的非平衡型的逻辑结构,并在一条链路上复用。这种结构可以是双向交替工作或双向同时工作的可进行交换或非交换的数据传输。在这种结构中,有两条独立的主站到从站的链路。
平衡型结构由两个复合站以点对点的连接方式构成。这种链路可以进行双向交替工作或双向同时工作的交换或非交换的数据传输,两个复合站都具有数据传送或链路控制功能。
(2)帧结构
a. 帧格式。所有的帧都使用标准的格式,如图1-23所示。图中长格式的帧包括数据和链路控制信息,短格式的帧是只包括链路控制信息而且只起监督控制作用的帧。
图1-23 帧格式
帧内各字段的含义如下。
F(标志序列):F为8比特序列(01111110),用于帧同步,F作为一帧的结束和下一帧的开始,若在两个F之间有五个连续“1”序列出现,则在其后插入一个“0”,在接收端把它去掉,以保护F的唯一性。
A(地址字段):A为8比特序列,用于表示链路级的从站或复合站的地址。命令帧中地址字段是对方的地址,响应帧中的地址字段则是自己的地址。
C(控制字段):C为8比特序列,用于构成各种命令和响应,还可能包括顺序和编号,主站或复合站利用控制字段来通知被寻找的从站或复合站执行约定的操作,而从站或复合站则用控制字符对通知进行回答,报告已完成的操作或状态变化。
I(信息字段):I可以是任意比特。但其最大长度受帧校验序列(FCS)的差错检测能力、信道差错特性、数据传输速率、站的缓冲容量和所用方案,以及数据的逻辑结构特征等因素的限制。因此在实际使用中,其作为系统先定参数,将规定一个帧的最大长度和超长帧的处理方法。
FCS(帧校验序列):FCS位于I字段之后和结束标志之前。按规程规定可以使用16bit或32bit的帧校验序列用于差错检测。一般情况下使用16bit,采用循环冗余检验,生成多项式为ITU-T建议书所规定的CRC序列,即P(x)=x16+x12+x5+1。检测范围从地址字段第一比特到信息字段的最后一比特止,但要除去按透明规则插入的所有“0”比特。帧校验序列(FCS)是数据(K比特信息)多项式G(x)被生成多项式P(x)相除所得余项R(x)的反码。FCS的产生如图1-24所示。
图1-24 FCS的产生
b. 帧内容的透明性。为了防止误认标志序列情况的出现,在送往链路的两个F之间不准出现与F相同的形式。因此,在HDLC中,除了真正的帧标志序列外,需采用比特插入技术,对帧的内容执行透明性规则。
发送端检查两个帧标志序列之间的A、C、I和FCS内容,发现有连续的5个“1”时,在其后插入一个0。
接收端收到帧的内容,除去连续5个1后面的一个0比特。
帧校验计算时应不包括发端插入而收端除去的0比特。
5. 点对点协议(Point to Point Protocol,PPP)规程
点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。在TCP/IP协议集中,它是一种用来同步调制连接的数据链路层协议(OSI模式中的第二层),替代了原来非标准的第二层协议,即SLIP。除了IP以外,PPP还可以携带其他协议,包括DECnet和Novell的Internet网包交换(IPX)。
PPP主要由以下几部分组成。
(1)封装:一种封装多协议数据报的方法。PPP封装提供了不同网络层协议同时在同一链路传输的多路复用技术。PPP封装精心设计,能保持对大多数常用硬件的兼容性。
(2)链路控制协议(LCP):PPP提供的LCP功能全面,适用于大多数环境。LCP用于就封装格式选项自动达成一致,处理数据包大小限制,探测环路链路和其他普通的配置错误,以及终止链路。LCP提供的其他可选功能有认证链路中对等单元的身份,决定链路功能正常或链路失败情况。
(3)网络控制协议(NCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路连接。
(4)配置:使用链路控制协议的简单和自制机制。该机制也应用于其他控制协议,例如,网络控制协议(NCP)。
为了建立点对点链路通信,PPP链路的每一端必须首先发送LCP包,以便设定和测试数据链路。在链路建立,LCP所需的可选功能被选定之后,PPP必须发送NCP包,以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在链路上发送了。
链路将保持通信设定不变,直到有 LCP和 NCP数据包关闭链路,或者是发生一些外部事件的时候(例如,休止状态的定时器期满或者网络管理员干涉)。
协议结构(如图1-25所示)解析如下。
图1-25 PPP协议结构
Flag—表示帧的起始或结束,由二进制序列01111110构成。
Address—包括二进制序列11111111,标准广播地址(注意:PPP不分配个人站地址)
Control—二进制序列00000011,要求用户数据传输采用无序帧。
Protocol—识别帧的Information字段封装的协议。
Information—0或更多八位字节,包含Protocol字段中指定的协议数据报。
FCS—帧校验序列(FCS)字段,通常为16位。PPP的执行可以通过预先协议采用32位FCS来提高差错检测效果。
PPP帧格式和HDLC帧格式相似,二者主要区别:PPP是面向字符的,而HDLC是面向位的。
可以看出,PPP帧的前3个字段和最后两个字段与HDLC的格式是一样的。标志字段F为0x7E(0x表示7E),但地址字段A和控制字段C都是固定不变的,分别为0xFF、0x03。PPP协议不是面向比特的,因而所有的PPP帧长度都是整数个字节。
与HDLC不同的是多了两个字节的协议字段。协议字段不同,后面的信息字段类型就不同。如:
0x0021——信息字段是IP数据报;
0xC021——信息字段是链路控制数据LCP;
0x8021——信息字段是网络控制数据NCP;
0xC023——信息字段是安全性认证PAP;
0xC025——信息字段是LQR;
0xC223——信息字段是安全性认证CHAP。
当信息字段中出现和标志字段一样的比特0x7E时,就必须采取一些措施。因PPP协议是面向字符型的,所以它不能采用HDLC所使用的零比特插入法,而是使用一种特殊的字符填充。具体的做法是将信息字段中出现的每一个0x7E字节转变成2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符,则在该字符前面要加入一个0x7D字节。这样做的目的是防止这些表面上的ASCII码控制字符被错误地解释为控制字符。
PPP链路建立的过程如下。
一个典型的链路建立过程分为3个阶段:创建阶段、认证阶段和网络协商阶段。
—阶段1:创建PPP链路。
LCP负责创建链路。在这个阶段,将对基本的通信方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(configure packets)。一旦一个配置成功信息包(configure-ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。
应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第二阶段实现。
—阶段2:用户认证。
在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。
在这一阶段里,只有链路控制协议、认证协议和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静丢弃。
最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。
—阶段3:调用网络层协议。
认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。
这样,经过3个阶段以后,一条完整的PPP链路就建立起来了。
PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户认证能力、可以解决IP分配等。
家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。目前,宽带接入正在成为取代拨号上网的趋势,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。典型的应用是在ADSL(Asymmetrical Digital Subscriber Loop,非对称数据用户环线)接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。
利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。PPPoE既保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前宽带接入方式中应用最广泛的技术标准。
同样,在ATM(Asynchronous Transfer Mode,异步传输模式)网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同;不同的是,它是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准。
PPP协议的简单完整特性使它得到了广泛的应用,相信在未来的网络技术发展中,它还可以发挥更大的作用。
1.3.6 网络层路由协议
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使运输层不需要了解网络中的数据传输和交换技术。简单而言,“路径选择、路由及逻辑寻址”是网络层功能的基本特点。
通信子网络源节点和目的节点提供了多条传输路径的可能性。网络节点在收到一个分组后,要确定向下一节点传送的路径,这就是路由选择。在数据报方式中网络节点要为每个分组路由做出选择;而在虚电路方式中,只需在连接建立时确定路由。确定路由选择的策略称路由算法。设计路由算法时要考虑诸多技术要素。第一,路由算法所基于的性能指标,一种是选择最短路由,一种是选择最优路由;第二,要考虑通信子网是采用虚电路还是数据报方式;第三,是采用分布式路由算法,即每节点均为到达的分组选择下一步的路由,还是采用集中式路由算法,即由中央点或始发节点来决定整个路由;第四,要考虑关于网络拓扑,流量和延迟等网络信息的来源;第五,确定是采用动态路由选择策略,还是选择静态路由选择策略。
(1)典型的路由选择方式有两种:静态路由和动态路由。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。静态路由不能对网络的改变做出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
(2)动态路由选择协议又分为距离矢量、链路状态和平衡混合3种。
① 距离矢量(Distance Vector)路由协议计算网络中所有链路的矢量和距离,并以此为依据确认最佳路径。使用距离矢量路由协议的路由器定期向其相邻的路由器发送全部或部分路由表。典型的距离矢量路由协议是RIP和IGRP。
② 链路状态(Link State)路由协议使用为每个路由器创建的拓扑数据库来创建路由表,每个路由器通过此数据库建立一个整个网络的拓扑图。在拓扑图的基础上通过相应的路由算法计算出通往各目标网段的最佳路径,并最终形成路由表。典型的链路状态路由协议是OSPF(Open Shortest Path First,开放最短路径优先)、IS-IS(Intermediate System-to- Intermediate System)协议。
③ 平衡混合(Balanced Hybrid)路由协议结合了链路状态和距离矢量两种协议的优点,此类协议的代表是增强型内部网关路由协议(EIGRP)。
静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
另外,根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有RIP、OSPF、IS-IS;外部网关协议主要用于多个自治域之间的路由选择,常用的是BGP-4。
(3)IGP协议简要介绍如下。
① RIP/RIP2:路由选择信息协议(Routing Information Protocol,RIP/RIP2)。RIP是一种内部网关协议。RIP主要设计是利用同类技术与大小适度的网络一起工作,因此通过速度变化不大的接线连接,RIP比较适用于简单的校园网和区域网,但并不适用于复杂网络的情况。RIP2 由 RIP而来,属于RIP协议的补充协议,主要用于扩大RIP2信息装载的有用信息的数量,同时增加其安全性能。
② OSPF:开放最短路径优先(Open Shortest Path First,OSPF)。开放最短路径优先(OSPF)是一个内部路由协议,属于单个自治体系(AS)。OSPF采用的是链状结构,便于路由器发送其他任意有关其他路由器也需要的直接连接和链接信息。每个OSPF具有相同的拓扑结构数据库。从这个数据库里,建立最短路树计算出路由表。当拓扑结构发生变化时,利用路由选择协议流量最小值,OSPF重新迅速计算出路径。OSPF支持等值多路径。
③ IS-IS(Intermediate System-to- Intermediate System)。IS-IS是链路状态协议,它采用最短路径优先算法(Shortest Path First,SPF或者Dijsktra)来计算通过网络的最佳路径。IS-IS提供两级路由—层次1(Level1,L1)路由区域间通过层次2(Level 2,L2)路由进行互联,L2路由域有时也被称为核心。
④ IGRP/EIGRP(Interior Gateway Routing Protocol/Enhanced Interior Gateway Routing Protocol)协议。内部网关路由选择协议(IGRP和EIGRP)Cisco的私有协议 。IGRP是一种距离向量型的内部网关协议(IGP)。距离向量路由协议要求每个路由器以规则的时间间隔向其相邻的路由器发送其路由表的全部或部分。
EIGRP的全名是Enhanced Interior Gateway Routing Protocol,从字面就可以看出是加强型的IGRP,也就是再度改良IGRP而成EIGRP,EIGRP结合了距离向量(Distance Vector)和连接-状态(Link-State)的优点以加快收敛,所使用的方法是DUAL(Diffusing Update Aigorithm),当路径更改时DUAL会传送变动的部分而不是整个路径表,而Router都有储存邻近的路径表,当路径变动时,Router可以快速反应,EIGRP也不会周期性地传送变动信息以节省频宽的使用,另外值得特别指出的是,EIGRP具有支持多个网络层协议的功能。
(4)EGP协议简要介绍如下。目前主要使用EGP协议是BGP-4(BGP边界网关协议)。不同自治系统路由器之间进行通信的外部网关协议,作为EGP替代品。
RFC1771对BGP的最新版本BGP-4进行了详尽介绍。BGP用来在AS之间实现网络可达信息的交换,整个交换过程要求建立在可靠的传输连接基础上来实现。这样做有许多优点,BGP可以将所有的差错控制功能交给传输协议来处理,而其本身就变得简单多了。BGP使用TCP作为其传输协议,默认端口号为179。与EGP相比,BGP有许多不同之处,其最重要的革新就是其采用路径向量的概念和对CIDR技术的支持。路径向量中记录了路由所经路径上所有AS的列表,这样可以有效地检测并避免复杂拓扑结构中可能出现的环路问题;对CIDR的支持,减少了路由表项,从而加快了选路速度,也减少了路由器间所要交换的路由信息。另外,BGP一旦与其他BGP路由器建立对等关系,其仅在最初的初始化过程中交换整个路由表,此后只有当自身路由表发生改变时,BGP才会产生更新报文发送给其他路由器,且该报文中仅包含那些发生改变的路由,这样不但减少了路由器的计算量,而且节省了BGP所占带宽。
1.3.7 其他数据通信技术方案
在数据通信网络的发展过程中,随着远程通信技术方式的不断演进,为实现异质网络的有效互联,出现了X.25、帧中继(FR)、DDN、ATM等不同的技术方案。每一种方案都有其特有的技术特点,它们的出现极大地丰富了网络互联的形式。
1. X.25对应OSI参考模型
X.25建议书将数据网的通信功能划分为3个相互独立的层次,即物理层、数据链路层和分组层。对应OSI参考模型的物理层、数据链路层和网络层。其中每一层的通信实体只利用下一层所提供的服务,而不管下一层如何实现。每一层接收到上一层的信息后,加上控制信息(如分组头、帧头),最后形成在物理媒体上传送的比特流。
2. FR对应OSI参考模型
帧中继将X.25网络的下3层协议进一步简化,差错控制、流量控制推到网络的边界,从而实现轻载协议网络。帧中继数据链路层规程采用LAPD(D信道链路访问规程,是综合业务数字网ISDN的第二层协议)的核心部分,称LAPF(帧方式链路访问规程),是HDLC的子集。
与X.25相比,帧中继在第二层增加了路由的功能,但它取消了其他功能,例如,在帧中继节点不进行差错纠正,因为帧中继技术建立在误码率很低的传输信道上,差错纠正的功能由端到端的计算机完成。在帧中继网络中的节点将舍弃有错的帧,由终端的计算机负责差错的恢复,这样就减轻了帧中继交换机的负担。
FR在第二层就增加了路由功能,具备OSI参考模型的数据链路层的功能。
3. DDN对应OSI参考模型
DDN是数字数据网,由于是采用数字信道来传输数据信息的,而且是传输网,没有交换功能,故而对应OSI参考模型的物理层。
4. ATM对应OSI参考模型
ATM的分层结构参考B-ISDN协议参考模型,该协议参考模型分成3个平面,分别表示用户信息、控制和管理3个方面的功能。协议参考模型包括4层功能,分别是物理层、ATM层、ATM适配层、高层。物理层对应OSI参考模型的物理层。
到目前为止,ITU-T并没有就ATM分层结构和OSI参考模型之间的对应关系做出明确的定义。
ATM的物理层包括两个子层,即物理介质子层(PM)和传输汇聚(TC)子层。其中物理介质子层提供比特传输能力,对比特定时和线路编码等方面做出了规定,并针对所采用的物理介质(如光纤、同轴电缆、双绞线等)定义其相应的特性;传输汇聚子层的主要功能是实现比特流和信元流之间的转换。ATM的物理层或多或少地对应于OSI模型的第一层(物理层),而且主要完成比特级的功能。
ATM层处理从源端到目的端移动着的信元,在ATM交换机中的确包含了路由选择算法和协议,它也处理全局寻址问题。ATM层横跨OSI模型的第一层和第二层,大致处理相当于OSI物理层上部和数据链路层下部的一些功能。
从分层结构上说,AAL层位于ATM中ATM层和高层之间,主要完成不同信息类型的适配和一些相关的控制功能。由于AAL层对应着3个平面,不同平面中AAL层的信息类型和不同类型中存在多种信息种类,故难以确定AAL层与OSI模型的对应关系。就控制面来说,AAL负责对信令进行适配,这主要表现在连接建立和释放阶段,此时AAL所提供的业务大致与OSI模型中数据层所提供的业务相当。管理面基本上也像OSI-RM中数据链路层的功能,如支持无连接业务时,AAL3/4类型对用户数据的适配控制,但又有些像OSI模型中第四层(运输层)的较低部分,特别是在使用简化的适配协议AAL5的情况下。
5. LAN对应的OSI参考模型
局域网由物理层、介质访问控制层和逻辑链路控制层组成,相当于OSI参考模型下面的两层,但从严格意义上讲,两者还是有差异的,这种差异从图1-26可以反应出来。
图1-26 IEEE局域网模型和OSI参考模型的对比