1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
HTTP
HTTP(超文本传输协议):客户端浏览器与Web服务器之间的应用层通信协议。
在Internet上的Web服务器上存放的都是超文本信息, 客户端需要通过HTTP协议传输所要访问的超文本信息。
HTTP协议是建立在请求/响应模型上的。首先由客户端建立一条与服务器的TCP连接,并发送一个请求到服务器,服务器响应一个状态行。
虽然HTTP本身是一个协议,但其最终还是基于TCP的。
TCP
TCP(Transmission Control Protocol,传输控制协议):面向连接的协议。
“面向连接”就是在正式通信前必须要与对方建立起可靠的连接。一个TCP连接必须要经过三次握手才能建立起来。
实例:手机拨打电话
TCP连接的三次握手:
三次握手协议:
三次握手协议指的是在发送数据的准备阶段,客户端和服务器端之间需要进行三次交互。
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
连接建立后,客户端和服务器就可以开始进行数据传输了。
UDP
UDP(User Data Protocol,用户数据报协议):面向非连接的协议。
“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。
它不与对方建立连接,而是直接把数据包发送出去。
实例:手机短信发送、 QQ发送消息
网友评论