计算机通信的一个争论焦点 —— 可靠交付应当由谁来负责到底是由网络还是端系统?
实际上是端系统实现的可靠传输而不是网络,网络在比较堵的情况下有可能把数据包丢了,路由器不管,对方接受到的数据丢包了则让发送方重发。
?
一、网络层应该向运输层提供什么服务?
1、虚电路服务
2、数据报服务
?
二、虚电路服务
这只是原节点和目标节点建立的一条逻辑连接。可以不写地址,如从H1到H2的逻辑连接是固定了。
如果虚电路的网断开了则H1和H2将无法通信,但是两个通信设备可以建立多个虚电路连接
① 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而不是真正建立一条物理连接
② 需要注意的是电路交换的电话通信是先建立了一条真正的连接,因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。
③ 对于虚电路服务,如果目标主机处理不过来可以通知发送主机发停止发送,处理完成后通知其继续发
三、数据报服务
数据报写上ip地址,由路由器选择下一次怎么走。更灵活。
路由器不管数据发送过程是否出错,反正处理不过来就丢,比如路由器的口只能接受20个数据包,来了100个排队站不下则丢失了。
传送过程走哪条路径也是路由器根据路由表临时决定的。如果某条网线断了可以自动选择另一条路径。
对于数据报服务
① 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
② 网络在发送分组的时候不需要先建立连接,每个分组(IP数据报)独立发送,与其前后的分组无关(不进行编号)
③ 网络层不提供服务质量的承诺,即传送的分组可能出现出错、丢失、重复和失序(不按顺序到达终点)
尽最大努力交付
① 由于传输网路不提供端到端的可靠传输服务,这就使网络中路由器可以做的比较简单,而且价格低廉(与电信网的交换机相比)
② 如果主机(端系统)中的进程之间的通信需要可靠传输那么就由网络主机中的运输层负责可靠交付(包括差错控制,流量控制等)
?现在的计算机使用的就是数据报服务而不是虚电路服务 ?
原文来自
网络的两种服务--虚电路和数据报服务_无情的搬砖机器的博客-CSDN博客_数据报服务和虚电路服务
|