TCP/IP 知识体系

TCP/IP 知识体系


一、TCP/IP 定义
  • 全称:Transmission Control Protocol/Internet Protocol(传输控制协议/网际协议)
  • 核心概念
    • 跨网络实现信息传输的协议簇(包含 TCP、IP、FTP、SMTP、UDP 等协议)
    • 因 TCP 和 IP 协议最具代表性而得名

二、TCP/IP 核心特点
  1. 开放性
    协议标准完全开放,免费使用,独立于硬件和操作系统。
  2. 兼容性
    适配广域网和互联网,不依赖特定网络硬件。
  3. 地址唯一性
    全网统一分配地址,每台设备/终端拥有唯一标识。
  4. 服务标准化
    高层协议提供多样化可靠服务(如文件传输、邮件收发)。

三、TCP/IP 协议分层架构
层级 协议 核心功能
应用层 FTP、SMTP、HTTP、DNS、SSH、HTML、GIF 规范数据格式(如网页/图片),实现端到端应用通信
传输层 TCP(可靠传输)、UDP(无确认机制) 定义端口号,实现端口到端口通信;TCP通过三次握手保证可靠性
网络层 IP、ICMP 定义IP地址,区分子网,路由选择;ARP协议(IP→MAC解析),路由协议(跨子网网关转发)
数据链路层 ARP、RARP、以太网协议 MAC地址广播通信:数据帧分组→子网广播→目标MAC匹配→接收/丢弃;物理网卡数据传输
物理层 DSL 比特流通过物理介质(光纤/网线)传输

四、TCP 连接管理机制

三次握手(建立连接)

  1. 客户端发送 SYN 请求报文
  2. 服务端返回 SYN-ACK 确认报文
  3. 客户端发送 ACK 最终确认报文

四次挥手(断开连接)

  1. 主动方发送 FIN 中断请求
  2. 被动方返回 ACK 确认
  3. 被动方发送 FIN 中断请求
  4. 主动方返回 ACK 确认

五、数据封装与解封装流程

封装过程(发送端)

plain 复制代码
应用层 → 原始数据  
传输层 → 添加TCP/UDP头部(含端口)  
网络层 → 添加IP头部(含IP地址)  
数据链路层 → 添加MAC头部(含物理地址)  
物理层 → 转换为比特流传输

解封装过程(接收端)

plain 复制代码
物理层 → 接收比特流  
数据链路层 → 剥离MAC头部 → 校验目标MAC  
网络层 → 剥离IP头部 → 校验目标IP  
传输层 → 剥离TCP/UDP头部 → 校验端口  
应用层 → 获取原始数据

六、安全隐患与应对

1. 链路层攻击

  • 风险:数据包被截获分析,导致账户/密码泄露
  • 案例:通过监听以太网广播流量获取敏感信息

2. 网络层攻击

  • ARP欺骗
    • 伪造IP-MAC映射表,劫持通信流量
    • 防护:IP+MAC绑定、动态ARP检测(DAI)
  • ICMP洪水攻击
    • 发送大量ICMP请求包耗尽目标主机CPU资源
    • 防护:限制ICMP流量速率

七、关键技术补充
  1. IP协议作用
    • 通过IP地址判断主机是否同属子网
    • 不同子网数据需经网关路由转发
  2. 路由器的核心功能
    • 根据信道状态选择最佳路径
    • 跨子网数据包中转枢纽
  3. TCP与UDP差异
    • TCP:面向连接、可靠传输(数据完整性优先)
    • UDP:无连接、低延迟(实时性优先)
  4. 以太网帧最小长度
    • 64字节(确保冲突检测,数据不足时填充"0")
  5. MTU(最大传输单元)
    • 1500字节(超过则触发IP分片)
  6. TTL生存时间
    • 初始值通常为64/128,每经过路由器减1,归零时丢弃
  7. TCP头部结构
    • 包含16位源端口、16位目标端口、32位序列号、16位窗口大小等字段
  8. IP地址分类
    ○ A类(1.0.0.0~126.255.255.255)
    ○ B类(128.0.0.0~191.255.255.255)
    ○ C类(192.0.0.0~223.255.255.255)

相关推荐
blasit3 小时前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao8 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_3 天前
高可用移动网络连接
网络协议
chilix3 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo19985 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_946205525 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel5 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)5 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库