什么是因特网

我们可以从两个角度来回答这个问题:其一,我们能够描述因特网的具体构成,即构成因特网的基本硬件和软件组件;其二,我们能够根据为分布式应 用提供服务的联网基础设施来描述因特网.

组成描述

因特网是一个世界范围的计算机网络,这意味着它互联了数以亿计的计算设备(不仅仅是计算机哦);这些设备包括但不限于传统PC、工作站以及所谓的服务器。现在有更多的设备加入到因特网中,比如便携式计算机、电视机、汽车、传感器等。

image.png

主机或者端系统:用因特网的术语来说,所有连入因特网的设备(如便携机、智能手机、平板电脑、电视、游戏机、温度调节装置、家用安全系统、家用电器、手表、眼镜、汽车、运输控制系统等)

通信链路 光纤、同轴电缆、无线电、卫星,传输速率 =带宽(bps)

分组交换设备转发分组 (packets),路由器和交换机 端系统通过通信链路和分组交换机连接到一起。

端系统之间发送数据时,发送端系统将其数据分成一段一段,然后加上必要的信息后形成一个个的数据包,这个数据包用术语来说叫做分组。于是分组==用户数据+必要信息。链路系统就是用来传输分组的。分组到达接收端系统后,接收端系统将根据必要信息来抽取用户数据;

分组交换机从它的一条入链路接收分组,并且选择一条出链路将分组转发出去;分组交换机也有很多种类,最为有名的是路由器和链路层交换机;两者的的不同之处在于,链路层交换机主要用在接入网中,路由器主要用在网络核心.

端系统通过因特网服务提供商(Internet Service Provider,简称ISP)接入因特网;

很有名的协议有:TCP(Transport Control Protocol,传输控制协议)和IP(Internet Protocol,网际协议);因为协议控制了信息的传递,所以对协议达成一致就很重要,所以需要一个标准来规范协议,以便创造可以协同工作的系统和产品

服务描述

使用通信设施进行通信的分布式应用(Web、VoIP、email、分布式游戏、电子商务、社交网络)

通信基础设施为apps提供编程套接字接口(socket interface)(通信服务)。将发送和接收数据的apps与互联网连接起来,为app应用提供服务选择,类似于邮政服务。

协议

前面提到了分组这一概念,分组==用户数据+必要数据;这些必要数据为分组接收者理解用户数据提供保障,而协议就是如何使用必要数据理解用户数据的方法或者规则;分组接收者接收到分组并按照协议获得了用户数据后,还应该对此消息做出反应,而如何做出反应也是协议规范的一部分(不反应也是一种反应哦)

image.png

协议:定义了两个或多个通信实体(不一定是端系统,还有可能是分组交换机等)之间交换信息的格式和次序以及对该信息所采取的动作

凡是通信实体的所有活动都要受到协议的约束。比如,硬件实现的控制协议控制了两块网卡之间的比特流;在端系统中,拥塞控制协议控制了发送方和接收方之间传输数据的速率等

网络边缘

回想前一节中计算机网络的术语,通常把与因特网相连的计算机和其他设备称为端系统。如图所示,因为它们位于因特网的边缘,故而被称为端系统。因特网的端系统包括了桌面计算机(例如,桌面PC、Mac 和Linux设备)、服务器(例如,Web和电子邮件服务器)和移动计算机(例如,便携机、智能手机和平板电脑)。

image.png

端系统也称为主机( host), 因为它们容纳 ( 即运行) 应用程序, 如 Web 浏览器程序 、 Web 服务器程序、 电子邮件客户程序或电子邮件服务器程序等。

主机 = 端系统。

主机有时又被进一步划分为两类: 客户( client ) 和服务器( server)。 客户通常是桌面 PC、 移动 PC 和智能手机等, 而服务器通常是更为强大的机器, 用于存储和发布 Web 页面、 流视频 、 中继电子邮件等。还可以划分为对等模式peer-peer,即很少甚至没有专门的服务器如Gnutella,KaZaA,Emule。

接入网

怎样将端系统和边缘路由器连接?

  1. 住宅接入网络
  2. 单位接入网络 (学校、公司)
  3. 无线接入网络

家 庭 接 入: DSL、 电 缆、 FTTH, 拨 号 和 卫 星

数 字 用 户 线( Digital Subscriber Line,DSL):当使用 DSL 时, 用户的本地电话公司也是它的 ISP。 如图 所示, 每个用户的 DSL调制解调器使用现有的电话线 ( 即双绞铜线, 将在 1.2. 2 节中讨论它) 与位于电话公司的计算机网络和因特网本地中心局 ( C0) 中的数字用户线接人复用器 ( DSLAM ) 交换数据。 家庭的 DSL 调制解调器得到数字数据后将其转换为高频音, 以通过电话线传输给本地中心局; 来自许多家庭的模拟信号在 DSLAM 处被转换回数字形式。在用户一侧, 一个分配器把到达家庭的数据信号和电话信号分隔开, 并将数据信号转发给 DSL 调制解调器。 在电话公司一侧, 在本地中心局中, DSLAM 把数据和电话信号分隔开, 并将数据送往因特网。

这种方法使单根DSL线路看起来就像有3根单独的线路一样,因此一个电话呼叫和一个因特网连接能够同时共享DSL链路。

image.png

电缆因特网接入( cable Internet access) 利用了有线电视公司现有的有线电视基础设施。 住宅从提供有线电视的公司获得了电缆因特网接入。如图 1-6 所示, 光缆将电缆头端连接到地区枢纽, 从这里使用传统的同轴电缆到达各家各户和公寓。 毎个地区枢纽通常支持500~5000个家庭。因为在这个系统应用了光纤和同轴电缆, 所以它经常被称为混合光纤同轴(Hybrid Fiber Coax,HFC) 系统

image.png

