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的报文段实际在网络中传输时不可靠且无需的。

我现在是这样理解的,你觉得有道理没?

一个TCP的问题,所谓TCP面向连接的虚电路到底是怎么实现的?的更多相关文章

  1. [转]一个基于完成端口的TCP Server Framework,浅析IOCP

    [转]一个基于完成端口的TCP Server Framework,浅析IOCP http://www.cppblog.com/adapterofcoms/archive/2010/06/26/1187 ...

  2. [转]使用wireshark分析TCP/IP协议中TCP包头的格式

    本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数 ...

  3. TCP/IP详细解释--TCP/IP可靠的原则 推拉窗 拥塞窗口

    TCP和UDP在同一水平---传输层.但TCP和UDP最不一样的地方.TCP它提供了一个可靠的数据传输服务,TCP是面向连接的,那.使用TCP两台主机通过第一通信"拨打电话"这个过 ...

  4. TCP/IP笔记(二)TCP/IP简介

    上回,主要介绍了下协议和OSI参考模型,并简单了解下网络构成要素,这回该说说TCP/IP了 互联网与TCP/IP的关系   互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发 ...

  5. TCP/IP笔记(七)TCP详解

    TCP的特点及其目的 为了通过数据包实现可靠性传输,需要考虑很多事情,例如数据的破坏.丢包.重复记忆分片顺序混乱等问题.如不能解决这些问题,也就无从谈起可靠传输. TCP通过检验和.序列号.确认应答. ...

  6. 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  7. 【Java TCP/IP Socket】TCP Socket(含代码)

    TCP的Java支持 协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构.交换方式.包含的意义以及怎样对报文所包含的信息进行解析,TCP/IP协议族有IP协议.TCP协议和UDP协议.现 ...

  8. TCP/IP具体解释--TCP/IP可靠的原理 滑动窗体 拥塞窗体

    TCP和UDP处在同一层---运输层,可是TCP和UDP最不同的地方是,TCP提供了一种可靠的数据传输服务,TCP是面向连接的,也就是说,利用TCP通信的两台主机首先要经历一个"拨打电话&q ...

  9. 结合Wireshark捕获分组深入理解TCP/IP协议栈之TCP协议(TCP报文格式+三次握手实例)

    摘要:     本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述     TCP是面向连接的可靠 ...

随机推荐

  1. WIN2008R2 asp.net core的配置

    配置IIS Windows Server上通过“添加角色和功能”,桌面Windows上通过“启用和关闭Windows功能”来安装和配置IIS.确保勾选Web服务和“IIS 管理控制台”: Window ...

  2. python练习六十二:文件处理,往文件中所有添加指定的前缀

    往文件中所有添加指定的前缀 方法一:open方法 f_r = open('text.txt') f_w = open('text_new.txt','w+') i = 0 while True: i ...

  3. 配置MapReduce程序运行环境

    已安装eclipse,hadoop 查看教程dblab.xmu.edu.cn/blog/hadoop-build-project-using-eclipse/

  4. java——线段树 SegmentTree

    应用: 区间染色 区间查询 线段树不是完全二叉树,线段树是平衡二叉树 使用数组来实现线段树:存储空间为4n 以下是使用数组实现的静态线段树: public class SegmentTree<E ...

  5. java后台获取服务器相对路径,获取当前时间yyyyMMddHHmmssSSS

    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS"); Date date = new Date( ...

  6. list 增 删 改 查 及 公共方法

    # 热身题目:增加名字,并且按q(不论大小写)退出程序 li = ['taibai','alex','wusir','egon','女神'] while 1: username = input('&g ...

  7. C# list.toArray list与数组的转换

    void Start () { List<int> list = new List<int>(); list.Add(); list.Add(); list.Add(); li ...

  8. 牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

    不多说,直接上干货! 获取文件名称.获取文件路径.获取文件大小.获取文件修改时间 FileMethodDemo.java package zhouls.bigdata.DataFeatureSelec ...

  9. 《JavaScript高级程序设计》第5章 Object类型---Array---学习心得

    1.创建数组的方法: 使用Array构造函数: var colors=new Array() var colors=new Array(20)//l创建一个包含20项的数组 var colors=ne ...

  10. jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)

    最近项目中门户首页需要做出图片间歇式无缝滚动特效,但是在网上找资料都是不太理想,不过可以指导.最后自己写了一个demo实现了这个特效,分享出来. 1.jquery.cxscroll.js /*! * ...