攻克Linux转载

计算机网络知识--三次握手与四次挥手

2019-05-22  本文已影响15人  32a08e1b7af0

计算机网络的七层分布:

物理层:以二进制数据形式在物理机上传输数据
数据链路层:传输有地址的帧以及错误检测功能,常用协议:SLTP,CSLIP,PPP,ARP,RARP,MTU
网络层:为数据包选择路,常用协议:IP,ICMP,RIP,OSPF,BGP,ICMP
传输层:提供端对端的接口服务,常用协议:TCP,UDP
会话层:解除或建立与别的接点的联系
表示层: 数据格式化,代码转换,数据加密
应用层:文件传输,电子邮件,文件服务,虚拟终端,常用协议:TFTP,HTTP,SNMP,FTP,SMTP,DNS,TELNET

计算机网络的四层分布

应用层(应用层,表示层,会话层)
传输层
网络层
链路层(数据链路层,物理层)

传输控制协议TCP(Transfer Contrl Protocol)简介

面向连接的,可靠的,基于字节流的传输层协议
将应用层的数据流分割成报文段并发送给目标节点的TCP层
数据包都有序号,对方收到则发送ACK确认,未收到则和重传
使用校验和来检验数据在传输过程中是否有误

TCP Flags:

URG: 紧急指针标志
ACK:确认序号标志
PSH:push标志
RST: 重置连接标志
SYN: 同步序号,用于建立连接过程
FIN: finish标志,用于释放连接

TCP三次握手:

握手是为了建立连接

image.png

在TCP/IP协议中,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状态,完成三次握手

TCP四次挥手

挥手是为了终止连接,采用四次挥手来释放连接

image.png

第一次挥手

客户端发送个一FIN,用来关闭客户端与服务器的数据传送,客户端进行FIN_WAIT1状态

第二次挥手

服务端收到客户端发送的FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务器进行到CLOAS_WAIT状态

第三次挥手

服务器发送一个FIN,用来关闭服务器与客户端的数据传送,服务器进入到LAST_ACK状态

第四次挥手

客户端收到服务器发送的FIN后,客户端进入到TIME_WAIT状态,接口发送一个ACK给服务器,确认序号为收到序号+1,服务器进入CLOSED状态,完成四次挥手

上一篇下一篇

猜你喜欢

热点阅读