TCP & UDP 的区别

一、概念

① TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

建立连接:三次握手    1.客户端发送建立连接请求,并进入SYN_SEND状态,等待服务器确认

  2.服务端确认连接请求,向客户端发送允许连接应答,此时服务器进入SYN_RECV状态

           3.客户端确认已经连接,向服务器发送确认,客户端和服务器进入通信状态,完成三次握手

断开连接:四次握手   1.客户端发送请求停止TCP连接请求

           2.服务端收到请求后将这一个socket关闭

           3.服务端发送反向请求客户端关闭socket连接

            4.客户端确认服务端请求,关闭socket连接

② UDP (User Datagram Protocol 用户数据报协议) 是一种面向非连接的、一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境

UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。

二、区别

1.TCP是面向连接的,UDP是面向非连接的

2.TCP的传输性是可靠地,UDP的传输性不可靠

3.TCP的传输速度缓慢,UDP的传输速度较快

4.TCP主要应用于大量数据的传输,UDP适用于少量数据的传输(例如,QQ消息,短信)

时间: 2024-12-24 02:53:42

TCP & UDP 的区别的相关文章

OSI七层模型与 TCP/IP五层模型 TCP/UDP的区别

转自:http://blog.chinaunix.net/uid-22166872-id-3716751.html OSI七层模型OSI 中的层            功能                                                        TCP/IP协议族 应 用层                 文件传输,电子邮件,文件服务,虚拟终 端         TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层          

【Unity3D自学记录】网络编程之TCP&UDP的区别

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次"对话"才能建立起来,其中的过程非常复杂,我们这里只做简单.形象的介绍,你只要做到能够理解这个过程即可.我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:"我想给你发数据,可以吗?",这是第一次对话:主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在

TCP,UDP的区别及使用场景

传输层的两大协议TCP和UDP,到底用哪一个?这是所有基于网络通讯的应用程序在设计.开发时需要考虑的. 下面,我们先分别来看看TCP和UDP的优缺点,在后面,再来分析一下,什么时候该用TCP.什么时候该用UDP. TCP的优点: 可靠,稳定TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源. TCP的缺点: 慢,效率低,占用系统资源高,易被攻击TCP在传递数据之前,要先建连接,这会消耗时间

TCP/UDP的区别

首先呢 TCP是面向连接的,有序的可靠的协议,然后UDP是与TCP相对的,即面向无连接的无序的不可靠的协议. 首先为什么说TCP是面向连接的呢,通过TCP传输的话是需要进行三次握手的,即客户端要向服务端发送数据,客户端要向服务端发送一个发送数据请求(SYN),进入发送状态SYN_SEND,服务端接收到SYN数据会以SYN-ACK应答表示接受到了这个消息,最后客户端再以ACK消息响应,通过这样,客户端与服务端就建立起了TCP连接. 然后TCP在传输数据的时候会给包编号,接收端如果漏收一个包,接受端

HTTP TCP UDP Socket 关系的几个经典图

  从上图可以看到,TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议. 下图也是描述这个关系的. 参考: https://krystalchisholm.wordpress.com/2010/11/24/chapter-17/    另外我们经常说到的 Socket 的所在位置如下图:   Socke

TCP/UDP,动态路由,RIP/OSPF/BGP简述

1.TCP/UDP的区别:TCP相对UDP相对安全:但传输效率慢2.什么是静态路由静态路由就是必须手工配置,无法适应网络拓扑变化,变化一次就得修改一次什么是动态路由路由器自动建立自己的路由表,并且能够根据实际情况的变化自动调整当网络中节点和节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路径并继续转发报文.查看路由表最长匹配原则:看子网掩码3.RIPRIPv1/2都是小型网络下使用的动态路由,路由器之间开启rip进程周期的通告邻居的路由,保证实时更新拓扑变化,是一种基于

TCP和UDP的区别

TCP和UDP的区别 TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了. TCP/IP协议集包括应用层,传输层,网络层,网络访问层. 其中应用层包括: 超文本传输协议(HTTP):万维网的基本协议

简述http协议和TCP,UDP的区别和应用

http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,在上网浏览网页的时候,浏览器和web服务器之间通过HTTP在Internet上进行数据的发送和接收. 常基于TCP的连接方式http表示要通过HTTP协议来定位网络资源:host表示合法的Internet主机域名或者IP地址:port指定一个端口号,为空则使用交请求后,通过HTTP协议传送给Web服务器.Web服务器接到后,进行事务处理,处理结果又通过H缺省端口80:abs_path指定请求资源的URI:如果URL中没

TCP和UDP的区别(转)

TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP/IP协议集包括应用层,传输层,网络层,网络访问层.其中应用层包括:超文本传输协议(HTTP):万维网的基本协议.   文件传输(TFT