网络是怎样连接的学习笔记(四)

第四章、通过接入网进入互联网内部

4.1ADSL接入网的结构和工作方式

4.1.1互联网的基本结构和家庭、公司网络是相同的

互联网也是通过路由器来转发包的,而且路由器的基本结构和工作方式与家庭、公司网络并没有什么不同(图4.1)。因此,我们可以将互联网理解为家庭、公司网络的一个放大版。

网络是怎样连接的学习笔记(四)_第1张图片

距离的不同和路由的维护方式,就是互联网与家庭、公司网络之间最主要的两个不同点。

4.1.1连接用户与互联网的接入网

网络包通过交换机和路由器的转发一步一步地接近它的目的地,在通过互联网接入路由器之后,就进入了互联网。本章的探索之旅就从这里开始。

互联网接入路由器的包转发操作也是根据包IP头部中的接收方IP地址在路由表的目标地址中进行匹配,找到相应的路由记录后将包转发到这条路由的目标网关。不过,互联网接入路由器发送网络包的操作和以太网路由器有一点不同,互联网接入路由器是按照接入网规则来发送包的。

接入网,就是指连接互联网与家庭、公司网络的通信线路。一般家用的接入网方式包括ADSL、FTTH(FTTH:Fiber To The Home,光纤到户。)、CATV、电话线、ISDN等,公司则还可能使用专线。接入网的线路有很多种类,我们无法探索所有这些线路,因此下面先介绍一个比较有代表性的例子——ADSL。

4.1.3ADSL Modem将包拆分成信元

ADSL技术使用的接入线路,其内部结构如图4.2所示,在这张图中网络包是从右往左传输的。用户端路由器发出的网络包通过ADSL Modem(ADSL:Asymmetric Digital Subscriber Line,不对称数字用户线。)和电话线到达电话局,然后到达ADSL的网络运营商(即ISP,互联网服务提供商)。在网络包从用户传输到运营商的过程中,会变换几种不同的形态,整个过程如图4.3所示。

网络是怎样连接的学习笔记(四)_第2张图片

网络是怎样连接的学习笔记(四)_第3张图片

首先,客户端生成的网络包(图4.3的①和②)先经过集线器和交换机到达互联网接入路由器(图4.3③),并在此从以太网包中取出IP包并判断转发目标(图4.3④)。接下来,如果互联网接入路由器和ADSLModem之间是通过以太网连接的,那么就会按照以太网的规则执行包发送的操作,发送信号本身的过程跟之前是一样的,但以太网的头部会有一些差异。这部分的具体情况各运营商会有所不同,而且还需要一些关于BAS(BAS:Broadband Access Server,宽带接入服务器。它也是一种路由器。)(位于接入网另一端的包转发设备)的知识。网络包会加上MAC头部、PPPoE头部、PPP(PPP:Point-to-Point Protocol,点到点协议。它是电话线、ISDN 等通信线路所使用的一种协议,集成了用户认证、配置下发、数据压缩、加密等各种功能。)头部总共3种头部(图4.3⑤),然后按照以太网规则转换成电信号后被发送出去。

互联网接入路由器会在网络包前面加上MAC头部、PPPoE头部、PPP头部总共3种头部,然后发送给ADSL Modem(PPPoE方式下)。

互联网接入路由器将包发送出去之后,包就到达了ADSL Modem(图4.3⑥),然后,ADSL Modem会把包拆分成很多小格子(图4.3⑦),每一个小格子称为一个信元。信元是一个非常小的数据块,开头是有5个字节的头部,后面是48个字节的数据,用于一种叫作ATM(ATM:Asynchronous Transfer Mode,异步传输。它是在以电话线为载体的传统电话技术基础上扩展出来的一种通信方式。)的通信技术。大家可以将信元理解为一种更小一号的包,原理上跟TCP/IP 将应用程序的数据拆分成块装进一个个包的过程是一样的。

当初开发ADSL 技术时,通信业比较看好ATM技术,各运营商也在ATM相关的设备上投入了很多资金。在这样的情况下,如果使用信元来传输数据,就比较容易和其他设备进行整合,可以降低开发投入和设备投入。如果不是出于这样的原因,其实并不需要将包拆分成信元,实际上也有一些ADSL运营商使用的ADSL Modem是不进行数据拆分的。

网络是怎样连接的学习笔记(四)_第4张图片

ADSL Modem将包拆分成信元,并转换成电信号发送给分离器。

4.1.4ADSL将“信元”调制成信号

将网络包拆分成信元之后,接下来就要将这些信元转换成信号了(图4.3⑧)。以太网采用的是用方波信号表示0和1的方式,这种方式很简单,但同样是将数字信息转换成模拟信号,ADSL采用的方法要复杂一些。其中有两个原因,一个原因是方波信号的波形容易失真,随着距离的延长错误率也会提高;另一个原因是方波信号覆盖了从低频到高频的宽广频段,信号频率越高,辐射出来的电磁噪声就越强,因此信号频谱太宽就难以控制噪声。

因此,ADSL Modem采用了一种用圆滑波形(正弦波)对信号进行合成来表示0和1的技术,这种技术称为调制。调制有很多方式,ADSL采用的调制方式是振幅调制(ASK)和相位调制(PSK)相结合的正交振幅调制(QAM)方式。下面先来看一下它的两个组成要素。

振幅调制是用信号的强弱,也就是信号振幅的大小来对应0和1的方式。如图4.4(b),振幅小的信号为0,振幅大的信号为1,这是一种最简单的对应关系。在这个例子中,振幅大小只有两个级别,如果增加振幅变化的级别,就可以对应更多的比特。例如,如果将振幅增加到4 个级别,则振幅从小到大可分别对应00、01、10和11,这样就可以表示两个比特了。这样做可以将单位时间内传输的数据量加倍,也就能够提高速率。以此类推,如果振幅有8个级别,就可以表示3个比特,16个级别就可以表示4个比特,速率也就越来越高。不过,信号会在传输过程中发生衰减,也会受到噪声影响而失真,如果振幅级别太多,接收方对信号的识别就容易出错,因此振幅级别也不能太多。

网络是怎样连接的学习笔记(四)_第5张图片

另一个组成要素是相位调制,这是一种根据信号的相位来对应0和1的方式。Modem产生的信号是以一定周期振动的波,如图4.5所示,振动的起始位置不同,波的形状也就不同。如果将波的一个振动周期理解为一个圆,则起始位置就可以用0度到360度的角度来表示,这个角度就是相位,用角度来对应0和1的方式就叫作相位调制。例如,从0度开始的波为0,从180 度开始的波为1,这是一种最简单的对应关系,如图4.4(c)所示。和振幅调制一样,相位调制也可以通过将角度划分为更细的级别来增加对应的比特数量,从而提高速率。但是,角度太接近的时候也容易产生误判,因此这样提升速率还是有限度的。

