为什么PPP需要底层协议?
为什么 PPP 需要包装协议?
PPP不是一层协议,所以需要一层协议来承载。像以太网这样的协议既是第 1 层又是第 2 层协议,因此 PPP 可以使用以太网作为其第 1 层协议,但它带有包装 PPP 的以太网第 2 层协议。
为什么我不能只使用以太网上的 PPP 而不是 PPPoE?
PPPoE 是以太网上的 PPP。这正是 PPPoE 所代表的意思。
是的,但您仍然需要 PPPoE 标头 - 我的问题是为什么需要它。
您认为 PPPoE 是具有单独 PPPoE 标头的单独协议的想法是不正确的。
以太网标头具有 EtherType* 字段,用于告诉网络堆栈将以太网负载发送到何处。例如,要将以太网负载发送到 IPv4 进程,EtherType 字段使用0x800
.
如果 EtherType 字段为0x880B
,则网络堆栈将以太网负载发送到 PPP 进程。
*请参阅 IANA IEEE 802 编号页面。有一个以太类型部分解释了每种类型的值和协议。
PPP 旨在建立在面向字节的点对点物理层协议之上,如简单的调制解调器式串行链路。
以太网不是简单的串行协议,但它需要帧级寻址(L2 MAC 地址),因此 PPPoE 扩展了标准 PPP 以处理链路伙伴之间的发现和寻址。
(正如其他人已经说过的,PPPoE 实际上是以太网上的 PPP。同样,PPPoA 是ATM上的PPP。)
以太网和 ATM 在网络世界中很奇怪,因为它们定义了第 1 层和第 2 层组件。在以太网的情况下,它的第 1 层一直使用它的第 2 层;没有人以其他方式建造过它。(然而,以太网的第 2 层协议已被用于许多不同的第 1 层协议。例如,802.11 WiFi、DOCSIS。)ATM 走向了另一个方向;它的第 1 层几乎闻所未闻,但它的第 2 层可以在很多地方找到……T1、T3、SONET (OC-X)、同步串行(V.35、HSSI)、ADSL 等。
PPP 是在异步串行 (RS-232) 和拨号调制解调器时代发明的,并在这些物理层上“裸”运行。随着技术的进步,网络运营商希望继续使用相同的“拨号时代”基础设施和流程(即帐户管理),因此需要承载熟悉的PPP的方法。以太网类型已注册用于通过以太网传输 PPP 帧。(以及 ATM 和 SONET 的类似过程。在 SONET 的情况下,需要一点 HDLC 才能使成帧与 SONET NRZ 编码一起工作。)