《网络是怎样连接的》——第四章笔记

        本章主要讨论了接入网和网络运营商。介绍了什么是接入网,以及ADSL、FTTH两种常见的接入网技术,着重论述了ADSL和FTTH的组成结构、相关性质和工作方式。然后介绍了接入服务的核心——BAS(宽带接入服务器)的工作内容,最后讲解了互联网内部,也就是ISP(网络服务提供商)网络的内部构造和工作原理。


        接入网,就是指连接互联网和家庭、公司内网的通信线路。用户只有通过互联网接入路由器连接接入网,经过接入网才能访问到互联网内部。首先,我们需要先厘清接入服务商和网络服务提供商之间的区别,这两者可以说是相互独立的部分。接入网服务一般由当地电话局提供,互联网服务由网络服务提供商提供。接入网的核心部分BAS(宽带接入服务器)可以对用户进行登录认证,并且凭此向用户的路由器和计算机下发TCP/IP配置信息(包括分配公网IP、DNS服务器地址、默认网关等)。有了这些信息,用户才能正常的访问互联网。当然,在这个过程中接入服务商也会根据用户的使用情况进行计费。我们需要将家庭、公司内网和互联网区分开来,接入网和接入服务商实际上承担着连接用户内网和互联网的一种“桥梁”角色。

        接入网的基本工作流程从用户端向互联网接入路由器发出数据开始,在这个过程中根据用户使用的接入网技术的不同,具体的数据传输流程也会有所差别,但是最终用户的数据都会进入一种叫BAS(宽带接入服务器)的包转发设备,这个设备承担的工作除了上述提到的用户认证和下发配置之外,还作为向网络服务提供商掌管的互联网内部收发数据的最后一个“关口”。可以理解为,只有通过了BAS这个关口,数据才算真正意义上的进入了互联网。

        下面我们来首先介绍一下常见的两种接入网技术:ADSLFTTH

一、ADSL接入网

         在开始介绍ADSL之前,我想先谈论一个题外话,它或许会对大家更加深刻的了解这项技术有所帮助。在互联网发展的早期,普通人上网实际上是一种奢侈的行为。当时的互联网资源还不像今天这么丰富,而且网络的传输速率也十分低下,打开一个普通的网页甚至需要加载老半天。不过在那个年代电话已经相当普及了,家家户户也都有座机,座机后面连接着电话局的电话线。用户如果想要上网就打电话给电话局,电话局就会为用户开通上网服务,当然费用也很昂贵。开通上网服务后,用户家里如果有计算机,那么就可以将电话座机后面的电话线拔下了,把电话线插到计算机对应的上网接口上,这就是早期的上网方式。

        ADSL(非对称数字用户线路)就脱胎于早期的拨号上网。和它的前辈相比,ADSL支持更快的传输速率,而且解决了上网过程中计算机占用电话线导致无法使用电话的困扰。ADSL支持在用户端的电话线上安装一个分离器,这个分离器一端连接着电话线延申到电话局,另一端支持同时同时接入电话和计算机,以此实现电话和计算机的同时使用。并且分离器还能屏蔽在电话和计算机同时使用时两者间相互产生的噪声干扰(因为两者终究还是共用一根电话线,会不可避免的产生干扰)。大家可能对ADSL的这个A(Asymmetric:非对称)很好奇,这个非对称实际上是针对ADSL的上下行传输速率而言的非对称,ADSL的下行速率远远快于上行速率,这是因为对于普通家庭用户而言,最常发生的动作是从互联网上下载东西而不是上传。至于为什么会有这种非对称的区分,为什么不能上传和下载一样快?这在我们后面谈论ADSL的相关性质会提及到。