网络是怎样连接的学习笔记(四)_第6张图片

ADSL使用的正交振幅调制就是将前面这两种方式组合起来实现的。图4.4(d)就是将图4.4(b)和图4.4(c)组合起来的一个例子,大家应该一看就明白了。如果信号的振幅可以表示1个比特,相位可以表示1个比特,那么加起来就可以表示2个比特。因此,将两种方式组合起来,正交振幅调制就可以用一个波表示更多的比特,从而提高传输速率。

正交振幅调制中,通过增加振幅和相位的级别,就可以增加能表示的比特数。例如,如果振幅和相位各自都有4个级别,那么组合起来就有16个级别,也就可以表示4个比特的值。当然,和单独使用振幅调制或相位调制的情况一样,级别过多就容易发生误判,因此这种方法提升的速率是有限度的。

4.1.5ADSL通过使用多个波来提高速率

图4.4的例子中的信号是一个频率的波,实际上信号不一定要限制在一个频率。不同频率的波可以合成,也可以用滤波器从合成的波中分离出某个特定频率的波。因此,我们可以使用多个频率合成的波来传输信号,这样一来,能够表示的比特数就可以成倍提高了。

ADSL就是利用了这一性质,通过多个波增加能表示的比特数来提高速率的。具体来说,如图4.6所示,ADSL使用间隔为4.3125 kHz的上百个不同频率的波进行合成,每个波都采用正交振幅调制,而且,根据噪声等条件的不同,每个波表示的比特数是可变的。也就是说,噪声小的频段可以给波分配更多的比特,噪声大的频段则给波分配较少的比特,每个频段表示的比特数加起来,就决定了整体的传输速率。

网络是怎样连接的学习笔记(四)_第7张图片

ADSL技术中,上行方向(用户到互联网)和下行方向(互联网到用户)的传输速率是不同的,原因也在这里。如果上行使用26个频段,下行则可以使用95个或者223个频段,波的数量不同,导致了上下行速率不同。

当然,下行使用的频段较高,这些信号容易衰减而且更容易受到噪声的影响,因此这些频段可能只能表示较少的比特数,或者干脆无法传输信号。距离越远,频率越高,这种情况也就越显著,因此如果你家距离电话局太远,速率就会下降。

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

4.1.6分离器的作用

ADSL Modem将信元转换为电信号之后,信号会进入一个叫作分离器的设备,然后ADSL信号会和电话的语音信号混合起来一起从电话线传输出去。

分离器的作用是在信号从电话线传入时,将电话和ADSL信号分离。如果电话的语音信号和ADSL信号混合直接进入电话机,ADSL信号就会变成噪音,导致电话难以听清。为了避免这样的问题,就需要通过分离器将传入的信号分离,以确保ADSL信号不会传入电话机。具体来说,分离器的功能是将一定频率以上的信号过滤掉,也就是过滤掉了ADSL使用的高频信号,这样一来,只有电话信号才会传入电话机,但对于另一头的ADSL Modem,则是传输原本的混合信号给它。ADSL Modem内部已经具备将ADSL频率外的信号过滤掉的功能,因此不需要在分离器进行过滤。

网络是怎样连接的学习笔记(四)_第8张图片

分离器除了过滤掉高频信号,防止ADSL信号对电话信号产生干扰外,它还可以防止电话对ADSL产生干扰。当放下听筒时,电话机的电路和电话线是断开的,当拿起听筒时电话机就和电话线相连,电话机的信号就会传到电话线上。这两种状态的差异会导致噪声等线路状态的改变,如果ADSL通信过程中拿起话筒导致线路状态改变,就需要重新训练(握手),这就会导致几十秒的通信中断,分离器可以防止发生这样的问题。当然,也有一种技术能够快速重新握手,即便没有分离器也不会影响ADSL通信,G.992.2的ADSL规格就包含这种技术,但ADSL信号还是会影响电话,因此G.992.2的ADSL规格中一般还是需要使用分离器。

4.1.7从用户到电话局

从分离器出来,就是插电话线的接口,信号从这里出来之后,会通过室内电话线,然后到达大楼的IDF(IDF:Intermediate Distribution Frame,中间配线盘。)和MDF(MDF:Main Distribution Frame,主配线盘(总配线架)。),外面的电话线在这里和大楼内部的室内电话线相连接。如果是独栋住宅,就可以将室外线和室内线直接连起来。通过配线盘之后,信号会到达保安器。保安器是为了防止雷电等情况下电话线中产生过大电流的一种保护装置,内部有保险丝。

接下来,信号会进入电线杆上架设的电话电缆。电话线是一种直径0.32~0.9 mmC 的金属信号线,这些信号线如图4.8所示被捆绑在一起。

网络是怎样连接的学习笔记(四)_第9张图片

电话电缆在用户住宅附近一般是架设在电线杆上,但中途会沿电线杆侧面的金属管进入地下。由于电话线必须进入很多住宅和大楼,所以电话局附近就会集结数量庞大的电缆,这么多电缆要通过电线杆引入电话局是非常不现实的,电话局周围得密密麻麻地立满了电线杆,而且电线杆上架设过多的电缆,还会产生防灾方面的问题。因此,在电话局附近,电话线都是埋在地下的。由于电话局附近的地下电缆很多,集中埋设电缆的地方就形成了一条地道,这部分称为电缆隧道(如照片4.1)。通过电缆隧道进入电话局后,电缆会逐根连接到电话局的MDF上。

网络是怎样连接的学习笔记(四)_第10张图片

4.1.8噪声的干扰

电话电缆和以太网双绞线一样都是用金属信号线传输电信号,也会受到来自外部的噪声和来自内部的噪声(串扰)的干扰,导致信号失真。此外,电话线原本的设计并没有考虑到传输ADSL这样的高频信号,从这个角度上可以说它比以太网双绞线更容易受到噪声的干扰。

不过,电话线受到干扰的方式和双绞线有些不同。双绞线中只有一路方波信号,信号失真后就无法读取还原成数字信号,于是就会产生错误,但ADSL信号受到干扰后并不会立即造成错误。ADSL信号分布在多个频段上,只有和噪声频率相同的信号会受到影响而无法读取,即可用的信号数量减少,结果导致速率下降。

因此,电话线架设在噪声比较多的地方时,可能就会导致速率下降,比如电车线路旁边。电车的受电弓(pantograph)从架空接触网获取电力时会产生电火花释放噪声,ADSL 会因此受到干扰,导致速率下降。此外,ADSL还会受到AM电台广播的干扰。

电缆内部产生的噪声也会形成干扰。图4.8中的四芯线内部,或者相邻子单元的附近如果同时存在ADSL和ISDN信号线,ISDN发出的噪声就会干扰ADSL。ADSL刚刚开始普及的时候,大家还都比较关注防止ISDN干扰的技术,不过现在防止ISDN干扰的技术已经形成了,因此在使用ADSL时已经基本上没必要在意ISDN线路的问题了。

