笔记 ——《网络是如何连接的》 第四章 通过接入网进入互联网内部

名词解释

ADSL: Asymmetric Digital Subscriber Line,不对称数字用户线。它是一种利用架设在电线杆上的金属电话线来进行高速通信的技术,它的上行方向(用户到互联网)和下行方向(互联网到用户)的通信速率是不对称的。

光纤:光纤就是把要传送的数据由电信号转换为光信号进行通讯。在光纤的两端分别都装有“光猫”进行信号转换。光纤是宽带网络中多种传输媒介中最理想的一种,它的特点是传输容量大,传输质量好,损耗小,中继距离长等。光纤传输使用的是波分复用,即是把小区里的多个用户的数据利用PON技术汇接成为高速信号,然后调制到不同波长的光信号在一根光纤里传输。

接入网:接入网是业务接点(对电话业务而言为本地交换机)与用户端设备(CPE)之间的实施系统,它包括复用、交叉连接和传输功能,可以部分或全部代替传统的用户本地线路网。有线接入网的方式有:非对称数字用户环路(ADSL)、光纤接入(FTTB、FTTC、FTTO、FTTH等)、光纤同轴混合接入(HFC)、高速数字用户环路(HDSL)、铜线接入等。

光纤宽带和ADSL接入方式的区别:ADSL是电信号传播,光纤宽带是光信号传播。ADSL是一人享用一根电话线上网,在这根电话线里还有你的电话机使用的语音信号。而光纤宽带则是通到小区,然后分别通过超5类网线通到各用户,这样上网是上网,打电话是打电话,小区里的用户共享一根光纤足够了。

ADSL Modem:即ADSL调制解调器(modem俗称猫),是计算机与电话线之间进行信号转换的装置,由调制器和解调器两部分组成,调制器是把计算机的数字信号(如文件等)调制成可在电话线上传输的声音信号的装置,在接收端,解调器再把声音信号转换成计算机能接收的数字信号。通过调制解调器和电话线就可以实现计算机之间的数据通信。

ADSL和ADSL Modem的区别:简单的说ADSL是一种上网方式,而MODEM是一种上网设备。

路由器和ADSL Modem的区别:ADSL Modem(猫)是将网络运营商服务端提供宽带信号转换成电脑所能识别的宽带信号,是一对一的,一头接电话线,一头接网线。而路由器是用来将数据转发,或者组建小型局域网络,实现两台或以上电脑同时上网,接的是网线。

分辨路由器和猫:如果一个WAN,四个LAN,百分之百是路由器,如果一个是RJ11(也就是电话接口),四个LAN,那就肯定是路由猫了,这个东东不是很好用,最好的办法还是猫,路由器分开来使用,毕竟路由器要好设置多了。来源:百度知道

路由猫:路由猫是一种将路由器与调制解调器(俗称“猫”)合二为一的产品,该产品同时具备调制解调、路由两大功能。单一个modem可以让一台电脑上网,再加一个路由器就可以让多台电脑同时上网,数量取决于路由器的接口。 现在市场上有二者的结合体,就是路由猫了,只通过这一个设备就可以实现一台或者多台电脑同时上网。

信元:信元是一种特殊的数据结构,不同于普通网络传输的帧或者包,因为帧和包是变长的,而ATM的信元是定长的,非常小的,长度只有53个字节,其中5个字节是信元头,48个字节是信息段。信息段中可以是各类业务的用户数据,信元头包含各种控制信息。

ATM:ATM是Asynchronous Transfer Mode异步传输模式的缩写。与同步传递模式(STM)不同,ATM采用异步时分复用技术(统计复用)。来自不同信息源的信息汇集在一个缓冲器内排队。列中的信元逐个输出到传输线上,形成首尾相连的信息流。ATM具有以下特点:因传输线路质量高,不需要逐段进行差错控制。ATM在通信之前需要先建立一个虚连接来预留网络资源,并在呼叫期间保持这一连接,所以ATM以面向连接的方式工作。

DSLAM: DSL Access Multiplexer,数字用户线接入复用设备,它是一种电话局用的多路 ADSL Modem,可以理解为将多个 ADSL Modem 整合在一个外壳里的设备。

BAS: Broadband Access Server,宽带接入服务器。它也是一种路由器,负责将 ATM 信元还原成网络包并转发到互联网内部。

FTTH: Fiber To The Home,指光纤到户。指的是将光纤接入家庭的意思。

PPP:PPP(Point-to-Point Protocol)点对点协议。PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。

PPPoE:PPPoE: PPP over Ethernet,即以太网上的点对点协议,是经常被用在DSL链接上的变种协议(RFC 2516),另外PPPoA 有时也被使用(PPP over ATM)。

POP: Point of Presense,中文一般叫作“接入点”。

NOC: Network Operation Center,网络运行中心。

前言

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

​ 互联网是一个遍布世界的巨大而复杂的系统, 但其基本工作方式却出奇地简单。 和家庭、 公司网络一样, 互联网也是通过路由器来转发包的,而且路由器的基本结构和工作方式也并没有什么不同( 图 4.1)。

在这里插入图片描述

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

