PPPOE
本质上,它是一个允许在以太网广播域中的两个以太网接口间创建点对点隧道的协议。
PPPoE(英语:Point-to-Point Protocol Over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。
PPPoE发现
由于传统的PPP连接是创建在串行链路或拨号时创建的ATM虚电路连接上的,所有的PPP帧都可以确保通过电缆到达对端。但是以太网是多路访问的,每一个节点都可以相互访问。以太帧包含目的节点的物理地址(MAC地址),这使得该帧可以到达预期的目的节点。 因此,为了在以太网上创建连接而交换PPP控制报文之前,两个端点都必须知道对端的MAC地址,这样才可以在控制报文中携带MAC地址。PPPoE发现阶段做的就是这件事。除此之外,在此阶段还将创建一个会话ID,以供后面交换报文使用。
PPP会话
一旦连接的双方知道了对端的MAC地址,会话就创建了。
尽管传统的PPP是点对点协议,但是由于多个主机可以通过一个单独的物理连接连接到一个服务提供者,因此PPPoE本身就是一个客户端-服务器的关系。 发现过程包含四个步骤。主机作为客户端,ISP端的访问集中器作为服务器。这四步在下面详述。最后一步第五步是关闭一个现存会话的方法。 [2]
客户端到服务器
PADI为PPPoE Active Discovery Initiation的缩写。
如果一个用户想要使用DSL拨号连入Internet,那么他的计算机必须首先在其ISP的网络服务提供点(POP)找到DSL访问集中器(DSL-AC)。在以太网上通讯只能通过MAC地址。由于计算机不知道DSL-AC的MAC地址,于是就在以太网上广播一个PADI报文。这个报文中包含发送者的MAC地址。
如果一个用户想要使用DSL拨号连入Internet,那么他的计算机必须首先在其ISP的网络服务提供点(POP)找到DSL访问集中器(DSL-AC)。在以太网上通讯只能通过MAC地址。由于计算机不知道DSL-AC的MAC地址,于是就在以太网上广播一个PADI报文。这个报文中包含发送者的MAC地址。
PADI报文可能被一个以上的DSL-AC接收。 只有可以提供“服务名称”(Service-Name)的DSL-AC设备才应该回复。
服务器到客户端
PADO为PPPoE Active Discovery Offer的缩写。
一旦用户计算机发送了PADI报文,DSL-AC就会使用PADI中提供的MAC地址回复一个PADO报文。PADO报文中包含了DSL-AC的MAC地址、名称以及服务名。如果多于一个POP的DSL-AC回复了PADO报文,用户计算机就使用提供的名称和服务来从中选择一个。
一旦用户计算机发送了PADI报文,DSL-AC就会使用PADI中提供的MAC地址回复一个PADO报文。PADO报文中包含了DSL-AC的MAC地址、名称以及服务名。如果多于一个POP的DSL-AC回复了PADO报文,用户计算机就使用提供的名称和服务来从中选择一个。
客户端到服务器
PADR为PPPoE Active Discovery Request的缩写。
当用户计算机收到一个来自DSL-AC的可接受的PADO报文后,就会发送一个PADR报文给DSL-AC,用来确认接受发送PADO报文的DSL-AC所提供的PPPoE连接。
当用户计算机收到一个来自DSL-AC的可接受的PADO报文后,就会发送一个PADR报文给DSL-AC,用来确认接受发送PADO报文的DSL-AC所提供的PPPoE连接。
服务器到客户端
PADS为PPPoE Active Discovery Session-confirmation的缩写。
上面的PADR报文由DSL-AC的PADS报文进行确认,并在其中携带一个会话ID。用户计算机与此DSL-AC的连接现在就完整创建了。
上面的PADR报文由DSL-AC的PADS报文进行确认,并在其中携带一个会话ID。用户计算机与此DSL-AC的连接现在就完整创建了。
任何一方
PADT为PPPoE Active Discovery Termination的缩写。
这个报文终结用户计算机与POP的的连接,可由用户计算机或DSL-AC任意一方发送。
这个报文终结用户计算机与POP的的连接,可由用户计算机或DSL-AC任意一方发送。
PPP
点对点协议(PPP,Point-to-Point Protocol)主要是用来通过拨号或专线方式在两个网络节点之间建立连接、发送数据。PPP是各类型主机、网桥和路由器之间简单连接的一种解决方案。PPP协议在RFC1661中有详细的描述。 PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
协议概述
PPP作为数据链路层layer 2协议既支持用于同步链路连接,
PPP协议的帧格式
标志字段(1B)
|
地址字段(1B)
|
控制字段(1B)
|
协议(2B)
|
信息部分
|
FCS(2B)
|
标志字段(1B)
|
-
PPP的帧格式前3个字段(Flag、Address、Control)固定为:0x7E、0xFF和0x03。
-
协议字段:表示 Information 封装的协议包的类型(例如LCP、NCP和IP等)。
-
数据字段:包含PPP的净荷,数据的长度是经过协商确定,是可变长度的。
-
FCS字段为整个帧的循环冗余校验码,用来检测传输中可能出现的数据错误。
PPP特点
PPP相比于其他协议,具有以下特点:
-
PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址。
-
PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等。
-
PPP具有错误检测以及纠错能力,支持数据压缩。
-
PPP具有身份验证功能,互联的两台设备可以验证对方身份,加强了安全性。
-
PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。
PPP应用场景
PPP现在已经成为使用最广泛的Internet接入方式的数据链路层协议。PPP可以和ADSL、Cable Modem、LAN等技术结合起来完成各类型的宽带接入。我们家庭中使用最多的宽带接入方式就是PPPoE(PPP over Ethernet)。这是一种PPP利用以太网(Ethernet)资源,在以太网上运行PPP来对用户进行接入认证的技术,PPP负责在用户端和运营商的接入服务器之间建立通信链路。