资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1.PPP 协议规范一、介绍:PPP 是为在同等单元之间传输数据包这样的简单的链路而设计的。这种链路提供全双工操作,并按照顺序传递数据包。 (人们)有意让 PPP 为基于各种主机、网桥和路由器的简单连接提供一种共通的解决方案。二、封装:PPP 封装提供了不同网络层协议同时通过统一链路的多路技术。精心的设计 PPP 封装,使其保有对常用支持硬件的兼容性。当使用默认的类 HDLC 帧(HDLC-likeframing )时,仅需要 8 个额外的字节,就可以形成封装。在带宽需要付费时,封装和帧可以减少到 2 或 4个字节。为了支持高速的执行,默认的封装只使用简单的字段,多路分解只需要对其中的一个字段进行检验。默认的头和信息字段落在 32-bit 边界上,尾字节可以被填补到任意的边界。2.PPP 链路操作一、概述为了通过点对点链路建立通信,PPP 链路的每一端,必须首先发送 LCPpackets 以便设定和测试数据链路。在链路建立之后,peer 才可以被认证。然后, PPP 必须发送 NCPpackets 以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的 datagrams 就能在连路上发送了。链路将保持通信设定不变,直到外在的 LCP 和 NCP 关闭链路,或者是发生一些外部事件的时候(休止状态的定时器期满或者网络管理员干涉) 。二、阶段划分框图在设定、维持和终止点对点链路的过程里,PPP 链路经过几个清楚的阶段,如框图所示。这张图并没有给出所有的状态转换。三、链路死亡(物理连接不存在)链路一定开始并结束于这个阶段。当一个外部事件(例如载波侦听或网络管理员设定)指出物理层已经准备就绪时,PPP 将进入链路建立阶段。在这个阶段, LCP 自动机器将处于初始状态,向链路建立阶段的转换将给 LCP 自动机器一个 UP 事件信号。执行记录:典型的,在与调制解调器断开之后,链路将自动返回这一阶段。在用硬件实现的链路里,这一阶段相当的短-仅够侦测设备的存在。四、链路建立阶段LCP 用于交换配置信息包(Configurepackets ) ,建立连接。一旦一个配置成功信息包(Configure-Ackpacket)被发送且被接收,就完成了交换,进入了 LCP 开启状态。所有的配置选项都假定使用默认值,除非被配置交换所改变。有一点要注意:只有不依赖于特别的网络层协议的配置选项才倍 LCP 配置。在网络层协议阶段,个别的网络层协议的配置由个别的网络控制协议(NCP)来处理。在这个阶段接收的任何非 LCPpackets 必须被silentlydiscarded(静静的丢弃) 。收到 LCPConfigure-Request(LCP 配置要求)能使链路从网络层协议阶段或者认证阶段返回到链路建立阶段。五、认证阶段在一些链路上,在允许网络层协议 packets 交换之前,链路的一端可能需要 peer 去认证它。默认的,认证是不需要强制执行的。如果一次执行希望 peer 根据某一特定的认证协议来认证,那么它必须在链路建立阶段要求使用那个认证协议。应该尽可能在链路建立后立即进行认证。而,链路质量检查可以同时发生。在一次执行中,禁止因为交换链路质量检查packets 而不确定地将认证向后推迟这一做法。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的 packets 是被允许的。在该阶段里接收到的其他的 packets 必须被静静的丢弃。执行记录:一次执行中,仅仅是因为超时或者没有应答就造成认证的失败是不应该的。认证应该允许某种再传输,只有在若干次的认证尝试失败以后,不得已的时候,才进入链路终止阶段。在执行中,哪一方拒绝了另一方的认证,哪一方就要负责开始链路终止阶段。六、网络层协议阶段一旦 PPP 完成了前面的阶段,每一个网络层协议(例如 IP,IPX ,或 AppleTalk)必须被适当的网络控制协议(NCP)分别设定。每个 NCP 可以随时被打开和关闭。执行记录:因为一次执行最初可能需要大力浪的时间用于链路质量检测,所以当等待 peer 设定 NCP的时候,执行应该避免使用固定的 timeouts。当一个 NCP 处于 Opened 状态时,PPP 将携带相应的网络层协议 packets。当相应的 NCP 不处于 Opened 状态时,任何接收到的被支持的网络层协议 packets 都将被静静的丢弃。执行记录:当 LCP 处于 Opened 状态时,任何不被该执行所支持的协议 packets 必须在 Protocol-Reject里返回。只有支持的协议才被静静的丢弃。在这个阶段,链路通信量由 LCP,NCP ,和网络层协议 packets 的任意可能的联合组成。七、链路终止阶段PPP 可以在任意时间终止链路。引起链路终止的原因很多:载波丢失、认证失败、链路质量失败、空闲周期定时器期满、或者管理员关闭链路。LCP 用交换 Terminate(终止)packets 的方法终止链路。当链路正被关闭时,PPP 通知网络层协议,以便他们可以采取正确的行动。交换 Terminate(终止)packets 之后,执行应该通知物理层断开,以便强制链路终止,尤其当认证失败时。Terminate-Request(终止 -要求)的发送者,在收到Terminate-Ack(终止- 允许)后,或者在重启计数器期满后,应该断开连接。收到Terminate-Request 的一方,应该等待 peer 去切断,在发出 Terminate-Request 后,至少也要经过一个 Restarttime(重启时间) ,才允许断开。PPP 应该前进到链路死亡阶段。在该阶段收到的任何非 LCPpackets,必须被静静的丢弃。执行记录:LCP 关闭链路就足够了,不需要每一个 NCP 发送一个 Terminatepackets。相反,一个 NCP关闭却不足以引起 PPP 链路的终止,即使那个 NCP 是当前唯一一个处于 Opened 状态的NCP。3. PPPOE 协议简介modem 接入技术面临一些相互矛盾的目标,既要通过同一个用户前置接入设备连接远程的多个用户主机,又要提供类似拨号一样的接入控制,计费等功能,而且要尽可能地减少用户的配置操作。PPPOE 的目标就是解决上述问题,1998 年后期问世的以太网上点对点协议(PPPoverEthernet)技术是由 Redback 网络公司、客户端软件开发商 RouterWare 公司以及Worldcom 子公司 UUNETTechnologies 公司在 IETFRFC 的基础上联合开发的。通过把最经济的局域网技术以太网和点对点协议的可扩展性及管理控制功能结合在一起,网络服务提供商和电信运营商便可利用可靠和熟悉的技术来加速部署高速互联网业务。它使服务提供商在通过数字用户线、电缆调制解调器或无线连接等方式,提供支持多用户的宽带接入服务时更加简便易行。同时该技术亦简化了最终用户在选择这些服务时的配置操作。PPPOE 特点PPPOE 在标准 PPP 报文的前面加上以太网的报头,使得 PPPOE 提供通过简单桥接接入设备连接远端接入设备,并可以利用以太网的共享性连接多个用户主机,在这个模型下,每个用户主机利用自身的 ppp 堆栈,用户使用熟悉的界面。接入控制,计费等都可以针对每个用户来进行。PPPOE 的优点:.安裝与操作方式类似于以往的拨号网络模式,方便用戶使用。.用户处的 XDSL 调制解调器无须任何配置。.允许多个用户共享一个高速数据接入链路。.适应小型企业和远程办公的要求。.终端用户可同时接入多个 ISP,这种动态服务选择的功能可以使ISP 容易创建和提供新的业务。.兼容现有所有的 XDSLModem 和 DSLAM。.可与 ISP 有接入结构相融合。PPPOE 的帧格式 参数取值 ETHER_TYPE: 0x8863 Discovery Stage 0x8864 PPP Session Stage CODE: 0x00 PPP Session Stage 0x09 PPPOE Active Discovery Initiation (PADI) packet 0x07 PPPOE Active Discovery Offer (PADO) packet 0x19 PPPOE Active Discovery Request (PADR) packet 0x65 PPPOE Active Discovery Session-confirmation (PADS) packet 0xa7 PPPOE Active Discovery Terminate (PADT) packet TAG_TYPES:0x0000 End-Of-List0x0101 Service-Name0x0102 AC-Name0x0103 Host-Uniq0x0104 AC-Cookie0x0105 Vendor-Specific0x0110 Relay-Session-Id0x0201 Service-Name-Error0x0202 AC-System-Error0x0203 Generic-ErrorPPPOE 的实现过程建立一个以太网上点对点协议会话包括两个阶段:1. 发现(Discovery)阶段在 Discovery 过程中用户主机以广播方式寻找可以连接的所有接入设备,获得其以太网 MAC 地址。然后选择需要连接的用户主机并最后获得所要建立的 PPP 会话的SESSION_ID。在 Discovery 过程中节点间是客户端服务器关系, 一个用户主机(客户端)最终要发现一个接入设备(服务器) 。在网络拓朴中,一般有不止一个的接入设备可以通信,Discovery 阶段允许用户主机发现所有的接入设备,并从中选择一个。当 Discovery阶段结束时, 用户主机和接入设备之间都获得了可供以太网上建立 PPP 连接的全部信息。Discovery 阶段保持无连接状态直到一个 PPP 会话的建立。一旦 PPP 连接建立,则用户主机和接入设备都必须为 PPP 虚拟端口分配资源。PPP 会话阶段用户主机与在发现阶段确定的接入设备进行 PPP 协商。这个协商过程与标准的 PPP 协商并没有任何区别。在 PPP 会话阶段节点间是对等关系。发现(Discovery)阶段详述典型的发现(Discovery)阶段共包括 4 个步骤:1. 用户主机发出 PPPOE 有效发现初始(PADI)包。以太网目的地址为广播地址0xffffffff, CODE 字段为 0x09, SESSION_ID 为 0x0000。PADI 包必须至少包含一个服务名称类型(Service-Name)的标签(标签类型字段为 0x0101) , 向接入设备提出所要求提供的服务。一个完整的 PADI(包括 PPPOE 头)不能超过 1484 字节,以留下充足的预留给 agent 设备增加 Relay-Session-Id 标识。2. 接入设备收到在服务范围内的 PADI 包后,发送 PPPOE 有效发现提供(PADO ) 包以响应请求。其 CODE 字段为 0x07 ,SESSION_ID 仍为 0x0000。PADO 包必须包含一个接入设备名称类型(AC-Name )的标签(标签类型字段为 0x0102)以及一个或多个服务名称类型标签,表明可向用户主机提供的服务种类。3.用户主机在可能收到的多个 PADO 包中选择一个合适的接入设备,选择的原则是根据 PADO 中接入设备名称类型标签和服务名称类型标签的内容。然后向所选择的接入设备发送 PPPOE 有效发现请求(PADR)包。其 CODE 字段为 0x19,SESSION_ID 仍为0x0000。PADR 包必须包一个服务
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号