关于PPPOE(http://ytxinwen.spaces.live.com/blog/cns!6b087aa5d182cbd9!105.entry)

Ethernet局域网虚拟拨号方式
PPPoE
全称是Point to Point Protocol over Ethernet(基于局域网的点对点通讯协议),这个协议是为了满足越来越多的宽带上网设备( 即 ADSL , 无线等 )和越来越快的网络之间的通讯而最新制定开发的标准,它基于两个广泛接受的标准即:局域网Ethernet和PPP点对点拨号协议。对于最终用户来说不需要用户了解比较深的局域网技术只需要当作普通拨号上网就可以了,对于服务商来说在现有局域网基础上不需要花费巨资来做大面积改造,设置IP地址绑定用户等来支持专线方式。这就使得PPPoE 在宽带接入服务中比其他协议更具有优势。因此逐渐成为宽带上网的最佳选择。 PPPoE的实质是以太网和拨号网络之间的一个中继协议,他继承了以太网的快速和PPP拨号的简单,用户验证,IP分配等优势。
在实际应用上,PPPoE利用以太网络的工作机理,将ADSL Modem的10BASE-T接口与内部以太网络互联,在ADSL Modem中采用RFC1483的桥接封装方式对终端发出的PPP包进行LLC/SNAP封装后,通过连结两端的PVC在ADSL Modem与网络侧的宽带接入服务器之间建立连接,实现PPP的动态接入。PPPoE接入利用在网络侧和ADSL Modem之间的一条PVC就可以完成以太网络上多用户的共同接入,实用方便,实际组网方式也很简单,大大降低了网络的复杂程度。
PPPOE具备了以上这些特点,所以成为了当前ADSL宽带接入的主流接入协议。

================
, 动态公网IP地址,PPPOE拨号
 PPPOE (基于以太网的 PPP)提供通过简单桥接接入设备连接远端接入设备的服务。在这个模型下,每个用户主机利用自身的 PPP 堆栈,用户使用熟悉的界面。接入控制,计费、服务类型等都可以针对每个用户来进行,而不是每个站点。
  为了提供以太网上的点到点连接,每一个 PPP 会话必须知道远程通信对方的以太网地址,并建立一个唯一的会话标识符。PPPoE 包含一个以太网地址发现协议来提供这个功能。

  PPPoE 分为两个阶段,即 Discovery 地址发现阶段和 PPP 会话阶段。当某个主机希望发起一个 PPPoE 会话时,它必须首先执行 Discovery 来确定对方的以太网 MAC 地址并建立起一个 PPPoE 会话标识符 SESSION_ID。虽然 PPP 定义的是端到端的对等关系,Discovery 却是天生的一种客户端-服务器关系。在 Discovery 的过程中,主机(作为客户端)发现某个访问集中器(Access Concentrator 作为服务器),根据网络的拓扑结构,可能主机能够跟不止一个的访问集中器通信 。Discovery 阶段允许主机发现所有的访问集中器并从中选择一个。当 Discovery 阶段成功完成之后,主机和访问集中器两者都具备了用于在以太网上建立点到点连接所需的所有信息。

  Discovery 阶段保持无状态 stateless 直到建立起一个 PPP 会话。一旦 PPP 会话建立,主机和访问集中器两者都必须为一个 PPP 虚拟接口分配资源。
 

 协议结构

  PPPoE 的以太网有效载荷显示如下: 

4
 8
 16
 32 bit
 
Ver
 Type
 Code
 Session-ID
 
Length
 Payload
 

VER ― PPPOE 版本。必须设置为 0x1。
TYPE ― 必须设置为 0x1。
CODE ― Discovery 和 PPP Session 阶段有定义。
SESSION_ID ― 无符号值。Discovery 数据包中有该字段定义。对于特定的 PPP Session 而言,该值为固定值。实际上,该字段定义了包括以太网 SOURCE_ADDR 和 DESTINATION_ADDR 的 PPP。0xffff 作为预留值,不作使用。
LENGTH ― 表示 PPPoE 有效载荷长。不包括以太网或 PPPoE 头的长度。 


PPPOE的技术介绍
1. PPP over Ethernet协议

1998年后期问世的以太网上点对点协议(PPP over Ethernet)技术是由Redback 网络公司、客户端软件开发商RouterWare公司以及Worldcom子公司UUNET Technologies公司在IETF RFC制的基础上联合开发的。通过把最经济的局域网技术 以太网和点对点协议的可扩展性及管理控制功能结合在一起,网络服务提供商和电信运营商便可利用可靠和熟悉的技术来加速部署高速互联网业务。它使服务提供商在通过数字用户线、电缆调制解调器或无线连接等方式,提供支持多用户的宽带接入服务时更加简便易行。同时该技术亦简化了最终用户在动态地选择这些服务时的操作。

2. PPP over Ethernet基本帧格式

建立一个以太网上点对点协议会话包括两个阶段:1. 发现(Discovery)阶段。在Discovery过程中用户主机以广播方式寻找可以连接的所有的接入集线器,并获得其以太网MAC地址。然后选择需要连接的主机并确定所要建立的PPP会话识别标号。2. PPP会话阶段。用户主机与接入集线器根据在发现阶段所协商的PPP会话连接参数进行PPP会话。因此对应于这两种过程,以太网上点对点协议帧格式(如图2)也包括两种类型:发现阶段的以太网帧中的类型字段为0x8863;PPP会话阶段的以太网帧中的类型字段为0x8864,它们均已得到IEEE的认可。PPPoE包中的版本(VER) 字段和类型(TYPE)字段长度均为4比特,在当前版本PPPoE建议中这两个字段值都固定为0x1。代码(CODE)字段长度为8比特,根据两阶段中各种数据包的不同功能而值不同。在PPP会话阶段CODE字段为0x00,发现阶段中的各种数据包格式将在下面详细介绍发现阶段时给出。版本标识号码(SESSION_ID)字段长度为16比特,在一个给定的PPP会话过程中它是固定不变的。值0xffffff为保留值。长度(LENGTH)字段为16比特长,指示PPPoE净荷长度。发现阶段PPPoE载荷可以为空或由多个标记(TAG)组成,每个标记都是TLV(类型-长度-值)的结构;PPP会话阶段PPPoE载荷为标准的点对点协议包。

3. 发现(Discovery)阶段的详细介绍

一个典型的发现(Discovery)阶段共包括4个步骤:1. 主机发出PPPoE有效发现启动(PADI)包。以太网目的地址为广播地址0xffffffffffff,CODE字段为0x09,SESSION_ID为0x0000。PADI包必须至少包含一个服务名称类型的标签(标签类型字段为0x0101),向接入集线器提出所要求提供的服务。2. 接入集线器收到在服务范围内的PADI包后,发送PPPoE有效发现提供(PADO)包以响应请求。其CODE字段为0x07 ,SESSION_ID仍为0x0000。PADO包必须包含一个接入集线器名称类型的标签(标签类型字段为0x0102)以及一个或多个服务名称类型标签,表明可向主机提供的服务种类。3. 主机在可能收到的多个PADO包中选择一个合适的,然后向所选择的接入集线器发送PPPoE有效发现请求(PADR)包。其CODE字段为0x19 ,SESSION_ID仍为0x0000。PADR包必须包一个服务名称类型标签,确定向接入集线器请求的服务种类。4. 接入集线器收到PADR包后准备开始PPP会话,它发送一个PPPoE有效发现会话确认(PADS)包。其CODE字段为0x65 ,SESSION_ID为接入集线器所产生的一个唯一的PPPoE会话标识号码。PADS包也必须包含一个接入集线器名称类型的标签确认向主机提供的服务。当主机收到PADS包确认后,双方就进入PPP会话阶段。

还有一种PPPoE有效发现终止(PADT)包,在一个PPP会话建立后它随时可由主机或接入集线器中任何一方发送,指示PPP会话已终止。PADT包不需要任何标签,其CODE字段为0xa7 ,SESSION_ID为需要终止的PPP会话的会话标识号码。

4. 以太网上点对点协议的优点


安裝与操作方式类似于以往的拨号网络模式,方便用戶使用。

用户处的xDSL调制解调器无须任何配置。

允许多个用户共享一个高速数据接入链路。适应小型企业和远程办公的要求。

终端用户可同时接入多个ISP,这种动态服务选择的功能可以使ISP容易创建和提供新的业务。

兼容现有所有的xDSL Modem 和DSLAM。

可与ISP現有接入结构相融合。

===========================================
=============================================  
Windows XP和宽带Internet连接

Windows XP内置了以太网上的点对点协议(Point-to-Point Protocol over Ethernet,PPPoE)的支持。因此,运行Windows XP操作系统的计算机可以连接到任何采用支持PPPoE宽带Internet连接访问设备的Internet 服务提供商。这种宽带Internet连接同时包含了电缆调制解调器和数字用户线路(Digital Subscriber Line,DSL)两种技术。配置Windows XP的PPPoE连接与通过“新建连接向导”创建一个新的连接一样简单。支持符合产业标准的PPPoE服务器功能性的Internet服务提供商将与Windows XP中提供的PPPoE客户程序一起实现宽带连接。
采用在桥接的以太网拓扑结构中部署的宽带Internet访问技术,如电缆调制解调器和DSL技术的Internet服务提供商(Internet service provider,ISP),需要寻求一种辨别个人用户的办法,从而可以记录Internet的使用情况并正确地将其划归个人用户帐下。由于一直以来以太网就是一种共享访问技术,所以并没有提供这类功能。通过点对点协议(Point-to-Point Protocol,PPP)和以太网的结合,ISP就可以在采用以太网拓扑结构的同时,如同使用拨号调制解调器一样维持用户的个性化访问。访问类型和选择服务的管理是建立在单用户的基础上,而不是单站点或单访问设备。因此,PPP和以太网的结合被称为太网上的点对点协议(Point-to-Point Protocol over Ethernet,PPPoE),并由Internet工程任务组织(Internet Engineering Task Force)在RFC(请求评论)2516中进行定义。

PPPoE的运作步骤如下:

PPPoE是一种以太网帧,其中包含的有效负荷是一个封装了PPPoE头的PPP帧;
在尝试连接到Internet时,PPPoE Discovery阶段对PPPoE会话的使用进行协商。 当PPPoE会话建立后,就开始进行PPP协商。同使用拨号调制解调器连接ISP的方法一样,用户可以建立一个PPP连接;
PPP会话的协商完成后,封装了PPPoE头的PPP帧被当作以太网帧发送出去。
PPPoE的要求如下:

ISP必须拥有可用作PPPoE服务器的访问设备。该支持可以发送和接收以太网帧,接收和协商PPPoE话路,以及接收和协商PPP连接;
Internet必须拥有一台在Internet连接中用作PPPoE客户机的计算机。该支持可以发送和接收以太网帧,开启和协商PPPoE话路,以及开启和协商PPP连接。

Windows XP 中的PPPoE支持

Windows® XP操作系统内置了PPPoE连接的客户程序支持。你可以使用“创建一个新的连接”的网络任务或“网络连接”文件夹中的“新建连接向导”,新建一个PPPoE连接。新建完成后,PPPoE连接将在“网络连接”文件夹中显示为“宽带连接”。通过PPPoE连接,你可以:
启用Internet连接共享,与家庭网络中的其它计算机共享PPPoE连接;
启用Internet连接防火墙,保护正在使用PPPoE连接的计算机免遭来自Internet的攻击;
将PPPoE连接作为双拨号虚拟专用网络(virtual private network,VPN)的一部分。在双拨号虚拟专用网络连接中,其中一个连接用于连接到Internet,而另一个则新建一个与公司内联网(如,雇主的网络)相连接的VPN连接。
配置PPPoE连接,通过Internet Explorer和其它Windows应用程序使用Internet。

如何配置Windows XP 中的PPPoE

按照下列步骤新建使用PPPoE 的宽带连接:
依次点击“开始”、“控制面板”、“网络和Internet连接”,然后点击“网络连接”;
在“网络任务”下,点击“新建一个连接”,然后点击“下一步”;
点击“连接到Internet”,然后点击“下一步”;
点击“手动安装我的连接”,然后点击“下一步”;
点击“使用要求输入用户名和密码的宽带连接进行连接”;
在“连接名”对话框中,输入ISP 名称。ISP 名将作为连接的名称。接着点击“下一步”;
在“Internet帐户信息”对话框中,输入用户名和密码。在复选框中,你可以指定是否让任何用户从这台计算机连接到Internet时使用该用户名和密码(默认选定),是否将其设为默认的Internet连接(默认选定),以及是否启用此连接的Internet连接防火墙(默认选定)。选定适当选项后,点击“下一步”;
在“正在完成新建连接向导”对话框中,查看所有设置。如需更改,随时点击“上一步”进行修改。如果所有的设置都确认无误,点击“完成”;
在“连接”对话框中,点击“连接”尝试连接。

我的ISP是否支持Windows XP?

有个常见的问题是关于你的ISP是否支持Windows XP中基于PPPoE的宽带Internet连接。简单的回答是:
只要你的ISP支持兼容RFC 2516的 PPPoE,就可以支持Windows XP中的PPPoE。
Windows XP中的PPPoE客户程序是基于IETF RFC 2516所描述的产业标准,需要和基于IETF RFC 2516产业标准的用作PPPoE服务器的ISP访问硬件配合使用。

Windows XP PPPoE支持的相关问题

以下是关于Windows XP PPPoE支持的一些问题。
PPPoE服务名
使用Windows XP中的PPPoE支持,用户不需要配置PPPoE服务名。PPPoE服务名可以是ISP的名称,也可以是PPPoE服务器上配置的一类服务。在PPPoE连接属性中,没有提供获取服务名的功能。

Windows XP PPPoE连接的默认服务名显示为空白。当你点击“连接”新建一个PPPoE连接时,Windows XP就会尝试使用空白服务名进行连接。如果没有访问设备正在使用空白服务名,Windows XP将使用第一个响应首次连接尝试的访问设备的服务名,再次尝试连接。因此,Windows XP是在连接尝试的过程中获得服务名的。这样做,仅需要提供最简单的配置并适用于多数用户。如果要求使用指定的服务名,可以在PPPoE连接属性的“常规”选项卡中进行设置。

最大传输单位
在连接属性中,你无法设置PPPoE连接的最大传输单位“maximum transmission unit,MTU”。 默认情况下,Windows XP PPPoE连接支持的最大IP传输单位为1480个字节。额外的20个字节由PPPoE头(占用6个字节)、可能的最大的外部PPP头(占用4个字节)、可能的最大的多链接PPP头(占用4个字节)、可能的最大的用于压缩和加密的PPP头(占用4个字节)、及用于识别实际发送的信息包的PPP头(占用2个字节)组成。

不要在PPP身份验证中使用密码身份验证协议
强烈推荐ISP不要在PPP身份验证中使用密码身份验证协议(Password Authentication Protocol,PAP)。当PAP作为PPP 身份验证协议时,Internet用户的名称和密码会以明文的形式发送到网络上。连接到访问设备所在网络段的计算机可以捕捉到这些信息包,并能轻易地确定连接用户的用户名和密码。

Windows XP的PPPoE连接支持PAP身份验证,而且默认允许使用非安全密码。Windows XP的PPPoE连接将尝试在提供PAP身份验证前使用安全密码身份验证协议,如Microsoft竞争握手确认协议第二版(Challenge Handshake Authentication Protocol version 2,MS-CHAP v2)、Microsoft竞争握手确认协议(Challenge Handshake Authentication Protocol,MS-CHAP)、竞争握手确认协议(Challenge Handshake Authentication Protocol,CHAP)和 Shiva密码身份验证协议(Shiva Password Authentication Protocol,SPAP)。

Microsoft建议你使用MS-CHAP v2、MS-CHAP或CHAP作为身份验证协议。如果你的ISP支持这些安全密码身份验证协议中的一个,而同时你又要确保自己的PAP和SPAP未被使用过,就可以在PPPoE连接属性的“安全”选项卡中,选中“按照下列要求验证我的身份”下方的“要求使用安全密码”选项,使用典型的安全设置。

第三方PPPoE产品的相关问题
Microsoft Windows操作系统,如Windows 95、Windows 98和Windows Millennium Edition中的PPPoE支持是由第三方厂商提供的。你可以不必使用Windows XP 提供的PPPoE支持,但是,如果你要在Windows XP中使用第三方PPPoE组件,请咨询相关的PPPoE厂商以确认你所安装的产品是否已更新为可支持Windows XP的版本。已知WinPoET 2.1a或更早的版本、Enternet 300 1.34或更早的版本以及RASPPPoE都存在兼容性的问题。如果还没有第三方组件的升级版本,你可以使用Windows XP中的PPPoE客户程序作为暂时的解决办法,来实现Internet的连接。


总结

目前,Windows XP中提供了PPPoE支持,而且相关的配置非常容易设置。只要你的ISP支持符合RFC 2516-compliant标准的基于PPPoE的宽带连接,就可以支持Windows XP。

posted @ 2007-06-05 10:31  jambol  阅读(1307)  评论(0编辑  收藏  举报