广域网的基本概念
广域网的构成
当主机之间的距离较远时,例如,相隔几十或几百公里,甚至几千公里,局域网显然就无法完成主机之间的通信任务。这时就需要另一种结构的网络,即广域网。
即使是覆盖范围很广的互联网,也不是广域网,因为在这种网络中,不同网络的"互连"才是其最主要的特征。
广域网是单个的网络,它使用结点交换机连接各主机而不是用路由器连接各网络。
结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组。
连接在一个广域网(或一个局域网)上的主机在该网内进行通信时,只需要使用其网络的物理地址即可。
数据报和虚电路
网络层为接在网络上的主机所提供的服务可以有两大类:
无连接的网络服务(数据报服务)
面向连接的网络服务(虚电路服务)。
同时在网络服务还有以下特点:
网络随时接受主机发送的分组(即数据报) 网络为每个分组独立地选择路由。
网络尽最大努力地将分组交付给目的主机, 但网络对源主机没有任何承诺。
网络不保证所传送的分组不丢失 也不保证按源主机发送分组的先后顺序 以及在时限内必须将分组交付给目的主机。
当网络发生拥塞时 网络中的结点可根据情况将一些分组丢弃。
数据报提供的服务是不可靠的, 它不能保证服务质量。 实际上"尽最大努力交付"的服务 就是没有质量保证的服务。
虚拟电路的建立过程:
主机 H1 先向主机 H5 发出一个特定格式的控制信息分组, 要求进行通信,同时寻找一条合适路由。若主机 H5 同意 通信就发回响应,然后双方就建立了虚电路。
同理,主机 H2 和主机 H6 通信之前,也要建立虚电路。
在虚电路建立后,网络向用户提供的服务就好像在 两个主机之间建立了一对穿过网络的数字管道。 所有发送的分组都按顺序进入管道,然后按照 先进先出的原则沿着此管道传送到目的站主机。
到达目的站的分组顺序就与发送时的顺序一致, 因此网络提供虚电路服务对通信的 服务质量 QoS (Quality of Service)有较好的保证。
数据报服务和虚电路服务的优缺点
- 网络上传送的报文长度,在很多情况下都很短。
- 用数据报既迅速又经济。
- 若用虚电路,为了传送一个分组而建立虚电路和释放虚电路就显得太浪费网络资源了。
- 在使用数据报时,每个分组必须携带完整的地址信息。
- 在使用虚电路的情况下,每个分组不需要携带完整的目的地址,而仅需要有个很简单的虚电路号码的标志。
- 这就使分组的控制信息部分的比特数减少,因而减少了额外开销。
- 在使用数据报时,主机承担端到端的差错控制和流量控制。
- 在使用虚电路时,分组按顺序交付,网络可以负责差错控制和流量控制。
- 数据报服务对军事通信有其特殊的意义。当某个结点发生故障时,后续的分组就可另选路由,因而提高了可靠性。
- 但在使用虚电路时,结点发生故障就必须重新建立另一条虚电路。
- 数据报服务还很适合于将一个分组发送到多个地址(即广播或多播)。
广域网中的分组转发机制
"转发" (forwarding)和"路由选择" (routing)这两个名词的使用在过去有些混乱。现在的文献倾向于将它们区分开来。
转发是当交换结点收到分组后,根据其目的地址查找转发表(forwarding table),并找出应从结点的哪一个接口将该分组发送出去。
路由选择是构造路由表(routing table)的过程。
路由表是根据一定的路由选择算法得到的,而转发表又是根据路由表构造出的。
路由选择协议负责搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表。 从路由表再构造出转发分组的转发表。
分组是通过转发表进行转发的。 为了使讨论更简单些,可以不严格区分"转发"和"路由选择",也不一定使用"转发表"这一名词。 在转发分组时可以不是说"查找转发表"而是说"查找路由表"。
拥塞控制
拥塞控制的意义
在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏------产生拥塞(congestion)。
出现资源拥塞的条件:
对资源需求的总和 > 可用资源 (5-1)
若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降。
拥塞控制与流量控制的关系
拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。 流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制。 流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。
直接死锁
直接死锁即由互相占用了对方需要的资源而造成的死锁。 例如两个结点都有大量的分组要发往对方,但两个结点中的缓存在发送之前就已经全部被待发分组占满了。 当每个分组到达对方时,由于没有地方存放,只好被丢弃。发送分组的一方因收不到对方发来的确认信息,只能将发送过的分组依然保存在自己结点的缓存中。 这两个结点就这样一直互相僵持着,谁也无法成功地发送出一个分组。
拥塞控制的一般原理
拥塞控制是很难设计的,因为它是一个动态的(而不是静态的)问题。
当前网络正朝着高速化的方向发展,这很容易出现缓存不够大而造成分组的丢失。但分组的丢失是网络发生拥塞的征兆而不是原因。
在许多情况下,甚至正是拥塞控制本身成为引起网络性能恶化甚至发生死锁的原因。这点应特别引起重视。
开环控制和闭环控制
开环控制方法就是在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。
闭环控制是基于反馈环路的概念。属于闭环控制的有以下几种措施: 监测网络系统以便检测到拥塞在何时、何处发生。 将拥塞发生的信息传送到可采取行动的地方。 调整网络系统的运行以解决出现的问题。