【网络是怎样连接的】第4章|【网络是怎样连接的】第4章 - 通过接入网进入互联网(3)

4.3 接入网中使用的PPP和隧道

用户认证和配置下发
【网络是怎样连接的】第4章|【网络是怎样连接的】第4章 - 通过接入网进入互联网(3)
文章图片
图4.17 PPP拨号连接操作.png 【【网络是怎样连接的】第4章|【网络是怎样连接的】第4章 - 通过接入网进入互联网(3)】首先是用户认证和配置下发功能。ADSL和FTTH接入网中,都需要先输入用户名和密码,登录之后才能访问互联网,而BAS就是登录操作的窗口。BAS使用PPPoE方式来实现这个功能。PPPoE是由传统电话拨号上网上使用的PPP协议发展而来的,所以我们先来看一看PPP拨号上网的工作方式。
在接入互联网时,必须为计算机分配一个公有地址,但这个地址并不是事先确定的。因为在拨号连接时,可以根据电话号码来改变接入点,而不同的接入点具有不同的IP地址,因此无法事先在计算机上设置这个地址。所以,在连接时运营商会向计算机下发TCP/IP配置信息,其中就包括为计算机分配的公有地址。
在以太网上传输PPP消息
【网络是怎样连接的】第4章|【网络是怎样连接的】第4章 - 通过接入网进入互联网(3)
文章图片
图4.18 PPP认证流程.png 【网络是怎样连接的】第4章|【网络是怎样连接的】第4章 - 通过接入网进入互联网(3)
文章图片
图4.18 续.png PPP协议中没有定义以太网中的报头和FCS等元素,也没有定义信号的格式,因此无法直接将PPP消息转换成信号来发送。要传输PPP消息,必须有另一个包含报头、FCS、信号格式等元素的“容器”,然后将PPP消息装在这个容器里才行。于是,在拨号接入中PPP借用了HDLC协议作为容器,而HDLC协议原本是为在专线中传输网络包而设计的,拨号接入方式对这一规格进行了一些修正。最终,PPP消息就是像图4.18(a)这样来进行传输的。
我们用以太网包代替HDLC来装载PPP协议。此外,以太网和PPP在设计上有所不同,为了弥补这些问题就重新设计了一个新的规格,这就是PPPoE。
PPPoE是将PPP消息装入以太网包进行传输的方式。
通过隧道将网络包发送给运营商
【网络是怎样连接的】第4章|【网络是怎样连接的】第4章 - 通过接入网进入互联网(3)
文章图片
图4.19 隧道的结构.png 隧道有几种实现方式,刚才提到的TCP连接就是其中一种实现方式(图4.19(a))。这种方式中,首先需要在网络上的两台隧道路由器之间建立TCP连接,然后将连接两端的套接字当作是路由器的端口,并从这个端口来收发数据。换句话说,在路由器收发包时,是基于隧道的规则向隧道中放入或取出网络包,这时,TCP连接就好像变成了一根网线,包从这里穿过到达另一端。
图4.19(b)中还介绍了另一种基于封装(encapsulation)的隧道实现方式,这种方式是将包含头部在内的整个包装入另一个包中传输到隧道的另一端。在这种方式中,包本身可以原封不动地到达另一端的出口,从结果上看和基于TCP连接的方式是一样的,都实现了一个可供包进行穿梭的通道。
接入网的整体工作过程
首先,接入路由器中需要配置运营商分配的用户名和密码。然后,接入路由器会根据PPPoE的发现机制来寻找BAS。这一机制和ARP一样是基于广播来实现的,过程如下,很简单。
互联网接入路由器通过PPPoE的发现机制查询BAS的MAC地址。
由于明文密码只在BAS和用户端路由器之间传输,所以如果要窃取密码,要么在路由器和ADSL Modem中间进行窃听,要么爬到电线杆上安装窃听装置拾取电缆中泄漏的电磁波。不过,光纤是不会泄漏电磁波的,因此无法通过第二种方式进行窃听。
BAS下发的TCP/IP参数会被配置到互联网接入路由器的BAS端的端口上,这样路由器就完成接入互联网的准备了。
网络包会到达BAS,而BAS会将MAC头部和PPPoE头部去掉,取出PPP头部以及后面的部分,然后通过隧道机制将包发送出去。最后,PPP包会沿隧道到达另一端的出口,也就是网络运营商的路由器。
不分配IP地址的无编号端口
一对一连接的端口可以不分配IP地址,这种方式称为无编号。
互联网接入路由器将私有地址转换成公有地址
遇到应用程序因地址转换无法正常工作的情况时,我们可以不使用路由器,而是直接让计算机接收来自BAS的PPPoE消息,也就是采用最原始的上网方法。这样一来,计算机就具有了公有地址,不需要地址转换也可以上网了。

    推荐阅读