"本文对比了虚电路服务与数据报服务在网络层中的差异,并探讨了网络层的主要任务和服务质量。"
在计算机网络层中,存在两种主要的服务模型:虚电路服务和数据报服务,它们各自有不同的特点和适用场景。
虚电路服务强调的是连接的可靠性,认为网络本身应该确保通信的可靠性。在使用虚电路服务时,通信双方在数据传输前必须先建立连接,这涉及到一个建立虚电路的过程,其中每个分组会使用简短的虚电路号,而不是完整的终点地址。一旦连接建立,属于同一虚电路的所有分组都将沿着预先设定的同一路由进行转发。这意味着当网络中某个结点出现故障时,所有经过该结点的虚电路都将受到影响,可能导致通信中断。此外,虚电路服务通常保证分组按照发送顺序到达终点,因此适用于对时序敏感的应用。然而,实现虚电路的拥塞控制相对容易,因为可以针对每条虚电路进行资源管理。
相比之下,数据报服务则主张将可靠通信的责任留给用户主机,网络层仅负责数据的传输而不保证连接。在这种服务中,每个分组都携带完整的终点地址,网络在转发分组时会独立选择路由,这允许分组选择最短或最佳路径,提高了网络效率。但这种灵活性也意味着分组可能会沿着不同的路径到达,从而可能导致到达顺序混乱,甚至丢失或重复。对于数据报服务,拥塞控制较为困难,因为每个分组的处理是独立的,而网络资源的分配和管理更为复杂。
网络层的主要任务包括路由选择、网络互连和为上层提供服务。在设计网络层时,需要考虑存储转发的数据包交换机制,路由器和交换机的角色,以及如何实现面向连接和无连接的服务。网络层向上层提供的服务应该独立于具体的通信子网技术,隐藏底层的网络结构,并使用统一的编号方式以便跨多个局域网和广域网通信。
无连接服务,如互联网使用的IP协议,不需要预先建立连接,每个IP数据报独立发送,没有顺序保证,适合于对实时性要求不高且可以容忍一定程度丢包的应用。而面向连接的服务,如X.25和ATM,通过建立虚电路提供更可靠的通信,适合于对时序和错误容忍度有较高要求的场景。
总结来说,虚电路服务和数据报服务在可靠性和效率之间做出了不同的权衡。前者保证了连接的稳定性和顺序,后者则提供了更高的网络利用效率和灵活性。选择哪种服务取决于具体的应用需求和网络环境。