一个TCP的问题,所谓TCP面向连接的虚电路到底是怎么实现的?
http://www.cskaoyan.com/thread-23715-1-1.html
今天我又查阅了一些资料,发觉一个问题,TCP所谓的面向连接的特性以及建立虚电路,与网络层虚电路服务好像有着本质的区别,网络层的带有虚电路的服务的协议典型的有曾经应用在广域网的X.25和帧中继,这两个协议在建立连接时要建立所谓的虚电路号,在传输的数据单元中有已经填好的虚电路号,数据单元沿着既定的虚电路沿着既定的方向(一定的路由器序列)到接收端,这样能够保证数据单元到达接收端是有序地,而且也能很好的保障可靠传输 而TCP的面向连接服务在建立连接时只是进行了三次握手,具体主机到主机的传输以来网络层,也就是IP层提供的路由服务,而IP层在发送以及转发分组是无序的,举个简单的例子,如果IP协议和X.25协议(假设这两个协议应用在同一个案例中)在建立连接时指定了一段A到B得链路,如果A到B得链路在某个时刻出现拥塞,IP协议可能会让分组到达A以后选择另外一条路由,而X.25就只能利用一些流量控制等措施来控制发送端的发送速度,但是不会选择A到B以外的路径,所以TCP所谓的虚电路和网络层的虚电路服务这样理解的话完全不是一个概念。 网络层的虚电路服务时真正指明了一条链路序列,数据只能在这个指明的链路中有序地发送到接收端,而TCP的虚电路只是依靠他的拥塞控制,流量控制和差错控制来令收到的报文段看起来是有序地(在滑动窗口机制里可能出现后面的字节流先到或者字节丢失的情况,所以可以看出来TCP不能保证真正的传输的可靠性,只是依靠差错控制来保证能可靠地收到正确的数据流),而TCP的报文段实际在网络中传输时不可靠且无需的。 我现在是这样理解的,你觉得有道理没? |
我思故我在