4.1.9通过DSLAM到达BAS

信号通过电话线到达电话局之后,会经过配线盘、分离器到达DSLAMA(DSLAM:DSL Access Multiplexer,数字用户线接入复用设备。它是一种电话局用的多路ADSL Modem,可以理解为将多个ADSLModem整合在一个外壳里的设备。)(图4.3⑨)。在这里,电信号会被还原成数字信息——信元(图4.3⑩)。DSLAM通过读取信号波形,根据振幅和相位判断对应的比特值,将信号还原成数字信息,这一过程和用户端的ADSL Modem在接收数据时的过程是一样的。因此,如果在电话局里安装一大堆和用户端一样的ADSLModem,也可以完成这些工作,只不过安装这么多Modem需要占用大量的空间,而且监控起来也非常困难。因此,电话局使用了DSLAM设备,它是一种将相当于很多个ADSL Modem的功能集中在一个外壳里的设备。

用户端ADSL Modem具备以太网接口,可以与用户端的路由器和计算机交互,收发以太网包,而DSLAM一般不用以太网接口,而是用ATM接口,和后方路由器收发数据时使用的是原始网络包拆分后的ATM信元形式。

DSLAM具有ATM接口,和后方路由器收发数据时使用的是原始网络包拆分后的ATM信元形式。

信元从DSLAM出来之后,会到达一个叫作BAS的包转发设备(图4.3 k)。BAS和DSLAM一样,都具有ATM接口,可以接收ATM信元,还可以将接收到的ATM信元还原成原始的包(图4.3 l)。到这里,BAS的接收工作就完成了,接下来,它会将收到的包前面的MAC头部和PPPoE头部丢弃,取出PPP头部以及后面的数据(图4.3 m)。MAC头部和PPPoE头部的作用是将包送达BAS 的接口,当接口完成接收工作后,它们就完成了使命,可以被丢弃了。具有以太网接口的路由器在接收到包之后也会丢弃其中的MAC头部,道理是一样的。接下来,BAS会在包的前面加上隧道专用头部,并发送到隧道的出口(图4.3 n)。

然后,网络包会到达隧道出口的隧道专用路由器(图4.3 o),在这里隧道头部会被去掉,IP包会被取出(图4.3 p),并被转发到互联网内部(图4.3 q)。

BAS负责将ATM信元还原成网络包并转发到互联网内部。

4.2光纤接入网(FTTH)

4.2.1光纤的基本知识

光纤的结构如图4.9所示,它是由一种双层结构的纤维状透明材质(玻璃和塑料)构成的,通过在里面的纤芯中传导光信号来传输数字信息(图4.10)。ADSL信号是由多个频段的信号组成的,比较复杂,但光信号却非常简单,亮表示1,暗表示0。

网络是怎样连接的学习笔记(四)_第11张图片

如图4.10,先将数字信息转换成电信号,然后再将电信号转换成光信号。这里的电信号非常简单,1用高电压表示,0用低电压表示。将这样的电信号输入LED、激光二极管等光源后,这些光源就会根据信号电压的变化发光,高电压发光亮,低电压发光暗。这样的光信号在光纤中传导之后,就可以通过光纤到达接收端。接收端有可以感应光线的光敏元件,光敏元件可以根据光的亮度产生不同的电压。当光信号照射到上面时,光亮的时候就产生高电压,光暗的时候就产生低电压,这样就将光信号转换成了电信号。最后再将电信号转换成数字信息,我们就接收到数据了。这就是光纤的通信原理。

网络是怎样连接的学习笔记(四)_第12张图片

4.2.2单模与多模

光源在所有方向上都会发光,因此会有各种角度的光线进入纤芯,但入射角度太大的光线会在纤芯和包层(纤芯外沿部分)的边界上折射出去,只有入射角较小的光线会被包层全反射,从而在纤芯中前进(图4.11)。不过,也不是所有入射角小的光线都会在纤芯中传导。光也是一种波,因此光也有如图4.5中那样的相位,当光线在纤芯和包层的边界上反射时,会由于反射角产生相位变化。当朝反射面前进的光线和被反射回来的光线交会时,如果两条光线的相位不一致,就会彼此发生干涉抵消,只有那些相位一致的光线才会继续在光纤中传导。

网络是怎样连接的学习笔记(四)_第13张图片

图4.12中相位相反的情况是最容易理解的。相位不同的波在干涉后会变弱、消失,最后就只剩下相位相同的波向周围扩散开来。

网络是怎样连接的学习笔记(四)_第14张图片

光在被纤芯和包层的边界反射时,相位会发生变化。这个变化的量随光在反射面的反射角度不同而不同,大多数角度下,都会因为相位不同而被干涉抵消。不过,有几个特定的角度下,向反射面前进的光和反射回来的光的相位是一致的,只有以这些角度反射的光才能继续向前传导(图4.13)。进入光纤的光线有各种角度,但其中,只有少数按照特定角度入射以保持相位一致的光线才会继续传导。

网络是怎样连接的学习笔记(四)_第15张图片

这个角度非常关键,纤芯的直径也是根据这个角度来确定的,而且纤芯的直径大小会极大地改变光纤的性质。根据纤芯直径,光纤可以划分成几种类型,大体上包括较细的单模光纤(8~10 μm)和较粗的多模光纤(50 μm或62.5 μm)。单模光纤的纤芯很细,只有入射角很小的光线才能进入,因此在能够保持相位一致的角度中,只有角度最小的光线能进入光纤。反过来可以说,单模光纤的纤芯直径就是按照只允许相位一致的最小角度的光进入而设计的。多模光纤的纤芯比较粗,入射角比较大的光也可以进入,这样一来,在相位一致的角度中,不仅角度最小的可以在光纤中传导,其他角度更大一些的也可以,也就是说,可以有多条光线在纤芯中同时传导。换句话说,单模和多模实际上表示相位一致的角度有一个还是多个(图4.14)。

网络是怎样连接的学习笔记(四)_第16张图片

单模光纤和多模光纤在光的传导方式上有所不同,这决定了它们的特性也有所不同。多模光纤中可以传导多条光线,这意味着能通过的光线较多,对光源和光敏元件的性能要求也就较低,从而可以降低光源和光敏元件的价格。相对地,单模光纤的纤芯中只能传导一条光线,能通过的光线较少,相应地对于光源和光敏元件的性能要求就较高,但信号的失真会比较小。

