《计算机网络:自顶向下方法(原书第6版)》一1.3 网络核心-阿里云开发者社区

开发者社区> 华章出版社> 正文

《计算机网络:自顶向下方法(原书第6版)》一1.3 网络核心

简介:

本节书摘来华章计算机《计算机网络:自顶向下方法(原书第6版)》一书中的第1章 ,第1.3节,(美)James F.Kurose Keith W.Ross 著 陈 鸣 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 网络核心

在考察了因特网边缘后,我们现在更深入地研究网络核心,即由互联因特网端系统的分组交换机和链路构成的网状网络。图1-10用加粗阴影线勾画出网络核心部分。

image

1.3.1 分组交换

在各种网络应用中,端系统彼此交换报文(message)。报文能够包含协议设计者需要的任何东西。报文可以执行一种控制功能(例如,图1-2所示例子中的“你好”报文),也可以包含数据,例如电子邮件数据、JPEG图像或MP3音频文件。为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组(packet)。在源和目的之间,每个分组都通过通信链路和分组交换机(packet switch)(交换机主要有两类:路由器和链路层交换机)传送。分组以等于该链路最大传输速率的速度传输通过通信链路。因此,如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。
1.存储转发传输
多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制。存储转发机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。为了更为详细地探讨存储转发传输,考虑由两个经一台路由器连接的端系统构成的简单网络,如图1-11所示。一台路由器通常有多条繁忙的链路,因为它的任务就是把一个入分组交换到一条出链路。在这个简单例子中,该路由器的任务相当简单:将分组从一条(输入)链路转移到另一条唯一的连接链路。在图1-11所示的特定时刻,源已经传输了分组1的一部分,分组1的前沿已经到达了路由器。因为该路由器应用了存储转发机制,所以此时它还不能传输已经接收的比特,而是必须先缓存(即“存储”)该分组的比特。仅当路由器已经接收完了该分组的所有比特后,它才能开始向出链路传输(即“转发”)该分组。为了深刻领悟存储转发传输,我们现在计算一下从源开始发送分组到目的地收到整个分组所经过的时间。(这里我们将忽略传播时延——指这些比特以接近光速的速度跨越线路所需要的时间,这将在1.4节讨论。)源在时刻0开始传输,在时刻L/R秒,因为该路由器刚好接收到整个分组,所以它能够朝着目的地向出链路开始传输分组;在时刻2L/R,路由器已经传输了整个分组,并且整个分组已经被目的地接收。所以,总时延是2L/R。如果交换机一旦比特到达就转发比特(不必首先收到整个分组),则因为比特没有在路由器保持,总时延将是L/R。而如我们将在1.4节中讨论的那样,路由器在转发前需要接收、存储和处理整个分组。

image


现在我们来计算从源开始发送第一个分组直到目的地接收到所有三个分组所需的时间。与前面一样,在时刻L/R,路由器开始转发第一个分组。而在时刻L/R源也开始发送第二个分组,因为它已经完成了发送整个第一个分组。因此,在时刻2L/R,目的地已经收到第一个分组并且路由器已经收到第二个分组。类似地,在时刻3L/R,目的地已经收到前两个分组并且路由器已经收到第三个分组。最后,在时刻4L/R,目的地已经收到所有3个分组!
我们现在来考虑通过由N条速率均为R的链路组成的路径(所以,在源和目的地之间有N-1台路由器),从源到目的地发送一个分组的总体情况。应用如上相同的逻辑,我们看到端到端时延是
image