电缆因特网接人需要特殊的调制解调器, 这种调制解调器称为电缆调制解调器 (cablemodem)。 如同 DSL 调制解调器, 电缆调制解调器通常是一个外部设备, 通过一个以太网端口连接到家庭 PC。

电缆因特网接入的一个重要特征是共享广播媒体。 特别是, 由头端发送的每个分组向下行经每段链路到每个家庭; 每个家庭发送的每个分组经上行信道向头端传输。 因此, 如果几个用户同时经下行信道下载一个视频文件, 每个用户接收视频文件的实际速率将大大低于电缆总计的下行速率。 而另一方面, 如果仅有很少的活跃用户在进行 Web 冲浪, 则每个用户都可以以全部的下行速率接收 Web 网页, 因为用户们很少在完全相同的时刻请求网页。 因为上行信道也是共享的, 需要一个分布式多路访问协议来协调传输和避免碰撞。

光纤到户( Fiber To The Home, FTTH) [ FTTH Council 2016]。 顾名思义,FTTH 概念简单, 从本地中心局直接到家庭提供了一条光纤路径。

最简单的光纤分布网络称为直接光纤, 从本地中心局到每户设置一根光纤。 更为一般的是, 从中心局出来的每根光纤实际上由许多家庭共享, 直到相对接近这些家庭的位置, 该光纤才分成每户一根光纤。 进行这种分配有两种有竞争性的光纤分布体系结构: 主动光纤网络( Active Optical Network,AON ) 和被动光纤网络( Passive Optical Network , PON )。

我们简要讨论一下 PON, 该技术用于 Verizon 的 FIOS 服务中。 图 1-7 显示了使用 P0N 分布体系结构的 FTTH。 每个家庭具有一个光纤网络端接器 ( Optical Network Terminator, 0NT), 它由专门的光纤连接到邻近的分配器 ( splitter)。 该分配器把一些家庭 ( 通常少于 100 个) 集结到一根共享的光纤, 该光纤再连接到本地电话和公司的中心局中的光纤线路端接器 ( Optical Line Terminator, OLT)。 该 OLT 提供了光信号和电信号之间的转换, 经过本地电话公司路由器与因特网相连。 在家庭中, 用户将一台家庭路由器 ( 通常是无线路由器) 与 0NT 相连, 并经过这台家庭路由器接入因特网。 在 P0N 体系结构中, 所有从 OLT 发送到分配器的分组在分配器( 类似于一个电缆头端) 处复制。

image.png

在无法提供 DSL、 电缆和FTTH 的地方( 例如在某些乡村环境) , 能够使用卫星链路将住宅以超过 1 Mbps 的速率与因特网相连。 StarBand 和 HughesNet 是两家这样的卫星接人提供商。 使用传统电话线的拨号接入与 DSL 基于相同的模式: 家庭的调制解调器经过电话线连接到 ISP 的调制解调器。与 DSL 和其他宽带接人网相比, 拨号接人 56kbps 的慢速率是令人痛苦的。

企业( 和家庭) 接人: 以太网和 WiFi

在公司和大学校园以及越来越多的家庭环境中, 使用局域网( LAN ) 将端系统连接到边缘路由器。 尽管有许多不同类型的局域网技术, 但是以太网到目前为止是公司、 大学和家庭网络中最为流行的接入技术。

image.png

如图以太网用户使用双绞铜线与一台以太网交换机相连。

然而, 越来越多的人从便携机、 智能手机、 平板电脑和其他物品无线接入因特网 ( 参见前面的插入内容 “ 物联网” )。 在无线 LAN 环境中, 无线用户从/到一个接人点发送/接收分组, 该接入点与企业网连接( 很可能使用了有线以太网) , 企业网再与有线因特网相连。 一个无线 LAN 用户通常必须位于接入点的几十米范围内。 基于 IEEE 802.11 技术的无线 LAN 接入, 更通俗地称为 WiFi, 目前几乎无所不在, 如大学、 商业办公室、 咖啡厅、机场、 家庭, 甚至在飞机上。

今天许多家庭将宽带住宅接入( 即电缆调制解调器SDSL) 与廉价的无线局域网技术结合起来, 以产生强大的家用网络 [ Edwards 2011]。 图1-9 显示了典型的家庭网络。 这个家庭网络组成如下: 一台漫游的便携机和一台有线 PC; 一个与无线 PC 和家中其他无线设备通信的基站( 无线接入点) ; 一个提供与因特网宽带接入的电缆调制解调器; 一台互联了基站及带有电缆调制解调器的固定 PC 的路由器。 该网络允许家庭成员经宽带接人因特网, 其中任何一个家庭成员都可以在厨房、 院子或卧室漫游上网。

image.png

广域无线接入 3G和 LTE

iPhone和安卓等设备越来越多地用来在移动中发信息、在社交网络中分享照片、观看 视频和放音乐。这些设备应用了与蜂窝移动电话相同的无线基础设施,通过蜂窝网提供商 运营的基站来发送和接收分组。与WiFi不同的是,一个用户仅需要位于基站的数万米(而不是几十米)范围内。

物 理 媒 体

考虑一个比特从一个端系统开始传输, 通过一系列链路和路由器, 到达另一个端系统。 这个比特被漫不经心地传输了许许多多次! 源端系统首先发射这个比特, 不久后其中的第一台路由器接收该比特; 第一台路由器发射该比特, 接着不久后第二台路由器接收该比特; 等等。 因此, 这个比特当从源到目的地传输时, 通过一系列 “ 发射器- 接收器” 对。对于每个发射器- 接收器对,通过跨越一种物理媒体( physical medium ) 传播电磁波或光脉冲来发送该比特。 该物理媒体可具有多种形状和形式, 并且对沿途的每个发射器- 接收器对而言不必具有相同的类型。 物理媒体的例子包括双绞铜线、 同轴电缆、 多模光纤缆、 陆地无线电频谱和卫星无线电频谱。 物理媒体分成两种类型: 导引型媒体( guided media ) 和非导引型媒体 ( unguided media)。 对于导引型媒体, 电波沿着固体媒体前行, 如光缆、 双绞铜线或同轴电缆。 对于非导引型媒体, 电波在空气或外层空间中传播, 例如在无线局域网或数字卫星频道中。

    1. 双绞铜线