信号失真与光在纤芯传导时反射的次数相关。多模光纤中,多条反射角不同的光线同时传导,其中反射角越大的光线反射次数越多,走过的距离也就越长;相对地,反射角越小的光线走过的距离越短。光通过的距离会影响其到达接收端的时间,也就是说,通过的距离越长,到达接收端的时间越长。结果,多条光线到达的时间不同,信号的宽度就会被拉伸,这就造成了失真。因此,光纤越长,失真越大,当超过允许范围时,通信就会出错(图4.15)。

网络是怎样连接的学习笔记(四)_第17张图片

相对地,单模光纤则不会出现这样的问题。因为在纤芯传导的光线只有一条,不会因为行进距离的差异产生时间差,所以即便光纤很长,也不会产生严重的失真。光纤的最大长度也是由上述性质决定的。单模光纤的失真小,可以比多模光纤更长,因此多模光纤主要用于一座建筑物里面的连接,单模光纤则用于距离较远的建筑物之间的连接。FTTH属于后者,因此主要使用单模光纤。

4.2.3通过光纤分路来降低成本

用光纤来代替ADSL将用户端接入路由器和运营商的BAS连接起来的接入方式就是FTTH,从形态上可大致分为两种。

一种是用一根光纤直接从用户端连接到最近的电话局(图4.16(a))。这种类型的FTTH中,用户和电话局之间通过光纤直接连接,网络包的传输方式如下。首先,用户端的光纤收发器将以太网的电信号转换成光信号。这一步只进行电信号到光信号的转换,而不会像ADSL一样还需要将包拆分成信元,大家可以认为是将以太网包原原本本地转换成了光信号。接下来,光信号通过连接到光纤收发器的光纤直接到达BAS前面的多路光纤收发器。FTTH一般使用单模光纤,因此其纤芯中只有特定角度的光信号能够反射并前进。然后,多路光纤收发器将光信号转换成电信号,BAS的端口接收之后,将包转发到互联网内部。

把网络包发送到互联网之后,服务器会收到响应,响应包的光信号也是沿着同一条光纤传输到用户端的。这里,前往互联网的上行光信号和前往用户的下行光信号在光纤中混合在一起,信号会变得无法识别,因此我们需要对它们进行区分,办法是上行和下行信号采用不同波长的光。波长不同的光混合后可通过棱镜原理进行分离,因此光纤中的上行和下行信号即便混合起来也可以识别。像这样在一条光纤中使用不同的波长传输多个光信号的方式叫作波分复用。

另一种光纤的接入方式是在用户附近的电线杆上安装一个名为分光器的设备,通过这个设备让光纤分路,同时连接多个用户(通过光纤分路连接多个用户的光纤接入模式统称为PON(Passive Optical Network,无源光网络)。)(图4.16(b))。在这种方式下,用户端不使用光纤收发器,而是使用一个叫作ONU(ONU:Optical Network Unit,光网络单元。它和光纤收发器一样,可以将电信号转换成光信号,除此之外还具有和电话局的OLT 相互配合避免信号碰撞的功能。)的设备,它将以太网的电信号转换成光信号之后,会到达BAS前面的一个叫作OLT(OLT:Optical Line Terminal,光线路终端。)的设备。光信号的传导方式和刚才介绍的直连方式是一样的,但有一点不同,因为多个用户同时收发网络包时信号会在分光器产生碰撞。因此,OLT和ONU中具备通过调整信号收发时机来避免碰撞的功能。具体来说,OLT会调整信号发送时机并向ONU下发指令,ONU则根据OLT的指令来发送数据。反过来,当BAS端向用户发送数据时,分光器只需要将信号发给所有用户就可以了,这里并不会发生碰撞,但这样做会导致一个用户收到其他所有用户的信号,造成信息泄露的问题,因此需要在每个包前面加上用于识别ONU的信息,当ONU收到信号后,会接收发给自己的信号并将其转换成以太网信号。

网络是怎样连接的学习笔记(四)_第18张图片

网络是怎样连接的学习笔记(四)_第19张图片

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

4.3.1用户认证和配置下发

用户发送的网络包会通过ADSL和FTTH等接入网到达运营商的BAS。

互联网本来就是由很多台路由器相互连接组成的,因此原则上应该是将接入网连接到路由器上。随着接入网发展到ADSL和FTTH,接入网连接的路由器也跟着演进,而这种进化型的路由器就叫作BAS。下面我们来具体讲一讲。

首先是用户认证和配置下发功能。ADSL和FTTH接入网中,都需要先输入用户名和密码,登录之后才能访问互联网,而BAS就是登录操作的窗口。BAS使用PPPoE(PPPoE:Point-to-Point Protocol over Ethernet,以太网的点对点协议。)方式来实现这个功能。PPPoE是由传统电话拨号上网上使用的PPP协议发展而来的,所以我们先来看一看PPP拨号上网的工作方式。

在使用电话线或者ISDN拨号上网时,PPP是如图4.17这样工作的。首先,用户向运营商的接入点拨打电话(图4.17①-1),电话接通后(图4.17①-2)输入用户名和密码进行登录操作(图4.17②-2)。用户名和密码通过RADIUS(RADIUS:Remote Authentication Dial-in User Service,远程认证拨号用户服务。)协议从RAS(RAS:Remote Access Server,远程访问服务器。)发送到认证服务器,认证服务器校验这些信息是否正确。当确认无误后,认证服务器会返回IP地址等配置信息,并将这些信息下发给用户(图4.17②-3)。用户的计算机根据这些信息配置IP地址等参数,完成TCP/IP收发网络包的准备工作,接下来就可以发送TCP/IP包了(图4.17③)。这个过程的重点在于图4.17②-3下发TCP/IP配置信息的步骤。在接入互联网时,必须为计算机分配一个公有地址,但这个地址并不是事先确定的。因为在拨号连接时,可以根据电话号码来改变接入点,而不同的接入点具有不同的IP地址,因此无法事先在计算机上设置这个地址。所以,在连接时运营商会向计算机下发TCP/IP配置信息,其中就包括为计算机分配的公有地址。

网络是怎样连接的学习笔记(四)_第20张图片

4.3.2在以太网上传输PPP消息

ADSL和FTTH接入方式也需要为计算机分配公有地址才能上网,这一点和拨号上网是相同的。不过,ADSL和FTTH中,用户和BAS之间是通过电缆或光纤固定连接在一起的,因此没有必要验证用户身份,所以实际上并不需要PPP的所有这些功能。然而,通过用户名和密码登录的步骤可以根据用户名来切换不同的运营商,这很方便A。因此,接入运营商在ADSL和FTTH中一般也会使用PPP。

传输PPP消息的思路和将IP包装入以太网包中传输是一样的。PPP协议中没有定义以太网中的报头和FCS等元素,也没有定义信号的格式,因此无法直接将PPP消息转换成信号来发送。要传输PPP消息,必须有另一个包含报头、FCS、信号格式等元素的“容器”,然后将PPP消息装在这个容器里才行。于是,在拨号接入中PPP借用了HDLCC(HDLC:High-level Data Link Control,高级数据联接控制。)协议作为容器,而HDLC协议原本是为在专线中传输网络包而设计的,拨号接入方式对这一规格进行了一些修正。最终,PPP消息就是像图4.18(a)这样来进行传输的。

