2024年3月31日发(作者:)
实验 PPPoE拨号实验
1实验目的
1、通过实验,理解链路层协议的作用。
2、理解PPP协议的工作原理。
2 实验环境
1、VMware中一台XP虚拟机作为拨号客户机。另一台(XP/Windows Server 2003)作为
ISP服务器端。
2、PPPoE协议软件包模拟ISP服务器。
3、WireShark协议分析软件。
3 实验原理
点对点协议(Point-to-Point Protocol,PPP)是因特网上广泛使用的数据链路层协议,用
于点对点的链路。它用于通过电话线拨号接入因特网的线路,同时在路由器与路由器连接的
线路上也大量使用PPP协议。典型的ADSL中,使用的是由PPP与其他的协议共同派生出符
合宽带接入要求的新的协议PPPoE。
PPP协议给出了在串行链路上封装数据报的方法,同时还包括了链路控制协议(Link
Control Protocol,LCP)和一组网络控制协议(Network Control Protocol,NCP)。LCP用来建
立、配置和测试数据链路,NCP用来建立两端网络层的连接,协商网络层的选项和传递网络
层数据。
1、PPP帧格式
PPP协议的帧格式如图1所示。
标志字段
01111110
字节1
地址字段
11111111
1
控制字段
11000000
1
协议
2
数据
可变
FCS
2
标志字段
01111110
1
图1 PPP帧格式
PPP帧内可以封装多个协议的数据包,每个协议都有一个编号。当封装某个协议的数据
包时,协议字段就填写这个协议的编号。PPP帧封装的各个协议如图2所示。
PPP帧
标志字段
01111110
地址字段
11111111
控制字段
11000000
协议数据FCS
标志字段
01111110
LCP协议
PAP协议
C021
16
C023
16
C223
16
8021
16
0021
16
LCP包
PAP包
CHAP协议
IPCP协议
IP协议
CHAP包
IPCP包
IP包
图2 PPP帧封装的各个协议
2、LCP
数据链路的建立、配置、维护和终止都是由链路控制协议(Link Control Protocol,LCP)
来完成的。LCP包封装在PPP帧的数据字段中。如图3所示。
标志字段
01111110
地址字段
11111111
控制字段
11000000
协议
C021
16
标志字段
01111110
LCP包FCS
编码
字节1
标识
1
长度
2
LCP数据
可变
图3 LCP包格式
编码字段占1字节,用来说明LCP包的类型。一些常用的LCP包类型的编码如表1所示。
编码
01
16
02
16
03
16
04
16
05
16
06
16
LCP包类型
Configure-request
Configure-ack
Configure-nak
Configure-reject
Terminate-request
Terminate-ack
含义
提出链路配置的选项和特定的值
接受对方提出的选项
不接受某些选项
不识别某些选项
请求关闭连接
接受关闭连接
表1 LCP包类型的编码
3、认证协议
PPP常用的身份认证协议有口令认证协议(Password Authentication Protocol,PAP)和
挑战握手协议(Challenge-Handshake Authentication Protocol,CHAP)。
(1)PAP
PAP协议非常简单,用户向系统发送用户名和口令,系统验证用户名和口令,如果正确
就接受连接,否则就拒绝连接。
(2)CHAP
CHAP协议对PAP协议作了改进,不直接发送用户的密码。CHAP的包的格式如图4所示。
标志字段
01111110
地址字段
11111111
控制字段
11000000
协议
C223
16
标志字段
01111110
CHAP包FCS
编码
字节1
标识
1
长度
2
数据
可变
图4 CHAP包的格式
编码字段用来说明CHAP包的类型。CHAP包的类型和编码如表2所示。
编码
01
16
02
16
03
16
04
16
CHAP包类型
Challenge
Response
Success
Failure
含义
系统向用户发出查问值
用户向系统返回计算结果和用户名
认证通过,允许访问
认证未通过,禁止访问
表2 CHAP包的类型和编码
CHAP的工作过程如下:
第一步,系统首先向用户发送一个CHAP包,包中编码字段的值为1,表示Challenge,
数据部分包含一个随机数,这个随机数称为查问值。
第二步,用户收到后,使用事先定义好的函数作用于查问值和自己的口令,生成一个值,
将这个值和用户名放入CHAP包发给系统。在这个CHAP包中,编码字段的值为2,表示
Response。
第三步,系统收到用户的Response后,根据其中的用户名查到对应的口令,用同一个
函数对查到的口令和查问值进行运算,如果计算结果与用户Response包中的值相同,说明
是合法用户,并且口令正确。那么就给用户发送CHAP包,编码值设为3,表示Success,通
过认证;否则发送的CHAP包中编码值设为4,表示Failure,未通过认证。
(4)NCP
PPP使用网络控制协议(NCP)来建立两端网络层的连接,协商网络层的选项和传递网
络层数据。NCP不是一个协议,而是一组协议,包括IPCP、CCP、Comp等。
(5)PPP协议的工作过程
PPP协议的工作过程如图5所示。
用户ISP
LCP( Configure-request)
建立数据
链路
LCP( Configure-ack)
PAP( Authenticate-request)
认证
PAP( Authenticate-ack)
IPCP( Configure-request)
协商网络层参数
申请IP地址
IPCP( Configure-ack)
IP
发送、接
收IP数据
IP
IPCP( Terminate-request)
终止网络
层活动
IPCP( Terminate-ack)
LCP( Terminate-request)
终止数据
链路
LCP( Terminate-ack)
图5 PPP协议的工作过程示意图
4 实验任务
通过虚拟机完成PPPoE拨号实验,观察PPP协议的工作过程。
任务1:在拨号服务器上安装PPPoE并创建ISP账户
任务2:在客户机上进行拨号实验
任务3:用WireShark抓包分析PPP协议的工作过程
5 实验步骤
任务1在服务器上安装PPPoE协议
1、右击鼠标桌面上的“网上邻居”,选择“属性”,在“本地连接”上单击鼠标右键,
选择“属性”,在“本地连接属性”对话框中单击“安装”,出现“选择网络组件类型”对话
框,选中“协议”,添加PPPoE协议。如图6所示。
图6 安装PPPoE协议示意图
2、默认情况下,系统中并没有PPPoE协议,需要从网络下载(推荐下载地址:
)。这里我们已经下载了一份,直接选择“从磁盘安装”,选择“浏
览”,找到已经下载的PPPoE文件下的存放路径,选择“WINPPPOE”,安装PPPoE协议。如
图7所示。不用理会系统警告提示,继续安装。安装成功后在“本地连接属性”中将增加了
“PPP over Ethernet Protocol”项。如图8所示。
图7 安装PPPoE示意图
图8 添加PPPoE成功后的画面
3、协议安装成功后,右击打开“网上邻居”,通过“新建连接向导”,选择“设置高级
连接”,选择“接收传入的连接”,选择连接的网卡,选择“不允许虚拟专用连接”,进入拨
号用户的设置,如图9所示。
图9 设置ISP允许拨号的帐户
4、通过“添加”按钮,创建拨号新用户“Myppp”,并设置密码。如图10所示。完成
后单击“下一步”,直至账户创建完成。
图10 在ISP服务器上创建拨号用户帐号
任务2 在客户机上进行拨号连接
1、右击 “网上邻居”->“属性”,在“网络连接”中“创建一个新的连接”->“下一
步”,选择“连接到Internet”,选择“手动设置我的连接”,单击“下一步”,选择“用要求
用户名和密码的宽带连接来连接”,单击“下一步”,输入“ISP名称”,这个名称是用于显示
ISP的,可以随意输入。接下来需要输入在宿主机上创建的账户名称和密码,如图11所示。
其它使用默认选项。
图11 输入在ISP服务器上创建的拨入帐户名和密码
2、完成后,单击下一步完成连接的创建。接下来,可以进行拨号。如图12所示。
图12 拨号连接示意图
3、正常情况下应该会出现拨号成功的画面。如图13所示,是拨号成功后客户端XP的
情况。图14是ISP服务器端的画面。
图13 客户端拨号成功画面
图14 服务器端显示拨号接入的画面
任务3 用WireShark抓包分析PPP协议的工作过程
1、设置WireShark(如果没有安装,需要自己安装该软件包),用于捕捉PPP连接的数
据包,如图15所示。
图15 设置WireShark捕捉PPP数据包
2、从客户端重新开始拨号,捕捉网络上的PPP数据包。完成后停止捕捉。如图16所
示。
图14 捕捉PPP数据包
3、根据捕捉到的数据包,分析PPP协议的工作过程:
第一步, ;
第二步, ;
第三步, ;
第四步: ;
第五步: ;
第六步: 。
6 实验总结
简述PPP协议的工作过程。


发布评论