1
计算机网络技术理论与实践
1.6.1.1 5.1.1 计算机网络工作机制

5.1.1 计算机网络工作机制

网络的基本功能是通过连接网络设备和主机的通信线路将数据包从源端点发送到目的端点,由于网络中连接了大量设备和主机,因此,需要设计一套复杂的机制完成报文转发过程。这套转发机制主要由4部分组成。

(1)编址

为了识别网络设备和网络中的主机,确认数据包发送的目的地和来源,必须给每个网络设备和主机分配一个唯一的设备标识符,这个标识符就是我们通常所说的地址。地址的编址有两种方法:

一种编址方式中地址只用来区分设备,不包含设备的位置信息,如以太网协议中的MAC地址,是在出厂时设定好的,不随位置的变化而变化。这种与设备相关的地址机制通常用在局域网中,它的优点是设备可以随意移动,不需要进行地址的变更,但使用这种地址机制时由于地址和用户位置无关,所以寻找目标时只能使用广播的方式,向网络中的所以设备和主机进行询问,因此,这种地址机制只能用在规模较小的网络中,如果用在设备众多的广域网中,其寻址过程的代价会非常庞大。

另一种编址方式中地址是由网络交换设备中的参数和线路的连接方式决定的,与设备本身无关,如电话号、IP地址等,这种编址机制的地址中包含有设备的位置信息,而且位置信息通常是采用层次的方式进行组织的,因此在寻找目标时可以利用地址中的位置信息按照层次方式进行查找,可以极大地降低寻址的代价。

电话号码就是按照设备所处位置的层次信息进行编址的,例如:00861062281234,这个电话中开头的0086表示位于中国,10表示在北京,6228表示是在北京邮电大学,所以通过这个号码本身的地址信息就可以很容易地在世界范围内快速定位到北京邮电大学,然后在北京邮电大学内部再查找1234这个号码就非常方便了。

因此,按照位置信息编址的方式,可以利用这些位置信息在大规模网络中快速地定位到目标,但是在设备或主机位置变动时,地址也要随之改变。这种编址方式广泛应用于广域网中。

(2)寻址

寻址的目的就是找到目标地址所标识的设备,通常局域网的寻址机制都很简单,通过局域网支持的广播功能可以很容易地完成寻址。广域网则是根据地址中携带的位置信息,通过复杂的路由机制来找到地址所标识的设备。

(3)转发

计算机网络中的数据交换大多采用存储-转发方式。所谓存储-转发是指连接各网络设备和主机的通信线路的物理连接不作改变,通过网络设备在不同的端口上收发数据,把报文从源设备送到目的设备。如图5-1所示,图中的A、B、C、D、E、F都是数据交换设备,PC1和PC2这是主机。

img131

图5-1 存储-转发示意图

网络交换设备通过特殊的机制可以知道到达目的主机的最优路径,这样当PC1要发送一个数据包给PC2时,首先将数据包发送给网络交换设备A,设备A知道到达PC2的最优路径,假如是A、C、E、F,当设备A从端口1收到PC1发送的数据包时,会先将数据包存储到本地,然后查看数据包中的目的地址,如果目的地址是PC2,就知道这个数据包应该按照路径A、C、E、F进行传输,这样就将数据包从与路径上的下一个设备C相连的端口3转发出去,当设备C收到该数据包后,也将其先存储下来,并查看数据包的目的地址,当看到目的地址是PC2,就从它与路径上下一个设备E相连的端口3转发出去,这样依次通过A、C、E、F四台网络交换设备的存储-转发,使得主机PC1发送的数据包最终到达主机PC2。

在存储-转发过程中,为了降低存储-转发的时延,通常将数据包分割成较小的分组,这种把报文分割的网络交换方式被称为分组交换,例如Internet网络;不分割报文的网络交换方式叫做报文交换,例如电报网。

还有一种称为虚电路的交换方式,这种方式预先在网络交换设备中标记好源主机到目的主机的路径,所作的标记就是虚电路号。在后继的报文中只需要携带虚电路号即可,利用虚电路号网络设备就会沿着预先标好的路径来转发报文。这种交换方式的优点是虚电路号占用的比特数较少,可以降低带宽的开销,程序更容易处理,加快了交换的速度。缺点是数据传输前需要建立虚电路,花费了额外的时间,网络设备中需要额外保存虚电路表,并且网络故障时虚电路的连接会中断,导致通信双方无法再继续通信,必须重新建立虚电路连接。

分组交换和虚电路交换优、缺点的争论一直伴随着计算机网络的发展,早期的计算机网络中采用虚电路交换的网络占有较大的优势,而随着Internet网络的兴起,分组交换网络已经压倒了虚电路交换网络。但是分组交换网络中对网络安全和QoS支持较差,虚电路交换网络拥有更好的安全性、QoS支持,并且能够较好地解决网络拥塞问题。因此,当前主干网中的MPLS技术就结合了分组交换和虚电路交换这种面向连接网络各自的优点。

(4)路由表

网络交换设备中的分组转发和虚电路的建立依赖于其中的路由表,因此,在能进行分组交换之前要先构建路由表。路由表可以人工输入,在网络交换设备开始工作前根据网络情况人为地注入路由表,但人工方式工作量大,对网络的变化不能及时反映,只能用在规模较小的网络中。大型网络的路由表一般是由各种路由协议算法自动计算获得。