对于ADSL和FTTH,如果可以和前面一样借用HDLC来作为容器,PPP协议就可以直接使用了。但是,ADSL和FTTH并不能使用HDLC,因此需要寻找另一个机制作为替代。于是,如图4.18(b)③和图4.18(c)③所示,我们用以太网包代替HDLC来装载PPP协议。此外,以太网和PPP在设计上有所不同,为了弥补这些问题就重新设计了一个新的规格,这就是PPPoE。

网络是怎样连接的学习笔记(四)_第21张图片

网络是怎样连接的学习笔记(四)_第22张图片

网络是怎样连接的学习笔记(四)_第23张图片

于是,ADSL和FTTH也可以像拨号上网一样传输PPP消息了。图4.18只展示了图4.17②-2部分,其他部分也是一样的。总之,只要将PPP消息装入以太网包中进行传输,ADSL和FTTH就也可以像拨号上网一样通信了。

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

4.3.3通过隧道将网络包发送给运营商

BAS除了作为用户认证的窗口之外,还可以使用隧道方式来传输网络包。所谓隧道,就类似于套接字之间建立的TCP连接。在TCP连接中,我们从一侧的出口(套接字)放入数据,数据就会原封不动地从另一个出口出来,隧道也是如此。也就是说,我们将包含头部在内的整个包从隧道的一头扔进去,这个包就会原封不动地从隧道的另一头出来,就好像在网络中挖了一条地道,网络包从这个地道里穿过去一样。

像这样,如果在BAS和运营商路由器之间的ADSL/FTTH接入服务商的网络中建立一条隧道,将用户到BAS的接入网连接起来,就形成了一条从用户一直到运营商路由器的通道,网络包通过这条通道,就可以进入互联网内部了,这样的机制就类似于将接入网一直延伸到运营商路由器。

隧道有几种实现方式,刚才提到的TCP连接就是其中一种实现方式(图4.19(a))。这种方式中,首先需要在网络上的两台隧道路由器之间建立TCP连接,然后将连接两端的套接字当作是路由器的端口,并从这个端口来收发数据。换句话说,在路由器收发包时,是基于隧道的规则向隧道中放入或取出网络包,这时,TCP连接就好像变成了一根网线,包从这里穿过到达另一端。

图4.19(b)中还介绍了另一种基于封装(encapsulation)的隧道实现方式,这种方式是将包含头部在内的整个包装入另一个包中传输到隧道的另一端。在这种方式中,包本身可以原封不动地到达另一端的出口,从结果上看和基于TCP连接的方式是一样的,都实现了一个可供包进行穿梭的通道。通过前面的介绍大家可以发现,无论任何机制,只要能够将包原封不动搬运到另一端,从原理上看就都可以用来建立隧道。

网络是怎样连接的学习笔记(四)_第24张图片

4.3.4接入网的整体工作过程

接入网的工作从用户端的互联网接入路由器进行连接操作开始。首先,接入路由器中需要配置运营商分配的用户名和密码。然后,接入路由器会根据PPPoE的发现机制来寻找BAS。这一机制和ARP一样是基于广播来实现的,过程如下,很简单。

用户询问:“BAS在不在?在的话请报告MAC地址。”

BAS回答:“我在这里,我的MAC地址是xx:xx:xx:xx:xx:xx。”

这样用户端就知道了BAS的MAC地址,也就可以和BAS进行通信了。大家可以认为前面这个过程相当于拨号上网中拨通电话的动作(图4.17①-1和①-2)。

互联网接入路由器通过PPPoE的发现机制查询BAS的MAC地址。

接下来,如图4.17②-1到②-4中所示,进入用户认证和下发配置的阶段。这里的工作过程有点复杂,我们只说重点。第一个重点是用户名和密码如何发送给BAS。这里有两种方式,一种是将密码进行加密的CHAP(CHAP:Challenge HandshakeAuthentication Protocol,挑战握手认证协议。)方式,另一种是不加密的PAPC 方式,在互联网接入路由器的设置画面中可以选择。进行加密的CHAP方式显然安全性更高,一般也推荐使用这种方式,但也并不是说使用不加密的PAP(PAP:Password Authentication Protocol,密码验证协议。)方式密码就立刻会被窃取。由于明文密码只在BAS和用户端路由器之间传输(从BAS向认证服务器发送密码时使用RADIUS协议,无论用户拨入使用CHAP还是PAP,RADIUS 都是加密的。),所以如果要窃取密码,要么在路由器和ADSL Modem中间进行窃听,要么爬到电线杆上安装窃听装置拾取电缆中泄漏的电磁波。不过,光纤是不会泄漏电磁波的,因此无法通过第二种方式进行窃听。

第二个重点是,在校验密码之后BAS如何向用户下发TCP/IP配置信息。这里下发的配置信息包括分配给上网设备的IP地址、DNS服务器的IP地址以及默认网关的IP地址。当使用路由器连接互联网时,路由器会根据这些信息配置自身的参数。这样一来,路由器的BAS端的端口就有了公有地址,路由表中也配置好了默认网关,接下来就可以将包转发到互联网中了。

BAS下发的TCP/IP参数会被配置到互联网接入路由器的BAS端的端口上,这样路由器就完成接入互联网的准备了。

接下来,客户端就会开始发送用来访问互联网的网络包,比如有人在浏览器里输入了一个网址,这时网络包就开始发送了。这些包的目的地是互联网中的某个地方,这个地方或许在互联网接入路由器的路由表里是找不到的。这时,路由器会选择默认路由,并将这个包转发给默认路由的网关地址,也就是BAS下发的默认路由。不过在通过路由表判断转发目标之后,包不是按照以太网规则转发,而是按照PPPoE规则转发,具体的过程如下。首先,如图4.20,要发送的包会被加上头部信息,并设置相应的字段。第一个MAC头部中,接收方MAC地址填写通过PPPoE发现机制查询到的BAS的MAC地址,发送方MAC地址填写互联网接入路由器的BAS端的端口的MAC地址,然后以太类型填写代表PPPoE的8864(十六进制)。接下来是PPPoE 头部和PPP头部,它们包含的字段如图4.20所示,其中除了载荷长度之外,其他的值都是可以事先确定的,载荷长度就是需要传输的包的长度。再往后的部分就是包含IP头部在内的原始网络包。可以说,这里的转发操作中基本上不需要根据头部中的信息进行判断,只要将事先准备好的头部加上去就可以了。然后,网络包会被转换成信号,从相应的端口发送出去。

