免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 894 | 回复: 0
打印 上一主题 下一主题

[修订]TCP服务综述 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:43 |只看该作者 |倒序浏览

  TCP服务模型包括面向连接的服务和可靠的数据传输服务。调用TCP作为其传输协议的应用同时取得这两种服务。
  
  面向连接的服务指的是客户端和服务器端的TCP在开始传输应用层消息之前,先交换传输层控制信息。这个所谓的握手过程警示客户和服务器,以便它们为来自对方的分组冲击做好预备。握手阶段结束之后,我们说这两个进程的套接字之间存在一个TCP连接(TCP connection)。这是一个全双工的连接,也就是说客户和服务器这两个进程可以同时通过该连接向对方发送消息。完成消息的发送后,应用进程必须告知TCP拆除这个连接。称这种服务为“面向连接”服务而不是“连接”服务(或者说“虚电路”服务)的理由在于,它两端的进程是以非常松散的方式连接的。
  
  可靠的传输服务指的是彼此通信的进程可以依靠TCP无错地顺序递送所有数据。当其中任何一个应用进程把一个字节流传入套接字时,它可以指望TCP把同样的字节流递送到对方的套接字,中间不会有字节的丢失或重复,因此TCP协议是一个字节流的协议。
  
  TCP还包含一个拥塞控制机制,它是因特网的一种公益服务,其目的不在于让彼此通信的进程直接受益。TCP拥塞控制机制在网络变得拥塞时抑制发送进程(可以是客户,也可以是服务器)。确切地说,TCP拥塞控制试图把每个TCP连接限定在它所公平共享的网络带宽内。对于有最小带宽需求限制的实时音频和视频应用来说,抑制传输率会有很坏的后果。此外,实时应用可容忍数据丢失,不需要完全可靠的传输服务。由于这些原因,实时应用程序的开发人员通常设计成在UDP而不是TCP上运行他们的应用。
  
  概述完TCP提供的服务后,我们说一下TCP没有提供的服务。首先,TCP不保证最小传输率。具体地说,TCP不答应发送进程以想要的任意速率发送;相反,发送速率受到TCP拥塞控制的调节,发送进程有可能被迫以一个较低的平均速率发送。其次,TCP不提供任何延迟保证。具体地说,发送进程把数据传入自己的TCP套接字之后,这个数据将最终到达其接收套接字,然而就该数据花多长时间到达那儿来说,TCP绝对不作保证。花几十秒甚至几分钟等待TCP从web服务器往Web浏览器递送一个消息(例如,其中含有一个HTML文件)也非罕见。总之,TCP保证递送全部数据,但对递送速率和所经历的延迟不加保证。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP