当用户和接入服务器之间的PPPOE建立之后,就可以在上面建立PPP会话。PPP会话的建立分为三个阶段:LCP协商、认证、IPCP协商。

  对于PPP终结和PPP续传,LCP协商阶段是相同的。认证和IPCP协商不同。


LCP协商

  LCP协商主要完成某些链路路特性和认证方式的协商,LCP协商成功后,用户根据协商的认证方式向接入服务器发起认证请求,用户认证的方式采用PAP或CHAP方式

PPP终结时的认证和IP地址分配

  PAP为两次握手认证,口令为明文。PAP认证过程如下:拨号用户发送用户名和口令到接入服务器,接入服务器通过RADIUS协议到RADIUS服务器上去查看是否有此用户,口令是否正确,然后发送相应的响应。
  CHAP为三次握手认证,口令为密文。CHAP拨号用户发送用户名到接入服务器,接入服务器发送一些随机产生的报文,交给被拨号用户,拨号用户用自己的口令用MD5算法进行加密,传回密文,接入服务器用从RADIUS服务器取得的用户口令及随机报文用MD5算法加密,比较二者的密文,根据比较结果返回认证成功或失败的响应。
  接入服务器和RADIUS服务器之间通过一个共享密钥以密文方式通信。
  在认证阶段,如果在用户数据库中为该用户名配置了IP地址,则RADIUS服务器将这个IP地址返回给接入服务器,作为这个用户上网使用的IP地址。
  如果用户在认证阶段还没有获得IP地址,就需要在IPCP阶段协商IP地址。一般来说,运营商为用户提供接入服务时,应该有一批IP地址,即IP地址池,用户上网所需要的IP地址就来自与此,当用户上网时,从IP地址池分配一个IP地址,当用户下网时,这个IP地址归还到地址池。在运营商开通接入服务时,将IP地址池配置到接入服务器中,在IPCP阶段,接入服务器从IP地址池分配一个空闲的IP地址给用户,作为用户上网的IP地址。如果已经没有可用的IP地址,则IPCP协商失败,关闭PPP连接,在用户看来,则是拨号失败,ISP暂时不能为他提供接入服务。

PPP续传时的认证和IP地址分配

  LCP协商结束后,如果经RADIUS服务器检查这是一个VPN用户,则接入服务器为这个用户建立到LNS的会话,如果没有隧道还要建立隧道。认证分为两种情况:一次认证和两次认证。
  一次认证是指只在LAC的RADIUS服务器上认证一次,LNS信任LAC的RADIUS服务器。用户的IP地址可以由LAC的RADIUS服务器指定,也可以由用户和LNS进行IPCP协商获得。
  两次认证是指用户需要输入两次用户名和口令,一个是接入Internet的权限验证,一个是进入VPN的权限验证。认证的时候需要LAC的RADIUS服务器和LNS的RADIUS服务器共同配合。IP地址的可以由LNS的RADIUS服务器指定,也可以由用户和LNS进行IPCP协商获得。

RADIUS协议扩展

  为实现对用户更全面的管理,在RADIUS协议中,至少应该扩展以下属性:用户的接入带宽、用户接入所使用的PVC,如果用户间希望互相通信,需要指明对方的用户名或IP地址。客户端和服务器端同时支持。