PPPoE

✍ dations ◷ 2025-04-03 16:40:02 #逻辑链路控制,网络协议,穿隧协议

PPPoE(英语:Point-to-Point Protocol over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。由于协议中集成PPP协议,所以实现出传统以太网不能提供的身份验证、加密以及压缩等功能,也可用于缆线调制解调器(cable modem)和数位用户线路(DSL)等以以太网协议向用户提供接入服务的协议体系。本质上,它是一个允许在以太网广播域中的两个以太网接口间创建点对点隧道的协议。

以Linux系统常用的pppd为例,支持PPP接口上面的IP、IPv6和IPX网络层协议。

它使用传统的基于PPP的软件来管理一个不是使用串行线路而是使用类似于以太网的有向分组网络的连接。这种有登陆和口令的标准连接,方便了接入供应商的记费。并且,连接的另一端仅当PPPoE连接接通时才分配IP地址,所以允许IP地址的动态复用。

PPPoE是由UUNET、Redback Networks和RouterWare所开发的。发表于RFC 2516说明中。

PPPoE分为两个阶段:

由于传统的PPP连接是创建在串行链路或拨号时创建的ATM虚电路连接上的,所有的PPP帧都可以确保通过电缆到达对端。但是以太网是多路访问的,每一个节点都可以相互访问。乙太帧包含目的节点的物理地址(MAC地址),这使得该帧可以到达预期的目的节点。因此,为了在以太网上创建连接而交换PPP控制报文之前,两个端点都必须知道对端的MAC地址,这样才可以在控制报文中携带MAC地址。PPPoE发现阶段做的就是这件事。除此之外,在此阶段还将创建一个会话ID,以供后面交换报文使用。

一旦连接的双方知道了对端的MAC地址,会话就创建了。

尽管传统的PPP是点对点协议,但是由于多个主机可以通过一个单独的物理连接连接到一个服务提供者,因此PPPoE本身就是一个客户端-服务器的关系。发现过程包含四个步骤。主机作为客户端,ISP端的访问集中器作为服务器。这四步在下面详述。最后一步第五步是关闭一个现存会话的方法。

PADI为PPPoE Active Discovery Initiation的缩写。
如果一个用户想要使用DSL拨号连入Internet,那么他的计算机必须首先在其ISP的网络服务提供点(POP)找到DSL访问集中器(DSL-AC)。在以太网上通讯只能通过MAC地址。由于计算机不知道DSL-AC的MAC地址,于是就在以太网上广播一个PADI报文。这个报文中包含发送者的MAC地址。

PADI报文示例:

Frame 1 (44 bytes on wire, 44 bytes captured)Ethernet II, Src: 00:50:da:42:d7:df, Dst: ff:ff:ff:ff:ff:ffPPP-over-Ethernet Discovery  Version: 1  Type 1  Code Active Discovery Initiation (PADI)  Session ID: 0000  Payload Length: 24PPPoE Tags  Tag: Service-Name  Tag: Host-Uniq    Binary Data: (16 bytes)

(=source)包含发送计算机的MAC地址。
(=destination)为以太网广播地址。
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报文,用户计算机就使用提供的名称和服务来从中选择一个。

PADO报文示例:

Frame 2 (60 bytes on wire, 60 bytes captured)Ethernet II, Src: 00:0e:40:7b:f3:8a, Dst: 00:50:da:42:d7:dfPPP-over-Ethernet Discovery  Version: 1  Type 1  Code Active Discovery Offer (PADO)  Session ID: 0000  Payload Length: 36PPPoE Tags  Tag: AC-Name    String Data: IpzbrOOl  Tag: Host-Uniq    Binary Data: (16 bytes)

包含了AC名称,这里为“Ipzbr001”(莱比锡的Arcor DSL-AC)
包含了DSL-AC的MAC地址。
DSL-AC的MAC地址还包含了了DSL-AC的制造商信息(这里为北电网络)。

PADR为PPPoE Active Discovery Request的缩写。
当用户计算机收到一个来自DSL-AC的可接受的PADO报文后,就会发送一个PADR报文给DSL-AC,用来确认接受发送PADO报文的DSL-AC所提供的PPPoE连接。

PADS为PPPoE Active Discovery Session-confirmation的缩写。
上面的PADR报文由DSL-AC的PADS报文进行确认,并在其中携带一个会话ID。用户计算机与此DSL-AC的连接现在就完整创建了。

PADT为PPPoE Active Discovery Termination的缩写。
这个报文终结用户计算机与POP的的连接,可由用户计算机或DSL-AC任意一方发送。

相关

  • 遗传密码遗传密码(英文:Genetic code)是一组规则,将DNA或mRNA序列以三个核苷酸为一组的密码子转译为蛋白质的氨基酸序列,以用于蛋白质合成。几乎所有的生物都使用同样的遗传密码,称为标准
  • 斯涅尔威理博·斯涅尔(荷兰语:Willebrord Snellius,1580年6月13日-1626年10月30日),本名威理博·斯奈尔·范罗恩(Willebrord Snel van Royen),是一位荷兰天文学家、数学家和物理学家。几个
  • 李珥李珥(1536年-1584年),朝鲜王朝知名儒学者。字叔献、见龙, 号栗谷、石潭、愚斋,朝鲜半岛后世尊称其为李栗谷或栗谷先生。 朝鲜半岛朱子学新学派即“主气论”学派的代表人物。畿湖学
  • 天下无贼《天下无贼》是一部由中国导演冯小刚拍摄的贺岁片,刘德华、刘若英、葛优、王宝强、李冰冰和张涵予主演,2004年岁末上映。影片改编自赵本夫的同名小说《天下无贼》,该小说集由人
  • 挪威海螯虾挪威海螯虾(学名:Nephrops norvegicus),又名冰岛龙虾,是软甲纲十足目海螯虾科下的一个种属。身型幼细,双钳修长,呈橙色或粉红色,体长约有24公分。主要分布于东大西洋海域,北至挪威及
  • 安迪·格罗夫安德鲁·史蒂芬·格罗夫(英语:Andrew Stephen Grove,1936年9月2日-2016年3月21日),原名安德拉什·伊什特万·格罗夫(匈牙利语:András István Gróf),昵称安迪·格罗夫(Andy Grove),又译
  • 加拿大受管制药物和物品法《受管制药物和物品法》(英语:Controlled Drugs and Substances Act,法语:Loi réglementant certaines drogues et autres substances)是加拿大的联邦药物管制法令,于1996年在首
  • 羊栖菜多糖羊栖菜多糖(Sargassum Fusiforme Polysaccharides,SFPS)为属于褐藻门马尾藻科马尾藻属藻类羊栖菜的多糖。为浅黄色粉末。有效成分为褐藻多糖硫酸酯(Fucoidan,FCD),又称岩藻聚糖,分子
  • 马克西米连·冯·巴登巴登亲王马克西米连(德语:Prinz Maximilian von Baden,1867年7月10日-1929年11月6日) ,全名马克西米连·亚历山大·弗里德里希·威廉(),巴登大公弗里德里希二世的堂弟和继承人。1928
  • 卡齐米日多尔尼 卡齐米日多尔尼(Kazimierz Dolny)是波兰的一座城市。2006年,有人口3,572人。坐标:51°19′N 21°57′E / 51.317°N 21.950°E / 51.317; 21.950