最便宜并且最常用的导引型传输媒体是双绞铜线。 一百多年来, 它一直用于电话网。 双绞线由两根绝缘的铜线组成, 每根大约 lmm粗, 以规则的螺旋状排列着。通常许多双绞线捆扎在一起形成一根电缆, 并在这些双绞线外面覆盖上保护性防护层。 一对电线构成了一个通信链路。 无屏蔽双绞线 ( Unshielded Twisted Pair, UTP) 常用在建筑物内的计算机网络中, 即用于局域网 ( LAN ) 中。目前局域网中的双绞线数据传输速率在10Mbps到10Gbps之间,所能达到的数据传输速率取决于线的粗细以及传输距离;双绞线实际上已经成为高速局域网联网的主要方式;因为现代的双绞线技术速率和传输距离都是很不错的;

    1. 同轴电缆

与双绞线类似, 同轴电缆由两个铜导体组成, 但是这两个导体是同心的而不是并行的。 借助于这种结构及特殊的绝缘体和保护层, 同轴电缆能够达到较高的数据传输速率。 同轴电缆在电缆电视系统中相当普遍。 我们前面已经看到, 电缆电视系统最近与电缆调制解调器结合起来, 为住宅用户提供数十 Mbps 速率的因特网接入。 在电缆电视和电缆因特网接人中, 发送设备将数字信号调制到某个特定的频段, 产生的模拟信号从发送设备传送到一个或多个接收方。 同轴电缆能被用作导引型共享媒体 ( shared medium)。特别是, 许多端系统能够直接与该电缆相连, 每个端系统都能接收由其他端系统发送的内容。

    1. 光纤

光纤是一种细而柔软的、 能够导引光脉冲的媒体, 每个脉冲表示一个比特。 一根光纤能够支持极髙的比特速率, 髙达数十甚至数百 Gbps。 它们不受电磁干扰, 长达 100km的光缆信号衰减极低, 并且很难窃听。 这些特征使得光纤成为长途导引型传输媒体, 特别是跨海链路。 在美国和别的地方, 许多长途电话网络现在全面使用光纤。 光纤也广泛用于因特网的主干。 然而, 高成本的光设备, 如发射器、 接收器和交换机, 阻碍光纤在短途传输中的应用, 如在 LAN 或家庭接人网中就不使用它们。 光载波( Optical Carrier,0C) 标准链路速率的范围从 51.8Mbps 到 39.8Gbps;

    1. 陆地无线电信道

无线电信道承载电磁频谱中的信号。 它不需要安装物理线路, 并具有穿透墙壁、 提供与移动用户的连接以及长距离承载信号的能力, 因而成为一种有吸引力的媒体。 无线电信道的特性极大地依赖于传播环境和信号传输的距离。 环境上的考虑取决于路径损耗和遮挡衰落( 即当信号跨距离传播和绕过/通过阻碍物体时信号强度降低) 、 多径衰落 ( 由于干扰对象的信号反射) 以及干扰 ( 由于其他传输或电磁信号)。陆地无线电信道能够大致划分为三类: 一类运行在很短距离 ( 如 1 米或 2 米) ; 另一类运行在局域, 通常跨越数十到几百米; 第三类运行在广域, 跨越数万米。 个人设备如无线头戴式耳机、 键盘和医疗设备跨短距离运行; 在 1.2.1 节中描述的无线 LAN 技术使用了局域无线电信道; 蜂窝接入技术使用了广域无线电信道。 我们将在第 7 章中详细讨论无线电信道。

    1. 卫星无线电信道

一颗通信卫星连接地球上的两个或多个微波发射器/接收器, 它们被称为地面站。 该卫星在一个频段上接收传输, 使用一个转发器( 下面讨论) 再生信号, 并在另一个频率上发射信号。 通信中常使用两类卫星: 同步卫星( geostationary satellite) 和近地轨道( Low- EarthOrbiting, LEO) 卫星 [ Wiki Satellite 2016]。同步卫星永久地停留在地球上方的相同点上。 这种静止性是通过将卫星置于地球表面上方 36000km 的轨道上而取得的。 从地面站到卫星再回到地面站的巨大距离引人了可观的 280ms 信号传播时延。 不过, 能以数百 Mbps 速率运行的卫星链路通常用于那些无法使用 DSL 或电缆因特网接入的区域。近地轨道卫星放置得非常靠近地球, 并且不是永久地停留在地球上方的一个点。 它们围绕地球旋转, 就像月亮围绕地球旋转那样, 并且彼此之间可进行通信, 也可以与地面站通信。 为了提供对一个区域的连续覆盖, 需要在轨道上放置许多卫星。 当前有许多低轨道通信系统在研制中。 LEO 卫星技术未来也许能够用于因特网接人。

网络核心

网络核心:路由器的网状网络

image.png

  • 基本问题:数据怎样通过网络进行传输?
  • 电路交换:为每个呼叫预留一条专有电路:如电话网
  • 分组交换:将要传送的数据分成一个个单位:分组将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端每段:采用链路的最大传输能力(带宽)

电路交换

数据交换过程
• 第一步:建立连接;第二步:交换数据;第三步:释放连接
电路交换的特性
• 电路交换网络中(数字通信)
– 电路—一条连接(信道)
– 链路—多条电路
• 数据交换前需建立起一条从发端到收端的电路(预留资源)
• 在数据交换的全部时间内用户始终占用端到端的固定传输信道
• 交换双方可实时进行数据交换而不会存在任何延迟\