(1)组成结构和工作方式

 

        从上方书中提供的图例我们可以看出,ADSL实现的接入网组成有用户端用户端电话局两个部分,每个部分内部都有相应的设备负责传输工作。互联网接入路由器会在计算机发出的网络包(IP包)加上MAC头部、PPPoE头部和PPP头部。我们可以先来简单讲讲什么是PPPPPPoE,互联网传输中的PPP(Point-to-Point Protocol:点对点协议)发源于拨号上网,大家可以将其理解为一种计算机间的传输规范,PPP可以说是BAS业务的一个核心组成部分,因为PPP支持建立连接、身份认证和IP地址分配等功能。而PPPoE(Point-to-Point Protocol over Ethernet:以太网上的点对点协议)则作为PPP在以太网传输上的派生版本,这是因为PPP设计之初并没有考虑到后来以太网的传输规范,所以出现了PPPoE来弥补这种缺陷。有了PPPoE,ASDL和FTTH才能像拨号上网一样传递PPP消息。

        增加了三个新头部的网络包从互联网接入路由器发出后,进入了ADSL Modem(也称ADSL调制解调器)。从名字中我们也可以看出,ADSL Modem的主要工作就是将网络包调制成模拟信号(这里是电信号)并发出。但是在调制之前还有一个步骤,ADSL Modem会首先会将网络包拆分成一个个很小的ATM(异步传输)信元,然后将这些信元转换成电信号发出。ATM技术的优势是将网络包拆分成更小的组成部分后能够减小延时更快的进行传输,同时还能更好的利用网络带宽提高整体的利用率。实际上,不将网络包拆分成信元也是可以正常传输的。但是由于行业发展历史缘由,相关厂商当初看好ATM技术并砸了很多资金购置相关设备,因此ADSL技术的传输过程中就多了转换信元这道工序,并一直延续至今。当然现在也有部分服务提供商省略了这个过程,采取直接将网络包调制成电信号并发出的方式。

        ADSL Modem中发出的模拟信号会顺着电话线进入分离器。在这里,我们需要讲解一下分离器的作用,前面我们简单提到过,分离器的作用是防止电话和计算机同时共用电话线时产生的噪声干扰。从上一章的内容我们已经了解到,数据在网络线路中传输的实际上就是电磁波(模拟信号),而电磁波也有频率的高低之分。我们可以将电话使用的语音信号可以看作一种低频电波,而计算机网络传输使用的ADSL信号可以看作一种高频电波,但是在两种信号同时流进电话线时会混杂成一种混合信号。

        分离器的作用是双向的。假设现在用户端正在同时使用电话机和计算机,当混合信号从外部传输线路流入用户端时,混合信号会经由分离器分别进入电话机和计算机内部。对于进入电话机的混合信号,分离器会进行一种波频过滤。简单来说,就是将混合信号中属于ADSL部分的高频信号过滤掉,仅保留低频的电话语音信号传进电话机,这样就能够确保电话能够正常通话而不会被高频“噪声”干扰了。对于经由ADSL Modem进入计算机的混合信号,分离器会原封不动的保留。因为ADSL Modem本身就具备了过滤掉低频信号的功能,于是ADSL信号也能被从混合信号中分离出来正常传输到计算机了。而对于电话机和计算机同时使用造成两种信号汇聚到一根电话线中传到外部传输线路的情况,分离器同样会进行另一种波频过滤。分离器会将电话机产生的语音信号进行阻隔和减弱,确保从电话机中流出的信号形成一种低频语音信号,在和ADSL高频信号混合到一起进行传输时不会对其造成太大的干扰。

        分离器实际上就是一种滤波器,用来将电话线中电话机的低频电波和ADSL高频电波分离开来,确保电话机和计算机的信号传输不会相互产生干扰。

        混合信号(模拟信号)从分离器中流出后就算正式离开了用户端,它会顺着电话电缆流向当地的电话局。到达电话局后,它会继续经过配线盘、分离器进入DSLAM(DSL Access Multiplexer:数字用户接入复用设备)。可以将DSLAM理解成由许多个ADSL Modem整合在一起的设备(也可以当作一个处理能力很强的超级Modem),这是因为电话局每天接收到的模拟信号往往来自四面八方而且量也很大,无法单纯依靠家用式的ADSL Modem进行处理。DSLAM的主要职责就是将模拟信号重新解调成ATM信元,并将信元发送给BAS(宽带接入服务器)——也是接入网的最后一站,最终BAS会使用隧道技术将网络包发送到由多个ISP管理的互联网内部。当然BAS负责的工作并不止于此,这部分的内容我们会在后面展开讲解。

