(通信与信息系统专业论文)ppp协议分析及其在路由平台上的实现.pdf_第1页
(通信与信息系统专业论文)ppp协议分析及其在路由平台上的实现.pdf_第2页
(通信与信息系统专业论文)ppp协议分析及其在路由平台上的实现.pdf_第3页
(通信与信息系统专业论文)ppp协议分析及其在路由平台上的实现.pdf_第4页
(通信与信息系统专业论文)ppp协议分析及其在路由平台上的实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 点到点协议p p p ( p o i n t t o p o i n tp r o t o c 0 1 ) 是一种提供点到点链路 上传输,封装网络层数据包的数据链路层协议,是目前应用最广泛的广域 网协议。 p p p 提供了一整套链路建立,维护和拆除的机制,提供了在点对点的 链路上封装多协议数据报( 如i p 、i p x 和a p p l e t a l k ) 的标准方法,支持i p 地址的动态分配和管理以及身份认证协议。经过多年的发展与扩充,p p p 已经发展成为一个功能强大的协议族,并且产生了许多基于p p p 的应用如 m p ,p p p o e ,p p p o a 等。 通用路由平台是为3 c o m 公司数据通信产品的通用网络操作系统平 台,将各种协议实现集于一体,由于p p p 有许多应用协议,功能较为复杂, 因此需要建立一个可扩充的,有较强移植性的p p p 实现。 本文首先从整体的角度研究了p p p 及相关协议,对p p p 协议的链路 建立维护机制,n c p ( 网络控制协议) 协商机制以及身份认证协议进行了 深入探讨i 然后介绍了两个与p p p 关系密切的应用协议m p 和p p p o e ,最 后提出了基于华为3 c o m 通用路由平台的实现方案。该设计方案将p p p 模 块分为内核和外壳两大模块,由内核来处理与p p p 协商相关的内容,而外 壳提供一些接口函数与其它模块进行交互;方案通过回调函数机制将各个 子协议的状态机进行统一。该方案具有可扩充性,可裁减性和可移植性的 特点。 关键词:点对点协议路由平台链路控制协议网络控制协议 a b s t r a c t t h ep o i n t - t o p o i n tp r o t o c o l ( p p p ) p r o v i d e sas t a n d a r dm e t h o df o r t r a n s p o r t i n gm u l t i - p r o t o c o ld a t a g r a mo v e rp o i n t - - t o p o i n tl i n k sa n di st h em o s t w i d e l yu s e dp r o t o c o lo fd a t al i n k p p pp r o v i d e saw h o l em e c h a n i s mo fe s t a b l i s h i n g ,m a i n t a i n i n ga n d t e r m i n a t i n gal i n k i tc a ns u p p o r tm u l t i p r o t o c o ld a t a g r a m ss u c ha si p 、i p x a n da p p l e t a l k i ta l s os u p p o r ta s s i g n m e n ta n dm a n a g e m e n to fi pa d d r e s s ,a n d a u t h e n t i c a t i o np r o t o c o li ss u p p o r t e db yp p pt o o a si th a sd e v e l o p e da n d e x t e n d - e df o rs e v e r a ly e a r s ,p p pn o wb e c o m e sah u g eg r o u po fp r o t o c o l s ,a n d m a n ya p p l i c a t i o n sh a sb e e nd e v e l o p e do v e rp p p , s u c ha sm p ,p p p o e ,p p p o a a n ds oo n v e r s a t i l er o u t i n gp l a t f o r mi sa no p e r a t i n gs y s t e mo fd a t ac o m m u n i c a t i o n p r o d u c to fh u a w e i 一3 c o r nc o m p a n y i tr e a l i z e sa l lo ft h ep r o t o c o l si no n e s y s t e m a sp p ph a sm a n ya p p l i c a t i o n sa n df u n c t i o n s ,ar e a l i z a t i o nw h i c hi s e a s yt ob ee x p l a n t e da n de x t e n d e di sn e e d e d t h i sa r t i c l ef i r s tr e s e a r c h e st h ep p pp r o t o c o la n dr e l a t e dp r o t o c o l sa n d d i s c u s s e st h el i n ke s t a b l i s h i n ga n dm a i n t a i n i n gm e c h a n i s mo fp p p , t h e n e t w o r kp r o t o c o ln e g o t i a t i n ga n dt h ea u t h e n t i c a t i o np r o t o c o l s s e c o n d ,t h e a r t i c l ed i s c u s s e st w op r o t o c o l s :m pa n dp p p o e ,w h i c ha r ev e r yc l o s et op p p t h i r d ,as c h e m eo fp p pr e a l i z a t i o no v e rp l a t f o r mo fh u a w e i - 3 c o mi sp r o p o s e d t h es c h e m er e a l i z e sp p pt h r o u g has h e l lm o d u l ea n d ac o r em o d u l e t h ec o r e m o d u l et r e a t sw i t ht h en e g o t i a t i o na n dt h es h e l lm o d u l ep r o v i d e ss e v e r a l i n t e r f a c ef u n c t i o n sw h i c ha r eu s e dt oc o n t a c tw i t ho t h e rm o d u l e s t h e i m p l e m e n t a t i o no f t h es c h e m ei se a s yt ob ee x p l a n t e da n de x t e n d e d k e yw o r ds :p p p ,r o u t e rp l a t f o r m ,l c p ,n c p 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨盗盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者繇碜总脊签字日期砂- 7 年1 月2 7 日 学位论文版权使用授权书 本学位论文作者完全了解:叁盗盘堂有关保留、使用学位论文的规定。 特授权苤盗盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:碜恳牵k 签字日期:2 。印年1 月27 日 导师勰妙豸 签字日期彩矽夕年月2 罗日 第一章绪* 第一章绪论 按计算机网络所覆盖的地理范围一般分为四大类:局域网、城域网、广域网 络和网际网。广域网( w a n ) 是一种覆盖多个远距离区域的计算机网络,常常 连接着多个小型的网络,如局域网( l a n ) 或城域网( m a n ) 等。世界上遍布 晟广的是国际互联网有些部分本身也是广域网。对照o s i 参考模型,广域网技术 主要位于底层的3 个层次,分别是物理层,数据链路层和网鲳层。广域网的传输 方式主要有三种:点到点型,电路交换和分组交换。其中点到点网络中应用最广 泛的技术就是p p p 协议。 1 1p p p 协议简介2 3 p p p ( p o l t - m - p o m t p r o t o c o l ,点到点协议) 是一种提供点到点链路上传输、 封装网络层数据包的数据链路层协议,它处于t c p i p 协议栈的第二层。p p p 提 供了在点对点的链路上封装多协议数据报( 如i f 、i p x 和a p p l e t a l k ) f l 标准方法, 它能支持口地址的动态分配和管理、同步或异步物理层的传输、网络层协议的 复用、链路的配置、质量检测和纠错等功能,它还支持多种配置参数选项的协商。 暑 , 圈1 一lp p p 连接示意田 p p p 最初设计是为两个对等节点之间的口流量传输提供一种封装协议。在 t c p i p 协议中它是一种用来同步调制连接的数据链路层协议( o s i 模式中的第 二层) ,替代了原来非标准的第二层协议即s l i p 。除了i p 以外,p p p 还可以 携带其它协议,包括d e c n e t 和n o v e l l 的i n t e r a c t 网包交换( i p x ) 。 1 2p p p 协议的发展与应用1 1 p p p 协议是在一种面向字符的协议s l i p ( s e r i a l l i n e i n t c m e t p r o t o c 0 1 ) 的基础 上发展起来的( 详见r f c l 0 5 5 ) 。串行线路互联网络协议s l i p 是擐早的,也是 仅有的两个串行口协议之一属于异型i p 协议。它实现了在串行通信线路上运 行t c p i p 协议及其应用服务的功能,为千家万户上网提供了拨号i p 模式,并且 为行业用户通过串行媒介传输口报文提供了专线口模式。 第一章绪论 s l i p 是在串行通信线路上支持t c p i p 协议的种点对点式的链路层通信 协议,不但能够发送和接收i p 数据包,还提供了t c p i p 的各种网络应用服务如 r l o g i n 、t c l n c t 、f t p 、r t p 等。个人用户可利用s li p 协议拨号上网,行业用户 则可通过租用s li p 专线远程传输业务数据。但是s l i p 有一些缺点,表现在: 1 s l i p 没有差错校验的功能。 2 s l i p 协议通信的双方没有自动检测i p 地址的功能,必须事先知道对方 的i p 地址,这对于拨号入网用户来说非常不方便。 3 s l i p 只支持i p 协议,不支持其它协议。 4 s l i p 存在许多版本不兼容的问题。 为克服s l i p 协议的缺点,i e t f 制订了p p p 协议( i u c l 6 6 1 ) 。p p p 协议主 要包括三部分:链路控制协议l c p ( l i n kc o n t r o lp r o t o c 0 1 ) 、网络控制协议n c p ( n e t w o r kc o n t r o lp r o t o c 0 1 ) 和p p p 的扩展协议。 链路控制协议族l c p 用于建立,拆除和监控p p p 数据链路;网络层控制协 议族n c p 用于协商在数据链路上传输的数据包的格式和类型,n c p 可以支持不 同的网络层协议,如i p 协议、d e c n e t 协议、a p p l e t a l k 协议等。此外,p p p 还 提供用于网络安全方面的验证协议族如p a p 和c h a p ,使得p p p 协议功能非常 完善。p p p 协议既支持异步的链路,如无奇偶校验的数据,也支持面向字符的同 步链路。 实事上,随着多年的发展与扩充,p p p 已经发展成为一个功能强大的协议 族。p p p 可以分为两层,第层是链路控制层,第二层是网络控制层。第一层的 协议包括l c p ( 链路控制协议) ,b c p ( 桥控制协议) ,c c p ( 压缩控制协议) ,c b c p ( 回 呼控制协议) 和身份验证协议p a p 、c h a p , 第二层协议包括i p c p , i p x c p 等;另外 产生了许多基于p p p 的应用,如m p ( 多链路p i p 协议) ,p p p o e ( 以太网上点对点 协议) ,p p p o a ( a t m 上点到点协议) 等。p p p 协议只所以获得如此广泛的应用是 因为p p p 有很多优点: 1 完整的链路建立,维护机制。 2 支持身份验证。 3 提供i p 地址分配功能。 4 支持多种网络层协议。 正是因为这些优点使p p p 协议成为目前广域网上应用最广泛的协议之一, 家庭拨号上网就是通过p p p 在用户端和运营商的接人服务器之间建立通信链路。 目前,宽带接人正在成为取代拨号上网的趋势,在宽带接人技术日新月异的今天, p p p 也衍生出新的应用。典型的应用是在a d s l ( 非对称数据用户环线) 接入方式 当中,p p p 与其他的协议共同派生出了符合宽带接入要求的新的协议,如p p p o e 第一章绪论 ( p p po v e re t h e m e t ) ,p p p o a ( p p po v e ra t m ) 。利用以太网( e t h e m e t ) 资源,在以太 网上运行p p p 来进行用户认证接人的方式称为p p p o e 。p p p o e 既保护了用户方 的以太网资源,又完成了a d s l 的接人要求,是目前a d s l 接入方式中应用最 广泛的技术标准。同样,在a t m ( 异步传输模式,a s y n c h r o n o u st r a n s f e rm o d e ) 网络上运行。p p p 协议来管理用户认证的方式称为p p p o a 。它与p p p o e 的原理 相同,作用相同:不同的是它是在a t m 网络上,而p p p o e 是在以太网网络上运 行,所以要分别适应a t m 标准和以太网标准。 p p p 协议的简单完整使它得到了广泛的应用,相信在未来的网络技术发展 中,它还可以发挥更大的作用。 1 3 通用路由平台 1 3 1 通用路由平台简介 通用路由平台v r p ( v e r s a t i l er o u t i n gp l a t f o r m ) 是华为3 c o m 公司数据通信产 品的通用网络操作系统平台,以功能强大的i p 转发引擎为核心,通过先进的体 系结构设计,将实时操作系统技术、设备及网络管理技术和各种网络应用技术等 完美融合。可以运行在多种硬件平台之上,并拥有一致的网络界面、用户界面和 管理界面,为用户提供灵活丰富的应用解决方案。v r p 支持丰富的协议和特性, 具有很强的可伸缩性、可配置性,并且接口开放,是一个可不断丰富和持续发展 的系统平台。 v r p 提供了丰富的网络安全特性,如防火墙、包过滤、n a t 、a a ar a d i u s 、 c a l l b a c k 等:支持v l a n :n e t e n g i n e l 6 e 0 8 e 0 5 路由器可提供i n t r a n e t 、e x 仃a n e t 、 及传统v p n 的m p l sv p n 接入,为v p n 用户提供良好支持,并支持跨域v p n : 支持按需拨号功能,作为备份网的核心设备r 3 6 8 0 e 支持标准d d r 与灵活d d r 两种拨号方式,其中灵活d d r 可以实现多个拨号用户通过拨号池共享物理接口 并完成不同的呼叫的功能。 v r p 以i p 业务为核心,实现组件化的体系结构,拥有多达3 0 0 项以上的特 性。在提供丰富功能特性的同时,还提供基于应用的可裁剪能力和可伸缩能力。 第一章绪论 1 3 2v r p 体系结构 廿平台以t c p i p 协议栈为核心,实现了数据链路层、网络层和应用层的 多种协议,在操作系统中集成了路由技术、q o s 技术、v p n 技术、安全技术和 i p 语音技术等数据通信要件,并以口转发引擎( t u r b oe n g i n e ) 技术作为基础, 为网络设备提供了出色的数据转发能力。其体系结构图如图1 - 2 所示。 回 田圈曰 叵rip囹ospfb g p 匝p l m 亘d v m 囹r pb g m p 囤i p圈 l 、 ll 、 ii话音业务il v p n l l _ jl ,_ ji _ j1 j 路由策略管理 t c p 厂l j d p 命令行 系配 统置 s n m p 口转发引擎 服管 快速 口安全及服务质 务 转发防火墙量保证 理 w e b 管理 圆圈圈曰回口 图1 - 2v r p 体系结构示意图 口转发引擎包括传统i p 报文转发、i p 快速转发、q o s 服务质量、策略路由、 安全能力及防火墙等;广域网互连支持p p p m p 、s l i p 、h d l c s d l c 、x 2 5 、 f r a m er e l a y 、l a p b 、i s d n 和e t h e r n e t 等:路由协议支持r i p 、o s p f 、b g p 、 i g r p 、e i g r p 、p i m 、d v m r p 、b g m p 等;口业务支持a r p p r o x y a r p 、n a t 、 d n s 、d h c p 中继、v l a n 、s n a 、v o i p 和v p n 等:配置管理能力支持命令行 配置、日志告警、调试信息、s n m p 管理等。 v r p 系统支持丰富的链路层协议,包括p p p 、m p 、l a p b 、x 2 5 、x 2 5 交 换、f r a m er e l a y 、f r 交换、s l i p 、h d l c 、s d l c 、i s d n 等。 1 4 论文目的与意义 关于p p p 协议的相关说明分布于血的多个文档中,而且p p p 是一个逐渐发 展完善的协议,论文首先对p p p 协议进行总结,对p p p 协议的几个特性进行了 4 第一章绪论 详细阐述,并试图建立一个完整的p p p 概念。 由于p p p 协议是一个发展的协议,原有的p p p 实现架构不能满足于路由平 台的多种需求,因此需要设计一种方便裁减,便于移植的p p p 实现。新的p p p 实现需要满足以下几点: 1 可扩展性,比较方便的增加p p p 的特性而对原有特性不造成影响。 2 可裁减性,不同的路由平台需要实现不同的特性,要求新的实现裁减一 些特性时不影响其它特性的正常运行。 3 可移植性,可以方便的在不同的操作系统、硬件平台上移植。 p p p 协议有着广泛的应用,本文虽然是基于路由平台的实现但对其它需要用 到p p p 协议的地方也有一定的参考价值。 5 第二章p p p 协议原理 第二章p p p 协议原理 2 1p p p 协议在协议栈中的位置1 1 p p p ( p o i n t - t o p o i n tp r o t o c o l 点到点协议) 协议是为在同等单元之间传输数据 包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传 递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据, 使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。图2 1 为p p p 在t c p i p 协议中的位置: 叵丑三工亟习三丑 应用层 t c pu d p i 传输层 广t m 型网络层 三亘亘三三三 二三三二二 至垂二二 三三口 数据链路层 i 。网口 l s e r i a l i w e a r l e s s l l 物理层 iil 图2 1p p p 协议在t c p ,口协议中的位置 2 2p p p 链路建立过程2 1 3 3 p p p 协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、 认证等问题。p p p 协议包含这样几个部分:链路控制协议l c p ( l 址c o n t r o l p r o t o c 0 1 ) 及扩展协议:网络控制协议n c p ( n e t w o r kc o n t r o lp r o t o c 0 1 ) ;认证协议,最 常用的包括口令验证协议p a p ( p a s s w o r da u t h e n t i c a t i o np r o t o c 0 1 ) 和挑战握手验证 协议c h a p ( c h a l l e n g e h a n d s h a k ea u t h e n t i c a t i o np r o t o c 0 1 ) 。 l c p 负责创建,维护或终止一次数据链路连接。n c p 是一族协议,负责协 商网络层用什么网络协议和网络协议的一些属性( 比如i p 协议的i p 地址等) 。 p p p 链路状态机如图2 2 所示。一个典型的链路建立过程分为三个阶段:创 建阶段、认证阶段和网络协商阶段。 第二章p p p 协议原理 2 2 1 死亡阶段 图2 2p p p 建链过程 链路开始处于死亡( d e a d ) 状态,而且当链路终止时会回到这个状态。当封 装p p p 的物理接口( 如串口) 被打开而且物理上已经准备就绪时p p p 将进入链 路建立阶段。在这个阶段,l c p 状态机首先会处于初始状态或开始状态,这个阶 段的变化( 即由死亡阶段向链路建立阶段转化) 反映在l c p 状态机上,就是l c p 状态机接收到u p 事件。 2 2 2 链路建立阶段 当进入链路建立阶段,l c p 将按照状态机进行变化;此时本端将与对端协商 链路的一些属性,如最大接收单元,魔术字,控制字符等,如果配置了其他扩展 协议如m p , p a p , b c p 等,那么在这个阶段将协商一下这些扩展协议所需的选项。 如果本端请求的协商选项对方都可以接收( 对端发送a c k 报文) 而且对端的请 求选项本端都可接收( 向对端发送a c k 报文) ,那么l c p 协商成功,状态机到 达o p e n 状态,开始进入下一阶段的协商。在这个阶段接收的任何非l c p 报文 必须被悄悄地丢弃。这一阶段不协商任何与网络层协议有关地选项。如果协商了 认证协议,那么进入身份认证阶段,如果没有协商认证协议,那么直接进入n c p 协商阶段。 2 2 3 身份认证阶段 当链路建立之后,而且通信的两端在l c p 阶段协商了身份认证协议,那么 p p p 进入身份认证阶段。p p p 是否使用认证协议在链路建立阶段进行协商,常用 的身份认证协议是口令验证协议p a p 和挑战握手验证协议c h a p 。如果双方没 有在链路建立阶段协商认证协议,那么p p p 将跳过身份认证阶段。如果认证成 功,那么进入网络控制协议协商阶段,否则不允许进入下一阶段。在实际应用中, 第二章p p p 协议原理 因为超时或者没有应答就造成认证失败,不应立即关闭链路:认证应该允许再传 输,只有在若干次的认证尝试失败以后,才进入链路终止阶段。哪一方拒绝了另 一方的认证,哪一方就要负责开始链路终止阶段。 在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的包是 被允许的。在该阶段里接收到的其他的包必须被静静的丢弃。 2 2 4 网络控制协议阶段 一旦p p p 完成了前面的阶段,那么就进入n c p 阶段。n c p 是个通称,每一 个网络层协议( 例如i p ,i p x ,或a p p l e t a l k ) 都有对应的网络控制协议( 如 i p c p , i p x c p 等) 。每个n c p 均符合p p p 状态机,其状态变化过程与l c p 相似,只 是此时协商的是与网络层协议相关的选项包括网络层所用协议以及网络层协议 的属性。 当一个n c p 协商成功( n c p 状态机到达o p e n e d 状态) 时,整个p p p 链路 处于u p 状态,可以在链路上传输网络层报文。 2 2 5 链路终止阶段 p p p 可以在任意时间终止链路。引起链路终止的原因很多:载波丢失、认证 失败、链路质量失败、空闲周期定时器期满、或者管理员关闭链路。l c p 用交换 终止报文( t e r m i n a t ep a c k e t s ) 的方法来终止链路。当链路正被关闭时,p p p 通 知网络层协议,以便他们可以采取正确的行动。交换终止报文之后,应该通知物 理层断开,以便强制链路终止,尤其当认证失败时。终止请求端在收到对短的终 止相应包之后或者在重启计数器期满后,应该断开连接。收到终止请求的一端应 该等待对端切断链路。在发送终止请求( t e r m i n a t e r e q u e s t ) 后,应该等待一段 时间才允许链路断开。 如果是l c p 要关闭链路,那么链路必须被关闭;但n c p 的关闭并不能引起 p p p 链路的终止,即使只有一个n c p 存在在该阶段收到的任何非l c p 报文,必 须被静静的丢弃。链路终止后,p p p 将回到链路死亡阶段。 2 3p p p 帧格式 p p p 帧格式和h d l c ( 高级数据链路控制) 帧格式相似,如图2 3 所示。二 者主要区别:p p p 是面向字符的,而h d l c 是面向位的。 第二章p p p 协议原理 标志地址控制协议承裁的信息校验标志 1112不大于1 5 0 0 字节2l c 0 2 1 i 链路控制报文l i 8 0 9 - 1i p 控制报文 i 图2 - 3p p p 帧格式 标志字段f 为0 x 7 e ,但地址字段a 和控制字段c 都是固定不变的,分别为 0 x f f 、0 x 0 3 。p p p 协议不是面向比特的,因而所有的p p p 帧长度都是整数个字 节。与h d l c 不同的是多了2 个字节的协议字段。协议字段不同,后面的信息 字段类型就不同。如:0 x 0 0 2 1 表示信息字段是口数据报,0 x c 0 2 1 表示信息字段 是链路控制数据l c p 等。 当信息字段中出现和标志字段一样的比特0 x t e 时,就必须采取一些措施。 因p p p 协议是面向字符型的,所以它不能采用h d l c 所使用的零比特插入法, 而是使用一种特殊的字符填充。具体的做法是将信息字段中出现的每一个0 x 7 e 字节转变成2 字节序列( 0 x t d ,0 x 5 e ) 。若信息字段中出现一个0 x 7 d 的字节, 则将其转变成2 字节序列( 0 x 7 d ,0 x 5 d ) 。若信息字段中出现a s c i i 码的控制字 符,则在该字符前面要加入一个0 x 7 d 字节。这样做的目的是防止这些表面上的 a s c i i 码控制字符被错误地解释为控制字符。 开始和结尾的7 e 标志着物理帧的开始和结束,地址和控制域标志这是一个 p p p 报文,协议域标志报文的协议类型,信息域则是承载报文的内容,校验域 检查报文是否出现传输错误。 9 第三章p p p 协议分析 3 1p p p 状态机2 3 第三章p p p 协议分析 p p p 的子协议l c e n c p 均符合p p p 状态机,因此状态机是理解p p p 的关键所 在,状态机包括三个要素:事件,动作和状态。简言之,状态机就是对接收到的 事件作出相应的动作,状态随之发生改变。p p p 状态机的转换图如图3 1 所示, 其中水平方向代表状态,垂直方向为事件,中间是动作和状态的转变。状态后面 跟的那个字母是说明性的脚注,短划线( ) 代表无效的转换。 s t a l e 0123456789 e v e n t s i n i t i a l s t a r t 沁 c l o s e d s t o l i dc l o s r gs t o 即m g哪s e n lm k - p c v d舭k s e n lo p e n e d u p 2 i r c , s a j 6 d o , 口r n0t l s t l0lllll 】d l o p e n t l s t l1 证簖r 6 3 r5 r5 r6789 r c l o s e0t 明2244 矗c , s t y 4 缸盈幽i t :巾瞄 t l d , i r c , s t r t 4 t o +s 乜姐s t r 5s c r j 6s c d 6s c l i g t o 岘衄 t l f f 3 1 0t l f l 3 pt l f l 3 1 0 r c r 十s l a j 2证,s c 渊45崦 s e a , t l :1 1 j 9 s c 也忍 t l d , s e r , s e 啦 r c r础以 i n z , s e r , s c r 6 45刚s c r f l s e t 6 t l d , s e r , s c x “6 l l c a s t a j 2s t a b45跏s e x 6 x i r c ,t l u 9 t l d , s c r s 6 x l i c :ns t a 2s t a j 3 4 5 缸, s c r l 6 s e r 6 x缸s 砷 t l d , s c r j 6 x r t rs l 们s l a j 3s t y 4s t a rs t a 6s t a 船s t a 6 t k l , z x c , s t “5 m - a23l 啦i 奶6 68 t l d , s c r t 6 r i j c s 叩s 郇刚哪剐s e j n邶s 妒 r x j + 23 456689 r x j t l 舵l ) 3i 】f y 2l bt l 仍l 】仍1 1 t ) 3 t k l , n e , s t r 5 髓l234 5 6 78髓堋 3 1 1 事件 图3 - 1p p p 状态机转换图 状态机里的状态转换和动作是由事件引起的,事件是状态机的输入,而状态 转换和动作是状态机的输出。事件主要有以下几类:收到对端的报文,定时器溢 出,底层状态发生改变。p p p 状态机中事件见表3 1 : 1 0 第三章p p p 协议分析 表3 1p p p 状态机的事件 u p l o w e rl a y e ri su p 底层u p d o w nl o w e rl a y e ri sd o w n底层d o w n o p e n a d m i n i s t r a t i v eo p e n 管理性的打开 c l o s ea d m i n i s t r a t i v ec l o s e 管理性的关闭 t o +t i m e o u tw i 也c o u n t e r 0定时器超时,计数器大 于0 t o t i m e o u tw i t hc o u n t e re x p i r e d定时器超时,计数器溢 出 r c r 十 r e c e i v e c o n f i g u r e r e q u e s t 收到配置请求( 好的) ( g o o d ) r c r r e c e i v e c o n f i g u r e - r e q u e s t 收到配置请求( 糟糕的) 0 3 a d ) r c ar e c e i v e - c o n f i g u r e - a c k收到配置响应 r c n r e c e i v e - c o n f i g u r e - n a k r e j 收到配置拒绝 r t r r e c e i v e - t e r m i n a t e - r e q u e s t 收到终止请求 r t ar e c e i v e t e r m i n a t e a c k收到终止响应 r u cr e c e i v e - u n k n o w n c o d e收到未知代码 r x j + r e c e i v e - c o d e r e j e c t 收到c o d e 拒绝( 允许的) ( p e r m i t t e d ) 或者收到协议拒绝 o rr e c e i v e - p r o t o c o l - r e j e c t i u ( j r e c e i v e c o d e - r e je c t 收到c o d e 拒绝( 禁止 ( c a t a s t r o p h i c ) 的) o rr e c e i v e p r o t o c o l - - r e j e c t或者收到协议拒绝 r x r r e c e i v e - e c h o r e q u e s t 收到回应请求 o rr e c e i v e - e c h o - r e p l y或者收到回应应答 o rr e c e i v e d i s c a r d r e q u e s t或者收到丢弃请求 u p 表明当低层指出已准备好携带p p p 报文时,发生此事件。典型的,该 事件被调制解调器处理或呼叫过程或被一些其他的连接于物理媒体的p p p 用于 通知l c p ,链路正进入链路建立阶段。它也能被l c p 用于通知每个n c p ,链路 进入网络层协议阶段。即来自l c p 的动作t h i s - l a y e r - u p 触发了n c p 中的u p 事 件。 d o w n :当低层指出不再准备携带p p p 报文时,发生此事件。典型的,该事 第三章p p p 协议分析 件被调制解调器处理或呼叫过程或其他一些的连接于物理媒体的p p p 用于通知 l c p ,链路正进入链路死亡阶段。它也能被l c p 用于通知每个n c p ,链路离开 网络层协议阶段。即,来自l c p 的动作t h i s l a y e r - d o w n 触发了n c p 中的d o w n 事件。 o p e n :这个事件意味着链路是否通信是可以管理的,可以通过此事件指出 链路允许被使用。当这一事件发生且链路不处于o p e n e d 状态时状态机将尝试向 对端发送配置请求包。如果状态机不能开始配置( 下层状态为d o w n 或者前一个 c l o s e 事件还没有结束) ,那么链路的建立将被自动推迟。当收到止请求报文祸其 他导致链路不可用的事件发生时,状态机会自动准备重新o p e n 无需额外的管理 干涉。当用户想修改协商选项时,o p e n 命令将使修改后的协商选项被协商。当 状态机处于o p e n e d ,c l o s i n g ,s t o p p i n g 或s t o p p e d 状态,用户执行一条o p e n 命令 时,应用程序会首先发行一个d o w n 事件,然后紧接着一个u b 事件:这样一个 过程会引起链路的再协商。 c l o s e :该事件意味着链路不允许用来通信,网络管理者通过触发此事件来 关闭链路。当该事件发生且链路不处于c l o s e d 状态时,状态机会尝试终止连接。 当认证失败,链路应该被终止,以防止受到重复性的攻击和为其他用户服务。这 可以通过模仿一个c l o s e 事件给l c p ,然后紧跟着一个o p e n 事件来完成。 t i m e o u t ( t o + ,t o ) :该事件表明重启定时器( r e s t a r t t i m e r ) n 时,r e s t a r t t i m e r 用于记录对c o n f i g u r e - r e q u e s t 和t e r m i n a t e r e q u e mp a c k e t s 的响应的时间。 当本端发送一个配置请求报文后,状态机会启动一个定时器,当定时器到时 间之后还没有收到对端的响应,那么本端会重新发送配置请求并吧重启技术器减 1 :如果计数器减为0 时还没有收到对端响应,那么状态机就不再发送请求报文, 认为协商失败。 t o + 事件表明重启计数器r e s t a r tc o u n t e r 大于零,它会触发相应的 c o n f i g u r e r e q u e s t 或t e r m i n a t e r e q u e s tp a c k e t 重新发送。 t o 事件表明r e s t a r tc o u n t e r 不大于零,不再需要发送报文。 r e c e i v e c o n f i g u r e r e q u e s t ( r c r + ,r c r ) ; 当收到一个来自对端的 c o n f i g u r e - r e q u e s tp a c k e t 时,该事件发生。c o n f i g u r e - r e q u e s tp a c k e t 表明希望开 始一个连接并指定配置选项。 r c r + 事件表明对端的配置协商选项是可以接受的,并向对端发送 c o n f i g u r e a c k 报文。 r c r 事件表明对端的配置协商选项是不可接受的,并触发相应的 c o n f i g u r e n a k 或c o n f i g u r e r e j e c t 的传输。当状态机处于o p e n e d 状态时接收到 该事件,必须准备重新协商配置选项。 1 2 第三章p p p 协议分析 r e c e i v e c o n f i g u r e a c k ( r c a ) :当收到一个来自对端的有效c o n f i g u r e a c k 包时,该事件发生。c o n f i g u r e - a c k 包是对c o n f i g u r e - r e q u e s t 包的肯定应答。 既然在到达a c k r c v d 或o p e n e d 状态之前,正确的p a c k e t 已经被收到了, 那就绝不可能有另一个这样的包的到来。所有无效的a c k n a k r e j 包将被静静的 丢弃,并不影响状态机的状态转换。 r e c e i v e c o n f i g u r e - n a k r e j ( r c n ) :当收到一个来自对端的有效 c o n f i g u r e - n a k 或c o n f i g u r e - r e j e c t 包时,该事件发生。c o n f i g u r e - n a k 或 c o n f i g u r e - r e j e c t 包是对c o n f i g u r e r e q u e s t 包的否定应答。 尽管c o n f i g u r e - n a k 和c o n f i g u r e r e j e c t 在状态机中引起相同的状态转换,但 这些包对发送于c o n f i g u r e r e q u e s t 包中的配置选项有着完全不同的影响。收到 c o n f i g u r e - n a k 包意味着对端认为本端的配置请求选项是可以协商的但对协商的 内容不同意,收到c o n f i g u r e r e j e c t 包意味着对端不允许协商本端的配置选项。 r e c e i v e - t e r m i n a t e r e q u e s t ( r t r ) :当收到一个t e r m i n a t e r e q u e s t 包时,该 事件发生。t e r m i n a t e - r e q u e s t 包表明希望对端去关闭连接。该事件于c l o s e 事件 不同,它需要考虑网管理者的o p e n 命令,必须准备接收新的没有网络管理者干 涉的c o n f i g u r e - r e q u e s t 。 r e c e i v e t e r r n i n a t e - a c kf r t a ) :当收到一个来自对端的t e r m i n a t e - a c k 包时, 该事件发生。t e r m i n a t e a c k 包通常是对t e r m i n a t e r e q u e s t 包的响应。 t e r m i n a t e a c k 包也可以表明对端正处于c l o s e d 或s t o p p e d 状态,适应于链路配 置的再同步。 r e c e i v e - u n k n o w n c o d e ( r u c ) :当收到一个来自对端的未知报文时,该事件 发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论