当前位置: 首页 > news >正文

OSI七层协议、TCP三次握手四次挥手

OSI七层协议

OSI(开放式系统互连)模型是一个概念性框架,它将网络通信功能划分为七个不同的层次,旨在促进不同计算机系统间的互联和通信。

OSI 七层从下到上是:物理、数据链路、网络、传输、会话、表示、应用。

  • 前四层偏底层负责数据的传输:物理传信号,链路传帧,网络传 IP 包做路由,传输层提供端到端可靠传输(TCP/UDP)。
  • 上三层偏业务:会话层管理连接,表示层做编解码和加密,应用层提供 HTTP、DNS 等服务。
  • 现代网络实现通常使用 TCP/IP 四层模型(链路层、网络层、传输层、应用层),是对 OSI 的简化。

下面对每一层进行详细讲述

  1. 物理层(比特流传输)
  • 作用: 负责比特流(0,1)的电气/光信号传输。
  • 代表协议/标准: RJ45、光纤、电压规范
  • 设备: HUB(集线器)、双绞线、光纤
  • 关键词: 电信号、物理介质、传输速率
  1. 数据链路层(帧 Frame)
  • 作用:将比特流封装成 帧,负责 MAC 地址寻址、差错检测、流量控制。
  • 协议:ARP、RARP、PPP、MAC
  • 设备:二层交换机(交换机工作在这一层)
  • 关键词:以太网帧、MAC 地址、广播域
  1. 网络层(IP包)
  • 作用: 负责 IP 地址寻址 + 路由选择
  • 协议: IP、ICMP、IGMP、OSPF、BGP
  • 设备: 路由器
  • 关键词: IP、路由表、跨网段通信
  • 面试必提:IP 不保证可靠性,可靠性在传输层实现
  1. 传输层(端到端)
  • 作用: 提供端到端通信,保证数据可靠或快速传输。
  • 协议: TCP、UDP
  • 设备: 四层交换机
  • 关键词:
    • TCP:可靠、三次握手、四次挥手、流控、拥塞控制
    • UDP:不可靠但快
  1. 会话层(建立会话)
  • 作用:管理会话建立、维持和终止
  • 协议:RPC、NetBIOS
  • 关键词:建立/管理系统之间的会话
  • 补充:实际应用中,这一层通常由操作系统和库函数来实现,不单独存在。
  1. 表示层(编解码、加密)
  • 作用: 数据格式转换、压缩、加密解密
  • 协议/标准:JPEG、GIF、SSL/TLS(可归类此层)
  • 关键词: 格式化、序列化、加密
  1. 应用层(直接面向用户)
  • 作用: 提供网络服务给用户
  • 协议: HTTP、HTTPS、FTP、SMTP、DNS、SSH
  • 关键词: 浏览器访问网页、查询 DNS

TCP三次握手(建立连接)

目的:为了确认双方的发送和接收能力正常,并初始化序列号(Sequence Number)。

  1. 第一次握手(SYN)
  • 发起方 (客户端) -> 接收方 (服务器)
  • 客户端发送一个 SYN (Synchronize) 报文段,并带上自己的初始序列号 Seq=X。
  • 状态:客户端进入 SYN_SENT 状态。
  • 含义:客户端请求建立连接,并告诉服务器:“我能发给你数据。”
  1. 第二次握手 (SYN + ACK)
  • 接收方 (服务器) -> 发起方 (客户端)
  • 服务器接收到请求后,发送一个 SYN/ACK 报文段:
    • 确认号 Ack=X+1 (确认已收到客户端的 Seq=X)。
    • 自己的初始序列号 Seq=Y。
    • SYN 和 ACK 标志位都置为 1。
  • 状态:服务器进入 SYN_RCVD 状态。
  • 含义:服务器同意建立连接,并告诉客户端:“我已收到你的请求,并且我也能发给你数据,你现在可以接收我的数据了。”
  1. 第三次握手 (ACK)
  • 发起方 (客户端) -> 接收方 (服务器)
  • 客户端接收到服务器的响应后,发送一个 ACK (Acknowledgement) 报文段:
    • 确认号Ack=Y+1 (确认已收到服务器的 Seq=Y)。
    • ACK标志位置为 1。
  • 状态:客户端和服务器都进入 ESTABLISHED 状态,连接建立成功。
  • 含义:客户端告诉服务器:“我已收到你同意连接的响应,现在我们可以开始传输数据了。”

为什么是三次,而不是两次?

  • 防止“已失效的连接请求”突然到达服务器,导致服务器错误建立连接、浪费资源。
  • 两次握手:服务端无法确认客户端是否具备接收能力
  • 三次握手:双方都确认了“收+发”能力

TCP四次挥手(断开连接)