网络是怎样连接的学习笔记(四)_第25张图片

接下来,网络包会到达BAS,而BAS会将MAC头部和PPPoE头部去掉,取出PPP头部以及后面的部分,然后通过隧道机制将包发送出去。最后,PPP包会沿隧道到达另一端的出口,也就是网络运营商的路由器。

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

4.3.5不分配IP地址的无编号路由器

前面介绍了PPPoE的工作过程,这里面有一个有趣的问题,就是互联网接入路由器在发送包的时候为什么要加上那些头部呢?头部里面的值基本上都是事先定好的,跟路由表里面的默认网关地址根本没什么关系。当采用一对一连接,也就是两台路由器的端口用一根线直接连起来的情况下,一端发送的包肯定会到达另一端,那么这种情况下就没有必要按照路由表查询默认网关来判断转发目标地址了。如果没有必要判断转发地址,那么网关的地址也就没什么用了;如果网关地址没用,那么目标路由器的端口也用不着分配IP地址了。上面的性质对于所有一对一连接都是适用的。

以前,即便是在这样的场景中,还是会为每个端口分配IP地址,这是因为有一条规则规定所有的端口都必须具有IP地址。然而,当公有地址越来越少时,就提出了一个特例,即一对一连接的端口可以不分配IP地址。现在,在这种场景中按惯例都是不为端口分配IP地址的,这种方式称为无编号(unnumbered)。这种情况下,BAS下发配置信息时就不会下发默认网关的IP地址。

一对一连接的端口可以不分配IP地址,这种方式称为无编号。

4.3.6互联网接入路由器将私有地址转换成公有地址

互联网接入路由器在转发包时需要进行地址转换。这些信息来自BAS会向用户端下发TCP/IP的配置信息,如果将这些信息配置在计算机上,就相当于计算机拥有了公有地址,这种情况下不需要进行地址转换也可以访问互联网。其实TCP/IP原本的设计就是这样的。然而,如果使用路由器来上网,BAS下发的参数就会被配置在路由器上,而且公有地址也是分配给路由器的。这样一来,计算机就没有公有地址了。

这时,计算机会被分配一个私有地址,计算机发送的包需要通过路由器进行地址转换然后再转发到互联网中。Web和电子邮件等应用程序不会受到地址转换的影响,但有些应用程序会因为地址转换无法正常工作,这一点需要大家注意。这是因为有些应用程序需要将自己的IP 地址告知通信对象或者告知控制服务器,但在有地址转换的情况下这些操作无法完成。

遇到应用程序因地址转换无法正常工作的情况时,我们可以不使用路由器,而是直接让计算机接收来自BAS的PPPoE消息,也就是采用最原始的上网方法。这样一来,计算机就具有了公有地址,不需要地址转换也可以上网了。

不过,不用路由器上网也有一点需要注意,因为上网的计算机拥有公有地址,这意味着来自互联网的包可以直接到达计算机,这可能导致计算机被攻击。因此,对于直接上网的客户端计算机,我们应该采取安装防火墙软件等防御手段。

4.3.7除PPoE之外的其他方式

实际的接入网除PPoE还有其他一些方式。

首先,使用PPPoA(PPPoA:Point-to-Point Protocolover ATM。)方式的ADSL接入网。ADSL使用PPPoE方式时,是先将PPP消息装入以太网包中,然后再将以太网包拆分并装入信元,而PPPoA方式是直接将PPP消息装入信元(图4.21)。由于只是开头加不加MAC头部和PPPoE 头部的区别,PPP消息本身是没有区别的,因此密码校验、下发TCP/IP配置参数、收发数据包等过程都是和PPPoE基本相同的。不过,虽然开头加不加MAC头部和PPPoE头部看上去只是很小的区别,但却会对用户体验产生一定的影响。

PPPoA方式不添加MAC头部和PPPoE头部,而是直接将包装入信元中。

由于PPPoA没有MAC头部,所以PPP消息是无法通过以太网来传输的,这就意味着需要和BAS 收发PPP消息的设备,也就是计算机和路由器,必须和ADSL Modem是一体的,否则PPP机制就无法工作了。这个一体化的方式主要有以下两种。

第一种是将计算机和ADSLModem用USB接口连接起来,这样ADSL Modem就和计算机成为一体了。不过,这种方式最终并没有普及。

另一种方式是像图4.21所示的这样,将ADSL Modem和路由器整合成一台设备。这种方式和PPPoE中使用路由器上网的方式基本没什么区别,因此得到了广泛的普及。不过,正如我们刚才提到的,当由于地址转换产生问题时,这种方式就不容易处理了,因为我们无法抛开路由器用计算机直接上网。

网络是怎样连接的学习笔记(四)_第26张图片

当然,PPPoA和PPPoE相比也有一些优势。PPPoE方式中,如图4.18所示,需要添加PPPoE头部和PPP头部,这意味着MTU就相应变小了,这可能会降低网络的效率。而PPPoA不使用以太网包来传输PPP消息,因此不会发生MTU变小的问题。

PPPoE会降低网络效率,PPPoA也有ADSL Modem和路由器无法分离的限制,这两个问题其实都是由PPP引起的。因此,有一些运营商不使用PPP,他们使用DHCP(DHCP:Dynamic Host Configuration Protocol,动态主机配置协议。)协议从BAS向用户端下发TCP/IP配置信息。

DHCP经常用于通过公司网络向客户端计算机下发TCP/IP配置信息,其原理如图4.22所示,首先客户端请求配置信息(图4.22①),然后DHCP服务器下发配置信息(图4.22②),非常简单,不需要像PPP(图4.17)那样需要多个步骤,也不需要验证用户名和密码。没有用户名和密码,就意味着无法通过用户名来切换运营商网络,但这种方式也有优势,它可以单纯地直接传输以太网包,不需要添加额外的PPP头部,因此不会占用MTU。

网络是怎样连接的学习笔记(四)_第27张图片

此外,采用DHCP的运营商使用的ADSL Modem也和PPPoE、PPPoA方式不同,这种ADSL Modem 不使用信元,而是直接将以太网包调制成ADSL信号,因此没有ADSL Modem和路由器无法分离的问题。

还有一种DHCP方式,它不使用PPP,而是将以太网包直接转换成ADSL信号发送给DSLAM。

4.4网络运营商的内部

4.4.1POP和NOC

现在网络包已经通过接入网,到达了网络运营商的路由器。这里是互联网的入口,网络包会从这里进入互联网内部。

互联网的实体并不是由一个组织运营管理的单一网络,而是由多个运营商网络相互连接组成的(图4.23)。ADSL、FTTH等接入网是与用户签约的运营商设备相连的,这些设备称为POP(POP:Point of Presense,中文一般叫作“接入点”。),互联网的入口就位于这里。

