TCP/UDP 协议和 HTTP、FTP、SMTP区别及应用场景

2,615 阅读3分钟

一、OSI 模型

SI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做映射分析,以下不做严格区分和声明;

OSI 模型层3个主要层面:

|.............主机...............| 操作系统和软件等 应用、表示、会话 

|.............网络...............| 互联网络和相关协议 传输、网络 (TCP/IP)

 |.............介质...............| 物理介质相关 数据链路、物理

模型图:

1、主机需要网络传输数据,网络本质上是一种服务,主机和网络之间靠传输层接口,就好比你要叫快递送东西;
2、网络可以提供两种服务:
  • TCP 的可靠 是需要消耗很多资源的,效率低 (大块,重要的文件等)
  • UDP 不保证可靠性,但是效率高(视频,语音,不重要的小文件等)
3、HTTP 用来实现超文本传输,FTP文件传输,SMTP处理邮件

TCP和UDP以及IP 协议是互联网络通讯的基础  ;就像《宪法》
而应用协议就像具体的《刑法》、《民法》、《婚姻法》、《未成年人保护法》......等等,在某个领域的特定应用和具体实现,但是最基本的一条:违宪无效。

二、TCP与HTTP的区别

TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,

HTTP是应用层协议,主要解决如何包装数据。

TCP/IP和HTTP协议的关系:WEB使用 HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。

TCP/IP代表传输控制协议/网际协议,指的是一系列协议;

“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络

把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。 

HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。

三、TCP,UDP,HTTP应用场景

Socket

实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。

TCP

传输控制协议,面向连接的的协议,稳定可靠。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。

UDP

广播式数据传输,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

Http

http请求主要有http协议,基于http协议的soap协议,常见的http数据请求方式有get和post,web服务