TCP和UDP是OSI模型中传输层的两个协议
TCP协议:
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
TCP协议的特点:
a.需要建立连接,传输数据,释放连接三个阶段
b.向上级提供有序的,可靠的,无差错的数据传输服务
UDP协议:
UDP是面向无连接,可以随时发送数据。不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的一刻,立即按照原样发送到网络上的一种机制。
UDP协议的特点:
a. 是无连接的。相比于TCP协议,UDP协议在传送数据前不需要建立连接,当然也就没有释放连接。
b.灵活方便比较迅速。
c.不会对报文重复的丢失、重复或无序进行处理
两者之间的区别
TCP是面向连接的,UDP是无连接的;
TCP是可靠的,UDP是不可靠的;
TCP只支持点对点通信,UDP支持一对一、一对多、多对一、多对多的通信模式;
TCP是面向字节流的,UDP是面向报文的;
TCP有拥塞控制机制;UDP没有拥塞控制,适合媒体通信;
TCP首部开销(20个字节)比UDP的首部开销(8个字节)要大
TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
应用场景
TCP应用场景
应用于对网络通信质量有要求的应用,要求保证通信可靠,整个数据要准确无误的传递给对方
TCP对应的协议:
(1) HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。
(2) FTP:定义了文件传输协议,使用21端口。
(3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
(4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。
(5)Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。
UDP对应的协议:
(1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
(2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
(3) TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。