当两台主机要通信时, 该网络在两台主机之间创建一条专用的端到端连接 ( end- to- endconnection)。 因此, 主机 A 为了向主机 B 发送报文, 网络必须在两条链路的每条上先预留一条电路。 在这个例子中, 这条专用的端到端连接使用第一条链路中的第二条电路和第二条链路中的第四条电路。 因为每条链路具有 4 条电路, 对于由端到端连接所使用的每条链路而言, 该连接在连接期间获得链路总传输容量的 1/4。 例如, 如果两台邻近交换机之间每条链路具有 1 Mbps 传输速率, 则每个端到端电路交换连接获得 250kbps 专用的传输速率。 image.png

网络资源(如带宽)被分成片,而每一次为呼叫分配片,如果某个呼叫没有数据,则其资源片处于空闲状态(不共享),而分片方式有频分(Frequencydivision multiplexing),时分(Time-divisionmultiplexing),波分(Wave-divisionmultiplexing) image.png

image.png

存在的问题\

  • 计算机之间的数据交换往往具有突发性和间歇性特征,而对电路交换而言,用户支付的费用则是按用户占用线路的时间来收费的
  • 不够灵活。只要在通话双方建立的通路中的任何一点出了故障,就必须重新拨号建立新的连接,这对紧急和重要通信是很不利的

分组交换

在各种网络应用中, 端系统彼此交换**报文 ( message )**。 报文能够包含协议设计者需要的任何东西。 报文可以执行一种控制功能( 例如, 图 1- 2 所示例子中的 “ 你好” 报文) , 也可以包含数据, 例如电子邮件数据、 JPEG 图像或 MP3 音频文件。 为了从源端系统向目的端系统发送一个报文, 源将长报文划分为较小的数据块, 称之为分组( packet )。 在源和目的地之间, 每个分组都通过通信链路和分组交换机( packet switch )传送。 ( 交换机主要有两类: 路由器( router) 和链路层交换机 ( link-layer switch ) 。) 分组以等于该链路最大传输速率的速度传输通过通信链路。 因此, 如果某源端系统或分组交换机经过一条链路发送一个 L 比特的分组, 链路的传输速率为比特/秒, 则传输该分组的时间为 L/R 秒。

image.png

存储转发传输

分组交换:

  1. 以分组为单位存储-转发方式:网络带宽资源不再分分为一个个片,传输时使用全部带宽。主机之间传输的数据被分为一个个分组
  2. 资源共享,按需使用:存储-转发:分组每次移动一跳( hop )
  • 在转发之前,节点必须收到整个分组
  • 延迟比线路交换要大
  • 存在排队时间

image.png

  • 被传输到下一个链路之前,整个分组必须到达路由器:存储-转发
  • 在一个速率为R bps的链路,一个长度为L bits的分组的存储转发延时: L/R s

L = 7.5 Mbits
R = 1.5 Mbps
3次存储转发的延时= 15 s

image.png

image.png

image.png

image.png

排队和延迟:

对于每条相连的链路, 该分组交换机具有一个输出缓存( output buffer, 也称为输出队列( output queue)), 它用于存储路由器准备发往那条链路的分组。

如果到达速率>链路的输出速率:
分组将会排队,等待传输
如果路由器的缓存用完了,分组将会被抛弃

转发表和路由选择协议

前面我们说过, 路由器从与它相连的一条通信链路得到分组, 然后向与它相连的另一条通信链路转发该分组。在因特网中, 每个端系统具有一个称为 IP 地址的地址。 当源主机要向目的端系统发送一个分组时, 源在该分组的首部包含了目的地的 IP 地址。 如同邮政地址那样, 该地址具有一种等级结构。 当一个分组到达网络中的路由器时, 路由器检査该分组的目的地址的一部分, 并向一台相邻路由器转发该分组。 更特别的是, 每台路由器具有一个转发表( forwarding table), 用于将目的地址( 或目的地址的一部分) 映射成为输出链路。 当某分组到达一台路由器时, 路由器检査该地址, 并用这个目的地址搜索其转发表, 以发现适当的出链路。 路由器则将分组导向该出链路。

image.png

分组首部包含目的地址, 路由器里面有转发表

  • 转发表: 到哪个地址走哪条链路(出口)
  • 在转发表里面检索目的地址,获取转发的链路

分组交换 VS 电路交换

假设:
• 1Mbps的链路,每个用户需要100kbps
• 分组交换下1个用户活跃的概率为0.1
 电路交换:仅支持10个用户(1Mbps/100kbps)
 分组交换: 35个用户条件下, 11个及以上用户同时活动的概率为0.0004,即10个及10个以内用户同时活跃的概率为0.9996,基本上与电路交换性能相当

分组交换是“突发数据的胜利者?” 适合于对突发式数据传输:资源共享,简单,不必建立呼叫 过度使用会造成网络拥塞:分组延时和丢失。对可靠地数据传输需要协议来约束:拥塞控制\

网络分类

image.png

网络的网络

我们在前面看到, 端系统 ( PC 、 智能手机 、 Web 服务器、 电子邮件服务器等) 经过一个接人 ISP 与因特网相连。 该接入 ISP 能够提供有线或无线连接, 使用了包括 DSL、 电缆、 FTTH 、 Win 和蜂窝等多种接人技术。值得注意的是, 接人 ISP 不必是电信局或电缆公司, 相反, 它能够是如大学( 为学生、 教职员工和从业人员提供因特网接人) 或公司( 为其雇员提供接入) 这样的单位。 但让端用户和内容提供商连接到接人 ISP 仅解决了连接难题中的很小一部分, 因为因特网是由数以亿计的用户构成的。

