news 2026/9/2 19:18:32

TCP/IP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TCP/IP

TCP/IP(Transmission Control Protocol / Internet Protocol,传输控制协议 / 网际协议)是互联网的核心通信协议簇,并非单一协议,而是一套用于实现设备间跨网络通信的规则集合,定义了数据如何在网络中传输、寻址、封装和接收,所有接入互联网的设备(电脑、手机、服务器等)都遵循这套标准。

类比理解:TCP/IP 就像全球通用的 “快递物流体系”——IP 负责 “定位收件地址”(设备寻址),TCP 负责 “确保包裹完好、有序送达”(数据可靠传输),二者协同完成数据从源设备到目标设备的完整传递。

TCP/IP 协议簇的分层结构(4层)

TCP/IP 采用 “分层设计”,每一层负责特定功能,层与层之间通过 “接口” 协作,上层依赖下层提供的服务,下层为上层屏蔽细节(核心优势:模块化,便于维护和扩展)。从下到上分为 4 层,每层对应核心协议如下:

1. 网络接口层(最底层,链路层)
  • 核心功能:负责物理传输(将数据转化为电信号 / 光信号),处理设备与局域网的连接(如网卡、交换机),定义数据在 “本地链路”(同一局域网)的传输规则。
  • 核心协议 / 技术:以太网(Ethernet)、Wi-Fi、PPP(拨号上网)、MAC 地址(设备物理地址)。
  • 类比:快递的 “小区内配送”,负责将包裹从快递站送到小区门口。
2. 网络层(核心层,寻址与路由)
  • 核心功能:负责跨网络寻址路由转发—— 确定数据从源网络到目标网络的 “最佳路径”,解决 “不同局域网之间如何通信” 的问题。
  • 核心协议:
    • IP(网际协议):最核心,给每台联网设备分配唯一的 “IP 地址”(如 192.168.1.1),相当于设备的 “网络身份证”,用于定位设备所在网络。
    • ICMP(互联网控制消息协议):辅助 IP,用于检测网络连通性(如 ping 命令就是基于 ICMP)、报告错误(如数据丢失)。
    • ARP(地址解析协议):将 IP 地址转化为 MAC 地址(因为网络接口层只认识 MAC 地址)。
  • 类比:快递的 “跨城市运输”,负责将包裹从北京快递站转发到上海快递站,确定运输路线。
3. 传输层(可靠传输层)
  • 核心功能:负责端到端的可靠数据传输,解决 “数据传输过程中丢失、错乱、重复” 的问题,同时控制数据传输速率(流量控制)。
  • 核心协议(两大核心,二选一使用):
    • TCP(传输控制协议):面向连接、可靠、有序(核心特点)。
      • 工作逻辑:传输前先建立连接(三次握手),传输中确认数据接收(ACK 应答),丢失数据自动重传,传输结束后释放连接(四次挥手)。
      • 适用场景:对可靠性要求高的场景(网页浏览、文件传输、聊天消息、邮件)。
    • UDP(用户数据报协议):无连接、不可靠、无序,但传输速度快、开销小。
      • 工作逻辑:无需建立连接,直接发送数据,不确认接收、不重传丢失数据。
      • 适用场景:对实时性要求高、可容忍少量数据丢失的场景(视频通话、直播、游戏、DNS 查询)。
  • 类比:TCP = 顺丰快递(上门取件、确认签收、丢件补发),UDP = 普通平邮(直接投递、不确认签收、速度快)。
4. 应用层(最上层,用户交互层)
  • 核心功能:为具体应用程序提供通信接口,定义应用层面的数据格式和交互规则(用户直接接触的功能,都依赖这一层)。
  • 核心协议(日常高频):
    • HTTP/HTTPS:网页浏览(如打开百度、知乎)。
    • FTP/SFTP:文件传输(上传、下载文件)。
    • SMTP/POP3/IMAP:邮件发送与接收。
    • DNS:域名解析(将www.baidu.com转化为 IP 地址,因为网络层只认识 IP)。
    • SSH:远程登录(如 Linux 服务器远程管理)。
    • Telnet:老式远程登录(安全性低,现在少用)。
  • 类比:快递的 “用户收发件”,比如你在淘宝下单(应用),商家发货、你签收(应用层交互)。