网络是怎样连接的学习笔记(四)_第28张图片

网络包通过接入网之后,到达运营商POP的路由器。

POP的结构根据接入网类型以及运营商的业务类型不同而不同,大体上是图4.24中的这个样子。POP中包括各种类型的路由器,路由器的基本工作方式是相同的,但根据其角色分成了不同的类型。图4.24中,中间部分列出了连接各种接入网的路由器,这里的意思就是根据接入网的类型需要分别使用不同类型的路由器。

从上面开始看,首先是专线,这里用的路由器就是具有通信线路端口的一般路由器。专线不需要用户认证、配置下发等功能(专线是固定连接线路,不需要进行身份认证,参数是根据传真、书面等方式下发后进行手动配置的,因此也不需要PPP、DHCP等机制。其实,这就是最古老的互联网接入方式。),因此用一般的路由器就可以了。接下来是电话、ISDN等拨号方式的接入网,这里使用的路由器称为RAS。拨号接入需要对用户拨电话的动作进行应答,而RAS就具备这样的功能。此外,之前我们讲过通过PPP协议进行身份认证和配置下发的过程,RAS也具备这些功能。再往下是PPPoE方式的ADSL和FTTH。PPPoE方式中,ADSL、FTTH接入服务商会使用BAS,运营商的路由器则与BAS相连。PPPoE中的身份认证和配置下发操作由接入服务商的BAS来负责,运营商的路由器只负责对包进行转发,因此这里也是使用一般的路由器就可以了。如果ADSL采用PPPoA方式接入,那么工作过程会有所不同,DSLAM通过ATM交换机(ATM交换机是转发ATM信元的设备,负责将DSLAM输出的信元转发给BAS。)与ADSL的运营商的BAS相连,然后再连接到运营商的路由器。用户端传输的信号先经过ADSLModem拆分成ATM信元并进行调制,然后DSLAM将信号还原成信元,通过ATM交换机转发到BAS,最后BAS将信元还原成网络包,再通过运营商的路由器转发到互联网内部。

网络是怎样连接的学习笔记(四)_第29张图片

对于连接接入网的部分来说,由于要连接的线路数量很多,所以路由器需要配备大量的端口,但能传输的网络包数量相对比较少,这是因为接入网的速率比互联网核心网络要低。因此,端口多且价格便宜的路由器适用于这些场景。相对地,图中左侧的路由器用于连接运营商和核心NOC以及其他POP,所有连接接入网的路由器发出的包都会集中到这里,使用的线路速率也比较高,因此这里需要配备转发性能和数据吞吐量高的路由器。

NOC(NOC:Network Operation Center,网络运行中心。)是运营商的核心设备,从POP传来的网络包都会集中到这里,并从这里被转发到离目的地更近的POP,或者是转发到其他的运营商。这里也需要配备高性能的路由器。

面向运营商的高性能路由器中有些产品的数据吞吐量超过1 Tbit/s,而一般面向个人的路由器的数据吞吐量也就100 Mbit/s左右,两者相差1万多倍。当然,路由器的性能不完全是由吞吐量决定的,但从这里可以看出规模和性能的差异。

其实,NOC和POP并没有非常严格的界定。NOC里面也可以配备连接接入网的路由器,很多情况下是和POP共用的。从IP协议的传输过程来看,也没有对两者进行区分的必然性,因为无论是哪个路由器,其转发网络包的基本工作原理都是相同的。因此,大家可以简单地认为,NOC就是规模扩大后的POP。

4.4.1室外通信线路的连接

POP和NOC遍布全国各地,它们各自的规模有大有小,但看起来跟公司里的机房没什么太大区别,都是位于一幢建筑物中的,其中的路由器或者通过线路直接连接,或者通过交换机进行连接,这些和公司以及家庭网络都是相同的。只不过,公司的机房一般使用双绞线来连接设备,但运营商的网络中需要传输大量的包,已经超过了双绞线能容纳的极限,因此一般还是更多地使用光纤。

大楼室内可以用线路直接连接,对于距离较远的NOC和POP来说,它们之间的连接方式可以分为几种。

对于自己拥有光纤的运营商来说,可以选择最简单的方式,也就是用光纤将NOC和POP直接连接起来。

这种方式虽然想法简单,但实现起来却并不简单。光纤需要在地下铺设,需要很大的工程费用,而且当线路发生中断时还必须进行维修,这些维护工作也需要费用。因此,只有有限的几家大型运营商才拥有光纤。

那么,其他运营商怎么办呢?其实也不难,只要从其他公司租借光纤就可以了,但所谓租借并不是光纤本身。

拥有光纤的公司一般都会提供光纤租用服务。以电话公司为例,电话公司会在其拥有的光纤中传输语音数据,但一条光纤并不是只能传输一条语音数据,光纤是可以复用的,一条语音数据只占其通信能力的一部分。换句话说,电话公司可以将自己的光纤的一部分通信能力租借给客户。对于客户来说,只要支付一定的费用就可以使用其中的通信能力了。这种服务就叫作通信线路服务。

不拥有光纤的运营商则可以使用租借通信线路的方式将相距较远的NOC和POP连接起来。电话使用的通信线路(电话线)只能传输语音这种单一形式的数据,但运营商使用的通信线路则种类繁多。首先,在速率上就分为很多种,其中比较快的种类,其速率为电话线的100万倍左右。除了速率之外,数据的传输方式也分为很多种。以前,将多条电话线捆绑在一起的方式比较主流,现在我们有了各种类型的通信线路,其中也有一些公司不对光纤进行细分,而是直接将整条光纤租借出去A。不同的通信方式和速率对应着不同的价格,对于不拥有光纤的运营商来说,需要根据需要从中进行选择。

4.5跨越运营商的网络包

4.5.1运营商之间的连接

重新回到运营商内部,网络包到达POP路由器之后。首先,如果最终目的地Web服务器和客户端是连接在同一个运营商中的,那么POP路由器的路由表中应该有相应的转发目标。运营商的路由器可以和其他路由器交换路由信息,从而自动更新自己的路由表,通过这一功能,路由信息就实现了自动化管理。于是,路由器根据路由表中的信息判断转发目标,这个转发目标可能是NOC,也可能是相邻的POP,无论如何,路由器都会把包转发出去,然后下一个路由器也同样根据自己路由表中的信息继续转发。经过几次转发之后,网络包就到达了Web 服务器所在的POP的路由器,然后从这里被继续转发到Web服务器。

在服务器的运营商和客户端的运营商不同的情况下,网络包需要先发到服务器所在的运营商,这些信息也可以在路由表中找到,这是因为运营商的路由器和其他运营商的路由器也在交换路由信息。这时网络包会被转发到对方运营商的路由器。