构成因特网的 “ 网络的网络” 已经演化成为一个非常复杂的结构。 这种演化很大部分是由经济和国家策略驱动的, 而不是由性能考虑驱动的。 为了理解今天的因特网的网络结构, 我们以逐步递进方式建造一系列网络结构, 其中的每个新结构都更好地接近现在的复杂因特网。

网络结构1:存在唯一的全球承载ISP互联所有的接入ISP,这是指,全球ISP是一个又路由器和通信链路构成的网络,该网络跨越全球,并且其他的接入ISP都至少和一个它的路由器相连; image.png

网络结构2:存在多个全球承载ISP,它们分别于一部分的接入ISP互联;为了实现端系统的互联,这多个全球ISP也必须互联;网络结构是一个两层结构,其中全球承载ISP位于顶层,接入ISP处于底层; image.png

网络结构3:顶层全球承载ISP基本上已经定型,但是接入ISP现在还很混乱,比如,它们直接同顶层ISP相连;而网络结构3中,接入ISP也是分层的:较小区域中的ISP连入较大区域的ISP,而不是直接与顶层ISP相连;为什么会出现这样的结构呢?这是因为,如果都直接同顶层ISP相连,那么两个同一较小区域内,分属不同ISP的端系统之间通信的数据也会到顶层ISP中心去一趟,如果它们不是直接接入顶层ISP,而是接入了一个较大区域的ISP,那么它们之间的通信数据就不用去顶层ISP中心了,因为它们通过较大区域的ISP已经实现了互连,所以通信速度肯定就上去了。

网络结构4:是在网络结构3的基础上,增加了以下特点而形成的结构:存在点(Point of Presence,PoP)、多宿、对等、因特网交换点(Internet exchange point,IXP)。 image.png

PoP存在于等级结构中所有层次,但是底层ISP除外;一个PoP是ISP网络中的一台或者多台路由器群组,其中客户ISP能够通过第三方提供的高速链路直接将它的路由器和供应商的PoP连接,从而实现与提供商ISP连接。这样接入速度很明显就提高了。 多宿(multi-home)是指,任何ISP(除第一层ISP)都可以与两个或者多个提供商ISP连接,这被称为多宿;这样网络的可靠性就提高了 对等(peer) 是指,位于相同等级结构层次的一对邻近ISP能够直接将它们的网络连接到一起,使它们之间流量经直接连接而不是经过上游的中间ISP传输,这样既不用付费,速度也可能会快一些; 因特网交换点是为了实现多个ISP可以对等而创建的。

网络结构5:网络结构5是在网络结构4的基础上增加了内容提供商网络而构成。内容提供商构建自己的网络,并且通过与较低层ISP对等而“绕过”较高层因特网ISP,而且内容提供商对端用户也有了更多的控制。 image.png image.png

总体来说,今天的因特网是一个“网络的网络”,其结构复杂,由十多个顶层ISP和数十万个较低层ISP构成。近年来,主要的内容提供商创建自己的网络,直接在可能的地方与较低层ISP互联

分组交换网中的时延、 丢包和吞吐量

当分组从一个节点( 主机或路由器) 沿着这条路径到后继节点( 主机或路由器) , 该分组在沿途的每个节点经受了几种不同类型的时延。 这些时延最为重要的是节点处理时延 ( nodal processing delay )、 排队时延( queuing delay)、 传输时延( transmission delay ) 和传播时延 ( propagation delay ), 这些时延总体累加起来是节点总时延( total nodal delay)。

image.png

时延概述

(1) 处理时延
检査分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。 处理时延也能够包括其他因素, 如检査比特级别的差错所需要的时间, 该差错出现在从上游节点向路由器 A 传输这些分组比特的过程中。 高速路由器的处理时延通常是微秒或更低的数量级。 在这种节点处理之后, 路由器将该分组引向通往路由器 B 链路之前的队列。 ( 在第4章中, 我们将研究路由器运行的细节。)
(2) 排队时延
在队列中, 当分组在链路上等待传输时, 它经受排队时延。 一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。 如果该队列是空的, 并且当前没有其他分组正在传输, 则该分组的排队时延为 0。 另一方面, 如果流量很大, 并且许多其他分组也在等待传输, 该排队时延将很长。 我们将很快看到, 到达分组期待发现的分组数量是到达该队列的流量的强度和性质的函数。 实际的排队时延可以是毫秒到微秒量级。
(3) 传输时延
假定分组以先到先服务方式传输一这在分组交换网中是常见的方式, 仅当所有已经到达的分组被传输后, 才能传输刚到达的分组。 用 L 比特表示该分组的长度, 用 R bPs( 即 b/s) 表示从路由器 A 到路由器 B 的链路传输速率。 例如, 对于一条 10Mbps 的以太网链路, 速率 R =10Mbps; 对于 100Mbps 的以太网链路, 速率 R = 100Mbps。 传输时延是 L/R。这是将所有分组的比特推向链路 ( 即传输, 或者说发射) 所需要的时间。 实际的传输时延通常在毫秒到微秒量级。
(4) 传播时延
一旦一个比特被推向链路, 该比特需要向路由器 B 传播。 从该链路的起点到路由器 B传播所需要的时间是传播时延。 该比特以该链路的传播速率传播。 该传播速率取决于该链路的物理媒体( 即光纤 、 双绞铜线等) , 其速率范围是2 xl0^8或3 xl0^8 m/s, 这等于或略小于光速。 该传播时延等于两台路由器之间的距离除以传播速率。 即传播时延是其中d 是路由器 A 和路由器 B 之间的距离, s 是该链路的传播速率。 一旦该分组的最后一个比特传播到节点 B, 该比特及前面的所有比特被存储于路由器 B。 整个过程将随着路由器 B执行转发而持续下去。 在广域网中, 传播时延为毫秒量级。
(5) 传输时延和传播时延的比较
传输时延是路由器推出分组所需要的时间, 它是分组长度和链路传输速率的函数, 两台路由器之间的距离无关。 另一方面, 传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间, 它是两台路由器之间距离的函数, 而与分组长度或链路传输速率无关
image.png