你也许现在要试着确定P个分组经过N条链路序列的时延有多大。
2.排队时延和分组丢失
每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer)(也称为输出队列output queue),它用于存储路由器准备发往那条链路的分组。该输出缓存在分组交换中起着重要的作用。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在该输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输出缓存的排队时延(queue delay)。这些时延是变化的,变化的程度取决于网络中的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)(packet lost),到达的分组或已经排队的分组之一将被丢弃。
图1-12显示了一个简单的分组交换网络。如在图1-11中,分组被表示为3维切片。切片的宽度表示了该分组中比特的数量。在这张图中,所有分组具有相同的宽度,因此有相同的长度。假定主机A和B向主机E发送分组。主机A和B先通过10Mbps的以太网链路向第一个路由器发送分组。该路由器则将这些分组导向到一条1.5Mbps的链路。如果在某个短时间间隔中,分组到达路由器的到达率(转换为每秒比特)超过了1.5Mbps,这些分组在通过链路传输之前,将在链路输出缓存中排队,在该路由器中将出现拥塞。例如,如果主机A和主机B每个都同时发送了5个紧接着的分组突发块,则这些分组中的大多数将在队列中等待一些时间。事实上,这完全类似于每天都在经历的一些情况,例如当我们在银行柜台前排队等待或在过路收费站前等待时。我们将在1.4节中更为详细地研究这种排队时延。

image


3.转发表和路由选择协议
前面我们说过,路由器从与它相连的一条通信链路得到分组,将其向与它相连的另一条通信链路转发。但是该路由器怎样决定它应当向哪条链路进行转发呢?不同的计算机网络实际上是以不同的方式完成的。这里,我们简要介绍在因特网中所采用的方法。
在因特网中,每个端系统具有一个称为IP地址的地址。当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址。如同邮政地址那样,该地址具有一种等级结构。当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。更特别的是,每台路由器具有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。
端到端选路过程与一个不使用地图而喜欢问路的汽车驾驶员相类似。例如,假定Joe驾车从费城到佛罗里达州奥兰多市的Lakeside Drive街156号。Joe先驾车到附近的加油站,询问怎样才能到达佛罗里达州奥兰多市的Lakeside Drive街156号。加油站的服务员从该地址中抽取了佛罗里达州部分,告诉Joe他需要上I-95南州际公路,该公路恰有一个邻近该加油站的入口。他又告诉Joe,一旦到了佛罗里达后应当再问当地人。于是,Joe上了I-95南州际公路,一直到达佛罗里达的Jacksonville,在那里他向另一个加油站服务员问路。该服务员从地址中抽取了奥兰多市部分,告诉Joe他应当继续沿I-95公路到Daytona海滩,然后再问其他人。在Daytona海滩的另一个加油站服务员也抽取该地址的奥兰多部分,告诉Joe应当走I-4公路直接前往奥兰多。Joe走了I-4公路,并从奥兰多出口下来。Joe又向另一个加油站的服务员询问,这时该服务员抽取了该地址的Lakeside Drive部分,告诉了Joe到Lakeside Drive必须要走的路。一旦Joe到达了Lakeside Drive,他向一个骑自行车的小孩询问了到达目的地的方法。这个孩子抽取了该地址的156号部分,并指示了房屋的方向。Joe最后到达了最终目的地。在上述类比中,那些加油站服务员和骑车的孩子可类比为路由器。
我们刚刚学习了路由器使用分组的目的地址来索引转发表并决定适当的出链路。但是这个叙述还要求回答另一个问题:转发表是如何进行设置的?是通过人工对每台路由器逐台进行配置,还是因特网使用更为自动的过程进行设置呢?第4章将深入探讨这个问题。但在这里为了激发你的求知欲,我们现在将告诉你因特网具有一些特殊的路由选择协议(routing protocol),用于自动地设置这些转发表。例如,一个路由选择协议可以决定从每台路由器到每个目的地的最短路径,并使用这些最短路径结果来配置路由器中的转发表。
怎样才能实际看到分组在因特网中所走的端到端路由呢?我们现在请你亲手用一下Traceroute程序。直接访问站点www.traceroute.org,在一个特定的国家中选择一个源,跟踪从这个源到你的计算机的路由。(参见1.4节有关Traceroute的讨论。)

1.3.2 电路交换

