究其三者的本质,没有太多区别,它们都是接入网络 (Access Network) ,先认证用户合法,分配IP地址等上网必备的参数,将用户电脑接入互联网Internet。运营商在将用户接入网络的同时,启动用户流量统计/用户在线时长统计,以生成用户账单,用户掏钱,毕竟天下没有免费的午餐。
但由于采用的传输介质(physical media)大不同,有模拟电话线、数字铜线、光纤,以及成帧方式的不同,有PPP,PPPoE +PPP,IPoE,在上网速率上体现出数量级的差别,从模拟电话线 56Kbps,ISDN 144Kbps,ADSL 512Kbps-10Mbps,FTTH 2-1000Mbps。
电信是固网专家,以它为例讲解三种方式的区别:
1. 拨号上网
1.1 模拟线电话拨号
2000年左右的两三年的时间,用户可以在自己的电脑上安装一个内置( 插在电脑PCI插槽 )modem,或外置( 插在RS-232接口 )modem,这个 modem 干啥的?官方的名字: 调制解调器 ,民间的名字: 猫 !它负责将电脑的数字信号转换为可以在电话线上传输的模拟信号。在局端,也有对应的modem,再将模拟信号转换为数字信号。
用户可以事先到电信局开通上网账号,或者买预充值的点卡(用户名/密码),然后就可以用电话线 上网冲浪 了,(当时的广告语),浪里个浪,浪里个浪,互联网充满着神秘,吸引着好奇帅哥美女上网冲浪,相识相恋互生情缘…
拨号上网过程如下:
1.1.1
拨一个号码如163,用户电话线会接入局端163网关,这个网关 一个接口位于电话网络PSTN ,用于终结( termination )163电话;有 另一个接口位于IP网络,通向Internet 。于是在用户电话与163网关之间就动态创建了一条虚电路,即 VC(Virtual Circuit)。
1.1.2
用户的拨号软件在 VC 上发 PPP/LCP ,用于协商两端的 MRU(Maximum Receive Unit) ,以及用何种认证方式(PAP or CHAP)来认证用户,假定协商的认证方式为PAP(Passwod Authentication Protocol)。
1.1.3
用户发 PPP/PAP + Password 来表明自己的身份,网关成功认证用户,进入下一个阶段 PPP/IPCP。
1.1.4
PPP/IPCP(IP Control Protocol) ,用于给用户电脑分配IP地址、网络掩码、缺省网关、首席DNS服务器、备份DNS服务器,完成此过程,用户就可以上网冲浪了。
至于双向的路由如何通,曾经说过,在Internet世界,IP地址由谁来分配,谁就负责双向的路由通达。163网关来全权负责双向的路由的分发:将分配给用户的IP,汇总(IP summary prefix)通告给Internet gateway,同时动态生成一条指向用户虚接口 VA(Virtual Access) 的一条主机(子网掩码/32)路由,这个VA接口是PPP协议动态创建的。这种上网带宽为 56 Kbps。
1.2 数字线电话拨号 ISDN
此为数字线,所以不需要模数转换的modem,提供B +2D 接入方式,即一条16Kbps 信令通道B ,两条各 64 Kbps 数据通道D ,可以一条线路打电话,同时另一条上网;也可以两条D通道都用于上网,即64 + 64=128 Kbps 的上网带宽。
2. 宽带ADSL
ADSL(Asymmetric Digital Subscribe Line) ,非对称数字用户线,由于可以提供上行/下行带宽不一样,下行带宽要大于上行带宽,所以称之为非对称。
由于Ethernet的简单易用、成本低廉, 慢慢脱颖而出,成为数据链路层最通用的接入技术,运营商想把Ethernet这种接入方式延伸到用户电脑,但是如何认证用户呢?运营商有成熟的认证方案,已经用了很多年,那个方案就是用PPP来认证用户。
问题来了,PPP是点对点协议,即会话的两端各有一台设备,而Ethernet是多路访问,这是一个矛盾,如何在Ethernet这个多路访问的二层介质上用PPP来认证客户端?于是 IETF 发明了一个新的协议, PPPoE ,即 PPP Over Ethernet ,PPPoE 可以先将PPP帧封装在自己的体内,然后再用最外层的Ethernet Header来封装PPPoE帧,具体格式如下:Ethernet Header + PPPoE + PPP
参见下图PPPoE帧的解析: