三次握手四次挥手
syn:同步序列编号;ack:确认字符;seq:序列号 fin:
三次握手
第一次握手:客户端发送syn包(syn=1,sequence=X)到服务器,进入SYN_SEND状态(请求连接状态),等待服务器确认。
第二次握手:服务器收到syn包,同时自己也发送一个syn+ack报文(syn=1,ack=x+1,sequence=y),此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器发的syn+ack包,向服务器端发送确认包ACK(ack=y+1,sequence=z),客户端和服务器进入ESTABLISHED状态,即连接成功状态。完成三次握手。
注:在握手的过程中包中不含有任何的数据,三次握手完毕后,客户端和服务器才开始传输数据。

四次挥手
第一次挥手:主动方发送Fin+ack报文,并设置发送序号为X。(Fin=1,ack=z,seq=x)
第二次挥手:被动方收到包后,发送ack报文。(ack=x+1,seq=z)
第三次挥手:被动方再Fin+ack报文,设置fin=1,ack=x,seq=y
第四次挥手:主动方发送第四个包,其中seq=x,ack=y;

OSI网络七层协议
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层;
TCP/IP分层:网络接口层,网络层,传输层,应用层。
五层协议:物理层,数据链路层,网络层,运输层,应用层。

TCP和UDP的区别
TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
TCP注重数据安全性,但传输数据不是很快,UDP数据传输快,但安全性不高。

面向连接和非面向连接的服务
面向连接服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况可以被实时地监控和管理。
非面向连接的服务,不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。