首页 > 编程知识 正文

socket是tcp还是udp,smtp是tcp还是udp

时间:2023-05-04 21:31:58 阅读:173662 作者:2348

对于任何网络协议,我们都要谈网络七层协议模型(OSI ),如果不遵循这个协议模型,我们的手机和电脑就不能进行网络通信。 让我们先来看看OSI OSI

OSI是开放的通信系统互连参考模型,是一种非常定义的协议规范。 OSI模型有七层结构,每层可以有几个子层。

APP应用层

例如: TELNET、HTTP、FTP、NFS、SMTP等。

表示层

例如:加密、ASCII等。

斜层

示例: RPC、SQL等。

传输层

示例: TCP,UDP,SPX。

网络层

例如: IP、IPX等。

数据链路层

例如自动取款机、FDDI等。

物理层

例如: RJ45、802.3等。

简单了解OSI之后我们来看一下我们手机与电脑通信,所能够使用的两种数据通信,一种是HTTP请求,一种是Socket通信,HTTP是属于短连接,适合新闻,订票信息等客户端发起请求,每一次请求结束,自动断开连接。而Socket是属于长连接,适合游戏,聊天等实时数据。

手机能够联网都是需要基于OSI协议模型,同时手机底层实现了TCP/IP协议。下面简单介绍一下TCP/IP协议

TCP/IP

建立TCP连接需要“三次握手”。

第一次握手:客户端将syn数据包(syn=j )发送到服务器,进入SYN_SEND状态并等待服务器确认。

第二次握手:服务器收到syn数据包,必须确认客户的syn(ack=j1 ),同时自己也发送syn数据包(syn=k )即SYN ACK数据包,此时服务器进入SYN_RECV状态

第三次握手:客户端从服务器接收SYN ACK包,然后向服务器发送确认包ack(ack=k1 )。 此包发送完成,客户端和服务器处于ESTABLISHED状态,第三次握手完成。

握手过程中发送的数据包不包含数据,在三次握手结束后,客户端和服务器才正式开始发送数据。 理想情况下,建立TCP连接后,TCP连接会一直保持下去,直到通信双方中的任何一方主动关闭该连接。 断开连接时,服务器和客户端都可以主动提出断开TCP连接的请求。 切割过程需要“四次握手”。 (省略详细过程。 这意味着服务器和客户端进行交互,最终确定断开连接。 )

同时Socket可以支持不同的传输层协议(UDP),那我们平时为什么不使用UDP呢,我们现在来看一下UDP与TCP的区别

TCPUDP面向连接的面向连接的非连接传输不可靠对于不可靠的APP,传输大量数据的少量数据传输速度为顺便在片尾纠正一下我对于这些协议的理解。

1 .我一直认为Http和Tcp是两种不同但地位对等的协议。 虽然Tcp是传输层,但今天了解到Http是APP应用层,并知道Http是基于Tcp连接的。 简单来说,Tcp简单地建立连接,简单地转移,而不考虑我们需要的实际数据。 http是用于发送和接收数据的,已经实用化了。

2.TCP是基本的通信协议,定义数据传送和连接方式的规格HTTP是APP应用层协议,由于传送数据内容的规格HTTP协议中的数据是利用TCP协议进行传送,所以只要支持HTTP,一定是必需的

3.HTTP支持www服务,TCP/IP是协议,是互联网国际互联网络的基础。 TCP/IP是网络中使用的基本通信协议。 TCP/IP实际上是包含数百种功能的协议(包括远程登录、文件传输、电子邮件等),TCP和IP协议是确保数据完全传输的两个基本重要协议。 通常,TCP/IP不仅是TCP和IP,而且是互联网协议的一个家族。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。