用户认证和配置下发
- 用户发送的网络包会通过ADSL和FTTH等接入网到达运营商的BAS
- 进化型的路由器叫作BAS:ADSL和FTTH接入网中,都需要先输入用户名和密码,登录之后才能访问互联网,而BAS就是登录操作的窗口。BAS使用PPPoE方式来实现这个功能
在以太网上传输PPP消息
- ADSL和FTTH接入方式也需要为计算机分配公有地址才能上网
- ADSL和FTTH中,用户和BAS之间是通过电缆或光纤固定连接在一起的,因此没有必要验证用户身份
- 拨号上网的PPP是无法直接用于ADSL和FTTH的
- PPP协议中没有定义以太网中的报头和FCS等元素,也没有定义信号的格式,因此无法直接将PPP消息转换成信号来发送。要传输PPP消息,必须有另一个包含报头、FCS、信号格式等元素的“容器”,然后将PPP消息装在这个容器里才行。于是,在拨号接入中PPP借用了HDLC协议作为容器,而HDLC协议原本是为在专线中传输网络包而设计的,拨号接入方式对这一规格进行了一些修正
- 对于ADSL和FTTH,并不能使用HDLC,我们用以太网包代替HDLC来装载PPP协议。此外,以太网和PPP在设计上有所不同,为了弥补这些问题就重新设计了一个新的规格,这就是PPPoE
- 只要将PPP消息装入以太网包中进行传输,ADSL和FTTH就也可以像拨号上网一样通信了
通过隧道将网络包发送给运营商
- BAS除了作为用户认证的窗口之外,还可以使用隧道方式来传输网络包
- 隧道:将包含头部在内的包从隧道的一头放进去,这个包就会原封不动的从隧道的另一头出来
- 隧道的实现方式:TCP连接和封装
接入网的整体工作过程
- 用户端的互联网接入路由器:接入路由器中需要配置运营商分配的用户名和密码,互联网接入路由器通过
PPPoE
的发现机制(基于广播)查询BAS
的MAC
地址。
进入用户认证和下发配置的阶段:
- 用户名和密码如何发送给BAS:
一种是将密码进行加密的CHAP方式,另一种是不加密的PAP方式 - 在校验密码之后BAS如何向用户下发TCP/IP配置信息
包括分配给上网设备的IP地址、DNS服务器的IP地址以及默认网关的IP地址
路由器的BAS端的端口就有了公有地址,路由表中也配置好了默认网关,接下来就可以将包转发到互联网中了
不分配IP地址的无编号端口
- 有一条规则规定所有的端口都必须具有IP地址,当公有地址越来越少时,就提出了一个特例,即一对一连接的端口可以不分配IP地址。现在,在这种场景中按惯例都是不为端口分配IP地址的,这种方式称为无编号(unnumbered)。这种情况下,BAS下发配置信息时就不会下发默认网关的IP地址
- 一对一连接的端口可以不分配IP地址,这种方式称为无编号。
互联网接入路由器将私有地址转换成公有地址
- 互联网接入路由器在转发包时需要进行地址转换
- BAS会向用户端下发TCP/IP的配置信息,如果将这些信息配置在计算机上,就相当于计算机拥有了公有地址,这种情况下不需要进行地址转换也可以访问互联网
- 如果使用路由器来上网,BAS下发的参数就会被配置在路由器上,而且公有地址也是分配给路由器的。这样一来,计算机就没有公有地址了
- 计算机会被分配一个私有地址,计算机发送的包需要通过路由器进行地址转换然后再转发到互联网中,有些应用程序会因为地址转换无法正常工作
- 遇到应用程序因地址转换无法正常工作的情况时,我们可以不使用路由器,而是直接让计算机接收来自BAS的PPPoE消息,这样一来,计算机就具有了公有地址,不需要地址转换也可以上网了。
- 为上网的计算机拥有公有地址,这意味着来自互联网的包可以直接到达计算机,这可能导致计算机被攻击。因此,对于直接上网的客户端计算机,我们应该采取安装防火墙软件等防御手段
除PPPoE之外的其他方式