广域网协议.docx
- 文档编号:11164953
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:85
- 大小:1.05MB
广域网协议.docx
《广域网协议.docx》由会员分享,可在线阅读,更多相关《广域网协议.docx(85页珍藏版)》请在冰点文库上搜索。
广域网协议
广域网协议技术手册
目录
第1章简介6
第2章HDLC协议7
2.1HDLC协议相关术语解析7
2.1.1HDLC协议概述7
2.1.2HDLC在网络层次结构中的位置9
2.1.3HDLC的帧结构9
2.1.4HDLC的帧类型10
2.1.5HDLC操作12
2.2调试命令及调试信息13
2.3HDLC建链过程14
2.4HDLC建链实例14
第3章PPP协议及其应用17
3.1PPP在TCP/IP协议栈中的基本层次结构18
3.2PPP的特点18
3.2.1多种下层介质的支持18
3.2.2多种网络层协议的支持19
3.2.3安全性19
3.2.4强大的功能19
3.2.5可扩展性19
3.3PPP的结构20
3.3.1LCP:
链路控制协议20
3.3.2NCP:
网络控制协议26
3.3.3PPP其它功能27
3.4PPP帧结构29
3.5PPP的协商过程31
第4章帧中继协议33
4.1帧中继协议相关术语解析33
4.2帧中继协议介绍34
4.2.1帧中继的起因、特点和使用场合34
4.2.2帧中继接入和帧中继交换35
4.2.3帧中继的带宽管理和拥塞控制36
4.2.4帧中继的帧格式37
4.2.5帧中继LMI协议40
4.2.6InARP协议介绍43
4.3帧中继的典型配置与调试44
4.3.1帧中继的典型配置44
4.3.2帧中继的调试45
4.3.3举例说明48
4.4帧中继分片51
4.4.1帧中继分片模式:
51
4.4.2帧中继分片报文格式52
4.4.3实际环境中的帧中继分片53
第5章多链路帧中继协议54
5.1多链路帧中继协议相关术语解析54
5.2多链路帧中继协议介绍55
5.2.1多链路帧中继协议总体结构55
5.2.2多链路帧中继的帧格式56
5.2.3绑定的协议规程65
5.2.4绑定链路的协议规程66
5.3多链路帧中继协议的典型配置和调试67
5.3.1多链路帧中继的典型配置67
5.3.2多链路帧中继的调试67
第6章虚拟以太桥接协议及应用72
6.1virtual-ethernet协议相关术语解析72
6.2virtual-ethernet协议介绍72
6.2.1virtual-ethernet协议概述72
6.2.2virtual-ethernet在网络层次结构中的位置73
6.2.3virtual-ethernet的报文结构73
6.3调试命令及调试信息73
第7章桥接协议75
7.1桥接协议简介75
7.2桥接典型应用76
7.2.1以太和以太之间的桥接76
7.2.2以太和广域之间的桥接76
7.2.3IRB77
7.3桥接信息查看77
第8章SLIP协议79
8.1SLIP协议相关术语解释79
8.2SLIP协议介绍79
8.2.1SLIP协议概述79
8.2.2SLIP在网络层次结构中的位置80
8.2.3SLIP的报文结构80
8.2.4压缩的SLIP81
8.2.5SLIP优点和缺点82
8.3调试命令及调试信息83
第1章简介
本文介绍HDLC、PPP、帧中继、多链路帧中继、虚拟以太桥接、桥接、slip七种协议,并通过具体实例来分析它们的调试信息。
本文主要内容:
●HDLC协议
●PPP协议
●帧中继协议
●多链路帧中继协议
●虚拟以太桥接协议
●桥接协议
●SLIP协议
第2章HDLC协议
本章主要讲述HDLC(High-levelDataLinkControl)的原理及实现。
本章主要内容
●HDLC协议相关术语解析
●HDLC协议介绍
●HDLC调试命令及调试信息
2.1HDLC协议相关术语解析
面向比特传输――可以传输任意比特组合的信息。
HDLC协议介绍
HDLC协议介绍主要内容:
●HDLC协议概述
●HDLC在网络层次结构中的位置
●HDLC的帧结构
2.1.1HDLC协议概述
HDLC(High-levelDataLinkControl),译为高级数据链路控制,它是一个面向比特的数据链路层的协议。
在计算机通信的早期,数据链路层协议都是面向字符的,即在链路上所传送的数据必须是由规定字符集(例如ASCII码)中的字符所组成,不仅如此,在链路上传送的控制信息也必须由同一个字符集中的若干指定的控制字符构成。
但随着计算机通信的发展,这种面向字符的链路控制规程就逐渐暴露出其弱点,需要设计出一种新的链路控制协议。
1974年,IBM公司推出了著名的体协结构SNA,在SNA的数据链路层规程采用了面向比特的规程SDLC(SynchronousDataLinkControl)。
后来,美国国家标准协会ANSISDLC修改为ADCCP(AdvencedDatatCommunicationControlProcedure)作为美国国家标准,而国际标准化组织ISO把SDLC修改后称为HDLC,作为国际标准ISO3309(Datacommunication–High-leveldatalinkcontrolprocedure–Framestructure)。
我国的相应国家标准是GB7496(信息处理系统数据通信高级数据链路控制规程帧结构)。
CCITT则将HDLC再修改后称为链路接入规程LAP(LinkAccessProcedure),并作为X.25建议书的一部分(即有关数据链路层协议的部分)。
不久,HDLC的新版本又把LAP修改LAPB,“B”表示平衡型(Balanced),所以LAPB叫做平衡型链路接入规程。
上述几个规程大同小异,ADCCP与HDLC没有多少区别,SDLC虽然最早提出,但它实际上是HDLC的一个子集。
为满足各类应用,HDLC定义了三种工作站类型、两种链路配置类型和三种数据传送操作方式。
三种工作站类型分别是:
●主站:
负责控制链路操作,由主站发出的帧一般称之为命令帧;
●从站:
在主站控制下操作,由从站发出的帧一般称之为响应帧,主站和每一个从站都保持一条独立的逻辑链路,当然,所有独立的逻辑链路可以复用同一条物理线路;
●复合站:
具有主站和从站的特性,复合站即可发送命令帧,又可发响应帧。
两种链路配置类型:
●非平衡配置:
由一个主站和若干个从站构成的、支持全双工和半双工通信的链路配置类型;
●平衡配置:
由两个复合站构成、支持全双工和半双工通信的链路通信配置类型。
三种数据传送模式:
●正常响应模式(NRM):
用于非平衡配置,主站可发起向从站传送数据,但从站只有在收到主站发来的命令后,作为响应,向主站发送数据;
●异步平衡模式(ABM):
用于平衡配置,任何一个复合站都可以在没有得到对方接收许可的情况下,向对方传送数据;
●异步响应模式(ARM):
用于非平衡配置,从站可以在没有得到主站明确许可的情况下,发起向主站传送数据,主站仍然负责对链路的控制,包括初始化、错误恢复和断开逻辑链路。
NRM一般用于多点连接链路,比如若干终端利用一条总线连到主机,主机用轮询的方式解决每一个终端的输入问题。
NRM有时也用于点对点链路,特别是当这条链路用于连接主机和终端时。
ABM是这三种模式中最广泛使用的一种,由于节省了轮询的开销,能够最大程度的提高点对点全双工链路的使用效率。
ARM一般较少使用,它主要用于从站需要发起向主站传送数据的特定应用。
2.1.2HDLC在网络层次结构中的位置
关于HDLC在网络层次结构中的位置,参看下图:
图01HDLC在网络层次结构中的位置
2.1.3HDLC的帧结构
HDLC是面向位的协议,用位填充来保证数据的透明性。
帧结构如下图
图02HDLC帧结构
HDLC使用位填充技术来完成成帧。
位填充技术允许数据帧包含任意个数的比特,而且也允许每个字符的编码包含任意个数的比特。
它的工作方式如下:
每一帧是用一个特殊的位模式,即01111110作为开始和结束标志(flag)字节。
当发送方的数据链路层在数据中遇到了5个连续的1时,它自动在其后插入一个0到输出比特流中。
这种位填充技术类似于字符填充技术,后者是在数据中的DLE之前填充一个DLE到输出字符流中。
在空闲的点对点线路上,标志序列01111110不断地进行传输。
最小的帧只有3个字段,共计32位(不计首尾两端的标志)。
控制字段是用作序号、确认及其它目的。
数据字段可以包含任意信息。
尽管随着帧长度的增加,多个集中错误的概率加大,导致校验和的效率降低,但数据字段可以是任意长的。
校验和字段与用CRC-CCITT作为生成器多项式的有名的循环冗余码有微小的差别。
这种演变是可以检查出标志字节的丢失。
FCS由发送方产生,其基本思想是对于完全随机的待发送的帧信息通过循环码计算产生16比特的冗余(即FCS),附于帧的尾部,使得帧和FCS之间具有一定的相关性;在接收端通过识别这种相关性是否遭到了破坏,可以检查出在传输过程中是否发生了错误。
如果不符,则说明传输过程产生了错误。
2.1.4HDLC的帧类型
根据一个字节的控制字段的不同,HDLC有三种类型:
图2-1-1-4HDLC的帧类型
(a)信息帧(I帧)
协议使用了具有3位序列号的滑动窗口。
在任何时刻,最多可以有7帧等待确认。
SEQ(序号)字段是帧的序列号。
NEXT(下一个)字段是一个捎带的确认。
然而,所有的协议都坚持这样的约定:
所捎带的不是正确接收到的最后一帧的序号,而是未收到的第一帧的序号(即下一个希望收到的帧)。
是选择使用收到的最后一帧,还是下一个希望收到的帧是任意的,实现来决定的;但不管进行如何约定,在协议的使用中要始终如一。
P/F位代表POLL/FINAL(查询/最后)。
在计算机(或集中器)查询一组终端时使用。
当按P使用时,计算机请求终端发送数据。
中断发送的所有帧除了最后一帧外,都将P/F位置成P,而最后一帧置成F。
在有些协议中,使用P/F是为了强制另一方立即发送一个监控帧,而不是等待反向传输来捎带窗口信息。
此位用在无序号传输上也有一些微小的差别。
(b)监控帧(S帧)
监控帧的各种类型是由TYPE(类型)字段进行区别的。
类型0是用来指示希望下一个收到帧的一个确认帧(正式名称为RECEIVEREADY,接收准备就绪)。
当没有用于捎带的反向传输时,使用此帧。
类型1是否定性确认帧(正式名称为REJECT,拒绝)。
它用来指明发现了传输差错。
NEXT(下一个)字段指出在序列中未正确收到的第一帧(即要重传的帧)。
要求发送过程重传中NEXT开始的所有未确认的帧。
类型2是RECEIVENOTREADY(接收准备尚未就绪)。
向RECEIVEREADY一样,它确认直到NEXT的所有帧,但不包括NEXT帧,不过它告诉发送过程停止发送。
RECEIVENOTREADY一般用来表明接收方出现某些暂时性的问题,如缓冲区不够,而不是作为滑动窗口流量控制的替代方式。
当问题恢复后,接收过程发送RECEIVEREADY,REJECT,或者某个控制帧。
类型3是SELECTIVEREJECT(选择性拒绝)。
它只要求制定的帧重传。
发送窗口大小是序号空间的1/2或更少时,最好使用它,因此如果接收过程希望缓冲非顺序帧以备后用时,它能使用SELECTIVEREJECT来强制任何指定帧的重传。
HDLC允许带有这种帧类型,但是SDLC和LAPB则不允许,没有定义类型为3的帧。
(c)无序号帧(U帧)
帧的第三种类型为无序号帧(unnumberedframe)。
它有时用于控制目的,但也可以在不可靠非连接服务中用来携带数据。
HDLC使用的无序号帧有:
DISC(DISConnect),用于让机器宣布要停机了。
对方使用UA帧表示统一断开连接。
SABM(置异步平衡方式),该命令用于在两个方向上建立链路,接收方可以用UA帧作肯定的响应,用DM帧作否定的响应。
SNRM(置正常响应方式),它是一种非平衡的方式,线路的一端为“主”,另一端为“从”。
FRMR(帧拒绝),用来表示具有正确的校验和,但语义有错误的帧的到达。
它包括了一个24位数据字段,来告知帧何处有错。
数据字段包括了坏帧的控制字段、窗口参数及用来说明错误类型的n位。
UA(无序号确认帧),控制帧同数据帧一样,可能发生丢失或损坏,因此它们也必须确认。
为此提供了UA这种特殊的控制帧用于此目的。
DM(已断开方式),是一个响应帧,它表明本地已经与链路处于断开状态,并用它对SABM命令作否定应答。
2.1.5HDLC操作
HDLC操作涉及三个阶段:
首先,一方初始化数据链路,以便帧能以顺序方式进行交换。
在这个阶段,双方一致认可一些选项。
初始化以后,双方交换数据和控制信息,执行流控制和差错控制。
最后由一方发起终止数据链路的操作。
初始化
初始化过程通过任何一方向对方发送六个设置命令中的一个开始,这个命令主要用于三个目的。
1、告诉对方,请求初始化;
2、在三种传输模式中,指定一种作为请求模式;
3、指定是使用3位顺序还是7位顺序号。
如果另一方接受这个请求,发送一个无编号确认(UA)帧给发起初始化过程的一方,如果拒绝该请求,则发送一个断开模式(DM)帧给发起初始化请求过程的一方。
数据传送
当一方的初始化请求被另一方接受,表明逻辑链路已经建立,双方可以以信息帧的方式传输用户数据。
开始的顺序号均为0,信息帧中的N(S)和N(R)字段就是顺序号,用于流控制和差错控制。
工作站中的HDLC模块对发送的信息帧顺序编号,根据初始化时的约定进行模8或128运算,将运算结果填入发送顺序号N(S)。
N(R)是对收到的信息帧的确认,同时使HDLC模块告诉对方它期望收到的下一个信息帧的顺序号。
监控帧也用于流控制和差错控制,接收就绪(RR)帧用于确认收到的最后一个信息帧,并指明下一个期望收到的信息帧的顺序号,当接收方没有用户数据可用来附加对发送方的确认信息时,必须使用接收就绪(RR)帧。
接收未就绪(RNR)帧和接收就绪帧一样,确认收到的信息帧,但告诉发送方暂停信息帧的发送。
当发出接收未就绪帧的一方又能够接收数据时,必须再向对方发送一个接收就绪(RR)帧。
拒绝(REJ)帧,使对方从N(R)指定的顺序号重新发送信息帧,选择拒绝(SREJ)帧表明发送方只需重发由N(R)指定顺序号的那一帧。
断开
任何一方可以发起断开操作过程,发起断开操作过程的一方发送断开(DISC)帧,另一方必须通过发送无编号应答(UA)帧来接受这个请求。
在目前的HDLC协议实现和实际应用中,大多数厂家都只按照HDLC标准的帧格式对上层数据进行封装,没有任何确认机制、重传机制、流量控制等,所有的纠错处理都由上层协议处理。
2.2调试命令及调试信息
接口配置HDLC封装以后,可以使用下面的全局命令来对HDLC进行调试
debughdlcinterfaceall显示封装HDLC接口所有收发帧的内容
debughdlcinterfacehead显示封装HDLC接口所有收发帧的帧头内容
debughdlcinterfacekeepalive显示封装HDLC接口keepalive报文收发
debughdlcinterfaceip显示封装HDLC接口IP报文收发
interface指定封装HDLC的接口,比如serial3/0。
使用命令debughdlcserial3/0all打印调试信息如下表:
调试信息
解释
HDLC(serial3/0)_T:
MKEEPALIVErNo=152lNo=152time=6380000
HDLC(serial3/0)_R:
MADDR_REQUEST22.1.1.2
HDLC(serial3/0)_T:
MADDR_REPLY22.1.1.1
根据接口上设置的keepalive时间间隔来发送保活帧
收到对端的ip地址请求22.1.1.2
应答本端的ip地址为22.1.1.1
2.3HDLC建链过程
迈普的HDLC其建链过程比较简单,双方首先通过keepalive帧来检测和维持链路状态,当链路状态正常后,通过发送地址帧来和对方协商IP地址。
具体操作过程如下:
图1-4HDLC建链过程
2.4HDLC建链实例
下面是迈普路由器完整的HDLC建链过程:
图1-4.1HDLC建链实例
环境说明
两台迈普路由器背靠背相连,封装HDLC协议。
调试信息
●正常配置情况
下面是具体协商过程中,打开debug调试信息时的内容,现对其进行具体分析:
router-a#debughdlcs2/0keepalive
打开hdlc的keepalive报文的调试信息
router-a(config-if-serial2/0)#nosh
router-a#HDLC(serial2/0)_R:
MKEEPALIVErNo=915lNo=914time=10306000
接收KEEPALIVE帧(维持链路)
rNo:
对端序号
lNo:
本端序号
time:
对端发送数据时间(标识符)
HDLC(serial2/0)_T:
MKEEPALIVErNo=915lNo=915time=107753000
发送KEEPALIVE帧
LineprotocolonInterfaceserial2/0,changedstatetoup
建链成功
HDLC(serial2/0)_T:
MADDR_REQUEST1.1.1.1
发送地址请求帧(本端地址为:
1.1.1.1)
HDLC(serial2/0)_T:
MADDR_REQUEST1.1.1.1
重新发送地址请求帧
HDLC(serial2/0)_T:
MADDR_REQUEST1.1.1.1
重新发送地址请求帧
HDLC(serial2/0)_R:
MADDR_REPLY1.1.1.2
接收地址响应帧(对端地址为:
1.1.1.2)
●将另一端shutdown的情况
router-a#debughdlcs2/0keepalive
router-a#19:
29:
16:
HDLC(serial2/0)_T:
MKEEPALIVErNo=920lNo=920time=107753000
19:
29:
26:
HDLC(serial2/0)_T:
MKEEPALIVErNo=920lNo=920time=108753000
19:
29:
36:
HDLC(serial2/0)_T:
MKEEPALIVErNo=920lNo=920time=109753000
…………………………………………………..
注释:
由此可以看到router-a这一端在不断发送keepalive帧,这很可能是另一端处于shutdown的状态。
●保活时间不一致的情况
rtr-a#debughdlcs2/0keepalive
18:
49:
13:
HDLC(serial2/0)_T:
MKEEPALIVErNo=21lNo=21time=67724000
18:
49:
23:
HDLC(serial2/0)_T:
MKEEPALIVErNo=21lNo=21time=67734000
18:
49:
33:
HDLC(serial2/0)_T:
MKEEPALIVErNo=21lNo=21time=67744000
18:
49:
43:
HDLC(serial2/0)_T:
MKEEPALIVErNo=21lNo=21time=67754000
18:
49:
43:
LineprotocolonInterfaceserial2/0,changedstatetodown
18:
49:
43:
HDLC(serial2/0)_R:
MKEEPALIVErNo=22lNo=21time=84477540
18:
49:
44:
LineprotocolonInterfaceserial2/0,changedstatetoup
18:
49:
54:
HDLC(serial2/0)_T:
MKEEPALIVErNo=22lNo=22time=67765000
18:
50:
04:
HDLC(serial2/0)_T:
MKEEPALIVErNo=22lNo=22time=67775000
18:
50:
14:
HDLC(serial2/0)_T:
MKEEPALIVErNo=22lNo=22time=67785000
18:
50:
14:
LineprotocolonInterfaceserial2/0,changedstatetodown
……………………………………………………….
注:
上面的debug信息显示配置了HDLC的端口总是不断的up和down,造成这种情况的原因很可能是由于两端的keepalive保活时间的定时器不一致造成的。
打开debug信息后看到,在3倍于本地接口keepalive时间内没有收到对端keepalive报文则HDLC的端口down,随之又马上收到keepalive帧,则又Up。
第3章PPP协议及其应用
点到点协议(PointtoPointProtocol,PPP)是在点到点链路上传输数据报的一种方法;属于数据链路层协议,是广域网连接中数据链路层协议里用得最多的一个协议。
它可以支持同/异步线路。
PPP适用于不同特性串行系统,可传输多种网络层协议数据,实现两个对等实体间对多个网络层协议包的封装和传输。
是一种用于连接各种类型的主机、网桥和路由器的通用方法,为多个应用环境提供优质的广域网连接而提供一个通用的解决方案。
PPP由以下3个组件组成:
●封装方法(类似HDLC)
●链路控制协议(LinkControlProtocol,LCP)
●网络控制协议(NetworkControlProtocol,NCP)
PPP是一种面向位的协议,可以在同步/异步链路上运行。
PPP使用高级数据链路控制(High-levelDataLinkControl,HDLC)的变体作为封装的基础。
这种封装在同一条链路上同时为多个网络层协议提供了多路复用技术(multiplexing)。
3.1PPP在TCP/IP协议栈中的基本层次结构
图2-2PPP在网络层次结构中的位置
这里说是基本层次结构,是因为PPP除了本来的链路层功能外还可以被别的应用封装,(如:
L2TP、PPTP这两种分别将PPP协议应用到UDP、TCP上)。
3.2PPP的特点
3.2.1多种下层介质的支持
●同步
●异步
●SDH
●EHTERNET(PPPOverEhternet)
●AAL5(PPPOverATM)
●LAPB(PPP可靠链路)
●ISDN
3.2.2多种网络层协议的支持
●IP
●NDSP(NeighborDeviceSearchProtocol,与CDP兼容)
●MPLS
3.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广域网 协议
![提示](https://static.bingdoc.com/images/bang_tan.gif)