网络层提供的两种服务
- 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。
- 争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
- 即A、B两端点通过多个路由器连接,数据在每两个路由器之间都要确认可靠交付(传输),还是仅在A、B两端口确认数据是否可靠交付。
- 显然如果每两个路由器之间都要确认一次数据传输的可靠性就会十分浪费性能,所以,如今数据的可靠交付由端系统负责。
两种服务:网络层应该向运输层提供怎样的服务?
- 虚电路服务
- 数据包服务
虚电路服务
- 数据包传输前先建立和确认一条虚电路,确认之后数据包不用加地址,直接通过虚电路由一端传送到另一端,这叫做虚电路服务。
特点
- 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
- 请注意,电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。
如果该虚电路断了,H1与H2不能通过其他电路传送数据,即只能通过配置好的虚电路传送数据。
数据报服务
-
数据包写上目标地址与原地址,通过路由器识别地址转发到相应目的地,这叫数据报服务。
-
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
-
网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。
-
网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
特点
-
数据包的传输路径会根据数据包中的原地址和目的地址动态确定传输路线,有多种可能。即使最佳路径断了,也可以通过其他路径传输,只是速度没那么快,非常可靠。
-
由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。
-
如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制(即A发快了,B让停停)等)。
-
采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
-
因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
虚电路服务与数据报服务的对比
明确现在互联网用的就是数据报服务