PPP 的HDLC封装重点.docx
- 文档编号:29258677
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:21
- 大小:37.63KB
PPP 的HDLC封装重点.docx
《PPP 的HDLC封装重点.docx》由会员分享,可在线阅读,更多相关《PPP 的HDLC封装重点.docx(21页珍藏版)》请在冰豆网上搜索。
PPP的HDLC封装重点
PPP协议的类HDLC封装
摘要:
PPP协议(RFC1661)提供了一种在PPP链路之上传送多协议数据报文的方法。
本文档描述使用类HDLC帧封装PPP数据包的方法。
1.简介:
本文提供对在按位和按字节同步链路和八位数据(无奇偶位)异步链路上帧封装地详细说明,这些链路必须是完全双工,但可以是通过电路切换来实现的双工。
通过转义机制实现控制数据(如:
XON/XOFF)在链路上的透明传输,也可以删除链路中的由硬件或软件插入的控制字符。
一些协议允许错误自由传送,有的提供了某一条件下的错误检测措施,有的干脆没有。
PPP协议使用HDLC帧监测序列来进行错误检测。
这可以很容易地用硬件实现,也可用软件实现。
(本文提供了一种软件实现方法)。
1.1.需求说明:
1.1必要的规范
必须:
该词,或者形容词”必需的”,是在协议中必须被满足的.
决不能:
协议中绝对被禁止的.
应该:
“被推荐的”,协议中,如果在某种具体的环境下,有合法的理由可以忽略该项目,但是完整的实现必须理解,在做出一个不同选择之前必须仔细的考虑.
可以:
“任选的”,该项目是可选的.一个不包括任选项目的实现必须能与包括该项目的实现进行互操作.
实现:
表示协议的一个具体实现.
1.2术语:
1>数据包(datagrame):
在网络层传输的单元.一个数据包可以被封装成一个或多个分组信息包(packet)通过数据链路层.
2>帧(frame):
数据链路层传输的单元.一个正可以包括一个头部,或者还包括一个尾部,还有若干数据单元.
3>分组信息包(packet):
封装的基本单元,它是网络层与数据链路层之间的接口数据单元.它一般与帧对应,但在数据链路层正在进行分片或者多个分组信息包被集成到单一的帧时出现例外.
4>对等方(peer):
点到点链路的另一端.
5>静默丢弃(silentlydiscard):
实现不作任何处理丢弃分组包.实现应该提供纪录这种错误的能力,并且应该在一个统计数其中纪录该事件.
2.物理层需求:
PPP可以通过大多数的DTE/DCE(如EIARS-232-E,EIARS-422和CCITTV.35)接口进行操作,PPP协议的唯一要求就是全双工通道,可以采用异步方式,位同步方式和字节同步方式,实现PPP的透明数据链路。
接口格式:
PPP物理层提供8位组接口,对于子八位组的支持程度无具体规定。
传输速率:
PPP协议对传输速率无任何特别的限制,它对速率的要求与DTE/DCE接口保持一致。
控制信号:
PPP协议不需要类似如RTS,CTS,DCD,DTR之类的控制信号。
当然,在条件许可得情况下,使用这些信号可以达到更好的性能,特别,这些信号在LCP选项自动协商时被用来表示UP和DOWN事件【RFC1661】。
当这些信号不可用时,实现必须在初始化时发送UP信号,但不能发送DOWN事件。
因为控制信号不是必须的,物理层功能可以被数据链路层功能减弱,隐藏物理层传输的细节,在移动蜂窝无线网络和其它一些快速的链路切换更是如此。
当在同一小区的不同蜂窝之间移动时,尽管在几种不同的频率之间进行切换,但实现时可以把整个小区当作单一的链路。
这条链路被认为是与小区控制中心相连,而不是独立的单元无线收发器相连,然而,当链路被切换到一个不同的管理站时,链路应当重建它的配置。
由于数据的突发性,一些实现选择在休眠时间断开物理连接,当数据流开始时在不通知数据链路层的情况下再重建连接。
可靠的实现应该避免使用这些方法,应为降低建立的期限将导致安全性的降低,实现应当在链路断开后一定的时间内发送链路DOWN事件,该时间段值得确定方法很有争论,它应根据话务量,呼叫建立时间,安全关系的建立时间等因素来确定。
3.数据链路层:
PPP协议使用HDLC帧格式【ISO3309-1979】封装,最近该标准的第四版对在异步方式使用HDLC帧进行了一些修改。
PPP控制过程使用控制域译码。
3.1.帧格式:
下图为PPP的HDL帧格式,该图不包括因传输而引入的停止位和起始位,各个域从左向右传送。
Flag
Address
Control
Protocol
Information
Padding
FCS
Flag
Inter-frameFillornextAddress
01111110
11111111
00000011
8/16bits
*
*
16/32bits
01111110
协议域,信息域,填充域在PPP协议封装中描述【RFC1661】.
标志序列:
每一帧都以一个标志序列开始和结束,用来进行帧同步。
该标志的二进制表示为01111110(十六进制为:
0x7e),在两个帧之间只需要一个标志序列,两个连续的标志序列表示一个空帧,空帧将被静默丢弃,该丢弃不被视为FCS校验错误。
地址域:
一个8位组,包含二进制序列1(十六进制为:
0xff),是所有站的地址,不分配单一站地址,实现时必须识别和接受全站地址(1111111)。
以后后可能使用其它长度和数值得地址,通过预先的协商亦可可能使用其它长度和数值得地址,带有无效地址的帧应该被静默丢弃。
控制域:
一个8位组,包含二进制序列00000011(十六进制为:
0x03),以后后可能使用其它长度和数值的控制域,通过预先的协商亦可可能使用其它长度和数值得控制域,带有无效控制域的帧应该被静默丢弃。
帧校验域(FCS):
默认值为两个8位组的FCS,4个8位组的FCS也被定义,它可能在PPP的LCPExtensions中使用【RFC1570,】。
有可能在以后或通过双方同意使用其它的FCS长度。
FCS域通过计算地址域,控制域,协议域,信息域,填充域的每一比特尔得到。
不包括停止位和开始位,也不包括标志位和FCS域自身。
当接收到异步控制转义字符时,在计算FCS之前应被抛弃。
附录中有FCS的详细信息。
信息域和填充域的结束位置通过定位结束标志序列,移去校验域后可以确定。
3.2.基本帧格式的修改:
链路控制协议能够协商修改标准的HDLC帧格式,然而,修改后的帧格式总是与标准格式有着明显得差异。
地址和控制域压缩:
当使用类HDLC标准帧时,地址域和控制域包含十六进制值0xff和0x03,当使用其它地址域和控制域时,不准协商地址和控制域压缩。
在传送时,压缩地址和控制域只是简单地省略。
当接收方收到HDLC帧时,通过检查前两个8位组就可以解压缩,假如帧中含有值0xff和0x03,它们就被视为地址域和控制域,若没有,则认为帧被压缩,地址域和控制域没传送。
通过定义,可使协议域中的第一个8位组永远不为0xff,协议域的值也不能为0x00ff,避免使用协议压缩算法时协议域与信息域的第一个8位组是0x03时引起的歧义。
4.八位组填充帧:
透明性:
使用8位组填充过程实现数据的透明传输。
定义控制转义8位组为01111101(0x7d)。
即使是发送方的最小实现也必须实现转义标志序列和控制转义字节,在校验计算完成后,发送器检测整个帧,每个标志序列、控制转义字节和任何ACCM的8位组,都用两个8位组(一个控制转义8位组+需要转义的8位组与0x20进行异或后的值)来组成。
接收方必须能正确处理所有的控制转义序列。
接收方在进行校验计算之前,每个小于0X20的字节都要进行检查,假如它在接收方的ACCM中,它将被去除。
每个转义控制字节也应被去除,再将下一个8位组与0X20异或,除非它是标志序列。
下面举一些例子加以说明,转义数据在链路中传送如下:
0x7e在链路中传送为:
0x7d,0x5e.(标志序列)
0x7d在链路中传送为:
0x7d,0x5d.(控制转义)
0x03在链路中传送为:
0x7d,0x23.(ETX)
一些有流量控制软件的调制解调器截取发送的DC1和DC3,而忽略第8位(奇偶校验位)。
这些数据在链路中以如下方式传输:
0x11在链路中传送为:
0x7d,0x31.(XON)
0x13在链路中传送为:
0x7d,0x33.(XOFF)
0x91在链路中传送为:
0x7d,0xb1.(XONwithparityset)
0x93在链路中传送为:
0x7d,0xb3.(XOFFwithparityset)
4.3.无效帧:
当帧的长度太小时(使用16位校验时,小于4个八位组)或以一个控制转义字节+一个标志序列结束,或异常帧(当需要传送1时却传送了0作为停止位)都被静默丢弃,不作为FCS的校验错误。
4.4.时间填充:
4.4.1.子帧同步:
对于内部字节的时间间隔填充无具体的规定。
标志位必须在帧之间传送。
4.4.2.异步:
8位组之间的空闲时间必须传送连续的“1”(标志链路占用状态),帧之间的空闲可看作8位组之间空闲的扩展,因为标志序列既可作为帧的开始也可作为帧的结束,这样可以每一帧可以节省一个字节,降低延迟增加带宽。
在接收了任何帧以后,在另一帧开始之前有一个空闲时间。
稳健的传送实现不应采用这些技巧,因为降低延迟的代价就是降低文档性。
噪声较大的链路可能使接收器接收垃圾字符并把他们作为接收帧的一部分。
假如发送器在发送下一帧之前不发送一个新的标志序列将导致产生无效的帧。
4.5.传送考虑:
4.5.1.字节同步:
定义不同的编码规则是所使用的DTE/DCE的责任,不在本讨论的范围之内。
4.5.2.异步:
所有的八位组按低位优先的原则传送,一个起始位,八个数据位和一个停止位,对于7位异步链路无具体规定。
5.位填充帧:
5.1.标志序列:
TheFlagSequenceindicatesthebeginningorendofaframe,andis
usedforframesynchronization.Thebitstreamisexaminedona
bit-by-bitbasisforthebinarysequence01111110(hexadecimal0x7e).
The"sharedzeromode"FlagSequence"011111101111110"SHOULDNOTbe
used.Whennotavoidable,suchanimplementationMUSTensurethat
thefirstFlagSequencedetected(theendoftheframe)ispromptly
communicatedtothelinklayer.Useofthesharedzeromodehinders
interoperabilitywithbit-synchronoustoasynchronousandbit-
synchronoustooctet-synchronousconverters.
5.2.透明性:
AfterFCScomputation,thetransmitterexaminestheentireframe
betweenthetwoFlagSequences.A"0"bitisinsertedafterall
sequencesoffivecontiguous"1"bits(includingthelast5bitsof
theFCS)toensurethataFlagSequenceisnotsimulated.
Onreception,priortoFCScomputation,any"0"bitthatdirectly
followsfivecontiguous"1"bitsisdiscarded.
5.3.无效帧:
Frameswhicharetooshort(lessthan4octetswhenusingthe16-bit
FCS),orwhichendwithasequenceofmorethansix"1"bits,are
silentlydiscarded,andnotcountedasaFCSerror.
5.4.TimeFill
Thereisnoprovisionforinter-octettimefill.
TheFlagSequenceSHOULDbetransmittedduringinter-frametimefill.
However,certaintypesofcircuit-switchedlinksrequiretheuseof
markidle(continuousones),particularlythosethatcalculate
accountingbasedonperiodsofbitactivity.Whenmarkidleisused
onabit-synchronouslink,theimplementationMUSTensureatleast15
consecutive"1"bitsbetweenFlagsduringtheidleperiod,andthat
theFlagSequenceisalwaysgeneratedatthebeginningofaframe
afteranidleperiod.
ThisdiffersfrompracticeinISO3309,whichallows7to14bit
markidle.
5.5.传送考虑:
Alloctetsaretransmittedleastsignificantbitfirst.
Thedefinitionofvariousencodingsandscramblingisthe
responsibilityoftheDTE/DCEequipmentinuse,andisoutsidethe
scopeofthisspecification.
WhilePPPwilloperatewithoutregardtotheunderlying
representationofthebitstream,lackofstandardsfortransmission
willhinderinteroperabilityassurelyaslackofdatalink
standards.Atspeedsof56Kbpsthrough2.0Mbps,NRZiscurrently
mostwidelyavailable,andonthatbasisisrecommendedasadefault.
Whenconfigurationoftheencodingisallowed,NRZIisrecommendedas
analternative,becauseofitsrelativeimmunitytosignalinversion
configurationerrors,andinstanceswhenitMAYallowconnection
withoutanexpensiveDSU/CSU.Unfortunately,NRZIencoding
exacerbatesthemissingx1factorofthe16-bitFCS,sothatone
errorin2**15goesundetected(insteadofonein2**16),andtriple
errorsarenotdetected.Therefore,whenNRZIisinuse,itis
recommendedthatthe32-bitFCSbenegotiated,whichincludesthex1
factor.
Athigherspeedsofupto45Mbps,someimplementorshavechosenthe
ANSIHighSpeedSynchronousInterface[HSSI].Whilethisexperience
iscurrentlylimited,implementorsareencouragedtocooperatein
choosingtransmissionencoding.
6.异步到同步的转换:
Theremaybesomeuseofasynchronous-to-synchronousconverters(some
builtintomodemsandcellularinterfaces),resultinginan
asynchronousPPPimplementationononeendofalinkanda
synchronousimplementationontheother.Itistheresponsibilityof
theconvertertodoallstuffingconversionsduringoperation.
Toenablethisfunctionality,synchronousPPPimplementationsMUST
alwaysrespondtotheAsync-Control-Character-MapConfiguration
OptionwiththeLCPConfigure-Ack.However,acceptanceofthe
ConfigurationOptiondoesnotimplythatthesynchronous
implementationwilldoanyACCMmapping.Instead,allsuchoctet
mappingwillbeperformedbytheasynchronous-to-synchronous
converter.
7.附加的LCP配置选项:
TheConfigurationOptionformatandbasicoptionsarealreadydefined
forLCP[1].
Up-to-datevaluesoftheLCPOptionTypefieldarespecifiedinthe
mostrecent"AssignedNumbers"RFC[10].Thisdocumentconcernsthe
followingvalues:
7.1.异步控制转义字符映射(ACCM)
描述:
这个配置选项提供了一种在异步链路上进行透明传送控制字符的协商方法。
每个异步链路的端点维护两个异步控制字符映射表。
接收方的ACCM是32位,发送方ACCM可以达到256位。
每一个端点2个,两端共4个,对于异步链路,默认接收方的ACCM是0XFFFFFFFF,默认发送方的ACCM也是0XFFFFFFFF,加上控制转义和标志序列字符自身,再加上其它任何要发送的转义字符(预先配置)。
对于其它类型的链路,因为无需转义映射,所有ACCM的默认值是0。
默认值允许所有的ASCII控制字符(包括所有的小于0x20的字节,不包括DEL)在所有的数据设备上进行透明传送。
发送者亦可用控制转义格式发送从0X40到0Xff之间的值(不包括0x5e)。
因为这些字节的值未协商,所以这没有解决接收方不能处理非控制字符的问题。
此外,因为技术不能影响第8位,所以这也不能解决只能传送7位数据位的通讯链路的问题。
Notethatthisspecificationdiffersindetailfromlater
amendments,suchas3309:
1991/Amendment2[3].However,such
"extendedtransparency"isappliedonlyby"prioragreement".
Useofthetransparencymethodsinthisspecification
constituteaprioragreementwithrespecttoPPP.
Forcompatibilitywith3309:
1991/Amendment2,thetransmitter
MAYescapeDELandACCMequivalentswiththe8th(most
significant)bitset.Nochangeisrequiredinthereceiving
algorithm.
FollowingACCMnegotiation,thetransmitterSHOULDcease
escapingDEL.
However,itisrarelynecessarytomapallcontrolcharacters,and
oftenitisunnecessarytomapanycontrolcharacters.The
ConfigurationOptionisusedtoinformthepeerwhichcontrol
charactersMUSTremainmappedwhenthepeersendsthem.
ThepeerMAYstillsendanyotheroctetsinmappedformat,ifit
isnecessarybecauseofconstraintsknowntothepeer.Thepeer
SHOULDConfigure-Nakwiththelogicalunionofthesetsofmapped
octets,sothatwhensuchoctetsarespuriouslyintroducedthey
canbeignoredonreceipt.
异步控制转义字符映射配置选项的格式如下:
(从左到右传送)
Type2
Length6
ACCM
ACCM字段占4个字节,表明要映射的控制字符集合,映射发送时高位在前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PPP 的HDLC封装重点 HDLC 封装 重点