您现在的位置是:首页 >学无止境 >TCP/IP概述网站首页学无止境

TCP/IP概述

沉默monkey 2026-06-25 00:01:05
简介TCP/IP概述


一、概述

TCP/IP (transmission control protocol / interneet protocol, 传输控制协议/互联网协议)提供端到端的数据传输,负责数据的封装寻址,传输,路由和交付,确保数据在网络的可靠传输,可以分为应用层,传输层,网络层,网络接口层

二、应用层

提供用户接口,处理应用数据,主要协议有:http,ftp, dns, (smtp/IMAP/POP3)电子邮件服务, ssh/telnet 远程登录

三、传输层

控制不同主机间不同进程之间的通信 (host:port <-> host:port)

TCP transmission control protocol

  1. 可靠性:通过序号,保证数据有序传输,通过确认机制丢包重传
  2. 面向连接:通信前三次握手(确保双方具备通信能力,确保数据能可靠传输)
  3. 流量控制: 接收端根据自身能力调节发送端速度
  4. 拥塞控制:防止网络过载

UDP user datagram protocol 用户数据包协议

  1. 无连接:无需建立连接直接发送
  2. 不保证可靠性:数据可能丢失或乱序
  3. 适用于实时应用:如视频通话,在线游戏,DNS查询

四、网络层

负责数据的寻址和路由
IP:负责数据包寻址和转发
ICMP:网络诊断 如ping (判断目标主机是否可达) traceroute(追踪数据包的路径)
ARP: IP 地址解析为MAC地址
RIP/OSPF/BGP 路由协议,决定数据如何传输

五、网络接口层

负责数据帧的封装和物理传输

六、TCP/IP流程

  1. 浏览器键入网址
  2. 应用层,发起http请求
  3. 传输层,将http封装成TCP数据段
  4. 网络层,将TCP数据段封装成IP数据包,并寻找目标服务器的IP
  5. 链路层:将IP数据包封装成帧

七、流量控制

基于反馈的流量控制,接收方主动通知发送自己的接收能力,发送方根据反馈调整发送速率, 滑动窗口协议规定发送方不能超过窗口大小,接收方告诉发送方它还能接收多少数据

  1. 发送方维护一个发送窗口,决定可以发送的数据量
  2. 接收方维护一个接收窗口,决定可接收的数据量,并通过ack确认已收到的数据
  3. 窗口会动态调整,接收端忙,窗口会缩小,接收端空闲,窗口会增大

八、拥塞控制

  1. 慢启动 初始窗口很小,接口指数增长
  2. 拥塞避免,窗口线性增长
  3. 快重传,如果连续收到3个相同的ack,说明接收方没收到某个包,立即重传
  4. 快恢复,收到3个重复ack,立即重传,同时窜口设置为原先一半

九、ICMP

用于网络诊断与错误报告,不会传输用户数据,而是辅助IP提供通信状态信息
用途:

  1. 探测主机可达 ping
  2. 路由追踪 traceroute
  3. 报告错误 主机不可达,路由失败
  4. 流量控制 源抑制

消息类型:
echo request ping请求
echo reply ping应答
destination unreachable 无法到达目标
source quench 源抑制 控制发送速率
redirect 重定向
time exceeded traceroute追踪路径超时

十、ARP

ARP负责将IP与Mac地址进行映射

  1. 发送ARP请求 (广播)
  2. 目标设备回应ARP请求(单播)
  3. 源设备缓存MAC地址
  4. 查看arp缓存 ip neigh
  5. arp攻击: 恶意设备伪造MAC地址,劫持数据
  6. ARP广播风暴:大量ARP请求导致网络拥塞

十一、RIP

用于IP路由

  1. 路由表初始化,包含本地IP与下一跳目的网络
  2. 广播路由更新,采用520UDP端口广播自己的路由表
  3. 邻居路由器接收RIP广播,更新自身路由表
  4. 跳数超过15,认为不可达

十二、VLAN

VLAN是二层交换机划分逻辑子网的技术,一个VLAN是一个广播域, 能减少广播流量,不同VLAN通信需要经过路由器等,防止未经授权访问

十二、QUIC

基于UDP的新型传输层协议

  1. 客户端发送QUIC请求(包含TLS1.3握手和初始数据)
  2. 服务端返回QUIC响应(包含TLS证书和加密数据)
  3. 后续数据交互基于UCP
    避免三次握手,采用零往返时间建立连接,内置TLS1.3加密,多路复用,允许多个数据流在同一连接并行传输,解决HTTP/2队头阻塞

十三、DNS

输入域名

  1. 浏览器检查本地DNS缓存
  2. 操作系统检查本地DNS缓存
  3. 根DNS服务器返回顶级域DNS
  4. TLD服务器返回权威DNS服务器
  5. 权威DNS服务器返回IP地址

十四、DHCP

自动分配IP地址,无需手动配置IP地址,子网掩码,网关和DNS

  1. 客户端广播寻找DNCP服务器
  2. DHCP提供可用IP地址
  3. 客户端请求DHCP分配的IP
  4. 服务器确认IP分配
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。