(2)ADSL信号

        前面我们讨论了基于ADSL技术实现的接入网的组成结构和工作流程,但是书中还花了一定篇幅去详细讲解了ADSL信号在传输线路中的真实模样,以及ADSL信号所使用到的调制方式。虽然这部分的内容和电子通信更相关,对于我这种计算机科班生来说有些难以理解,但毕竟网络也算计算机专业和电子信息专业的复合领域,所以我还是打算简单介绍一下,起码对信号的传输有个基本概念也好。

        在前面的内容我们提到了ADSL Modem会将信元转换成模拟信号并发出,这里的模拟信号和我们上一章提到的“方形波”不同,ADSL采用的是一种圆滑波形的正弦波。也就是说我们可以将数字1对应正弦波的波峰,数字0对应正弦波的波谷,以此实现从数字信号向模拟信号的转换。

        ADSL Modem将信元转换成这种正弦波的过程被称之为“调制”。调制的方式有多种多样,ADSL所使用到的信号调制方式是由“振幅调制”和“相位调制”结合而成的“正交振幅调制”。

        振幅调制,指的是根据正弦波的振动幅度来判别信号的比特位。简单来说就是在单位时间中,振幅大代表1,振幅小代表0。由此我们可以继续为振幅衍生更多的级别,来代表更多的比特位。举个形象的例子,奶茶店卖奶茶如果只分小杯和大杯,是不能很好的迎合客户需求的,于是可以将杯的大小继续细分为:小杯、中杯、大杯和超大杯,这样客户也就能拥有更多的选择。振幅调制也是一样的道理,我们如果将振幅也按照上方的例子分为四个级别:平缓、比较平缓、陡峭和非常陡峭,那么就意味着在单位时间内我们从原来的只能表示两个级别的比特(0和1),到现在我们可以表示四个级别的比特(00,01,10,11)。振幅级别细分的越多,在单位时间里能表示的比特也就越多,信号传输速率也就越快。但是信号在传输过程中会衰减,而且也会受到噪声干扰而失真,级别过多会造成信号识别出错,所以振幅级别也不能太多。

        相位调制,指的是根据正弦波波形在单位时间里的周期性变化规律(起始位置、偏移情况)来判断信号的比特位。

图例摘自原书

        上图中蓝色的线段就是正弦波的单位周期(此处是360°),凭借周期内的波形变化我们可以判断其对应的比特位。比如将0度开始的波表示数字0,将180度开始的波表示数字1。和振幅调制一样,我们也可以对相位分级别,也就是将波的起始位置和长度作为分级标准(0°、90°、180°和270°等)。如果更加详细的进行划分,我们甚至可以以90°作为周期,这样相位能够表示的比特数也会增多。但是相位调制也存在和振幅调制差不多的问题,周期如果划分的越小,也就意味着波形的角度变化越接近,就越容易造成误判,所以相位调制对速率的提升同样有限。

        ADSL采取的是将振幅调制和相位调制相结合的正交振幅调制方式。即便我们将信号调制按照上述两种方式按最简单的样例(振幅大表示1、振幅小表示0、相位起始周期0°和起始周期为180°)相结合(也就是在单位时间中进行排列组合),都能表示4个比特值。如果我们在其中加入更多的级别划分,那么单位时间内能表示的比特值也会大大增加。并且波形变化的幅度并不一定要限定在一个频率内,还能使用不同频率的波来进一步组合,表示的比特值于是进一步呈指数级增加。通过振幅、相位和频率三者相结合的形式,ADSL信号在单位时间内能表示的比特数和整体的传输效率是非常惊人的。

         这里有一个频谱的概念需要解释。频谱对应的是电磁波的变化频率,有的频率高(波形密集)有的频率低(波形疏松)。而为了抵御外界噪声对信号传输过程中所造成的干扰,我们对于和噪声相接近的电磁频率会尽可能不用在信号传输中,因为越接近噪声的电磁频率也就也容易被噪声影响而失真。同时通过将频谱分成不同的频带,分别用于上行和下行的通信,这种分离避免了上下行信号之间的相互干扰。这也就是ADSL的A(非对称:上下行速率不对称)的由来,因为频谱本身就是有限的资源,ADSL将可用频带更多分给了下行信号使用,上行信号能够使用的频带也就变少了,这也是为什么用户端下载东西的速度远远快于上传东西的速度。