总之,对于互联网内部的路由器来说,无论最终目的地是否属于同一家运营商,都可以从路由表中查到,因此只要一次接一次按照路由表中的目标地址来转发包,最终一定可以到达Web服务器所在的POP。这样一来,我们就可以把包发到任何地方,包括地球的另一面。

4.5.2运营商之间的路由信息交换

如图4.25所示,只要让相连的路由器告知路由信息就可以了。只要获得了对方的路由信息,就可以知道对方路由器连接的所有网络,将这些信息写入自己的路由表中,也就可以向那些网络发送包了。

网络是怎样连接的学习笔记(四)_第30张图片

获得对方的路由信息之后,我们也需要将自身的路由信息告知对方。这样一来,对方也可以将发往我们所在子网的包转发过来。这个路由信息交换的过程是由路由器自动完成的,这里使用的机制称为BGP(BGP:Border Gateway Protocol,边界网关协议。)。

根据所告知的路由信息的内容,这种路由交换可分为两类。一类是将互联网中的路由全部告知对方。例如图4.26中,如果运营商D将互联网上所有路由都告知运营商E,则运营商E不但可以访问运营商D,还可以访问运营商D后面的运营商B、A和C。然后,通过运营商D就可以向所有的运营商发送包。像这样,通过运营商D来发送网络包的方式称为转接。

网络是怎样连接的学习笔记(四)_第31张图片

另一种类型是两个运营商之间仅将与各自网络相关的路由信息告知对方。这样,只有双方之间的网络可以互相收发网络包,这种方式称为非转接,也叫对等。

互联网内部使用BGP机制在运营商之间交换路由信息。

4.5.3与公司网络中自动更新路由表机制的区别

路由器之间相互交换信息自动更新路由表的方式在公司网络中也会用到,不过公司内部和运营商之间在路由交换方式上是有区别的。

公司中使用的方式是寻找与目的地之间的最短路由,并按照最短路由来转发包,因此,周围的所有路由器都是平等对待的。

公司内部采用这样的方式没问题,但运营商之间就不行了。假设某个运营商拥有一条连接日本和美国的高速线路,那么要访问美国的地址时,可能这条线路是最短路由。如果单纯采用最短路由的方式,那么其他运营商的包就都会走这条线路,这时,该运营商需要向其他运营商收取相应的费用,否则就成义务劳动了。在这种情况下,如果使用最短路由的方式,就无法区分哪个运营商交了费,哪个运营商没交费,也就是说无法阻止那些没交费的运营商使用这条线路,这样就很难和对方进行交涉了。

正是出于这样的原因,互联网中不能单纯采用最短路由,而是需要一种能够阻止某些来源的网络包的机制,互联网的路由交换机制就具有这样的功能。

首先,互联网中可以指定路由交换的对象。公司中,路由信息是在所有路由器间平等交换的,但运营商之间的路由交换是在特定路由器间一对一进行的。这样一来,运营商就可以只将路由信息提供给那些交了费的运营商,那些没交费的运营商也就无法将网络包发送过来了。

其次,在判断路由时,该机制不仅可以判断是否是最短路由,还可以设置其他一些判断因素。例如当某个目的地有多条路由时,可以对每条路由设置优先级。

运营商之间需要对交换路由信息的对象进行判断和筛选,但这样一来,对于没有交换路由信息的运营商网络,我们就无法将网络包发送过去了,如果要访问的Web服务器就在那个运营商网络中,我们不就访问不了了吗?其实不用担心,运营商在进行路由交换时会避免出现这样的情况。互联网中有很多运营商,每个运营商都和其他多个运营商相互连接。因此,如果一个运营商走不过去,可以走另一个运营商,无论网络包要发送到什么地方,都会确保能够获取相应的路由信息。如果某个运营商做不到这一点,那它也就该倒闭了。

4.5.4 IX的必要性

对于两个运营商来说,像图4.26中运营商D和运营商C这样一对一的连接是最基本的一种连接方式,现在也会使用这种方式。但这种方式有个不方便的地方,如果运营商之间只能一对一连接,那么就需要像图4.27(a)这样将所有的运营商都用通信线路连接起来。如果有很多运营商,这样连接非常困难。对于这种情况,我们可以采用图4.27(b)的方式,设置一个中心设备,通过连接到中心设备的方式来减少线路数量,这个中心设备就称为IX(IX:Internet eXchange,中文一般叫作“互联网交换中心”。)。

网络是怎样连接的学习笔记(四)_第32张图片

4.5.5运营商如何通过IX互相连接

为了保证在遇到停电、火灾等事故,以及地震等自然灾害时,路由器等网络设备还能继续工作,IX所在的大楼都装有自主发电设备,并具有一定的抗震能力。其实这样的要求也不仅限于IX,运营商的NOC也是一样。运营商和IX运营机构会租下大楼中的一块地方用于放置NOC和IX的设备,换句话说,IX就在这些大楼中某一层的某个角落中。

IX的核心是具有大量高速以太网端口的二层交换机(图4.28)。二层交换机的基本原理和一般交换机相同,可以认为IX的核心就是大型的、高速的交换机。

接下来就是将各个运营商的路由器连接到IX核心交换机上,连接方法有几种。首先,当运营商NOC和IX位于同一幢大楼里时,只要从NOC中将光纤延长出来接到IX交换机就可以了(图4.28①)。这种情况和公司、家庭网络中的路由器与交换机的连接方法是相同的。这种方法很简单,但如果NOC和IX不在同一幢大楼里又该怎么办呢?我们可以用通信线路将路由器和交换机连起来。这种情况下有两种连法,一种是从路由器延伸出一根通信线路并连接到IX交换机上(图4.28②),另一种是将路由器搬到IX机房里,用通信线路将路由器和NOC连起来,再将路由器连到IX交换机上(图4.28③)。

以前IX交换机都是放在一个地方的,也就是呈点状分布的。现在这些点状设施已经逐步扩张,在数据中心等网络流量集中的地方一般都会设置IX终端交换机,各运营商的路由器在这里连接到终端交换机上(图4.28④)。IX已经从点扩张到线,甚至到面了。

路由器发送网络包时,先通过ARP查询下一个路由器的MAC地址,然后将其写入MAC头部发送出去即可。只要填写了正确的MAC地址,就可以向任何运营商的路由器发送包。不过实际上,要成功发送包还需要正确的路由信息,对于没有进行路由交换的运营商,我们是无法向其发送包的。这需要运营商之间通过谈判签订合约,然后按照合约来交换路由信息,实现网络包的收发。

运营商之间可以直接连接,也可以通过IX连接,无论是哪种方式,最终网络包都会到达服务器所在的运营商,然后通过POP进入服务器端的网络。后面的内容我们下一章继续讲。

网络是怎样连接的学习笔记(四)_第33张图片


你可能感兴趣的:(网络,网络,互联网,运营商,路由器,交换机)