通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)和分组交换(packet switching)。上一节已经讨论过分组交换网络,现在我们将注意力投向电路交换网络。
在电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源则不是预留的;会话的报文按需使用这些资源,其后果可能是不得不等待(即排队)接入通信线路。一个简单的类比是,考虑两家餐馆,一家需要顾客预订,而另一家不需要预订但不保证能安排顾客。对于需要预订的那家餐馆,我们在离开家之前必须承受先打电话预订的麻烦。但当我们到达该餐馆时,原则上我们能够立即入座并点菜。对于不需要预订的那家餐馆,我们不必麻烦预订餐桌,但也许不得不先等待一张餐桌空闲后才能入座。
传统的电话网络是电路交换网络的例子。考虑当一个人通过电话网向另一个人发送信息(语音或传真)时所发生的情况。在发送方能够发送信息之前,该网络必须在发送方和接收方之间建立一条连接。这是一个名副其实的连接,因为此时沿着发送方和接收方之间路径上的交换机都将为该连接维护连接状态。用电话的术语来说,该连接被称为一条电路(circuit)。当网络创建这种电路时,它也在连接期间在该网络链路上预留了恒定的传输速率(表示为每条链路传输容量的一部分)。既然已经为该发送方-接收方连接预留了带宽,则发送方能够以确保的恒定速率向接收方传送数据。
图1-13显示了一个电路交换网络。在这个网络中,用4条链路互联了4台电路交换机。这些链路中的每条都有4条电路,因此每条链路能够支持4条并行的连接。每台主机(例如PC和工作站)都与一台 图1-13 由4台交换机和4条链路组成的

image


一个简单电路交换网络交换机直接相连。当两台主机要通信时,该网络在两台主机之间创建一条专用的端到端连接(end-to-end connection)。因此,主机A为了向主机B发送报文,网络必须在两条链路之一上先预留一条电路。因为每条链路具有4条电路,对于由端到端连接所使用的每条链路而言,该连接在连接期间获得链路带宽的1/4部分。例如,如果两台邻近交换机之间每条链路具有1Mbps传输速率,则每个端到端电路交换连接获得250kbps专用的传输速率。

1.电路交换网络中的复用

链路中的电路是通过频分复用(Frequency-Division Multiplexing,FDM)或时分复用(Time-Division Multiplexing,TDM)来实现的。对于FDM,链路的频谱由跨越链路创建的所有连接所共享。特别是,在连接期间链路为每条连接专用一个频段。在电话网络中,这个频段通常具有4kHz的宽度(即4000赫兹或每秒4000周)。毫无疑问,该频段的宽度称为带宽(bandwidth)。调频无线电台也使用FDM来共享88~108MHz的频谱,其中每个电台被分配一个特定的频段。
对于一条TDM链路,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据。
图1-14显示了一个支持多达4条电路的特定网络链路的FDM和TDM。对于FDM,其频率域被分割为4个频段,每个频段的带宽是4kHz。对于TDM,其时域被分割为帧,在每个帧中具有4个时隙,在循环的TDM帧中每条电路被分配相同的专用时隙。对于TDM,一条电路的传输速率等于帧速率乘以一个时隙中的比特数量。例如,如果链路每秒传输8000个帧,每个时隙由8个比特组成,则每条电路的传输速率是64kbps。
分组交换的支持者总是争辩说,电路交换因为在静默期(silent period)专用电路空闲而效率较低。例如,打电话的一个人停止讲话,空闲的网络资源(在沿该连接路由的链路中的频段或时隙)不能被其他进行中的连接所使用。作为这些资源被无效利用的另一个例子,考虑一名放射科医师使用电路交换网络远程存取一系列x射线图像。该放射科医师建立一条连接,请求一幅图像,然后判读该图像,然后再请求一幅新图像。在放射科医师判读图像期间,网络资源分配给了该连接但没有使用(即被浪费了)。分组交换的支持者还津津乐道地指出,创建端到端电路和预留端到端带宽是复杂的,需要复杂的信令软件以协调沿端到端路径的交换机的操作。
图1-14 对于FDM,每条电路连续地得到部分带宽。对于TDM,每条电路在短时间间隔(即时隙)中周期性地得到所有带宽

image