噪声和衰减等影响线路质量的因素在每条线路上都不同,而且会随着时间发生变化。因此,ADSL 会持续检查线路质量,动态判断使用的频段(频带)数量,以及每个频段分配到的比特数。具体来说,当 Modem 通电后,会发送测试信号,并根据信号的接收情况判断使用的频段数量和每个频段的比特数,这个过程称为训练(握手),需要几秒到几十秒的时间。


二、FTTH接入网

        在谈论使用电信号传输数据时,我们不止一次的提到电信号本身在传输过程中的衰减,以及噪声干扰可能造成的信号失真。但是存在另一种传输媒介,它的传输速率和在铜导线中传递的电信号不相上下,而且还不存在噪声干扰的问题,它就是——光。FTTH(Fiber To The Home:光纤到户)也就是我们常说的光纤,它同样是一种接入网技术。它非常简单的通过光信号来代表数字信号,光亮代表数字1,光暗代表数字0。

        它的工作原理是根据光源和光敏元件来实现的。发送端首先将数字信号转换为电信号(高低电压:高电压表示1,低电压表示0),根据电压的变化点亮光源(LED、激光二极管等),光源产生的光信号通过光纤传导到接收端的光敏元件(感光的光电二极管),光电二极管判断光信号的明暗程度并产生出不同电压,这些电压被作为电信号转换成为数字信号,以此实现数据的传输。

(1)单模与多模

        首先我们来介绍一下光纤的结构,光纤是由一种双层结构的纤维状透明材质构成的,它的内层是传导光信号用的直径很小(一般在8~10微米)的纤芯,外面则是包裹纤芯的包层,最外层是光纤的保护层。光信号在光纤中的传导会受到多种因素的影响,比如不同材质的光纤会有不同的折射率透光率,并且光在光纤中的入射角度对光信号的传播也有很大影响。

        光源会向光纤中的所有方向发出光,光在传导到光纤中根据入射角度的不同,会在光纤的纤芯和包层间发生折射现象,光会在折射中不断前进。但是前进中的光和包层折射回来的光发生交会时,如果两者的相位不同,就会发生干涉抵消,也就是说光被减弱了。之所以有相位这种说法,是因为光本质上仍然是一种波。书中对这种现象举出了一个形象的例子:向平静的湖面投下一块石头,人眼能清晰的看到湖面会以石头落下的位置掀起涟漪,并且涟漪是一层套一层的同心圆的形状。其实当石头落下的一瞬间,水中就产生了波,这些波有不同方向的,可以将这种方向理解成一种相位,相位一致的波就得到了加强,形成了我们肉眼所见的涟漪,相位不一致的波会相互抵消,在碰撞中逐渐趋于平静。

        这也就意味着,只有少数特定入射角下还保持相位一致的光线能够发生全反射,最终顺利传导到光纤的另一端。因为如果入射角过大,那么光的传输距离就由于折射次数的增加而变长了,这也就意味着它和相位不一致的光交会产生干涉抵消的风险增加了。

        由此可见,这个入射角度是非常重要的,光纤的直径也是由这个角度来确定的。根据光纤纤芯直径的大小,可以分为单模光纤多模光纤。之所以有这样的划分,主要的还是围绕入射角和折射率这两个重点。

        通过上面的讨论我们已经知道,如果光在纤芯中的入射角度越小,那么就意味着传导过程中会有更少的反射情况发生,更少的反射也就意味着更短的传输距离和更少的折射损耗,换句话说就是传输速率快准确性高。而单模光纤就是基于这种情况设计的,它的纤芯只有8~10微米,只支持最小入射角且相位一致的光通过。但是它的缺点是,相较于多模光纤而言它的制作工艺要求更高,且对光敏元件的性能要求也高。

        而多模光纤的纤芯直径有50微米或65微米,可以同时允许多个相位一致的光通过,由于它可以使用的光模式数量比单模光纤要多,所以对光敏元件的性能要求也没有单模光纤这么高,并且制作工艺的精度也没有单模光纤要高。但是它同样存在自己的缺陷,由于纤芯直径较大允许多个光通过,也就意味着光在传输过程中会发生更多的反射,这会造成传输距离的增加和折射损耗问题。

        总的来说,单模光纤适合带宽要求高、传输距离长的情况;多模光纤适合传输距离短、成本要求低的情况。通俗来说,多模光纤主要用于单栋建筑物中的内部连接,而单模光纤则用于距离较远的建筑物间的连接。

