pppoe协议

PPP概念

PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

PPP链路建立过程

PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。PPP协议包含这样几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP (Network Control Protocol);认证协议,最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。

LCP负责创建,维护或终止一次物理连接。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。下面介绍PPP链路建立的过程:

PPP链路状态机如图1所示。一个典型的链路建立过程分为三个阶段:创建阶段、认证阶段和网络协商阶段。

阶段1:创建PPP链路

LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP

向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。

阶段2:用户验证

在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方

式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。认证方式介绍在第三部分中介绍。

阶段3:调用网络层协议

认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。这样,经过三个阶段以后,一条完整的PPP链路就建立起来了。

认证方式

1 口令验证协议(PAP)

PAP是一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。

2 挑战-握手验证协议(CHAP)

CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。

CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。

PPP协议的应用

PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。

家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。目前,宽带接入正在成为取代拨号上网的趋势,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。典型的应用是在ADSL(非对称数据用户环线,Asymmetrical Digital Subscriber Loop)接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over

Ethernet),PPPoA(PPP over ATM)。

利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。PPPoE即保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。

同样,在ATM(异步传输模式,Asynchronous Transfer Mode)网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同;不同的是它是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准。

PPP协议的简单完整使它得到了广泛的应用,相信在未来的网络技术发展中,它还可以发挥更大的作用。

4.3.1 PPPoE协议简介

PPPoE是一种在以太网上进行PPP点对点拨号连接的协议。因为以太网属于专网,网络是直接连接的,不用拨号,所以物理层上的连接是没有问题的。但为了确保连接安全,并且只允许合法用户连接,所以采取了类似电话拨号方式的身份验证,此时所拨的不是电话号码,而是用户的账户,属于数据链路层的协议。

PPPoE虽然是目前应用最广的一种ADSL网络协议,但它不是随着ADSL技术的出现而出现的,它是在1998年才开发出来的,主要目的是为了解决公网IP地址不足的问题。所谓虚拟拨号是指用ADSL接入Internet时同样需要输入用户名与密码才能进行连接,与传统的模拟电话线路+MODEM、数字电话线路+ISDN Ta的接入方式不同,ADSL不是对具体的电话号码进行拨号,而是直接在局端以太网上进行身份验证。因为事实上在没有拨号前物理网络是连通的,只是通过相应账户的身份验证登录网络系统,所以称之为―虚拟拨号‖。

PPPoE技术最早是由Redback 网络公司、客户端软件开发商RouterWare公司以及Worldcom子公司―UUNET Technologies‖公司,于1998年后期在IETF RFC基础上联合开发的。通过把最经济的以太局域网和点对点协议的可扩展性和管理控制功能结合在一起,网络服务提供商和电信运营商便可利用可靠、熟悉的技术来加速部署高速互联网业务。它使服务提供商在通过DSL、Cable MODEM或WLAN(无线局域网)等方式,提供支持多用户的宽带接入服务时更加简便易行。而在以前,在传统的以太网模型中,我们是不存在所谓的用户计费的概念,要么用户能获取IP 地址上网,要么用户就无法上网。IETF 的工程师们在秉承窄带拨号上网的运营思路的基础上,制定出了在以太网上传送PPP 数据包的协议——PPPoE。这个协议出台后,各网络设备制造商也相继推出自己品牌的宽带接入服务器(BAS),使得PPPoE这种灵活的ADSL接入方式迅速得到了广泛应用。

PPPoE利用以太网络的工作机制,将ADSL MODEM的10Base-T接口(因为目前ADSL 的最高接入速率在10Mbps以内,无须更高速率端口)与内部以太网互联。ADSL的这种接入方式在RFC1483文档中规定。在ADSL MODEM中采用的桥接封装方式对终端发出的PPP

PPPoE分组中的版本(VER)字段和类型(TYPE)字段长度均为4比特,在当前版本PPPoE 建议中这两个字段值都固定为0x1。代码(CODE)字段长度为8比特,根据两阶段中各种数据包的不同功能而值不同。在PPP会话阶段CODE字段值为0x00,发现阶段中的各步骤中的各种数据分组格式参见前面的介绍。版本标识号码(SESSION_ID)字段长度为16比特,在一个给定的PPP会话过程中它的值是固定不变的,其中值0×ffffff为保留值。长度(LENGTH)字段为16比特,指示PPPoE净荷长度。发现阶段PPPoE载荷可以为空或由多个标记(TAG)组成,每个标记都是TLV(类型–长度–值)的结构;PPP会话阶段PPPoE 载荷为标准的点对点协议包。

4.3.4 PPPoE的优点与缺点

与其他任何技术一样,PPPoE协议也有它自身的优、缺点,关键是主要表现在哪个方向上。当然,PPPoE协议之所以能得到如此广泛的应用,它的优点还是主要的,下面分别予以介绍。1.PPPoE协议的主要优点

PPPoE协议的优点主要表现在以下几个方面。

安全性高

在PPPoE会话中,采用对每个进程的PAP(Password Authentication Protocol,密码验证协议)或CHAP(Challenge-Handshake Authentication Protocol,挑战握手验证协议)的应用,克服了桥接机制中常见的安全漏洞。

付费方式灵活

PPPoE可针对每个连接进程进行计费,NSP(网络服务提供商)或NAP(网络接入提供商)可按进程的时间长短来收费,也可以收取一个最小接入费用。

支持的CPE广泛

在PPPoE协议会话中,对于不能运行PPPoA的CPE(客户端前置设备),或不能支持PPP 的CPE,该方式将丝毫不受影响,因为它采用的是基于桥接的PPP协议。

支持多进程

PPPoE协议可以在同一时间让一个PC接入到多个目的地,即每条PVC上可以有多个进程。用户身份认证方式灵活

NSP可以对每个用户采用标准的RADIUS协议进行控制,比如设置空闲或超时等属性。

配置简单

PPPoE协议拨号方式的客户端配置非常简单,用户处的DSL调制解调器可无须任何特殊配置。

兼容性好

PPPoE协议兼容目前所有的DSL MODEM和DSLAM(数字用户环路接入复用器)。2.PPPoE协议的主要缺点

PPPoE协议的缺点表现在以下两个方面。

必须安装专有的PPPoE客户端软件。

存在一定的安全隐患。

由于PPPoE采用RFC 1483桥接方式,所以比较容易产生广播风暴,也易遭受DoS攻击。但是由于一般每个CPE 设备只设置有一个PVC到达BRAS(宽带接入服务器)设备,而BRAS方又常采用RBE(Routed Bridged Encapsulation,路由桥接封装)机制,从而有效地克服了这个弱点。

总的来说,PPPoE协议在ADSL中非常实用,实际组网方式也很简单,对CPE的要求很简单,大大降低了网络的复杂程度,是目前应用最为普遍的家庭用户的接入模式。

相关主题
相关文档
最新文档