在结束讨论电路交换之前,我们讨论一个用数字表示的例子,它更能说明问题的实质。考虑从主机A到主机B经一个电路交换网络需要多长时间发送一个640000比特的文件。假如在该网络中所有链路使用24时隙的TDM,具有1.536Mbps的比特速率。同时假定在主机A能够开始传输该文件之前,需要500ms创建一条端到端电路。它需要多长时间才能发送该文件?每条链路具有的传输速率是1.536Mbps/24=64kbps,因此传输该文件需要(640kb)/(64kbps)=10s。对于这个10s,再加上电路创建时间,这样就需要10.5s发送该文件。值得注意的是,该传输时间与链路数量无关:端到端电路不管是通过一条链路还是100条链路,传输时间都将是10s。(实际的端到端时延还包括传播时延,参见1.4节。)
2.分组交换与电路交换的对比
在描述了电路交换和分组交换之后,我们来对比一下这两者。分组交换的批评者经常争辩说,分组交换不适合实时服务(例如,电话和视频会议),因为它的端到端时延是可变的和不可预测的(主要是因为排队时延的变动和不可预测所致)。分组交换的支持者却争辩道:①它提供了比电路交换更好的带宽共享;②它比电路交换更简单,更有效,实现成本更低。分组交换与电路交换之争的有趣讨论参见[Molinero-Fernandez 2002]。概括而言,嫌餐馆预订麻烦的人宁可要分组交换而不愿意要电路交换。
分组交换为什么更有效呢?我们看一个简单的例子。假定多个用户共享一条1Mbps链路,再假定每个用户活跃周期是变化的,某用户时而以100kbps恒定速率产生数据,时而静止——这时用户不产生数据。进一步假定该用户仅有10%的时间活跃(余下的90%的时间空闲下来喝咖啡)。对于电路交换,在所有的时间内必须为每个用户预留100kbps。例如,对于电路交换的TDM,如果一个1s的帧被划分为10个时隙,每个时隙为100ms,则每帧将为每个用户分配一个时隙。
因此,该电路交换链路仅能支持10(=1Mbps/100kbps)个并发的用户。对于分组交换,一个特定用户活跃的概率是0.1(即10%)。如果有35个用户,有11或更多个并发活跃用户的概率大约是0.0004。(课后习题P8概述如何得到这个概率值。)当有10个或更少并发用户(以概率0.9996发生)时,到达的聚合数据率小于或等于该链路的输出速率1Mbps。因此,当有10个或更少个活跃用户时,通过该链路的分组流基本上没有时延,这与电路交换的情况一样。当同时活跃用户超过10个时,则分组的聚合到达率超过该链路的输出容量,则输出队列将开始变长。(一直增长到聚合输入速率重新低于1Mbps,此后该队列长度才会减少。)因为在本例子中同时活跃用户超过10个的概率极小,分组交换差不多总是提供了与电路交换相同的性能,并且允许在用户数量是其3倍时情况也是如此。
我们现在考虑第二个简单的例子。假定有10个用户,某个用户突然产生1000个1000比特的分组,而其他用户则保持静默,不产生分组。在每帧具有10个时隙并且每个时隙包含1000比特的TDM电路交换情况下,活跃用户仅能使用每帧中的一个时隙来传输数据,而每个帧中剩余的9个时隙保持空闲。该活跃用户传输完所有106比特数据需要10s的时间。在分组交换情况下,活跃用户能够连续地以1Mbps的全部链路速率发送其分组,因为没有其他用户产生分组与该活跃用户的分组进行复用。在此情况下,该活跃用户的所有数据将在1s内发送完毕。
上面的例子从两个方面表明了分组交换的性能能够优于电路交换的性能。这些例子也强调了两种形式的在多个数据流之间共享链路传输速率的关键差异。电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间未被利用。另一方面,分组交换按需分配链路使用。链路传输能力将在所有用户之间逐分组地被共享,这些用户有分组需要在链路上传输。
虽然分组交换和电路交换在今天的电信网络中都是普遍采用的方式,但趋势无疑是朝着分组交换方向发展。甚至许多今天的电路交换电话网正在缓慢地向分组交换迁移。特别是,电话网经常在昂贵的海外电话部分使用分组交换。

1.3.3 网络的网络

