在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。争论的焦点实质就是:在计算机通信中可靠交付应当由谁来负责?是网络还是端系统?
第一种观点:让网络负责可靠交付。
- 这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络使用面向连接的通信方式。
- 通信之前先建立虚电路,以保证双方通信所需的一切网络资源。
- 如果在使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点,不丢失,不重复。
虚电路是逻辑连接
虚电路表示,这只是一条逻辑上的连接,分组都沿着这条逻辑连接,按照存储转发方式传送,而并不是真正建立了一条物理连接。
请注意,电路交换的电话通信是先建立了一条真正的连接
因此,分组交换了虚连接和电路交换的连接只是类似,但并不完全一样
另一种观点:网络提供数据报服务。
- 互联网的先驱者提出了一种崭新的网络设计思路。
- 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
- 网络在发送分组时不需要先建立连接。每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行偏号)。
- 网络层不提供服务质量的承诺,即所传送的分组可能出错、丢失、重复和失序(不按顺序到达终点),当然也不保证分组传送的时限。
尽最大努力交付
由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉(与电信网的交换机相比较)。
如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠交付(包括差错处理,流量控制等)。
采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
互联网能够发展到今天的规模,充分证明了当初采用了这种设计思路的正确性。
虚电路服务和数据报服务的对比