TCP/IP

TCP/IP 模型总览

TCP/IP 模型是现实中广泛使用的网络模型,共四层,对应 OSI 七层模型如下:

|-----------|-------------|--------------------|
| TCP/IP 层级 | 对应 OSI 层级 | 功能 |
| 应用层 | 应用层、表示层、会话层 | 提供网络服务(如 HTTP、DNS) |
| 传输层 | 传输层 | 提供主机间端到端传输(如 TCP) |
| 网络层 | 网络层 | 路由转发、逻辑寻址(如 IP) |
| 网络接口层 | 数据链路层 + 物理层 | 实际数据的物理传输 |

TCP/IP 四层详解

🔹 1. 应用层(Application Layer)

  • 作用:直接面向用户,提供网络应用服务。
  • 常见协议

|------------|---------------|
| 协议 | 功能说明 |
| HTTP(S) | 超文本传输协议(网页访问) |
| FTP | 文件传输协议 |
| SMTP | 邮件发送 |
| POP3/IMAP | 邮件接收 |
| DNS | 域名解析 |
| Telnet/SSH | 远程登录 |

  • 示例:HTTP
    • 请求方法:GET、POST、PUT、DELETE...
    • 状态码:200 OK、301 重定向、404 未找到、500 服务器错误
    • 无状态协议,可以用 Cookie/Session 保持状态

🔹 2. 传输层(Transport Layer)

  • 作用:实现端到端通信,提供数据传输的可靠性或效率保证。
TCP(Transmission Control Protocol)
  • 面向连接,可靠传输(有顺序、有确认、无重复)
  • 三次握手建立连接,四次挥手断开连接
  • 流量控制:接收窗口机制
  • 拥塞控制:慢启动、拥塞避免、快重传、快恢复

三次握手(建立连接)

  1. 客户端发送 SYN(同步)报文
  2. 服务端返回 SYN-ACK
  3. 客户端回复 ACK,连接建立

四次挥手(断开连接)

  1. 客户端发送 FIN,表示要关闭连接
  2. 服务端回复 ACK,确认收到
  3. 服务端也发送 FIN
  4. 客户端再发 ACK,连接彻底关闭
UDP(User Datagram Protocol)
  • 无连接,不可靠,但开销小、速度快
  • 适用于:DNS、视频直播、语音通话、游戏等实时性强场景
  • 没有拥塞控制、流量控制机制

🔹 3. 网络层(Internet Layer)

  • 作用:实现不同主机/网络之间的数据转发和逻辑寻址。
IP(Internet Protocol)
  • 提供逻辑地址(IP地址),实现主机间路由转发
  • IPv4:32位地址,如 192.168.1.1
  • IPv6:128位,解决地址不足问题
  • 是不可靠、无连接的协议,依赖上层 TCP 保证可靠性
ICMP(Internet Control Message Protocol)
  • 网络诊断/错误信息反馈协议
  • 如:ping 命令底层就是 ICMP Echo 请求
ARP(Address Resolution Protocol)
  • IP <--> MAC 地址解析
  • 局域网中使用广播询问"谁是这个 IP",目标主机回应 MAC 地址
  • 作用:负责物理地址的寻址和局域网内数据帧的传输
  • 包括物理传输介质、网卡驱动、MAC 层协议等
  • 常见协议:
    • Ethernet(以太网)
    • Wi-Fi(无线局域网)
  • 数据封装为帧(Frame) ,使用 MAC 地址作为硬件标识

TCP/IP 安全相关

  • 嗅探攻击:截获明文数据包(尤其是 HTTP)
  • ARP欺骗:局域网内伪造 MAC 地址进行中间人攻击
  • IP欺骗:伪造 IP 地址进行攻击(如 SYN Flood)
  • 防护方法
    • 使用 HTTPS(TLS 加密)
    • 使用防火墙过滤端口
    • 进行子网隔离、防ARP攻击等

三次握手

三次握手目的:

建立可靠连接,确保双方通信能力正常,序列号同步

三次握手的过程:

  1. 第一次握手 :客户端向服务端发送一个带有 SYN 标志位的数据包,请求建立连接,同时随机产生一个初始序列号 seq = x
  2. 第二次握手 :服务端收到该请求后,确认客户端的 SYN(即 ACK = x + 1),并向客户端发送自己的 SYN 报文段,携带初始序列号 seq = y
  3. 第三次握手 :客户端收到服务端的 SYN + ACK 报文后,再次发送 ACK 报文,确认连接建立(ACK = y + 1)。

连接建立后,客户端与服务端即可开始数据传输。

三次握手的原因:

  • 防止历史连接请求导致服务端资源浪费(如延迟或伪造的 SYN 导致的半连接)
  • 确保客户端和服务端收发能力正常
  • 确保双方的初始序列号互相确认,为后续可靠传输打基础

四次挥手

四次挥手目的:

可靠关闭连接,确保双方都已完成数据传输

四次挥手的过程:

  1. 第一次挥手 :客户端发送 FIN 报文,请求关闭连接。
  2. 第二次挥手 :服务端确认收到该报文,发送 ACK 报文,但此时可能还有数据未发送完毕。
  3. 第三次挥手 :服务端数据发送完毕后,也发送一个 FIN 报文,请求断开连接。
  4. 第四次挥手 :客户端确认收到服务端的 FIN 报文,发送 ACK 报文,连接彻底关闭。

客户端在发送最终 ACK 后,通常会进入 TIME_WAIT 状态,等待 2 倍的最大报文生存时间(MSL),防止失效报文影响后续连接。

四次挥手的原因:

  • TCP 是全双工协议,双方都需要显式关闭自己的发送通道
  • 服务端可能仍需发送数据,因此 ACK 和 FIN 分开发送更灵活可靠
  • TIME_WAIT 阶段可确保旧连接中的延迟报文不会影响新的连接建立
相关推荐
儒道易行27 分钟前
【攻防实战】Redis未授权RCE联动metasploit打穿三层内网(上)
数据库·redis·网络安全·缓存
small_white_robot2 小时前
vulnerable_docker_containement 靶机
运维·网络·web安全·网络安全·docker·容器
belldeep3 小时前
网络安全:FOFA , Hunter 是什么?
网络·安全·fofa·hunter
腾视科技5 小时前
安全驾驶 智在掌控|腾视科技ES06终端,为车辆运营赋能
大数据·人工智能·科技·安全·大模型
cliproxydaili5 小时前
Cliproxy与Adspower指纹浏览器:跨境业务安全与效率的双重引擎
运维·服务器·安全
zandy10116 小时前
2025企业级智能体平台架构拆解: 如何安全合规下构筑强大的护城河
大数据·安全·架构·智能体
小小小CTFER12 小时前
理论题] 2025 年 “技耀泉城” 海右技能人才大赛网络安全知识竞赛题目(二)
算法·安全·web安全
杭州泽沃电子科技有限公司1 天前
烧结工序的“隐形守护者”:在线监测如何成为钢铁制造的关键支柱
物联网·安全·智能监测
卓豪终端管理1 天前
从发现到阻止:构建自动化内部威胁防线的核心步骤
网络·安全·web安全