OSI七层模型
应用层,
表示层、
会话层
传输层
网络层
数据链路层
物理层
七层模型的数据通信过程:
TCP/IP协议模型-重点
应用层
运输层
网络层
链路层
链路层
OSI的物理层和数据链路层
ARP 地址解析协议 IP-MAC
RARP 逆地址解析协议 MAC-IP
网络层
OSI网络层
IP:尽可能快地把分组从源节点送到目的结点,但是并不提供任何 可靠性保证。同时被TCP和UDP同时使用
ICMP:交换错误报文和其他重要信息 ping 和Traceroute
IGMP:
运输层:
OSI传输层
主要为两台主机的应用程序提供端到端的通信。
TCP协议
UDP协议
数据封装过程
数据格式
TCP数据信息:TCP头部和实际数据(TCP头包括源和目标主机端口号、顺序号、确认号)
IP数据包:IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期)
数据帧:帧头+IP数据包+帧尾(帧头包括源和目标主机MAC初步地址及类型,帧尾是校验字)
数据的封装和解封装
ACK:确认序号有效
SYN:发起一个新连接
FIN:释放一个连接
了解netstat的网络状态:
CLOSED
LISTEN
SYN_SEND
在TCP三次握手中,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包
SYN_RECV
在TCP三次握手中,主动连接端收到SYN包后,进入SYN_RECV状态
ESTABLISHED
完成三次握手后,主动连接端进入ESTABLISTEN状态。此时,TCP连接已经建立,可以进行通信。
FIN_WAIT_1 在TCP四次断开时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态
FIN_WAIT_2 在TCP四次断开时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态
TIME_WAIT 在TCP四次断开时,主动关闭端发送ACK包后,进入TIME_WAIT状态
CLOSE_WAIT 在TCP四次断开时,被动关闭端收到FIN包后,进入CLOSE_WAIT状态
LAST_ACK 在TCP四次断开时,被动关闭端发送FIN包后,进入LAST_ACK状态
,等待对方的ACK包。
TCP安全可靠的原因:三次握手
1、客户机A端(主动连接端)发送一个SYN包给服务器B端(被动连接端)
2、服务器B端(被动连接端)收到SYN包后,发送一个带ACK和SYN标志的包给客户机A端(主动连接端)
3、客户机A端(主动连接端)发送一个带ACK标志的包给服务器B端(被动连接端),握手动作完成。
TCP/IP四次挥手
1、客户机A端(主动连接端)发送一个FIN包给服务器B端(被动连接端)请求断开连接;发送信号
2、服务器B端(被动连接端)收到FIN包后,发送一个ACK包给客户机A端(主动连接端);表示已经收到信号,但此时还没有断开,检查数据是否已经发送完成
3、服务器B端(被动连接端)发送了ACK包后,再发送一个FIN包给客户机A端(主动连接端)确认断开;此时数据已经传送完成
4、客户机A端(主动连接端)收到FIN包后,发送一个ACK包,当服务器B端(被动连接端)收到ACK包后,四次断开动作完成,连接断开。确认信号