计算机网络自顶向下方法第一章——计算机网络和因特网 Summary after reading
计算机网络自顶向下方法第一章——计算机网络和因特网 Summary after reading
端系统通过通信链路和分组交换机连接到一起。不同的链路能够以不同的速率传输数据,链路的传输速率是以比特/秒度量。
当今的因特网中,两种最著名的类型是路由器和链路层交换机。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。
端系统通过因特网服务提供商ISP接入因特网。每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络。各ISP为端系统提供了各种不同类型的网络接入,包括如线缆调制解调器或DSL那样的住宅宽带接入、高速局域网接入和移动无线接入。ISP也为内容提供者提供因特网接入服务,将Web站点和视频服务器直接连入因特网。
因为一些应用程序涉及多个相互交换数据的端系统,故它们被称为分布式应用程序。重要的是,因特网应用程序运行在端系统上,即它们并不运行在网络核心中的分组交换机中。尽管分组交换机能够加速端系统之间的数据交换,但它们并不在意作为数据的源或宿的应用程序。
与因特网相连的端系统提供了一个套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。因特网套接字接口是一套发送程序必须遵循的规则集合,因此因特网能够将数据交付给目的地。
协议定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。
我们接下来考虑接入网,这是指将端系统物理连接到其边缘路由器的网络。边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。
- 几种类型的接入链路和使用接入网的几种环境:
- 家庭接入:DSL、电缆、FTTH、拨号和卫星:
- 宽带住宅接入有两种最流行的类型:数字用户线(DSL)和电缆。住户通常从提供本地电话接入的本地电话公司处获得DSL因特网接入。因此,当使用DSL时,用户的本地电话公司也是它的ISP。每个用户的DSL调制解调器使用现有的电话线即双绞铜线与位于电话公司的本地中心局中的数字用户线接入复用器(DSLAM)交换数据。家庭的DSL调制解调器得到数字数据后将其转换为高频音,以通过电话线传输给本地中心局;来自许多家庭的模拟信号在DSLAM处被转换回数字形式。
- 家庭电话线同时承载了数据和传统的电话信号,它们用不同的频率进行编码:高速下行信道,位于50kHz到1MHz频段;中速上行信道,位于4kHz到50kHz频段;普通的双向电话信道,位于0到4kHz频段。
- 这种方法使单根DSL线路看起来就像有3根单独的线路一样,因此一个电话呼叫和一个因特网连接能够同时共享DSL链路。在用户一 侧,一个分配器把到达家庭的数据信号和电话信号分隔开,并将数据信号转发给DSL调制解调器。在电话公司一侧,在本地中心局中,DSLAM把数据和电话信号分隔开,并将数据送往因特网。数百甚至上千个家庭与同一个DSLAM相连。
- DSL利用电话公司现有的本地电话基础设施,而电缆因特网接入利用了有线电视公司现有的有线电视基础设施。住宅从提供有线电视的公司获得了电缆因特网接入。光缆将电缆头端连接到地区枢纽,从这里使用传统的同轴电缆到达各家各户和公寓。每个地区枢纽通常支持500 -5000个家庭。因为在这个系统中应用了光纤和同轴电缆,所以它经常被称为混合光纤同轴(HFC)系统。
- 电缆因特网接入需要特殊的调制解调器,这种调制解调器称为电缆调制解调器如同DSL调制解调器,电缆调制解调器通常是一个外部设备,通过一个以太网端口连接到家庭PC。在电缆头端,电缆调制解调器端接系统与DSL网络的DSLAM具有类似的功能,即将来自许多下行家庭中的电缆调制解调器发送的模拟信号转换回数字形式。 电缆调制解调器将HFC网络划分为下行和上行两个信道。下行信道分配的传输速率通常比上行信道的高。
- 电缆因特网接入的一个重要特征是共享广播媒体。特别是,由头端发送的每个分组向下行经每段链路到每个家庭;每个家庭发送的每个分组经上行信道向头端传输。因此,如果几个用户同时经下行信道下载一个视频文件,每个用户接收视频文件的实际速率将大大低于电缆总计的下行速率。而另一方面,如果仅有很少的活跃用户在进行Web冲浪,则每个用户都可以以全部的下行速率接收Web网页,因为用户们很少在完全相同的时刻请求网页。因为上行信道也是共享的,需要一个分布式多路访问协议来协调传输和避免碰撞。
- 但一种提供更高速率的新兴技术是光纤到户(FTTH)顾名思义, FTTH概念简单,从本地中心局直接到家庭提供了一条光纤路径。从本地中心局到家庭有几种有竞争性的光纤分布方案。最简单的光纤分布网络称为直接光纤,从本地中心局到每户设置一根光纤。更为一般的是,从中心局岀来的每根光纤实际上由许多家庭共享,直到相对接近这些家庭的位置,该光纤才分成每户一根光纤。进行这种分配有两种有竞争性的光纤分布体系结构:主动光纤网络(AON)和被动光纤网络(PON)。
- PON中每个家庭具有一个光纤网络端接器(ONT),它由专门的光纤连接到邻近的分配器,该分配器把一些家庭(通常少于100个)集结到一根共享的光纤,该光纤再连接到本地电话和公司的中心局中的光纤线路端接器(OLT),该OLT提供了光信号和电信号之间的转换,经过本地电话公司路由器与因特网相连。在家庭中,用户将一台家庭路由器(通常是无线路由器)与ONT相连,并经过这台家庭路由器接入因特网。在PON体系结构中,所有从OLT发送到分配器的分组在分配器(类似于一个电缆头端)处复制。
- 企业(家庭)接入:以太网和Wi-Fi:使用局域网(LAN)将端系统连接到边缘路由器。尽管有许多不同类型的局域网技术,但是以太网是最为流行的接入技术。
- 广域无线接入:3G和LTE:设备越来越多地用来在移动中发信息、在社交网络中分享照片、观看视频和放音乐。这些设备应用了与蜂窝移动电话相同的无线基础设施,通过蜂窝网提供商运营的基站来发送和接收分组。与Wi-Fi不同的是,一个用户仅需要位于基站的数万米计算机网络和因特网(而不是几十米)范围内。
- 家庭接入:DSL、电缆、FTTH、拨号和卫星:
物理媒体:HFC使用了光缆和同轴电缆相结合的技术。DSL和以太网使用了双绞铜线。移动接入网使用了无线电频谱。物理媒体分成两种类型:导引型媒体和非导引型媒体对于导引型媒体,电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆。对于非导引型媒体,电波在空气或外层空间中传播,例如在无线局域网或数字卫星频道中。物理链路的实际成本与其他网络成本相比通常是相当小的。正因为这个原因,许多建筑商在一个建筑物的每个房间中安装了双绞线、光缆和同轴电缆。即使最初仅使用了一种媒体,在不久的将来也可能会使用另一种媒体,这样将来不必再铺设另外的线缆,从而节省了经费。
- 双绞铜线:最便宜并且最常用的导引型传输媒体是双绞铜线。
- 同轴电缆:同轴电缆在电缆电视系统中相当普遍。电缆电视系统最近与电缆调制解调器结合起来,为住宅用户提供数十Mbps速率的因特网接入。同轴电缆能被用作导引型共享媒体特别是,许多端系统能够直接与该电缆相连,每个端系统都能接收由其他端系统发送的内容。
- 光纤:光纤是一种细而柔软的、能够导引光脉冲的媒体。
- 陆地无线电信道:无线电信道承载电磁频谱中的信号。它不需要安装物理线路,并具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力,因而成为一种有吸引力的媒体。
- 卫星无线电信道:一颗通信卫星连接地球上的两个或多个微波发射器/接收器,它们被称为地面站。该卫星在一个频段上接收传输,使用一个转发器再生信号,并在另一个频率上发射信号。
通过网络链路和交换机移动数据有两种基本方法:电路交换和分组交换。
分组交换:分组以等于该链路最大传输速率的速度传输通过通信链路。因此,如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。
分组交换的特点:
- 存储转发传输:因为该路由器应用了存储转发机制,所以此时它还不能传输已经接收的比特,而是必须先缓存该分组的比特。仅当路由器已经接收完了该分组的所有比特后,它才能开始向出链路传输该分组。
- 排队时延和分组丢失:该分组交换机具有一个输出队列,它用于存储路由器准备发往那条链路的分组。该输出缓存在分组交换中起着重要的作用。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输岀缓存的排队时延。这些时延是变化的,变化的程度取决于网络的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包),到达的分组或已经排队的分组之一将被丢弃。
- 转发表和路由选择协议:每台路由器具有一个转发表,用于将目的地址(或目的地址的一部分)映射成为输岀链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。因特网具有一些特殊的路由选择协议,用于自动地设置这些转发表。例如,一个路由选择协议可以决定从每 台路由器到每个目的地的最短路径,并使用这些最短路径结果来配置路由器中的转发表。
电路交换:在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源则不是预留的;会话的报文按需使用这些资源,其后果可能是不得不等待(即排队)接入通信线路。当网络创建这种电路时,它也在连接期间在该网络链路上预留了恒定的传输速率(表示为每条链路传输容量的一部分)。既然已经为该发送方到接收方连接预留了带宽,则发送方能够以确保的恒定速率向接收方传送数据。
电路交换网络中的复用:链路中的电路是通过频分复用(FDM)或时分复用(TDM)来实现的。
- 对于FDM,链路的频谱由跨越链路创建的所有连接共享。特别是,在连接期间链路为每条连接专用一个频段。频段的宽度称为带宽。
- 对于TDM,时间被划分为固定期间的帧,并且每个帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时。网络在每个帧中为该连接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据。
- 对于一个支持多达4条电路的特定网络链路的FDM和TDM。对于FDM,其频率域被分割为4个频段,每个频段的带宽是4kHz;对于TDM,其时域被分割为帧,在每个帧中具有4个时隙,在循环的TDM帧中每条电路被分配相同的专用时隙。对于TDM,一条电路的传输速率等于帧速率乘以一个时隙中的比特数量。例如,如果链路每秒传输8000个帧,每个时隙由8个比特组成,则每条电路的传输速率是64kbps。
电路交换因为在静默期专用电路空闲而不够经济。
分组交换不适合实时服务(例如,电话和视频会议),因为它的端到端时延是可变的和不可预测的(主要是因为排队时延的变动和不可预测所致)。分组交换的优势为:它提供了比电路交换更好的带宽共享、它比电路交换更简单、更有效,实现成本更低。分组交换差不多总是提供了与电路交换相同的性能,并且允许在用户数量是其3倍时情况也是如此,且可以在其余会话空闲时占用全部资源发送数据。电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间未被利用。另一方面,分组交换按需分配链路使用。链路传输能力将在所有需要在链路上传输分组的用户之间逐分组地被共享。
ISP的互联
- 网络结构1:用单一的全球传输ISP互联所有接入ISP。接入ISP被认为是客户,而全球传输ISP被认为是提供商。
- 网络结构2:它由数十万接入ISP和多个全球传输1SP组成。这些全球传输ISP之间必须是互联的。
- 网络结构3:不仅有多个竞争的第一层ISP,而且在一个区域可能有多 个竞争的区域ISP。在这样的等级结构中,每个接入ISP向其连接的区域ISP支付费用,并且每个区域ISP向它连接的第一层ISP支付费用。
- 网络结构4:由接入ISP、区域ISP、第一层ISP、PoP(PoP存在于等级结构的所有层次,但底层(接入ISP)等级除外。一个POP只是提供商网络中的一台或多台路由器(在相同位置)群组,其中客户ISP能够与提供商ISP连接。对于要与提供商PoP连接的客户网络,它能从第三方电信提供商租用高速链路将它的路由器之一直接连接到位于该PoP的一台路由器)、多宿(可以与两个或更多提供商ISP连接)、对等(位于相同等级结构层次的邻近一对ISP能够对等,直接将它们的网络连到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输)和IXP(IXF是一个汇合点,多个ISP能够在这里一起对等)组成。
- 网络结构5:它通过在网络结构4顶部增加内容提供商网络。
- 分组中时延的概括:
- 处理时延:检查分组首部和决定将该分组导向何处。处理时延也能够包括其他因素,如检查比特级别的差错所需要的时间,该差错岀现在从上游节点向路由器A传输这些分组比特的过程中。在这种节点处理之后,路由器将该分组引向通往路由器B链路之前的队列。
- 排队时延:在队列中,当分组在链路上等待传输时,它经受排队时延。
- 传输时延:传输时延是L/R。这是将所有分组的比特推向链路所需要的时间。
- 传播时延:从该链路的起点到路由器B传播所需要的时间是传播时延。该比特以该链路的传播速率传播。该传播速率取决于该链路的物理媒体。处理时延通常是微不足道的,然而,它对一台路由器的最大吞吐量有重要影响,最大吞吐量是一台路由器能够转发分组的最大速率。
- 以上这些时延总体累加起来是节点总时延。
- 排队时延的大小很大程度取决于流量到达该队列的速率、链路的传输速率和到达流量的性质,即流量是周期性到达还是以突发形式到达。令a表示分组到达队列的平均速率,R是传输速率,假定所有分组都是由L比特组成的。则比特到达队列的平均速率是Labps。假定该队列非常大,因此它基本能容纳无限数量的比特。比率La/R被称为流量强度。如果La/R>l,则比特到达队列的平均速率超过从该队列传输岀去的速率,该队列趋向于无限增加,并且排队时延将趋向无穷大!因此,流量工程中的一条金科玉律是:设计系统时流量强度不能大于1。该强度的少量增加将导致时延大比例增加。
- 分组丢失的比例随着流量强度增加而增加。因此,一个节点的性能常常不仅根据时延来度量,而且根据丢包的概率来度量。
- 计算机网络中的吞吐量:在任何时间瞬间的瞬时吞吐量是主机B接收到该文件的速率。
对于服务器和客户这两个端系统,它们由两条通信链路和一台路由器相连。如果比特继续以速率$R_s$到达路由器,继续以$R_c$离开路由器的话,在该路由器中等待传输给客户的积压比特将不断增加,这是一种最不希望的情况!因此,对于这种简单的两链路网络,其吞吐量是$min(R_s, R_c)$这就是说,它是瓶颈链路的传输速率。那么对于多条链路的网络,其文件吞吐量是$min(R_1, R_2, R_3…R_N)$。
目前因特网的核心的确超量配置了高速率的链路,从而很少出现拥塞。因此,在今天因特网中对吞吐量的限制因素通常是接入网。但是如果因特网的核心的速率与$R_s$和$R_c$有相同量级,这时每个下载的瓶颈不再位于接入网中,而是位于核心中的共享链路了。
某层向它的上一层提供的服务,即所谓一层的服务模型。例如,由第n层提供的服务可能包括报文从网络的一边到另一边的可靠交付。这可能是通过使用第n-1层的边缘到边缘的不可靠报文传送服务,加上第n层的检测和重传丢失报文的功能来实现的。
协议分层如下:
- 应用层:HTTP、SMTP、FTP、DNS,我们把这种位于应用层的信息分组称为报文。
- 运输层:TCP、UDP。TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地的确保传递和流量控制。TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞控制。我们把运输层的分组称为报文段。
- 网络层:IP、路由选择协议。因特网的网络层负责将称为数据报的网络层分组从一台主机移动到另一台主机。
- 链路层:网络层必须依靠该链路层的服务。我们把链路层分组称为帧。
- 物理层:虽然链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务 是将该帧中的一个个比特从一个节点移动到下一个节点。
OSI模型:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层。表示层的作用是使通信的应用程序能够解释交换数据的含义。这些服务包括数据压缩和数据加密以及数据描述(这使得应用程序不必担心在各台计算机中表示/存储的内部格式不同的问题)。会话层提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法。
与端系统类似,路由器和链路层交换机以多层次的方式组织它们的网络硬件和软件。而路由器和链路层交换机并不实现协议栈中的所有层次。
在每一 层,一个分组具有两种类型的字段:首部字段和有效载荷字段。有效载荷通常是来自上一层的分组。