image.png

image.png

排队时延和丢包

什么时候排队时延大, 什么时候又不大呢? 该问题的答案很大程度取决于流量到达该队列的速率、 链路的传输速率和到达流量的性质, 即流量是周期性到达还是以突发形式到达。
image.png

在现实中, 一条链路前的队列只有有限的容量, 尽管排队容量极大地依赖于路由器设计和成本。 因为该排队容量是有限的, 随着流量强度接近 1, 排队时延并不真正趋向无穷大。 相反, 到达的分组将发现一个满的队列。 由于没有地方存储这个分组, 路由器将丢弃 ( drop) 该分组, 即该分组将会丢失( lost )。 当流量强度大于 1 时, 队列中的这种溢出也能够在用于队列的 Java 小程序中看到
image.png

端与端时延

前面的讨论一直集中在节点时延上, 即在单台路由器上的时延。 我们现在考虑从源到目的地的总时延。 为了能够理解这个概念, 假定在源主机和目的主机之间有 N- 1 台路由器。 我们还要假设该网络此时是无拥塞的 ( 因此排队时延是微不足道的) , 在每台路由器和源主机上的处理时延是 dproc , 每台路由器和源主机的输出速率是R bps, 每条链路的传播时延是 dprop。 节点时延累加起来, 得到端到端时延:
image.png

计算机网络中的吞吐量

image.png image.png image.png

image.png

协 议 层 次 及 其 服 务 模 型

现实:网络的复杂性

  • 包含了太多的元素• 主机、服务器、路由器、交换机、各种链路、网络,应用程序、协议、网络服务….
  • 需要完成的功能太多• 网络应用数据的生成、数据宿主的判断、目的地的,寻找、网络路径的产生与选择、数据的安全性、可靠性…

问题: 如何组织这种复杂的系统?

image.png

image.png

层次化方式实现复杂网络功能:

  • 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一组功能,功能中有其上层可以使用的功能:服务
  • 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务
  • 在实现本层协议的时候,直接利用了下层所提供的服务
  • 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+更下层所提供的服务

image.png

image.png image.png

image.png image.png

image.png

Internet协议栈

image.png 应用层:网络应用

  • 为人类用户或者其他应用进程提供网络应用服务
  • 因特网的应用层包括许多协议, 例如 HTTP ( 它提供了 Web 文档的请求和传送) 、 SMTP ( 它提供了电子邮件报文的传输) 和 FTP (它提供两个端系统之间的文件传送)。
  • 应用层协议分布在多个端系统上, 而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。 我们把这种位于应用层的信息分组称为**报文 ( message)**。

传输层:主机之间的数据传输

  • 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信(由于TCP的存在)
  • TCP, UDP。TCP 向它的应用程序提供了面向连接的服务。 这种服务包括了应用层报文向目的地的确保传递和流量控制 ( 即发送方/接收方速率匹配)。 TCP 也将长报文划分为短报文, 并提供拥塞控制机制, 因此当网络拥塞时, 源抑制其传输速率。 UDP 协议向它的应用程序提供无连接服务。 这是一种不提供不必要服务的服务, 没有可靠性, 没有流量控制, 也没有拥塞控制。
  • 在本书中, 我们把运输层的分组称为**报文段( segment )**。

网络层:为数据报从源到目的选择路由

  • 因特网的网络层负责将称为数据报 ( datagram) 的网络层分组从一台主机移动到另一台主机。
  • 主机主机之间的通信,端到端通信,不可靠
  • IP, 该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。路由选择协议, 它根据该路由将数据报从源传输到目的地。

链路层:相邻网络节点间的数据传输

  • 2个相邻2点的通信,点到点通信,可靠或不可靠
  • 点对对协议PPP, 802.11(wifi), Ethernet
  • 在本书中, 我们把链路层分组称为帧( frame)。

物理层:在线路上传送bit

ISO/OSI 参考模型
image.png

封装

封装 ( encapsulation )。 在发送主机端, 一个应用层报文 (application-layer message) (图 中的 M) 被传送给运输层。 在最简单的情况下,运输层收取到报文并附上附加信息 ( 所谓运输层首部信息, 图中的 H,), 该首部将被接收端的运输层使用。 应用层报文和运输层首部信息一道构成了运输层报文段 ( transportlayer segment)。 运输层报文段因此封装了应用层报文。 附加的信息也许包括了下列信息:允许接收端运输层向上向适当的应用程序交付报文的信息; 差错检测位信息, 该信息让接收方能够判断报文中的比特是否在途中已被改变。 运输层则向网络层传递该报文段, 网络层增加了如源和目的端系统地址等网络层首部信息( 图中的 Hn ), 生成了网络层数据报 ( network-layer datagram)0 该数据报接下来被传递给链路层, 链路层( 自然而然地)增加它自己的链路层首部信息并生成链路层帧( link-layer frame)。 所以我们看到, 在每一层, 一个分组具有两种类型的字段: 首部字段和有效载荷字段 ( payload field )。 有效载荷通常是来自上一层的分组。 image.png image.png

第一章课后习题

R1.主机和端系统之间有什么不同?列举几种不同类型的端系统。 web 服务器是一种端系统吗\

答:没有区别。端系统包括 PC,工作站, Web 服务器,邮件服务器, PDA,互联网连接的游戏机等。(在本书中, “主机”和“终端系统”是交替使用的。)\

R8.能够运行以太网的物理媒体是什么?\

