OSI七层协议
物理层:定义物理传输介质标准(如网线、光纤)
数据链路层:通过MAC地址封装数据帧,提供可靠传输
网络层:通过IP寻址实现跨网络路由(如IPv4)
传输层:提供端到端连接(TCP)或无连接传输(UDP)
会话层:管理会话建立与终止(如登录认证)
表示层:数据格式转换(如SSL加密)
应用层:直接为用户提供服务(如HTTP、FTP)
TCP/IP四层模型
网络接口层:整合物理层与数据链路层功能
网际层:通过IP协议实现网络互联
传输层:提供可靠(TCP)或高效(UDP)传输
应用层:提供终端服务(如HTTP、SMTP)
分层优势
模块化设计:各层独立开发,降低系统复杂度
技术迭代:可单独升级某一层技术(如从IPv4到IPv6)
解耦特性:层间通过标准接口通信,便于维护
--------------------------------------------------------------------------------------------------------------------------------------------------
TCP 三次握手的过程
(一)第一次握手:SYN(同步序列号)
• 客户端发起请求:客户端(通常是浏览器或其他应用程序)向服务器发送一个 TCP 数据包,数据包中的 SYN(同步序列号)标志位被设置为
• 表示请求建立连接。同时,客户端会随机生成一个初始序列号(ISN,Initial Sequence Number),并将其放入 TCP 头部的序列号字段中。
• 数据包内容:
• SYN:1
• 序列号:客户端生成的随机初始序列号(ISN)
• 确认号:0(因为还没有收到服务器的任何数据)
• 其他字段:如窗口大小、最大报文段长度(MSS)等
(二)第二次握手:SYN-ACK(同步确认)
• 服务器响应:服务器收到客户端的 SYN 数据包后,会检查数据包的合法性。如果合法,服务器会发送一个 SYN-ACK 数据包作为响应。这个数据包包含两个标志位:
• SYN:1
• ACK:1
• 数据包内容:
• SYN:1
• ACK:1
• 序列号:服务器生成的随机初始序列号(ISN)
• 确认号:客户端的初始序列号+1(表示对客户端的 SYN 数据包的确认)
• 其他字段:如窗口大小、最大报文段长度(MSS)等
(三)第三次握手:ACK(确认)
• 客户端确认:客户端收到服务器的 SYN-ACK 数据包后,会发送一个 ACK 数据包作为确认。这个数据包包含:
• SYN:0
• ACK:1
• 数据包内容:
• SYN:0
• ACK:1
• 序列号:客户端的初始序列号+1
• 确认号:服务器的初始序列号+1(表示对服务器的 SYN-ACK 数据包的确认)
• 其他字段:如窗口大小等
• 连接建立:当服务器收到客户端的 ACK 数据包后,TCP 连接正式建立,双方可以开始传输数据。