(2)组成结构和接入方式

       用光纤来替代ADSL将用户端的互联网接入路由器和接入服务商的BAS连接在一起的方式,就叫做FTTH。FTTH主要可以分为两种连接方式:直连方式分路方式

        直连方式,采用了一根单模光纤直接将用户端连接到当地电话局。用户端会安装一台光纤收发器,这样互联网接入服务器发出的网络包就会被光纤收发器接收,光纤收发器会将网络包从电信号转换成光信号并传导到光纤中,然后光信号经由光纤到达电话局的多路光纤收发器,多路光纤收发器会将接收到的光信号转换成电信号,接着将其还原成网络包并转发给BAS,最终由BAS将网络包发送到互联网内部。

图例摘自原书

                这里会产生一个问题,既然用户端和电话局的连接只采用了一根光纤,那么用户端发送到电话局的上行光信号是否会和电话局传回给用户的下行光信号发生干扰?前面我们提到了光实际上仍然是一种波,这里为了避免上下行光信号直接共用一条光纤所产生的冲突,采取了上下行光信号采取不同波长的光来进行传输的解决办法,这样就避免了相互之间会发生的干扰现象。同时在传输过程中,采取了棱镜原理来将不同波长的波进行分离的手段,这样即便不同波长的光信号混合在一起了也能进行识别,这种方式也被成为波分复用

不同颜色的光在通过介质时,由于其波长不同,会产生不同的折射角,从而导致光的分散。

        另一种方式是分路连接。相比于第一种直连方式,当地电话局会将从多个用户端接出的光纤统一连接到一个名叫分光器(通常架设在用户附近的电线杆上)的设备上,然后从分光器拉出一条光纤直连到电话局。当光信号从电话局发出时,会经由分光器均匀的分配给连接了分光器的每一个用户的光纤线路。而用户端和电话局中的光信号收发设备则被更换成了OLT和ONU,用户端的互联网接入路由器连接上ONU(Optical Network Unit:光网络单元),ONU具备和光纤收发器相同的将电信号和光信号相互转换的功能,而电话局那边的多路光纤收发器则被OLT(Optical Line Terminal:光线路终端)所取代,它的功能和多路光纤收发器也是基本一致,都是接收用户端发过来的光信号将其转换成电信号并发送给BAS。