答:今天,以太网最常见的运行在双绞线铜线上。它也可以运行在光纤链路上。\

R9. 拨号调制解调器、 HFC、 DSL 和 FTTH 都用于住宅接人。 对于这些技术, 给出每种技术的传输速率的范围, 并讨论它们的传输速率是共享的还是专用的。\

答案:
拨号调制解调器: 速率56kbps 带宽专用
HFC(Hybrid Fiber Coax)混合光纤同轴: 下行速率:42.8Mbps 上行速率:30.7Mbps 带宽共享
DSL数字用户线: 下行速率:24Mbps 上行速率:2.5Mbps 带宽共享,电话呼叫和因特网连接同时共享
FTTH光纤到户: 平均下行速率:20Mbps 带宽共享

R11. 假定在发送主机和接收主机间只有一台分组交换机。 发送主机和交换机间以及交换机和接收主机间的传输速率分别是 R1 和R2。 假设该交换机使用存储转发分组交换方式, 发送一个长度为【 的分组的端到端总时延是什么?( 忽略排队时延 、 传播时延和处理时延。)\

答:在 t0 时发送主机开始发送。 在时间 T1=L/R1 时,发送主机完成传输,整个数据包在路由器接收(没有传播延迟)。 因为路由器在 t1 时刻有整个数据包,所以它可以在 t1 时刻开始向接收主机发送数据包。 时间 t2=t1 + L/R2,路由器完成传输,整个数据包在接收主机接收(同样,没有传播延迟)。 因此,端到端延迟为 L/R1 + L/R2。\

R12.与分组交换网络相比,电路交换网络有哪些优点?在电路交换网络中, TDM 比 FDM 有哪些优点?\

答:一个电路交换网络预留了带宽等的资源,可以保证一定数量的端到端带宽的持续时间。 今天大多数分组交换网络(包括互联网)不能对带宽做出任何端到端的保证。 FDM 需要复杂的模拟硬件将信号转换成适当的频带。\

R13. 假定用户共享一条 2MbpS 链路。 同时假定当每个用户传输时连续以 1 Mbps 传输, 但每个用户仅传输20% 的时间。
a.当使用电路交换时, 能够支持多少用户?
b. 作为该题的后继问题, 假定使用分组交换。 为什么如果两个或更少的用户同时传输的话, 在链路前面基本上没有排队时延? 为什么如果 3 个用户同时传输的话, 将有排队时延?
c.求出某指定用户正在传输的概率。
d. 假定现在有 3 个用户。 求出在任何给定的时间, 所有 3 个用户在同时传输的概率。 求出队列增长
的时间比率。\

答: a. 可以支持 2 个用户,因为每个用户需要一半的链路带宽
b. 由于每个用户在传输时需要 1Mbps,如果两个或更少的用户同时传输,则最多需要2Mbps。 由于共享链路的可用带宽为 2Mbps,因此链路前不会出现排队延迟。 然而,如果三个用户同时传输,所需的带宽将是 3Mbps,超过共享链路的可用带宽。 在这种情况下,链接之前会有排队延迟。
c. 给定用户发送的概率=0.2
d. 三个用户同时传输的概率=image.png。 由于队列在所有用户发送时增长,队列增长的时间比率(这等于所有三个用户同时发送的概率)为 0.008。\

R14.为什么等级结构中级别相同的两个 ISP 通常互相对等?某 IXP 是如何挣钱的\

答:当两个ISP之间需要传输流量时,如果没有对等,那么其中一个ISP需要先传输给提供商ISP然后再传递给另一个ISP,这时候产生了额外费用,如果对等的话则可以免去这些费用。IXP是一个汇合点,多个ISP能够在这里一起对等,可以根据交换的流量额收取费用。

R15. 某些内容提供商构建了自己的网络。描述谷歌的网络。内容提供商构建这些网络的动机是什么?

  1. 可以跟较底层的ISP对等,或者接入IXP来减少对提供商ISP的费用
  2. 可以对其服务最终如何交付给端用户有了更多的控制

R18. —个长度为 1000 字节的分组经距离为 2500km 的链路传播, 传播速率为 2.5 x 10^8 m/s 并且传输速率为 2Mbps, 它需要用多长时间? 更为一般地, 一个长度为 L 的分组经距离为 d 的链路传播, 传播速c率为 s 并且传输速率为 R bps, 它需要用多长时间? 该时延与传输速率相关吗?

10ms
d/s
传播延时于传输速率无关系,仅与距离与光速有关

R19. 假定主机A要向主机B发送一个大文件。从主机A到主机B的路径上有3段链路,其速率分别为R1 = 500kbps,R2 = 2Mbps,R3 = 1Mbps。
a. 假定该网络中没有其他流量,该文件传送的吞吐量是多少?
b. 假定该文件为4MB。传输该文件到主机B大致需要多长时间?
c. 重复(a)和(b),只是这时R2减小到100kbps。

a. 500kbps
b. 32Mb/0.5Mbps = 64s(注意1B=8b)
c. 100kbps, 32Mb/0.1Mbps = 320s
注意计算机中的B是byte(字节),网络中的b是bit(比特)。1B = 8b,即1byte = 8bit

P2.式(1-1)给出了经传输速率为R的N段链路发送长度L的一个分组的端到端时延。对于经过N段链路连续地发送P个这样的分组,一般化地表示出这个公式。

答:在 N*(L/R)时,第一个数据包已到达目的地, 第二个数据包存储在最后一个路由器中,第三 个数据包存储在下一个路由器中,等等。 当 N*(L/R) + L/R,第二个数据包已到达目的地,第三 个数据包存储在最后一个路由器中等。 继续这种逻辑,我们看到当 N*(L/R) + (P-1)(L/R) = (N+P-1)(L/R) 所有数据包都已到达目的地。【注意这些全都是存储转发的形式】\

