本文共 1972 字,大约阅读时间需要 6 分钟。
《计算机网络:自顶向下方法》
换换脑子,今天看一个网络问题,本篇文章为依旧为读书笔记。
通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)和分组交换(packet switching)
例如传统的电话网络。是一个名副其实的连接,当网络创建这种电路时,在连接期间在该网络链路上预留了恒定的传输速率。这又有了 频分复用(Frequency-Division Multiplexing, FDM) 和 时分复用(Time-Division Multiplexing, TDM) 的概念了。
例如调频无线电台使用FDM来共享88~108MHz的频谱。
对于FDM,每条电路连续地得到部分带宽。对于TDM,其时域被分隔为帧,每条电路在短时间间隔(时隙)中周期性得到所有带宽
在各种网络应用中,端系统彼此交换报文(message)。报文能够包含协议设计者需要的任何东西。为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称为分组(packet)。在源和目的之间,每个分组都通过通信链路和分组交换机(packet switch)(交换机主要有两类:路由器和链路层交换机)传送。分组以等于该链路最大传输速率的速度传输通过通信链路。
例: 某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。
多数分组交换机在链路的输入端使用存储转发传输机制。存储转发机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接受到整个分组。——> 意思是必须先缓存该分组的比特,仅当接受完该分组的所有比特之后,才能开始向出链路传输该分组。
每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer),也称为输出队列(output queue),用于存储路由器准备发往那条链路的分组。
如果到达的分组需要传输到某条链路,但发现该链路正忙着传输其他分组,该到达分组必须在该输出缓存中等待。因此除了存储转发时延之外,分组还要承受输出缓存的排队时延(queue delay)。这些时延是变化的,变化的程度取决于网络中的拥塞程度。 因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组占满了,这将出现分组丢失(丢包)(packet lost),到达的分组或已经排队的分组之一将被丢弃。
因特网中,每个端系统有一个IP地址。当源主机向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址。每台路由器有一个转发表(forwarding table),用于将目的地址映射成输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器将分组导向该出链路。因特网具有一些特殊的路由选择协议(routing protocol),用于自动设置这些转发表。例如,一个路由选择协议可以决定从每台路由器到每个目的地的最短路径,并使用这些最短路径结果来配置路由器中的转发表。
时延中最重要的是结点处理时延(nodel processing delay)、排队时延(queuing delay)、传输时延(transmission delay) 和 传播时延(propagation delay),这些时延累加起来就是结点总时延(total nodel delay)。
结点时延最为复杂和有趣的成分是排队时延。比率La/R称为流量强度(traffic inensity),其中L比特,a表示分组到达队列的平均速率,R为传输速率。
如 La/R > 1,则比特到达队列的平均速率大于从该队列传输出去的速率,队列趋向于无界增加,排队时延趋向于无穷大,因此,设计系统时流量强度不能大于1。
现实中,一条链路前的队列只有有限的容量,随着流量强度接近1,排队时延并实际趋向无穷大,相反,到达的分组将发现一个满的队列,出现丢包。分组丢失的份额随着流量强度的增加而增加。因此,一个结点的性能常常不仅根据时延来度量,也根据分组丢失的概率来度量。
当没有其他干扰流量时,吞吐量能够近似为沿着源和目的地之间路径的最小传输速率。特别地,如果有许多其他的数据流也通过这条链路流动,一条具有高传输速率的链路仍然可能成为文件传输的瓶颈链路。
转载地址:http://knoji.baihongyu.com/