TCP:传输控制协议
UDP:用户数据报协议
TCP与UDP区别?
TCP是面向连接的、可靠的进程到进程通信的协议
TCP提供全双工服务,即数据可在同一时间双向传输
TCP面向字节流
UDP协议
无连接、不可靠的传输协议
花费的开销小
UDP面向报文段
序号:发送端为每个字节进行编号,便于接收端正确重组
确认号:用于确认发送端的信息
窗口的小:用于说明本地可接受数据段的数目,窗口大小是可变的。
URG:紧急指针,当URG=1,表明紧急指针字段有效。告诉系统报文段中有紧急数据。
ACK:确认指针,当ACK=1,确认号字段有效。
PSH:推送指针,当两个应用进程进行交互式通信时,有时候在一端的应用进程希望在键入一个命令后立即就能收到对方的响应,这时我们将PSH=1即可。
RST:复位指针,当RST=1,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立一次连接。
SYN:同步指针,在建立链接是用来同步序号。SYN=,ACK=0,链接为请求报文,当SYN=1,ACK=1,连接为响应报文。
FIN:终止指针,用来释放连接。
TCP建立连接的过程称为三次握手:
Seq序号
SYN请求报文到达PC2
PC2发送
Pc2已建立连接状态
PC1发送请求连接报文,PC1的初始序号seq为x,同位步SYN为1,PC2确认报文ACK=1,SYN=1,确认序号ACK=X+1,pc2的产生初始序号seq=y,回复PC1确认连接,PC1接受后确认报文ACK=1,ACK=y+1,PC1又重组序号为x+1。
四次挥手:
pc1向pc2发送断开连接请求报文,FIN=1,ACK=1,序号为u,pc1客户端处于终止等待1状态,pc2确认报文ack=1,确认序号为ack=u+1,pc2的序号为v,回复pc1,pc2服务端处于关闭等待状态,pc1接受确认报文ack=1,确认序号ack=v+1,pc1重组序号为u+1,pc1处于终止等待2状态,然后pc2也想让pc1断开连接,就发送了断开连接请求,FIN=1,ack=1,pc2重组序号为w,pc2服务端处于最后确认状态,pc1接受后确认报文ack=1.确认序号为ack=w+1,pc1序号为u+1,pc1客户端进入时间等待状态,等待最长报文段寿命2**MSL,服务器pc2确认后,立即进入关闭状态。
转载于:https://www.cnblogs.com/liyurui/p/11203738.html