在上述讨论中,我们已经假设队列能够容纳无穷多的分组在现实中.•条链路前的 队列只冇有限的容量.尽管排队容属极大地依赖于路由器设计和成本因为该排队容量是 有限的.随着流址强度接近1,排队时延并不实际趋向无穷大相反.到达的分组将发现 一个满的队列 由于没有地方存储这个分组,路由器将丢弃(dmp)该分组.即该分组将 会丢失(losl),当流城强度大于I时,队列中的这种溢出也能够在用于队列的Java小程序 中看到 从端系统的角度看,上述丢包现象看起来是一个分组已经传输到冋络核心,但它绝不 会从网络发送到目的地,分组丢失的份额随看流量强度增加而增加因此.-个结点的性 能常常不仅根据时延来度fit而且根据分组丢失的概率来度虽正如我们将在后面各章中 讨论的那样,丢失的分组可能基于端到端的原则重传.以确保所有的数据最终从源传送到 了目的地,
Traceroute 为了对计算机网络中的时延有一个第一手认识,我们可以利用Tracemute程序.,是一个简单的程序.它能够在任何因特网主机上运行-当用户指定一个目的主机名 字时.源主机中的该程序朝着该目的地发送多个特殊的分组:当这些分组向着目的地传送 时,它们通过一系列路由器 当路由器接收到这些特殊分组之一时,它向源冋送一个短报 文.该报文包括该路由器名字和地址, 更具体的是.假定在源和目的地之间有N-1台路由器.则源将向网络发送N个特殊 的分组,其中每个分组地址指向最终目的地 这N个特殊分组标识为从1到N,第一个分 组标识为1,最后的分组标识为M当第n台路由器接收到标识为。的第"个分组时.该 路由器不是向它的目的地转发该分组,而是向源回送一个报文 当目的主机接收第A个分 组时,它也会向源返回一个报文。该源记录了从它发送一个分组到它接收到对应返冋报文 所经受的时间;它也记录了返回该报文的路由器(或目的地主机)的名字和地址 以这种 方式,源能够重建分组从源到目的地所采用的路由,并且该源能够决定到所有中间路由器 的往返时延Traceroute实际上对刚才描述的实验重复了 3次,因此该源实际上向目的地 发送了 3xN个分组 RFC 1393详细地描述r Trar-eroute 这里有一个Traceroute程序输出的例子.底中追踪的路由从源主机gaia. rs. umass. edu (位于马萨诸塞大学)到cis.poly.edu (位于布鲁克林的理工大学)输出有6列:第一列 是前面描述的n值,即沿着路径上的路由器编号;第二列是路由器的名字;第三列是路由 器地址(格式为MX. xxx. xxx. xxx);最后3列是3次实验的往返时延“如果源从任何给定 的路由器接收到少于3条报文(由于网络中的丢包),Tracen>ute在该路由器号码后而放- 个星号,并向那台路由器报告少于3次往返时间 1cs-gw (128.119.240.254) 1.009 ms 0.899 ms 0.993 ms 2128.119.3.154 (128.119.3.154) 0.931 ms 0.441 ms 0.651 ms 3border4-rt-gi-l-3.gw.umass.edu (128U19.2.194) 1.032 ms 0.484 ma 0.451 ma 4acrl-ge-2>l>0.Boston.cw.net (208.172.51.129) 10.006 ms 8.150 ms 8.460 ma 5agr4>Icx^pback.NewYork.cw.net (206.24.194.104) 12.272 ms 14.344 ms 13.267 ms 6acr2-loopback.NewYork.cw.net (206.24.194.62) 13.225 ms 12.292 ms 12.148 ms 7posI0>2.core2.NewYorkl.Leva13.net (209,244.160.133) 12.218 ms 11.823 ms 11.793 ms 8gige9-1-52.hsipaccessl.NewYorkl.Level3.net (64.159.17.39) 13.081 ms 11.556 ms 13.297 ms 9pO-O.polyu.bbnplanet.net (4.25.109.122) 12.716 ms 13.052 nus 12.786 ms 10cis.poly.edu (128.238.32.126) 14.080 ms 13.035 ms 12.802 ms 在上述跟踪中,在源和冃的之间有9台路由器这些路由器中的多数有一个名字,所 有都有地址,例如,路由器3的名字是kx>nlei4- rt- gj- I - 3. gw. umass. edu.它的地址是 128. 119. 2. 194看看为这台路由器提供的数据.可以看到在源和路由器之间的往返时延: 3次试验中的第一次是l.03nw.后继两次试验的往返时延是0. 48nw和0.45ms这些往返 时延包括刚才讨论的所有时延,即包括传输时延、传播时延、路由器处理时延和排队时 延,因为该排队时延随时间变化.分组”发送到路由器”的往返时延实际上能够比分组 川+ 1发送到路由器,z + l的往返时延更长 的确,我们在上述例子中观察到r这种现象: 到路由器6的时延比到路由器7的更大! 你想自己试试Traeeroute程序吗?我们极力推荐你访问http:/7www. Iraceroute. org,它 的Web界面提供了有关路由跟踪的广泛的源列表你选择一个源,并为任何目的地提供 主机名.该Traceroute程序则会完成所有工作有许多为Tra.-eroute提供图形化界面的免费 软件程序,其中我们喜爱的一个程序是PingP!otter[ PingPlotter 2012]除了处理时延,传输时延,传播时延,端系统当中还有一些其他的重要的时延,例如(向共享媒体(例如在WIFI或者电缆调制解调器的情况下)传输分组的端系统可能有意的传输延迟他的传输,把这作为他和其他的端系统共享媒体协议的一部分,另一个重要的媒体是媒体分组化时延,这种时延出现在IP语音(VoIP)当中,在VoIP当中,发送方在向因特网传递分组之前必须首先编码数字化语音填充一个分组,这种填充一个分组的时间称为分组化时延,他的可能比较大,并且能够影响用户感受到的VOIP的呼叫的质量,
除了时延和丢包,计算机网络中另一个必不可少的性能测度是端到端吞吐量一为了定 义吞吐最.考虑从主机A到主机B跨越计算机网络传送一个大文件 例如.也许是从一个 P2P文件共享系统中的一个对等方向另一个对等方传送一个大视频片段:在任何时间瞬间 的瞬时吞吐量(instantaneous thmughpul)是主机B接收到该文件的速率(以hpu计)(许多应用程序包括许多文件共享系统,在下载期间其用户界面显示了其瞬时吞吐量.也许你 以前已经观察过它!)如果该文件由F比特组成,主机B接收到所有尸比特用去丁秒.则 文件传送的平均吞吐量(average throughput)是F/T bps对于某些应用程序如因特网电话, 希望具有低时延和在某个阑值之上的一致的瞬时吞吐量例如,对某些因特网电话是超过 24kbps,对某些实时视频应用程序是超过256kbps对于其他应用程序,包括涉及文件传送 的那些应用程序,时延不是至关重要的,但是希望具有尽可能高的吞吐量 为了进一步深入理解吞吐段这个重要概念,我们考虑几个例子,图I-I9a显示了服务 器和客户这两个端系统,它们由两条通信链路和台路由器相连 考虑从服务器传送-个 文件到客户的吞吐量,令凡表示服务器与路由器之间的链路速率;R.表示路由器与客户 之间的链路速率。假定在整个网络中只有从这台服务器到那台客户的比特在传送,.在这种 理想的情况下.我们现在问该服务器到客户的吞吐量是多少?
)客户从服务器下栽一个文件 b) 10个客户从10个服务下载文件
图1-19和图1-20中的例子说明吞吐量取决于数据流过的链路的传输速率,我们看到 当没有其他干扰流检肘,其吞吐量能够近似为沿着源和目的地之间路径的最小传输速率. 图1-20B中的例子更一般地说明广吞吐量不仅取决于沿着路径的传输速率.而且取决于干 扰流量。特别是.如果许多其他的数据流也通过这条链路流动.一条具有高传输速率的链 路仍然可能成为文件传输的瓶颈链路我们将在课后习题中和后继章节中更仔细地研究计 算机网络中的吞吐量
网络层的传输单位是数据报"它关心的是通信子网的运行控制,主要任务是把网络层的协议 数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对 分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。 如图L10所示,结点A向结点B传输一个分组时, 既可经过边a、c、g,也可经过边b、h,有很多条可以选 择的路由,而网络层的作用就是根据网络的情况,利用相A( 应的路由算法计算出一条合适的路径,使这个分组可以顺 利到达结点B。 流量控制与数据链路层的流量控制含义一样,都是协 调A的发送速率和B的接收速率。 差错控制是通信两结点之间约定的特定检错规则,如奇偶校验码,接收方根据这个规则检查 接收到的分组是否出现差错,如果出现了差错,那么能纠错就纠错,不能纠错就丢弃,确保向上 层提交的数据都是无误的。 如果图L9中的结点都处于来不及接收分组而要丢弃大量分组的情况,那么网络就处于拥塞 状态,拥塞状态使得网络中的两个结点法正常通信。网络层要釆取一定的措施来缓解这种拥塞, 这就是拥塞控制。 因特网是一个很大的互联网,它由大量异构网络通过路由器(Router)相互连接起来。因特 网的主要网络层协议是无连接的网际协议(Internet ProtocoL IP)和许多路由选择协议,因此因 特网的网络层也称网际层或IP层° 注意9网络层中的“网络"一词并不是我们通常谈及的具体网络,而是在计算机网络体系结 构中使用的专有名词。 网络层的协议有 IP、IPX、ICMP、IGMP、ARP、RARP 和 OSPF 等。
传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两 个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差 错控制、服务质量、数据传输管理等服务。 数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。通俗地说, 点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或IP地址,网络中参与通信使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。 通过传输层的屏蔽,高层用户看不到子网的交替和变化。由于一台主机可同时运行多个进程,因 此传输层具有复用和分用的功能。复用是指多个应用层进程可同时使用下面传输层的服务,分用 是指传输层把收到的信息分别交付给上面应用层中相应的进程。 传输层的协议有TCP、UDPo
会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务, 向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地 传输数据,这就是会话,也称建立同步(SYN)o 会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。会话层可以使用 校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。
表示层 (PresentationLayer) 表示层主要处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不 同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层釆用抽 象的标准方法定义数据结构,并釆用标准的编码形式。数据压缩、加密和解密也是表示层可提供 的数据表示变换功能。
应用层是OSI模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问 OSI环境的手段。因为用户的实际应用多种多样,这就要求应用层釆用不同的应用协议来解决不 同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的协议有用于文件传 送的FTP、用于电子邮件的SMTP、用于万维网的HTTP等。