2008年9月16日星期二
pppoe拨号过程
闲来无事,借助ethereal研究了一下ADSL宽带拨号的过程
主机网卡设置
以太网适配器 本地连接:
连接特定的 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. 用户主机与接入设备进行其他协商。
标签: PPPoE
订阅 博文 [Atom]