图例摘自原书

        那么你可能会问,这种方式有什么意义呢?

        首先我们看到经由分光器,电话局可以通过一条光纤就连接到多个用户端。但是这样会造成一个问题,当多个用户同时发送光信号时,这些来自不同用户的光信号就会在分光器中产生碰撞。于是为了避免信号碰撞,比起直连式的光路收发器,OLT和ONU具备有调整信号收发时机的功能。简单来说,电话局的OLT会调整信号的收发时机并向ONU下达指令,而用户端的ONU则会根据OLT给的指令中安排的时机来发送数据,这样就避免了同一时刻分光器中挤满了不同用户的光信号。

        反过来说,当光信号从电话局发出给用户时,分光器不管接收方是谁,将光信号一股脑发送给线路上的所有用户,这样就会造成信息的泄露问题。于是在信号传输到分光器之前,OLT会先给每个包添加一个识别用的头部信息。这样当ONU收到包时,首先会根据识别信息核实这个包是不是发送给自己的。

像这样,FTTH 可以分为直连和分路两种方式,这两种方式只是光信号的传输方式有一些区别,实际传输的网络包是相同的。当使用 PPPoE 来传输包时,其工作过程和刚才讲过的 ADSL 类似。具体来说,就是像图 4.3 中的⑤一样,由互联网接入路由器在 IP 头部前面加上 MAC 头部、 PPPoE 头部和 PPP 头部,然后由光 纤收发器或者 ONU 转换成光信号 ,并通过光纤到达 BAS 前面的多路光纤收发器和 OLT,最后被还原成电信号并到达 BAS。

三、BAS的工作

        前面我们提到无论使用哪种接入网技术,用户传输到电话局的网络包最终都会到达BAS(宽带接入服务器)然后被发往互联网内部。那么BAS在整个接入网传输流程中充当了什么样的角色呢?首先BAS通过PPPoE协议来实现对用户的身份认证和配置信息下发,也就是充当了用户进入互联网的“登录窗口”,同时BAS还通过隧道技术和ISP的互联网连接。

(1)PPP和PPPoE

        在正式介绍PPPoE之前,我们首先来讲讲什么是PPP。PPPPoint-to-Point Protocol)实质上就是一种通信协议,用来在两个网络结点之间建立点对点的连接以进行数据的传输。PPP协议在数据链路层的作用就如同TCP/UDP协议在传输层的作用,同样是一套传输规范。当然,PPP协议并不只工作在数据链路层,它同样会对通信双方的网络层协议进行协商匹配。但需要注意的是,PPP针对的是早期拨号上网的专线通信时代,也就是说通信双方通过一条电话线进行直接连接(这也是点对点的由来),在整个过程中并不存在后来才出现的以太网式的转发和路由,这也为后面PPPoE的出现埋下了因由。

        PPP式的专线通信其实和TCP有诸多相似之处,不过两者工作的层次不同,相同点是同样是给通信双方建立连接、握手协商(配对MTU等),然后进行数据传输,传输完毕既断开连接。和TCP协议不同的是,PPP可以进行用户的身份认证,这个我们后面会提到,身份认证也是PPPoE的重点内容。

        早期的拨号上网就是采取PPP协议的传输模式,在一开始用户端需要和电话局之间建立连接,用户先拨打服务提供商的电话号码,等电话拨通后用户输入自己的用户名和密码,接着用户名和密码传输到电话局后会被发往认证服务器进行验证,验证无误后ISP的服务器会下发配置信息(动态分配的公网IP地址,随着技术发展后来加入了DNS服务器地址和默认网关等)给用户,用户端收到配置信息后就可以对计算机进行配置,配置完成后就可以开始上网了。

        看到这你可能会有一些疑惑,为什么要进行用户的身份认证?为什么公网IP是动态分配的?对用户的身份验证主要是为了便于运营商进行账户管理和计费。至于公网IP的动态分配问题则是出于多方面因素考虑,设想为每台计算机都分配一个固定的IP地址无疑会增加运营商的管理成本,而且IP地址本身数量就是有限的,在分配后没有人使用时的占用情况同样是对IP资源的一种浪费,另外还考虑到用户可能在不同地点接入互联网的情况也会很麻烦。于是运营商选择了动态分配IP地址,用户每次登录完成认证时都由ISP提供一段暂时无人使用的公网IP地址给用户使用,如果用户的网络连接断开了,运营商就会重新将这段IP地址回收,并等待下一次的连接分配。这种动态分配的方式大大节省了管理成本,也不会造成IP资源浪费,同时还避免了很多问题。

        讲了这么多,我们可以知道PPP协议在通信中的工作除了连接管理和数据传输之外,最主要的内容就是进行“用户认证”和“配置下发”。那么PPP和PPPoE又有什么样的关系呢?其实通过PPPoE的全称“以太网上的点对点协议(Point-to-Point Protocol over Ethernet)”就可以看出来,PPPoE就是工作在以太网上的PPP。至于为什么会有这种区分,为什么PPP没办法直接应用于以太网传输?下面我们来讲解一下,前面内容我们提到过PPP早期是适用于拨号上网的专线通信的,在用户端和运营商之间只存在一根电话线,而这种点对点式的串行通信并不需要什么路由和转发。后来随着传输速率的上升和高带宽的出现,以太网结构的传输模式得到了普及,而以太网的核心就是交换机和路由转发, 以太网包同样有着自己的组成结构(如报头、FCS等),这点和早期PPP在专线中传输的PPP帧结构是有着明显分别的。

        在拨号上网时代,PPP使用HDLC(High-level Data Link Control,高级数据联接控制)作为容器在专线中传输网络包。但是后来随着新兴的DSL和FTTH出现,为了适应技术的发展衍生出了PPPoE,至于为什么不在DSL和FTTH继续应用HDLC来进行传输,这是因为HDLC采取的是一种同步传输方法,只适用于专线这种串行通信线路,无法适用于更加复杂的、可以适应不同速率网络的、异步传输的DSL和FTTH技术。