​ 从上一章内容可以知道,网络包通过交换机和路由器的转发一步一步地接近它的目的地, 在通过互联网接入路由器之后, 就进入了互联网。

​ 互联网接入路由器的包转发操作和以太网路由器几乎是一样的。 即,根据包 IP 头部中的接收方 IP 地址在路由表的目标地址中进行匹配, 找到相应的路由记录后将包转发到这条路由的目标网关。

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

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

​ 1. ADSL

​ 在网络包从用户传输到运营商的过程中, 会变换几种不同的形态, 整个过程如图 4.3 所示。

在这里插入图片描述

​ 客户端生成的网络包( 图 4.3 的①和②) 先经过集线器和交换机到达互联网接入路由器( 图 4.3 ③), 并在此从以太网包中取出 IP 包并判断转发目标( 图 4.3 ④) 如果互联网接入路由器和 ADSL Modem 之间是通过以太网连接的, 那么就会按照以太网的规则执行包发送的操作。

​ 发送信号本身的过程跟之前是一样的,但以太网的头部会有一些差异,网络包会加上 MAC 头部、 PPPoE 头部、 PPP头部总共 3 种头部( 图 4.3 ⑤),然后按照以太网规则转换成电信号后被发送出去。

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

​ ADSL 将信元“调制”成信号。ADSL Modem 采用了一种用圆滑波形( 正弦波) 对信号进行合成来表示 0 和 1 的技术, 这种技术称为调制。

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

在这里插入图片描述

  1. 分离器

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

​ 分离器需要负责将电话和 ADSL 的信号进行分离( 图 4.7)。 电话线传入的信号是电话的语音信号和 ADSL 信号混合在一起的, 如果这个混合信号直接进入电话机, ADSL 信号就会变成噪音, 导致电话难以听清。 为了避免这样的问题, 就需要通过分离器将传入的信号分离, 以确保 ADSL信号不会传入电话机。

在这里插入图片描述

  1. 通过 DSLAM 到达 BAS

​ 信号通过电话线到达电话局之后, 会经过配线盘、 分离器到达 DSLAM( 图 4.3 ⑨),在这里, 电信号会被还原成数字信息——信元( 图 4.3 ⑩)。DSLAM 通过读取信号波形, 根据振幅和相位判断对应的比特值, 将信号还原成数字信息, 这一过程和用户端的 ADSL Modem 在接收数据时的过程是一样的。

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

​ 信元从 DSLAM 出来之后, 会到达一个叫作 BAS 的包转发设备( 图 4.3⑪)。 BAS 和 DSLAM 一样, 都具有 ATM 接口, 可以接收 ATM 信元, 还可以将接收到的 ATM 信元还原成原始的包( 图 4.3⑫)。

​ 接下来, 它会将收到的包前面的 MAC 头部和PPPoE 头部丢弃, 取出 PPP 头部以及后面的数据( 图4.3⑬)。 MAC 头部和PPPoE 头部的作用是将包送达 BAS 的接口, 当接口完成接收工作后, 它们就完成了使命, 可以被丢弃了。 具有以太网接口的路由器在接收到包之后也会丢弃其中的 MAC 头部, 道理是一样的。 接下来, BAS 会在包的前面加上隧道专用头部, 并发送到隧道的出口( 图 4.3⑭)。

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

光纤接入网(FTTH)

  1. 光纤的基本知识

​ FTTH是一种基于光纤的接入网技术,其关键点在于对光纤的使用。

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

在这里插入图片描述

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

在这里插入图片描述

  1. 通过光纤分路来降低成本

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

​ 一种是用一根光纤直接从用户端连接到最近的电话局( 图 4.16(a))。这种类型的 FTTH 中, 用户和电话局之间通过光纤直接连接。 另一种光纤的接入方式是在用户附近的电线杆上安装一个名为分光器的设备, 通过这个设备让光纤分路, 同时连接多个用户 A( 图 4.16(b))。在这种方式下, 用户端不使用光纤收发器, 而是使用一个叫作 ONUB 的设备,它将以太网的电信号转换成光信号之后, 会到达 BAS 前面的一个叫作OLTC 的设备。

在这里插入图片描述

接入网中使用的 PPP 和隧道

  1. 用户认证和配置下发

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

​ 首先是用户认证和配置下发功能。 ADSL 和 FTTH 接入网中, 都需要先输入用户名和密码, 登录之后才能访问互联网, 而 BAS 就是登录操作的窗口。 BAS 使用 PPPoE方式来实现这个功能。 PPPoE 是由传统电话拨号上网上使用的 PPP 协议发展而来的。 在使用电话线或者 ISDN 拨号上网时, PPP 是如图 4.17 这样工作的。

在这里插入图片描述

​ 首先,用户向运营商的接入点拨打电话(图 4.17 ① -1), 电话接通后(图 4.17 ① -2)输入用户名和密码进行登录操作(图 4.17 ② -2)。 用户名和密码通过 RADIUS协议(Remote Authentication Dial-in User Service,远程认证拨号用户服务)从 RASG 发送到认证服务器, 认证服务器校验这些信息是否正确。 当确认无误后, 认证服务器会返回 IP 地址等配置信息, 并将这些信息下发给用户(图 4.17 ② -3)。 用户的计算机根据这些信息配置 IP 地址等参数, 完成 TCP/IP 收发网络包的准备工作, 接下来就可以发送 TCP/IP 包了( 图 4.17 ③)。

  1. 在以太网上传输 PPP 消息

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

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

