新闻资讯
看你所看,想你所想

TCP/UDP协定

TCP/UDP协定

TCP/UDP协定

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协定属于传输层协定。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连线、端到端和可靠的数据包传送。通俗说,它是事先为所传送的数据开闢出连线好的通道,然后再进行数据传送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的套用,而UDP对应的则是可靠性要求低、传输经济的套用。TCP支持的套用协定主要有:Telnet、FTP、SMTP等;UDP支持的套用层协定主要有:NFS(网路档案系统)、SNMP(简单网路管理协定)、DNS(主域名称系统)、TFTP(通用档案传输协定)等。

基本介绍

  • 中文名:TCP/UDP协定
  • 外文名:TCP/UDP Protocol
  • TCP:传输控制协定
  • UDP:用户数据包协定
  • 类别:传输层协定
  • 一级学科:计算机科学技术

相关概念

协定

协定(Protocol)是指通信双方就如何进行通信的一种约定。如怎幺样建立连线、怎幺样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。
图1 防火墙图1 防火墙
协定对于网路管理的网路安全具有至关重要的意义。比如,防火墙的作用本质就是检测网路中的数据包,判断其是否违反了预先设定的规则,如果违反就加以阻止。下图就是某防毒软体个人版防火墙软体设定规则的界面。细心的读者会发现,图中的“协定”栏中有“TCP”、“UDP”等名词。

传输层

传输层(transport layer)的设计目标是允许源主机和目标主机上的对等实体进行对话。
传输层与网路层一起构成了网路协定层次的核心。网路层使用的数据报或虚电路技术为端到端通信提供了数据包交付服务。传输层构架在网路层提供的服务之上,把数据传递服务从两台计算机之间扩展到两台计算机上的进程之间,并且服务所需的可靠程度独立于当前使用的物理层网路。传输层为套用层使用网路提供了抽象的模型。如果没有传输层,分层协定的整个概念毫无意义。

定义

Internet的传输层有两个主要协定,面向连线和无连线各一个,两个协定互为补充。无连线协定是UDP,它除了给应用程式提供传送数据包功能并允许它们在所需的层次之下架构自己的协定之外,几乎没有做什幺特别的事情。面向连线的协定是TCP,该协定几乎做了所有事情。它建立连线,并通过重传机制增加了可靠性,同时还进行流量控制和拥塞控制,代表使用它的应用程式做了所有的一切。
面向连线的TCP
“面向连线”就是在正式通信前必须要与对方建立起连线,是按照电话系统建模的。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。
TCP(Transmission Control Protocol,传输控制协定)是基于连线的协定,也就是说,在正式收发数据前,必须和对方建立可靠的连线。一个TCP连线必须要经过三次“对话”才能建立起来,其中的过程非常複杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连线请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A传送同意连线和要求同步(同步就是两台主机一个在传送,一个在接收,协调工作)的数据包:“可以,你什幺时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的传送和接收同步,经过三次“对话”之后,主机A才向主机B正式传送数据。
图2TCP建立连线图2TCP建立连线
TCP协定能为应用程式提供可靠的通信连线,使一台计算机发出的位元组流无差错地发往网路上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协定传输数据。
无连线的UDP协定
“无连线”就是在正式通信前不必与对方先建立连线,不管对方状态就直接传送。与手机简讯非常相似:你在发简讯的时候,只需要输入对方手机号就OK了。
UDP(User Data Protocol,用户数据报协定)是与TCP相对应的协定。它是面向非连线的协定,它不与对方建立连线,而是直接就把数据包传送过去!
UDP适用于一次只传送少量数据、对可靠性要求不高的套用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机传送ICMP数据包,然后对方主机确认收到数据包,如果数据包是否到达的讯息及时反馈回来,那幺网路就是通的。例如,在默认状态下,一次“ping”操作传送4个数据包(如图所示)。大家可以看到,传送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协定是面向非连线的协定,没有建立连线的过程。正因为UDP协定没有连线的过程,所以它的通信效率高;但也正因为如此,它的可靠性不如TCP协定高。QQ就使用UDP发讯息,因此有时会出现收不到讯息的情况。

协定差别

TCP/IP 和UDP最大的区别就是:TCP/IP是面向连线的,UDP是无连线的。TCP协定和UDP协定各有所长、各有所短,适用于不同要求的通信环境。TCP协定和UDP协定之间的差别如下表所示。
表1 TCP与UDP区别
TCP
UDP
是否连线
面向连线
无连线
传输可靠性
可靠的
不可靠的
套用场景
传输大量数据
少量数据
速度

转载请注明出处海之美文 » TCP/UDP协定

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com