新手入门:了解网络应用与网络协议5

新手入门:了解网络应用与网络协议5

Posted on 2007-04-26 10:55 szw104 阅读(8) 评论(0)   编辑  收藏 引用 网摘 所属分类: Web原理
由因特网传输协议提供的服务

  TCP服务

  TCP服务模型包括面向连接的服务和可靠的数据传输服务。调用TCP作为其传输协议的应用同时取得这两种服务。

  面向连接的服务指的是客户端和服务器端的TCP在开始传输应用层消息之前,先交换传输层控制信息。这个所谓的握手过程警示客户和服务器,以便它们为来自对方的分组冲击做好准备。握手阶段结束之后,我们说这两个进程的套接字之间存在一个TCP连接(TCP connection)。这是一个全双工的连接,也就是说客户和服务器这两个进程可以同时通过该连接向对方发送消息。完成消息的发送后,应用进程必须告知TCP拆除这个连接。称这种服务为“面向连接”服务而不是“连接”服务(或者说“虚电路”服务)的理由在于,它两端的进程是以非常松散的方式连接的。

  可靠的传输服务指的是彼此通信的进程可以依赖TCP无错地顺序递送所有数据。当其中任何一个应用进程把一个字节流传入套接字时,它可以指望TCP把同样的字节流递送到对方的套接字,中间不会有字节的丢失或重复。

  TCP还包含一个拥塞控制机制,它是因特网的一种公益服务,其目的不在于让彼此通信的进程直接受益。TCP拥塞控制机制在网络变得拥塞时抑制发送进程(可以是客户,也可以是服务器)。确切地说,TCP拥塞控制试图把每个TCP连接限定在它所公平共享的网络带宽内。对于有最小带宽需求限制的实时音频和视频应用来说,抑制传输率会有很坏的后果。此外,实时应用可容忍数据丢失,不需要完全可靠的传输服务。由于这些原因,实时应用程序的开发人员通常设计成在UDP而不是TCP上运行他们的应用。

  概述完TCP提供的服务后,我们说一下TCP没有提供的服务。首先,TCP不保证最小传输率。具体地说,TCP不允许发送进程以想要的任意速率发送;相反,发送速率受到TCP拥塞控制的调节,发送进程有可能被迫以一个较低的平均速率发送。其次,TCP不提供任何延迟保证。具体地说,发送进程把数据传入自己的TCP套接字之后,这个数据将最终到达其接收套接字,然而就该数据花多长时间到达那儿来说,TCP绝对不作保证。花几十秒甚至几分钟等待TCP从web服务器往Web浏览器递送一个消息(例如,其中含有一个HTML文件)也非罕见。总之,TCP保证递送全部数据,但对递送速率和所经历的延迟不加保证。

  UDP服务

  UDP是一个不提供非必要服务的轻量级传输协议,具有一个最简约的服务模型。UDP是无连接的,因此两个进程彼此通信之前没有握手过程。UDP提供不可靠的数据传输服务,也就是说当一个进程往自己的UDP套接字发出一个消息时,UDP不能保证这个消息会最终到达接收套接字。另外,就确实到达接收套接字的消息而言,它们的到达顺序也可能与发送顺序不一致。

  UDP不包含拥塞控制机制,因此发送进程能够以任意速率往UDP套接字倾注数据。尽管不能保证所有的数据都到达接收套接字,但是仍会有相当比例的数据到达。实时应用程序的开发人员往往选择在UDP上运行他们的应用。与TCP类似,UTP也不提供任何延迟保证。

  下表指出了一些流行的因特网应用所用的传输协议。我们看到,电子邮件、远程终端访问、web和文件传送都使用TCP。这些应用选择TCP的主要原因在于TCP提供可靠的数据传输服务,能够保证所有数据最终到达其目的地。我们还看到,因特网电话一般运行在UDP之上。一个因特网电话应用的两端都得以某个最小速率跨网络发送数据:与TCP相比,UDP更可能满足这个要求。另外,因特网电话应用可容忍数据丢失,因此并不需要由TCP提供的可靠数据传输服务。


表2:流行的应用及采用的协议

  我们已经指出,TCP和UDP都不提供定时保证,这是不是意味着时间敏感的应用不能运行在当今的因特网上呢?其答案显然是否定的——时间敏感的应用已在因特网上存在好多年了。这些应用往往工作得相当出色,因为它们已被设计成能够尽最大程度地对付这种缺乏保证的服务。尽管如此,当延迟过大时(这在公共因特网中是常事),最聪明的设计也有其局限。总之,当今的因特网通常能够为时间敏感的应用提供满意的服务,但不能提供任何定时或带宽上的保证。

  本文准备介绍的网络应用

  因特网上,公众域和专属的应用层出不穷。我们不想百科全书式地罗列一大堆因特网应用,于是选了少数几个既重要且流行的应用集中讨论。我们将具体地讨论4个流行的应用:Web、文件传送、电子邮件、目录服务。我们首先讨论web,其原因不仅在于web是一个极其流行的应用,还在于它的应用层协议(即HTTP)相对简单,可用于阐明网络协议的许多关键因素。接下来讨论文件传送,因为其协议与HTTP恰好形成对照,使得我们可以强调一些额外因素。我们还讨论电子邮件,它是因特网中第一个高度流行的应用。应该看到,现代的电子邮件使用不止一个应用层协议。Web、文件传送和电于邮件有共同的服务需求:需要可靠的传输服务,没有特别的定时需求,能接受弹性带宽服务。TCP提供的服务完全满足这3个应用。域名系统(Domain Name System,DN5)是我们讨论的第4个应用,它为因特网提供目录服务。多数用户不会直接与DNS打交道;相反,他们通过其他应用(包括即将讨论的那3个应用)间接求助于DNS。DNS精妙地展示了可以怎样在因特网中实现分布式数据库。这4个即将讨论的应用对时间都不大敏感。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值