​ BAS 除了作为用户认证的窗口之外, 还可以使用隧道方式来传输网络包。 所谓隧道, 就类似于套接字之间建立的 TCP 连接。 像这样, 如果在 BAS 和运营商路由器之间的 ADSL/FTTH 接入服务商的网络中建立一条隧道, 将用户到 BAS 的接入网连接起来, 就形成了一条从用户一直到运营商路由器的通道, 网络包通过这条通道, 就可以进入互联网内部了, 这样的机制就类似于将接入网一直延伸到运营商路由器。

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

在这里插入图片描述

  1. 接入网的整体工作过程

​ 接入网的工作从用户端的互联网接入路由器进行连接操作开始。 首先,接入路由器中需要配置运营商分配的用户名和密码。 然后, 接入路由器会根据 PPPoE 的发现机制来寻找 BAS。 这一机制和 ARP 一样是基于广播来实现的。 即,互联网接入路由器通过 PPPoE 的发现机制查询 BAS 的 MAC 地址。 接下来,进入用户认证和下发配置的阶段。AS 下发的 TCP/IP 参数会被配置到互联网接入路由器的 BAS端的端口上,这样路由器就完成接入互联网的准备了。

​ 接下来, 客户端就会开始发送用来访问互联网的网络包,这些包的目的地是互联网中的某个地方, 这个地方或许在互联网接入路由器的路由表里是找不到的。 这时, 路由器会选择默认路由, 并将这个包转发给默认路由的网关地址, 也就是 BAS 下发的默认路由。 只不过在通过路由表判断转发目标之后, 包不是按照以太网规则转发, 而是按照 PPPoE 规则转发,如图 4.20。

在这里插入图片描述

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

  1. 除 PPPoE 之外的其他方式

    (1)使用 PPPoA 方式的 ADSL 接入网

    ​ ADSL 使用PPPoE 方式时, 是先将 PPP 消息装入以太网包中, 然后再将以太网包拆分并装入信元, 而PPPoA 方式是直接将 PPP 消息装入信元( 图 4.21)。即,PPPoA 方式不添加 MAC 头部和 PPPoE 头部,而是直接将包装入信元中。

在这里插入图片描述

(2)使用 DHCP 方式

​ DHCP 原理如图 4.22 所示, 首先客户端请求配置信息( 图 4.22 ①), 然后 DHCP服务器下发配置信息(图 4.22 ②), 非常简单, 不需要像 PPP(图 4.17) 那样需要多个步骤, 也不需要验证用户名和密码。

在这里插入图片描述

网络运营商的内部

POP 和 NOC

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

在这里插入图片描述

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

在这里插入图片描述

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

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

​ POP 和 NOC 遍布全国各地, 它们各自的规模有大有小, 但看起来跟公司里的机房没什么太大区别, 都是位于一幢建筑物中的, 其中的路由器或者通过线路直接连接, 或者通过交换机进行连接, 这些和公司以及家庭网络都是相同的。

跨越运营商的网络包

  1. 运营商之间的连接

​ 如果服务器的运营商和客户端的运营商不同,网络包需要先发到服务器所在的运营商, 这些信息也可以在路由表中找到, 网络包会被转发到对方运营商的路由器。

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

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

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

在这里插入图片描述

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

在这里插入图片描述

  1. IX 的必要性

​ IX: Internet eXchange,中文一般叫作“互联网交换中心”。 对于两个运营商来说, 像图 4.26 中运营商 D 和运营商 C 这样一对一的连接是最基本的一种连接方式, 但这种方式有个不方便的地方, 如果运营商之间只能一对一连接, 那么就需要像图 4.27( a) 这样将所有的运营商都用通信线路连接起来,这样连接非常困难。

​ 我们可以采用图 4.27( b) 的方式,设置一个中心设备, 通过连接到中心设备的方式来减少线路数量, 这个中心设备就称为 IX。

在这里插入图片描述

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

​ 下面来看一看网络包具体是如何传输的。 其实这里并没有什么特别需要解释的, 因为 IX 的交换机和一般的交换机在工作方式上没有区别,路由器发送网络包时, 先通过 ARP 查询下一个路由器的 MAC 地址, 然后将其写入 MAC 头部发送出去即可。 只要填写了正确的 MAC 地址, 就可以向任何运营商的路由器发送包。 不过实际上, 要成功发送包还需要正确的路由信息, 对于没有进行路由交换的运营商, 我们是无法向其发送包的。这需要运营商之间通过谈判签订合约, 然后按照合约来交换路由信息, 实现网络包的收发。 运营商之间可以直接连接, 也可以通过 IX 连接, 无论是哪种方式, 最终网络包都会到达服务器所在的运营商, 然后通过 POP 进入服务器端的
网络。

在这里插入图片描述