同步和异步的区别在于:时钟信号是否可变。HDLC的时钟信号在整个传输过程中都是固定不变的,这被称为同步;而PPPoE的时钟信号可以随着传输条件的改变跟着改变,以此来调整信号的传输速率,这被称为异步。

        综上所述,PPP无法直接应用于以太网和以太网衍生的技术上,于是有了PPPoE的出现。PPPoE其实就是用以太网包来代替HDLC来装载PPP协议的一种新的规格。于是ADSL和FTTH也可以像拨号上网一样传输PPP信息了。

PPPoE 是将 PPP 消息装入以太网包进行传输的方式。

(2)隧道技术

        我们知道在用户网络包进入接入网的最后一站——BAS后,接下去BAS就会将网络包转发到互联网内部,至于这个互联网内部是什么我们后面会进行讲解,现在可以简单理解为是由多个ISP管理的庞大网络,它的内部有无数性能强大的超级路由器,并且它的内部传输线路也是不同于一般传输介质的超高速传播,以此来支撑来自五湖四海的庞大的访问量和数据量。

        那么接入服务商的BAS是如何和网络服务提供商(ISP)的互联网进行连接的呢?这里就是使用到了“隧道技术”。我们可以抽象的理解成在接入服务商的BAS和ISP的运营商路由器之间挖出了一条“隧道”,通过这条隧道我们就打通出了一个连接“用户——接入网——互联网”的通道。

        建立隧道的方式主要分为两种:TCP连接封装

        TCP连接的方式和我们在第一章中讲的差不多,应用在接入网和互联网的连接中就是在两者之间的隧道路由器的端口上分别创建了各自的TCP套接字,网络包以这两个TCP套接字作为端口进行双向的传输。工作原理和传输层的TCP协议一样,通过先建立TCP连接,接着进行网络包的收发。这时候两端的TCP套接字就实质上形成了一个隧道,网络包就在这个隧道之间进行传输。

        封装的方式则是将收到的网络包包括头部在内的封装到另一个包中进行传输,通过这种方式包会原封不动的被发送到另一端,产生的结果和TCP连接方式是一样的。

