剖析PPPoE会话的过程

网络 网络管理
在拨号网络中,也就是ADSL的工作流程中,PPPoE会话的建立有着至关重要的作用。现在就让我们来了解一下这个过程吧。

在ADSL拨号的过程中,PPPoE协议有非常大的作用。那么具体的拨号过程,以及PPPoE的工作过程,就让我们从下文来了解一下吧。看看具体的会话过程是如何完成的。

主机网卡设置

以太网适配器 本地连接:

连接特定的 DNS 后缀 . . . . . . . :

描述. . . . . . . . . . . . . . . : Realtek RTL8101 Family PCI-E Fast Ethernet NIC (NDIS 6.0)

物理地址. . . . . . . . . . . . . : 00-03-25-4A-84-F0

DHCP 已启用 . . . . . . . . . . . : 是

自动配置已启用. . . . . . . . . . : 是

自动配置 IPv4 地址 . . . . . . . : 169.254.7.223(首选)

子网掩码 . . . . . . . . . . . . : 255.255.0.0

默认网关. . . . . . . . . . . . . :

TCPIP 上的 NetBIOS . . . . . . . : 已启用

1. 主机发出PPPoED广播,进行PPPoE Active Discovery Initiation(PADI),向接入设备提出所要求的服务.以太网目的地址为广播地址0xffffffff, CODE 字段为0x09, SESSION_ID为0x0000.PADI包必须至少包含一个服务名称类型(Service-Name)的标签(标签类型字段为0x0101).

2. 接入设备收到在服务范围内的PADI包后,发送PPPoE有效发现提供(PPPoE Active Discovery Offer, PADO) 包以响应请求.其CODE字段为0x07 ,SESSION_ID仍为0x0000.PADO包必须包含一个接入设备名称类型(AC-Name)的标签(标签类型字段为0x0102)以及一个或多个服务名称类型标签,表明可向用户主机提供的服务种类.

3. 用户主机在可能收到的多个PADO包中选择一个合适的接入设备,选择的原则是根据PADO 中接入设备名称类型标签和服务名称类型标签的内容.然后向所选择的接入设备发送PPPoE有效发现请求(PPPoE Active Discovery Request, PADR)包.其CODE 字段为0x19,SESSION_ID仍为0x0000.PADR包必须包一个服务名称类型标签,确定向接入设备请求的服务种类.当一个用户主机在确定时间没有收到PADO,他会重发一个PADI,同时等待两倍的时间.这种过程可以根据需要重复多次.

4. 接入设备收到PADR包后准备开始PPP会话,它发送一个PPPoE 有效发现会话确认(PPPoE Active Discovery Session-confirmation, PADS)包.其CODE 字段为0x65 , SESSION_ID为接入设备所产生的一个唯一的PPPoE会话标识号码.0xffff作为预留资源,目前不能被使用作SESSION_ID.PADS 包也必须包含一个服务名称类型的标签确认向用户主机提供的服务.当用户主机收到PADS包确认后,双方就进入PPP会话阶段.如果接入设备不能识别 PADR中的服务名称类型的标签,则会回一个包含服务名称错误( Service-Name-Error ) 标签的PADS ,其SESSION_ID仍然是0x0000.如果用户主机在确定时间没收到PADS包,与没收到PADO作同样处理.

5. 用户主机——>接入设备发送PPP LC configuration request,接入设备返回PPP LC configuration ACK或者PPP LC configuration reject.

6. 接入设备发送PPP——>用户主机发送PPP LC configuration request,主机回复PPP LC configuration ACK和PPP LC Identification.

7. 用户主机——>接入设备发送PPP PAP认证信息,包括用户名、密码,都是明文传送.接入设备进行认证确定.

8. 用户主机与接入设备进行其他协商.

网卡IP本来是自动获取的,我给他指定了固定IP:192.168.1.100,拨号拨不通,错误代码735,后恢复dhcp,仍然拨不通.将原宽带连接删除,新建宽带连接,重新拨号拨通.

责任编辑:佟健 来源: 互联网
相关推荐

2010-09-07 15:56:37

PPPoE会话

2010-09-16 14:13:07

2010-09-07 14:30:20

Linux PPPoE

2010-07-20 10:57:02

Telnet会话

2010-09-07 14:36:43

架设PPPOE服务器

2009-12-29 10:43:31

PPPOE协议

2009-06-23 08:51:41

scriptLinux会话过程

2011-08-08 15:23:06

PPPOE

2010-07-02 11:59:00

2010-09-07 13:18:49

ROS构建PPPOE服

2009-12-08 17:56:16

WCF配置

2011-10-10 16:44:37

分页数据库

2009-09-17 15:22:38

LINQ to SQL

2010-08-16 13:03:37

IP路由选择

2010-09-16 14:43:46

2010-09-07 15:20:46

pppoe serve

2010-05-05 09:18:53

Oracle创建存储过

2011-08-08 14:44:11

2009-12-03 10:00:46

Linux系统启动

2010-02-26 10:24:43

Python源代码
点赞
收藏

51CTO技术栈公众号