我们在前面看到,端系统(PC、智能手机、Web服务器、电子邮件服务器等)经过一个接入ISP与因特网相连。该接入ISP能够提供有线或无线连接,使用了包括DSL、电缆、FTTH、WiFi和蜂窝等多种接入技术。值得注意的是,接入ISP不必是本地电信局或电缆公司,相反,它能够是如大学(为学生、教职员工和从业人员提供因特网接入)或公司(为其雇员提供接入)这样的单位。但为端用户和内容提供商提供与接入ISP的连接仅解决了连接难题中的很小一部分,因为因特网是由数以亿计的用户构成的。要解决这个难题,接入ISP自身必须互联。通过创建网络的网络可以做到这一点,理解这个短语是理解因特网的关键。
年复一年,构成因特网的“网络的网络”已经演化成为一个非常复杂的结构。这种演化很大部分是由经济和国家策略驱动的,而不是由性能考虑驱动的。为了理解今天的因特网网络结构,我们来逐步递进建造一系列网络结构,其中的每个新结构都更好地接近我们现有的复杂因特网。回顾前面互联接入ISP的目标,是使所有端系统能够彼此发送分组。一种幼稚的方法是使每个接入ISP直接与每个其他接入ISP连接。当然,这样的网状设计对于接入ISP费用太高,因为这将要求每个接入ISP与世界上数十万个其他接入ISP有一条单独的通信链路。
我们的第一个网络结构即网络结构1,用单一的全球承载ISP互联所有接入ISP。我们假想的全球承载ISP是一个由路由器和通信链路构成的网络,该网络不仅跨越全球,而且至少具有一个路由器靠近数十万接入ISP中的每一个。当然,对于全球承载ISP,建造这样一个大规模的网络将耗资巨大。为了有利可图,自然要向每个连接的接入ISP收费,其价格反映(并不一定正比于)一个接入ISP经过全球ISP交换的流量大小。因为接入ISP向全球承载ISP付费,故接入ISP被认为是客户(customer),而全球承载ISP被认为是提供商(provider)。
如果某个公司建立并运行了一个可赢利的全球承载ISP,其他公司建立自己的全球承载ISP并与最初的全球承载ISP竞争则是一件自然的事。这导致了网络结构2,它由数十万接入ISP和多个全球承载ISP组成。接入ISP无疑喜欢网络结构2胜过喜欢网络结构1,因为它们现在能够根据价格和服务的函数,在多个竞争的全球承载提供商之间进行选择。然而,值得注意的是,这些全球承载ISP之间必须是互联的:不然的话,与某个全球承载ISP连接的接入ISP将不能与连接到其他全球承载ISP的接入ISP通信。
刚才描述的网络结构2是一种两层的等级结构,其中全球承载提供商位于顶层,而接入ISP位于底层。这假设了全球承载ISP不仅能够接近每个接入ISP,而且发现经济上也希望这样做。现实中,尽管某些ISP确实具有令人印象深刻的全球覆盖,并且确实直接与许多接入ISP连接,但世界上没有ISP是存在于每个城市中的。相反,在任何给定的区域,可能有一个区域ISP(reginal ISP),区域中的接入ISP与之连接。每个区域ISP则与第一层ISP(tier-1 ISP)连接。第一层ISP类似于我们假想的全球承载ISP;尽管第一层ISP不是在世界上每个城市中都存在,但它确实存在。有大约十几个第一层ISP,包括Level 3通信、AT&T、Sprint和NTT。有趣的是,没有组织正式认可第一层状态。俗话说:如果必须问你是否是一个组织的成员,你可能不是。
返回到网络的网络,不仅有多个竞争的第一层ISP,而且在一个区域可能有多个竞争的区域ISP。在这样的等级结构中,每个接入ISP向区域ISP支付其连接费用,并且每个区域ISP向它连接的第一层ISP支付费用。(一个接入ISP也能直接与第一层ISP连接,这样它就向第一层ISP付费。)因此,在这个等级结构的每层,有客户-提供商关系。值得注意的是,第一层ISP不向任何人付费,因为它们位于该等级结构的顶部。使事情更为复杂的是,在某些区域,可能有较大的区域ISP(可能跨越整个国家),区域中较小的区域ISP与之相连,较大的区域ISP则与第一层ISP连接。例如,在中国,每个城市有接入ISP,它们与省级ISP连接,省级ISP又与国家级ISP连接,国家级ISP最终与第一层ISP连接[Tian 2012]。这个多层等级结构仍然仅仅是今天因特网的粗略近似,我们称它为网络结构3。
为了建造一个与今天因特网更为相似的网络,我们必须在等级结构的网络结构3上增加存在点(Point of Presence,PoP)、多宿、对等和因特网交换点(Internet exchange point,IXP)。PoP存在于等级结构的所有层次,但底层(接入ISP)等级除外。一个PoP只是提供商网络中的一台或多台路由器(在相同位置)群组,其中客户ISP能够与提供商ISP连接。对于要与提供商PoP连接的客户网络,它能从第三方通信提供商租用高速链路直接将它的路由器之一连接到位于该PoP的一台路由器。任何ISP(除了第一层ISP)可以选择为多宿(multi-home),即可以与两个或更多提供商ISP连接。例如,一个接入ISP可能与两个区域ISP多宿,或者可以与两个区域ISP多宿,也可以与多个第一层ISP多宿。当一个ISP多宿时,即使它的提供商之一出现故障,它仍然能够继续发送和接收分组。
正如我们刚才学习的,客户ISP向它们的提供商ISP付费以获得全球因特网互联能力。客户ISP支付给提供商ISP的费用数额反映了它通过提供商交换的流量。为了减少这些费用,位于相同等级结构层次的邻近一对ISP能够对等(peer),这就是说,能够直接将它们的网络连到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输。当两个ISP对等时,通常不进行结算,即任一个ISP不向其对等付费。如前面提到的那样,第一层ISP也与另一个第一层ISP对等,它们之间无结算。对于对等和客户-提供商关系可读性的讨论,参见[Van der Berg 2008]。沿着这些相同路线,第三方公司创建一个因特网交换点(Internet Exchange Point,IXP)(通常在一个有自己的交换机的独立建筑物中),IXP是一个汇合点,多个ISP能够在这里共同对等。在今天的因特网中有大约300个IXP[Augustin 2009]。我们称这个系统为生态系统——由接入ISP、区域ISP、第一层ISP、PoP、多宿、对等和IXP组成,这个系统作为网络结构4。
我们现在最终到达了网络结构5,它描述了2012年的因特网。在图1-15中显示了网络结构5,它通过在网络结构4顶部增加内容提供商网络(content provider network)构建而成。谷歌是当前这样的内容提供商网络的一个突出例子。在本书写作之时,谷歌估计有30~50个数据中心部署在北美、欧洲、亚洲、南美和澳大利亚。其中的某些数据中心容纳了超过十万台的服务器,而另一些数据中心则较小,仅容纳数百台服务器。谷歌数据中心都经过专用的TCP/IP网络互联,该网络跨越全球,但仍然独立于公共因特网。重要的是,谷歌专用网络仅承载出入谷歌服务器主机的流量。如图1-15所示,谷歌专用网络通过与较低层ISP对等(无结算)尝试“绕过”因特网的较高层,采用的方式可以是直接与它们连接,或者在IXP处与它们连接[Labovitz 2010]。然而,因为许多接入ISP通过第一层网络的承载仍能到达,所以谷歌网络也与第一层ISP连接,并就与它们交换的流量向这些ISP付费。通过创建自己的网络,内容提供商不仅减少了向顶层ISP支付的费用,而且对其服务最终如何交付给端用户有了更多的控制。谷歌的网络基础设施在7.2.4节中进行了详细描述。

image


总结一下,今天的因特网是一个网络的网络,其结构复杂,由十多个第一层ISP和数十万个较低层ISP组成。ISP覆盖的区域有所不同,有些跨越多个大洲和大洋,有些限于很小的地理区域。较低层的ISP与较高层的ISP相连,较高层ISP彼此互联。用户和内容提供商是较低层ISP的客户,较低层ISP是较高层ISP的客户。近年来,主要的内容提供商也已经创建自己的网络,直接在可能的地方与较低层ISP互联。

版权声明:如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developerteam@list.alibaba-inc.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接