光纤
不同材质的光纤其透光率和折射率也不同,纤芯的直径等因素也会影响光的传导。其中,纤芯的直 径对光的传导影响很大。
光源在所有方向上都会发光,因此会有各种角度的光线进入纤芯,但入射角度太大的光线会在纤芯和包层(纤芯外沿部分)的边界上折射出去,只有入射角较小的光线会被包层全反射,从而在纤芯中前进。
当朝反射面前进的光线和被反射回来的光线交会时,如果两条光线的相位不一致,就会彼此发生干涉抵消,只有那些相位一致的光线才会继续在光纤中传导。
光在被纤芯和包层的边界反射时,相位会发生变化。这个变化的量随光在反射面的反射角度不同而不同,大多数角度下,都会因为相位不同而被干涉抵消
几个特定的角度下,向反射面前进的光和反射回来的光的相位是一致的,只有以这些角度反射的光才能继续向前传导
纤芯的直径也是根据这个角度来确定的,而且纤芯的直径大小会极大地改变光纤的性质
根据纤芯直径,光纤可以划分成几种类型,大体上包括较细的单模光纤(8~10 μm)和较粗的多模光纤(50 μm或62.5 μm)
单模和多模实际上表示相位一致的角度有一个还是多个
多模光纤中可以传导多条光线,这意味着能通过的光线较多,对光源和光敏元件的性能要求也就较低,从而可以降低光源和光敏元件的价格。相对地,单模光纤的纤芯中只能传导一条光线,能通过的光线较少,相应地对于光源和光敏元件的性能要求就较高,但信号的失真会比较小
光通过的距离会影响其到达接收端的时间,也就是说,通过的距离越长,到达接收端的时间越长。结果,多条光线到达的时间不同,信号的宽度就会被拉伸,这就造成了失真。
光纤越长,失真越大,当超过允许范围时,通信就会出错。
相对地,单模光纤则不会出现这样的问题。因为在纤芯传导的光线只有一条,不会因为行进距离的差异产生时间差,所以即便光纤很长,也不会产生严重的失真。
因此多模光纤主要用于一座建筑物里面的连接,单模光纤则用于距离较远的建筑物之间的连接。FTTH属于后者,因此主要使用单模光纤。
用户认证,连接到BAS
用光纤来代替ADSL将用户端接入路由器和运营商的BAS连接起来的接入方式就是FTTH,从形态上可大致分为两种。
一种是用一根光纤直接从用户端连接到最近的电话局。
首先,用户端的光纤收发器将以太网的电信号转换成光信号。这一步只进行电信号到光信号的转换,而不会像ADSL一样还需要将包拆分成信元,大家可以认为是将以太网包原原本本地转换成了光信号。
光信号通过连接到光纤收发器的光纤直接到达BAS前面的多路光纤收发器。
多路光纤收发器将光信号转换成电信号,BAS的端口接收之后,将包转发到互联网内部。
把网络包发送到互联网之后,服务器会收到响应,响应包的光信号也是沿着同一条光纤传输到用户端的。这里,前往互联网的上行光信号和前往用户的下行光信号在光纤中混合在一起。
因此我们需要对它们进行区分,办法是上行和下行信号采用不同波长的光。
波长不同的光混合后可通过棱镜原理进行分离,因此光纤中的上行和下行信号即便混合起来也可以识别。像这样在一条光纤中使用不同的波长传输多个光信号的方式叫作波分复用。
另一种光纤的接入方式是在用户附近的电线杆上安装一个名为分光器的设备,通过这个设备让光纤分路,同时连接多个用户
在这种方式下,用户端不使用光纤收发器,而是使用一个叫作ONU的设备,它将以太网的电信号转换成光信号之后,会到达BAS前面的一个叫作OLT的设备
光信号的传导方式和刚才介绍的直连方式是一样的,但有一点不同,因为多个用户同时收发网络包时信号会在分光器产生碰撞。因此,OLT和ONU中具备通过调整信号收发时机来避免碰撞的功能
OLT会调整信号发送时机并向ONU下发指令,ONU则根据OLT的指令来发送数据。反过来,当BAS端向用户发送数据时,分光器只需要将信号发给所有用户就可以了,这里并不会发生碰撞,但这样做会导致一个用户收到其他所有用户的信号,造成信息泄露的问题,因此需要在每个包前面加上用于识别ONU的信息,当ONU收到信号后,会接收发给自己的信号并将其转换成以太网信号。
FTTH可以分为直连和分路两种方式,这两种方式只是光信号的传输方式有一些区别,实际传输的网络包是相同的。当使用PPPoE来传输包时,其工作过程和刚才讲过的ADSL类似。具体来说,由互联网接入路由器在IP头部前面加上MAC头部、PPPoE头部和PPP头部,然后由光纤收发器或者ONU转换成光信号,并通过光纤到达BAS前面的多路光纤收发器和OLT,最后被还原成电信号并到达BAS。
随着接入网发展到ADSL和FTTH,接入网连接的路由器也跟着演进,而这种进化型的路由器就叫作BAS。
ADSL和FTTH接入网中,都需要先输入用户名和密码,登录之后才能访问互联网,而BAS就是登录操作的窗口
BAS使用PPPoE方式来实现这个功能。PPPoE是由传统电话拨号上网上使用的PPP协议发展而来的。
在使用电话线或者ISDN拨号上网时,PPP是这样工作的。首先,用户向运营商的接入点拨打电话,电话接通后输入用户名和密码进行登录操作。用户名和密码通过RADIUS协议从RAS发送到认证服务器,认证服务器校验这些信息是否正确。当确认无误后,认证服务器会返回IP地址等配置信息,并将这些信息下发给用户。用户的计算机根据这些信息配置IP地址等参数,完成TCP/ IP收发网络包的准备工作,接下来就可以发送TCP/IP包了。
在接入互联网时,必须为计算机分配一个公有地址,但这个地址并不是事先确定的。因为在拨号连接时,可以根据电话号码来改变接入点,而不同的接入点具有不同的IP地址,因此无法事先在计算机上设置这个地址。所以,在连接时运营商会向计算机下发TCP/IP配置信息,其中就包括为计算机分配的公有地址。
ADSL和FTTH接入方式也需要为计算机分配公有地址才能上网,这一点和拨号上网是相同的。不过,ADSL和FTTH中,用户和BAS之间是通过电缆或光纤固定连接在一起的,因此没有必要验证用户身份,所以实际上并不需要PPP的所有这些功能。
然而,通过用户名和密码登录的步骤可以根据用户名来切换不同的运营商,这很方便。因此,接入运营商在ADSL和FTTH中一般也会使用PPP。
不过,拨号上网的PPP是无法直接用于ADSL和FTTH的
PPP协议中没有定义以太网中的报头和FCS等元素,也没有定义信号的格式,因此无法直接将PPP消息转换成信号来发送。要传输PPP消息,必须有另一个包含报头、FCS、信号格式等元素的“容器”,然后将PPP消息装在这个容器里才行
在拨号接入中PPP借用了HDLC协议作为容器。
但是,ADSL和FTTH并不能使用HDLC,因此需要寻找另一个机制作为替代。
我们用以太网包代替HDLC来装载PPP协议。此外,以太网和PPP在设计上有所不同,为了弥补这些问题就重新设计了一个新的规格,这就是PPPoE。
PPPoE是将PPP消息装入以太网包进行传输的方式
BAS除了作为用户认证的窗口之外,还可以使用隧道方式来传输网络包
如果在BAS和运营商路由器之间的ADSL/FTTH接入服务商的网络中建立一条隧道,将用户到BAS的接入网连接起来,就形成了一条从用户一直到运营商路由器的通道,网络包通过这条通道,就可以进入互联网内部了,这样的机制就类似于将接入网一直延伸到运营商路由器。
接入网过程
理解了PPPoE和隧道的原理之后,下面来看看接入网的整体工作过程:
首先,接入路由器中需要配置运营商分配的用户名和密码。然后,接入路由器会根据PPPoE的发现机制来寻找BAS。这一机制和ARP一样是基于广播来实现的
互联网接入路由器通过PPPoE的发现机制查询BAS的MAC地址
接下来,进入用户认证和下发配置的阶段
第一个重点是用户名和密码如何发送给BAS。这里有两种方式,一种是将密码进行加密的CHAP方式,另一种是不加密的PAP方式,在互联网接入路由器的设置画面中可以选择。进行加密的CHAP方式显然安全性更高,一般也推荐使用这种方式,但也并不是说使用不加密的PAP方式密码就立刻会被窃取。由于明文密码只在BAS和用户端路由器之间传输,所以如果要窃取密码,要么在路由器和ADSL Modem中间进行窃听,要么爬到电线杆上安装窃听装置拾取电缆中泄漏的电磁波
不过,光纤是不会泄漏电磁波的,因此无法通过第二种方式进行窃听
第二个重点是,在校验密码之后BAS如何向用户下发TCP/IP配置信息。这里下发的配置信息包括分配给上网设备的IP地址、DNS服务器的IP地址以及默认网关的IP地址。当使用路由器连接互联网时,路由器会根据这些信息配置自身的参数。这样一来,路由器的BAS端的端口就有了公有地址,路由表中也配置好了默认网关,接下来就可以将包转发到互联网中了。
接下来,客户端就会开始发送用来访问互联网的网络包。
这些包的目的地是互联网中的某个地方,这个地方或许在互联网接入路由器的路由表里是找不到的。这时,路由器会选择默认路由,并将这个包转发给默认路由的网关地址,也就是BAS下发的默认路由。
要发送的包会被加上头部信息,并设置相应的字段。第一个MAC头部中,接收方MAC地址填写通过PPPoE发现机制查询到的BAS的MAC地址,发送方MAC地址填写互联网接入路由器的BAS端的端口的MAC地址。
接下来是PPPoE头部和PPP头部,它们包含的字段,其中除了载荷长度之外,其他的值都是可以事先确定的,载荷长度就是需要传输的包的长度。再往后的部分就是包含IP头部在内的原始网络包。
接下来,网络包会到达BAS,而BAS会将MAC头部和PPPoE头部去掉,取出PPP头部以及后面的部分,然后通过隧道机制将包发送出去。
最后,PPP包会沿隧道到达另一端的出口,也就是网络运营商的路由器。