TCP/IP 的核心工作流程

  1. 应用层:你打开浏览器输入www.baidu.com,浏览器调用 HTTP 协议,向百度服务器发起 “请求网页” 的指令。
  2. 传输层:HTTP 协议将请求数据交给 TCP,TCP 对数据进行分段、封装,建立与百度服务器的 TCP 连接(三次握手),确保数据可靠传输。
  3. 网络层:TCP 数据交给 IP,IP 给数据封装上 “源 IP(你的电脑 IP)” 和 “目标 IP(百度服务器 IP)”,通过 ICMP、路由协议找到从你的电脑到百度服务器的最佳路径。
  4. 网络接口层:IP 数据交给网卡,转化为电信号,通过 Wi-Fi / 网线传输到路由器,再逐级转发到百度服务器所在的网络。
  5. 反向流程:百度服务器接收数据后,从下到上逐层解封装,最终通过 HTTP 协议返回网页数据,再通过 TCP/IP 传回你的电脑,浏览器渲染网页。

握手:

  1. TCP 三次握手(建立连接):

    • 第一次:客户端→服务器,发送 SYN(同步)报文,请求建立连接。
    • 第二次:服务器→客户端,发送 SYN+ACK(同步 + 确认)报文,确认接收并请求同步。
    • 第三次:客户端→服务器,发送 ACK(确认)报文,连接建立完成。
    • 核心目的:确保双方 “发送能力” 和 “接收能力” 都正常,避免无效连接。
  2. TCP 四次挥手(释放连接):

    • 第一次:客户端→服务器,发送 FIN(结束)报文,告知 “我要关闭发送通道”。
    • 第二次:服务器→客户端,发送 ACK 报文,确认接收 “关闭请求”。
    • 第三次:服务器→客户端,发送 FIN 报文,告知 “我也关闭发送通道”。
    • 第四次:客户端→服务器,发送 ACK 报文,确认接收,连接释放。
    • 核心目的:确保双方都已完成数据传输,避免数据丢失(因为 TCP 是双向传输,需要双向关闭)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 15:24:09

【Python大数据毕设】基于Spark+Django的图书数据分析与可视化系统源码全解析 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡如果你遇到具体的…

作者头像 李华
网站建设 2026/9/2 6:24:05

河北省企业营销策划优秀服务商

河北省企业营销策划优秀服务商:快印客众合青阳广告传媒(码客汀大城旗舰店)在河北省的企业营销策划领域,选择一家优秀的服务商至关重要。这不仅关系到企业的品牌形象,还直接影响到市场推广的效果和业务增长的速度。本文…

作者头像 李华
网站建设 2026/9/2 4:02:55

今天面试了一个半吊子前端男生,真的无语=_=

来面试的前端简历写着“精通Vue和性能优化”,结果几个基础问题直接露馅。问:Vue组件间通信有哪些方式? Vuex和EventBus 分别适用于什么场景? 他答:“父子用props,还有$emit...Vuex就是全局状态,…

作者头像 李华
网站建设 2026/9/1 10:45:39

深度解析零信任:以身份为中心的持续安全验证

深度解析零信任:以身份为中心的持续安全验证零信任,这一重塑现代网络安全格局的理念,最早由Forrester分析师John Kindervag于2010年正式提出。其诞生背景正是由于传统边界安全模型在日益分布式的网络环境中逐渐显露出不足。零信任从根本上挑战…

作者头像 李华
网站建设 2026/9/1 23:25:42

UnityPsdImporter终极指南:快速上手Unity3D专业PSD导入工具

UnityPsdImporter终极指南:快速上手Unity3D专业PSD导入工具 【免费下载链接】UnityPsdImporter Advanced PSD importer for Unity3D 项目地址: https://gitcode.com/gh_mirrors/un/UnityPsdImporter 想要在Unity中直接使用Photoshop设计文件吗?Un…

作者头像 李华