当用户和接入服务器之间的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地址。客户端和服务器端同时支持。
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05