目的:为了安全地关闭连接,允许双方未完成的数据传输能够继续完成。由于TCP是全双工的(数据可以双向传输),因此关闭连接需要两个方向都独立地关闭。

  1. 第一次挥手 (FIN)
  • 发起方 (客户端) -> 接收方 (服务器)
  • 客户端发送一个FIN (Finish) 报文段,并带上序列号Seq=U。
  • 状态:客户端进入FIN_WAIT_1 状态。
  • 含义:客户端告诉服务器:“我已经没有数据要发送给你了,我请求关闭发送方向的连接。” (但客户端仍然可以接收数据)
  1. 第二次挥手 (ACK)
  • 接收方 (服务器) -> 发起方 (客户端)
  • 服务器接收到 FIN 后,发送一个 ACK 报文段:确认号 Ack=U+1。ACK 标志位置为 1。
  • 状态:服务器进入 CLOSE_WAIT 状态;客户端进入 FIN_WAIT_2 状态。
  • 含义: 服务器告诉客户端:“我已收到你的关闭请求。请等待我处理完我这边剩余的数据。” (此时,TCP连接处于半关闭状态,服务器仍可以向客户端发送数据。)
  1. 第三次挥手 (FIN)
  • 接收方 (服务器) -> 发起方 (客户端)
  • 服务器处理完所有数据后,发送自己的 FIN 报文段,带上序列号 Seq=W。
  • 状态:服务器进入LAST_ACK状态。含义: 服务器告诉客户端:“我也已经没有数据要发送给你了,我请求关闭接收方向的连接。”
  1. 第四次挥手 (ACK)
  • 发起方 (客户端) -> 接收方 (服务器)
  • 客户端接收到 FIN 后,发送一个 ACK 报文段:确认号 Ack=W+1。ACK标志位置为 1。
  • 状态:客户端进入TIME_WAIT状态(持续2MSL后关闭)。服务器接收到最终ACK后,立即关闭连接。
  • 含义:客户端确认收到服务器的关闭请求,等待一段时间后彻底关闭连接。

为什么是四次挥手?

  • 因为TCP是全双工协议,双方的“发送和接收”需要分别关闭。
  • 客户端关闭发送
  • 服务端确认
  • 服务端关闭发送
  • 客户端确认

为什么客户端要进入TIME_WAIT?

  • 保证最后一个 ACK 能被服务端收到
  • 防止旧连接的数据包干扰新连接
  • 等待时间:2×MSL(最大报文生存时间)

三次握手四次挥手简短回答:

  • TCP 建立连接通过三次握手完成:客户端发送SYN,请求建立连接;服务端回复SYN+ACK;客户端再发送ACK,连接建立。
  • 断开连接通过四次挥手完成:一方发送 FIN 表示不再发送数据;对方ACK确认;等对方数据发送完再发送FIN;最后ACK确认并进入TIME_WAIT,防止旧包干扰新连接。
http://www.jsqmd.com/news/82911/

相关文章:

  • 终极企业级权限管理方案:BootstrapAdmin让.NET开发效率飙升300%
  • 北京律师指南:2025-2026 北京法律服务机构排行榜白皮书 —— 含法律顾问专业能力、胜诉率及法律帮助方案全面推荐与解析 - 苏木2025
  • 2025彩礼问题纠纷律所TOP5权威推荐:传统与现代争议解决 - myqiye
  • 基于SpringBoot+Vue技术的医院运营管理系统的设计与实现(毕业设计项目源码+文档)
  • 北京拆迁找律师白皮书:2025-2026 机构实力排行与法律顾问专业能力解析(附在线律师咨询胜诉率公正测评) - 苏木2025
  • Florence-2量化技术:终极加速完整指南
  • FANUC机器人KAREL编程实战指南:高效数据交互解决方案深度解析
  • 38、Python 编程中的回调函数与多领域应用
  • 聊一聊如何有效评估和优化软件性能瓶颈
  • 2025年沈阳公职培训机构排名:公职考试机构哪家专业? - mypinpai
  • 直播中:OpenVINO™ 上海技术研讨会—英特尔OpenVINO™助力具身智能生态成长
  • 如何快速掌握Parse Dashboard:从零开始的完整配置教程
  • 2025年重庆服务不错的知名装饰装修公司推荐,有名的装饰装修 - 工业品牌热点
  • 强力突破Python异步瓶颈:asgiref实现混合编程完美方案
  • 34、Python 数据持久化:从简单到关系型序列化的全面解析
  • 2025普刊发表机构TOP5权威推荐:沈阳/北京评职称普刊发 - 工业推荐榜
  • 实用指南:【把Linux“聊”明白】权限的本质与管理全解
  • 少量公开数据提升隐私保护AI模型精度
  • 2025年目前诚信的CTU货架厂商推荐,模具架/轻型货架/高位货架/五金货架/仓储货架/叉车货架/穿梭式货架/货架CTU货架定制厂家口碑推荐 - 品牌推荐师
  • 20、系统管理中的Python应用:数据元信息、归档压缩与SNMP基础
  • 2025年沈阳公职考试机构哪五大推荐与解析,看看哪家口碑佳 - mypinpai
  • 15、RT系统逻辑与对象模型及API详解
  • 21、SNMP 网络管理与数据中心发现实战指南
  • JMeter插件JMeter Plugins
  • 2025年省级普刊加急发表服务公司TOP5推荐:万方期刊加急 - 工业品牌热点
  • 2、票务系统:提升工作效率的利器
  • 如何通过IEC 61000-4-2静电标准提升电子设备可靠性
  • 2025年重庆装饰装修机构排名:口碑不错的装饰装修企业有哪些 - 工业推荐榜
  • Boss Show Time招聘插件:智能时间显示让求职更精准高效
  • 栈内存与全局变量的秘密:为什么局部数组在调试时“消失“了?