P4.考虑在图1-13中的电路交换网。回想在每条链路上有4条链路,以顺时针方向标记四台交换机A、B、C和D。
a.在该网络中,任何时候能够进行同时连接的最大数量是多少?
b.假定所有连接位于交换机A和C之间。能够进行同时连接的最大数量是多少?
c.假定我们要在交换机A和C之间建立4条连接,在交换机B和D之间建立另外4条连接。我们能够让这些呼叫通过这4条链路建立路由以容纳所有8条连接吗?

image.png

a.在左上⻆的开关和右上⻆的开关之间,我们可以有4个连接。类似地,我们可以在其他3对相邻开关之间各有四个连接。因此,这个⽹络可以⽀持多达16个连接。
⽐如:
A 到 B :4 条
B 到 C :4 条
C 到 D :4 条
D 到 A :4 条
这 16 条可以同时连接。
b.我们可以通过右上⻆的开关通过4个连接,在左下⻆有4个通过开关的连接,总共有8个连接。
A 到 B :4 条
B 到 C :4 条
最多 8 条。
c.可以。对于A和C之间的连接,我们路由两个连接通过B,两个连接通过D。对于B和D之间的连接,我们路由两个连接通过A,两个连接通过C。这样,最多有4个连接通 过任何链接。
A 到 B :2 条
B 到 A :2 条
A 到 D :2 条
B 到 C :2 条

P5.回顾在l.4节中的车队的类比。假定传播速度还是100km/h。
a.假定车队旅行150km:在一个收费站前面开始,通过第二个收费站,并且在第三个收费站后面结束。其端到端时延是多少?
b.重复(a),现在假定车队中有8辆汽车而不是10辆。

答:收费亭相距 75 公里,汽车以每小时 100 公里的速度行驶。 收费亭每 12 秒为一辆车服务。
a)有十辆车。 第一个收费站为这 10 辆车服务需要 120 秒,即 2 分钟。 在到达第二个
收费站之前,每辆车的传播延迟为 45 分钟(行程 75 公里。 因此,所有的汽车都排在第二个收
费站之前, 47 分钟后。 整个过程在第二个和第三个收费站之间重复进行。 第三个收费站也需
要 2 分钟的时间为这 10 辆车服务。 因此,总延迟为 96 分钟。【题目应是认为“整个车队均通过
一个收费站后再一起发车,而不是某辆车通过收费站后不停留立刻发车”,即第一辆车等最后一
辆车检查完再发车,而不是最后一辆车还在检查时,前面的 9 辆车已经在路上了,这不符合分
组转发的逻辑但题目就是这么问的)
b)收费亭之间的延误为 812 秒加 45 分钟,即 46 分 36 秒。 总延迟是这个数量的两倍,
加上 8
12 秒,即 94 分 48 秒。\

image.png image.png

P8.假定用户共享一条3Mbps的链路。又设每个用户传输时要求150kbps,但是每个用户仅有10%的时间传输。(参见l.3节中关于“分组交换与电路交换的对比”的讨论。)
a.当使用电路交换时,能够支持多少用户?
b.对于本习题的后续小题,假定使用分组交换。求出给定用户正在传输的概率。
c.假定有120个用户。求出在任何给定时刻,实际有n个用户在同时传输的概率。(提示:使用二项式分布。)
d.求出有21个或更多用户同时传输的概率。

image.png P10.考虑一个长度为L的分组从端系统A开始,经3段链路传送到目的端系统。令di、si,和Ri,表示链路i的长度、传播速度和传输速率(i=1,2,3)。该分组交换机对每个分组的时延为dproc。假定没有排队时延,根据di、si,Ri(i=1,2,3)和L,该分组总的端到端时延是什么?现在假定该分组是1500字节,在所有3条链路上的传播时延是2.5×10^8m/s,所有3条链路的传输速率是2Mbps,分组交换机的处理时延是3ms,第一段链路的长度是5000km,第二段链路的长度是4000km,并且最后一段链路的长度是1000km。对于这些值,该端到端时延为多少?

答: 第一端系统要求 L/R1将数据包传输到第一链路上;数据包在 d1/s1中的第一链路上传播;数据包交换机增加了 dproc 的处理延迟;在接收到整个数据包后,连接第一和第二链路的数据包交换机要求 L/R2 将数据包传输到第二链路上;数据包在 d2/s2 中的第二链路上传播。 同样,我们可以找到由第二个开关和第三个链接: L/R3、 dproc 和 d3/s3 引起的延迟。 加上这五个延迟就可以了 image.png

P31.在包括因特网的现代分组交换网中,源主机将长应用层报文(如一个图像或音乐文件)分段为较小的分组并向网络发送。接收方则将这些分组重新装配为初始报文。我们称这个过程为根文分段。
图1-27显示了一个报文在报文不分段或报文分段情况下的端到端传输。考虑一个长度为8×10^6比特的报文,它在图1-27中从源发送到目的地。假定在该图中的每段链路是2Mbps。忽略传播、排队和处理时延。
a.考虑从源到目的地发送该报文且没有报文分段。从源主机到第一台分组交换机移动报文需要多长时间?记住,每台交换机均使用存储转发分组交换,从源主机移动该报文到目的主机需要多长时间?
b.现在假定该报文被分段为800个分组,每个分组10000比特长。从源主机移动第一个分组到第一台交换机需要多长时间?从第一台交换机发送第一个分组到第二台交换机,从源主机发送第二个分组到第一台交换机各需要多长时间?什么时候第二个分组能被第一台交换机全部收到?
c.当进行报文分段时,从源主机向目的主机移动该文件需要多长时间?将该结果与(a)的答案进行比较并解释之。
d.除了减小时延外,使用报文分段还有什么原因?
e.讨论报文分段的缺点。 image.png

image.png