无论任何机制,只要能够将包原封不动搬运到另一端,从原理上看就都可以 用来建立隧道。

(3)接入网的整体工作流程

        了解了两种接入网技术和BAS的具体工作内容后,下面我们来看一看接入网的整体工作流程。通过之前的讲解我们得知,接入网承担着从用户端到互联网之间的桥梁角色。现在我们假设用户尚未连接接入网,也就意味着还没有和互联网之间进行连通。

        当用户请求连接接入网时,首先需要进行身份认证。我们已经知道身份验证是由接入网的BAS(宽带接入服务器)负责的,那么我们就得先知道接入服务商的BAS的MAC地址,而PPPoE的发现机制会通过广播获得这个MAC地址。有了BAS的MAC地址我们就能顺利的将用户名和密码发送给BAS进行身份认证,在向BAS传输验证包的过程中密码会通过一种叫CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)的加密技术进行加密,防止在传输时可能造成的信息安全问题。BAS收到用户发送的用户名和密码并验证通过后,就会下发TCP/IP配置信息,这个配置信息包括了DNS(域名服务器)和默认网关的IP地址、并动态分配了一个公网IP地址。用户端的互联网接入路由器收到了这些配置信息后就可以进行上网配置操作,公网IP地址会被分配给互联网接入路由器上连接了BAS的端口。

        这里可能会有一个问题,为什么不将公网IP直接分配给计算机而是分配给路由器呢?这个问题在上一章中我们已经讨论过了,出于节省IP资源的考虑,IP地址可以分为公网IP和私网IP之分,公网IP用来标识用户局域网在互联网的唯一身份(全网唯一),私网IP(没有特定规则、不同局域网之间可重复)用来对内标识不同的终端设备(计算机、手机、平板或打印机等),为了解决局域网内不同终端设备共用一个IP地址上网时如何进行设备区分的问题,路由器采取了NAT(网络地址转换)和端口映射的方式。

        继续我们的内容,公网IP地址被分配给互联网接入路由器连接BAS的端口(也就是WAN口),默认网关和DNS的IP地址则会被写进路由器的路由表中。至此接入网的准备工作完成,用户计算机就可以在互联网中收发网络包了。也可以理解为用户到互联网之间的“桥梁”被建立,用户可以正常上网了。

        下面我们来看看网络包是如何从经过接入网来进入互联网的。

        首先用户的源主机(计算机)在局域网内发出了一个以太网包(MAC包),根据MAC包头部的MAC地址它被发送给了对应的转发设备也就是对应路由器,路由器会丢弃以太网包的MAC头部,提取出IP包并查看网络包的接收方IP地址是不是在当前网段中,如果不是在当前网段就说明网络包的目的地在当前子网之外,那么它就会在自己的路由表中查询是否有目标地址为接收方IP地址的路由记录,如果没有就准备将包转发给从BAS那里接收到的默认网关IP地址。我们假定这里的路由器是和接入服务商连接的互联网接入路由器,并且已经完成了TCP/IP配置信息的写入。

        我们知道网络包是通过接入网来进入互联网的,所以在这个接入网中间过程中,网络包不是按照以太网的规则,而是按照PPPoE的规则进行传输的。详细的传输过程根据实际使用的接入网技术的不同也会有所差别。但共同点是,首先由互联网接入路由器将原始网络包进行加工:生成新的MAC头部(接收方为从BAS接收到的BAS的MAC地址,发送方为路由器接向BAS的端口地址),并追加PPPoE和PPP头部信息。

图例摘自原书

 然后互联网接入路由器会将新的网络包转换成信号发出,BAS收到网络包后会丢弃MAC头部和PPPoE头部,取出PPP头部和后面的部分(IP包),将PPP包通过隧道发送到另一端的运营商网络。

BAS 在收到用户路由器发送的网络包之后,会去掉 MAC 头部和 PPPoE 头部,然后用隧道机制将包发送给网络运营商的路由器。

 

 

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值