TCP/IP协议

协议:双方必须共同遵从的一组约定;
TCP/IP(通讯协议):
   应用层(http,smtp邮件,telnet远程链接,ftp文件传输协议)
   传输层(tcp,udp)
   网络层(ip)
   接口层(没有固定)
tcp:双工通信(服务器可以和客户端可以互相发送数据),单工通信
tcp:三次握手    1、客户端给服务器发送请求2、服务器收到请求后告诉客户端你准备好了吗3、客户端收到消息后,回复我准备好了,然后服务器就可以给客户端发送请求
tcp:四次挥手     
第一次分手: 主机1(可以使客户端,也可以是服务器端),设置(序列号)Sequence Number,向主机2发送一个FIN报文段;此时,主机1进入(最后等待1)FIN_WAIT_1状态;这表示主机1没有数据要发送给主机2了;
第二次分手: 主机2收到了主机1发送的FIN报文段,向主机1回一个(确认字符)ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入(最后等待2)FIN_WAIT_2状态;主机2告诉主机1,我“同意”你的关闭请求;
第三次分手: 主机2向主机1发送FIN报文段,请求关闭连接,同时主机2进入(最后确认)LAST_ACK状态;
第四次分手: 主机1收到主机2发送的FIN报文段,向主机2发送(确认字符)ACK报文段,然后主机1进入(时间等待)TIME_WAIT状态;主机2收到主机1的ACK报文段以后,就关闭连接;此时,主机1等待(2毫秒)2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,主机1也可以关闭连接了。
 
osi七层协议:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
tcp/ip四层协议:应用层,传输层,网络层,网络接口
端口:可以认为是设备与外界通讯交流的出口;
 
socket:网络上的两个程序通过一个双向的通信 连接实现数据交换,这个连接的一端称为一个socket;建立网络通信连接至少要一对端口号。socket本质是编程接口,对tcp/ip的封装,tcp/ip也要提供可供程序员做网络开发的所用的接口,这就是scoket编程接口;
不严谨的说socket就是tcp/ip的实现,http请求就是基于socket
socket是一种编程方式,基于协议的通讯编程方式,前提是端对端,在两个都开个口子,进行通讯;
操作系统:用于分配整个计算机资源;
socket起一个线程,通过监听操作系统分配的端口,调用操作系统的api,来监视这个端口传过来的信息,这是一种编程方式;
 
建立链接:损耗性能,减少链接 ;
数据库高并发如何解决:负载均衡,分表分库,radis,缓存,视情况而定;
posted @ 2019-04-17 18:54  清风初学者  阅读(182)  评论(0编辑  收藏  举报