TCP/IP协议新手友好详解
前言
整理了一下TCP/IP协议架构。
图片引用了一些学习以及网络上的ppt。
一、层次结构:四层模型拆解
TCP/IP协议栈采用四层结构,从下到上依次为:
应用层(HTTP/FTP/SMTP)
传输层(TCP/UDP)
网际层(IP/ICMP)
网络接口层(以太网/WiFi)
形象比喻:如同快递系统,应用层是包裹内容,传输层是快递单号,网际层是地址标签,网络接口层是卡车运输。
二、各层核心功能与协议
层级 | 功能 | 常见协议 | 类比说明 |
---|---|---|---|
应用层 | 处理应用程序逻辑 | HTTP/HTTPS/FTP/DNS | 相当于手机APP的操作界面 |
传输层 | 端到端数据传输 | TCP/UDP | 类似物流公司的运输方式选择(陆运/空运) |
网际层 | 路由与寻址 | IP/ICMP/ARP | 类似快递分拣中心的地址识别系统 |
网络接口层 | 物理传输 | 以太网/WiFi/PPP | 相当于高速公路和运输车辆 |
典型过程示例(发送邮件):
- 应用层:SMTP协议打包邮件内容
- 传输层:TCP协议添加端口号(如25)
- 网际层:IP协议封装源/目的IP地址
- 网络接口层:以太网封装MAC地址
三、TCP vs UDP核心对比
维度 | TCP(传输控制协议) | UDP(用户数据报协议) |
---|---|---|
连接性 | 需要三次握手建立连接 | 无连接直接发送 |
可靠性 | 100%数据可达(自动重传) | 可能丢包(如视频卡顿) |
速度 | 较慢(需确认机制) | 极快(无需等待确认) |
应用场景 | 网页/邮件/文件传输 | 直播/语音通话/在线游戏 |
典型协议 | HTTP/HTTPS/FTP | DNS/SNMP/QUIC |
四、IP地址与端口号
IP地址(网络身份证):
- IPv4格式:
192.168.1.1
(总量43亿,已枯竭) - IPv6格式:
2001:0db8:85a3::8a2e:0370:7334
(理论可给每粒沙子分配地址)
端口号(应用门牌号):
- 知名端口:0-1023(HTTP-80/HTTPS-443)
- 注册端口:1024-49151(MySQL-3306)
- 动态端口:49152-65535(临时使用)
组合示例:
192.168.1.100:8080
表示局域网内某主机的Tomcat服务
五、数据传输全过程图解
封装过程(发送数据):
应用数据 → 添加TCP头 → 添加IP头 → 添加MAC头 → 比特流
解封装过程(接收数据):
比特流 → 去掉MAC头 → 去掉IP头 → 去掉TCP头 → 应用数据
六、三次握手与四次挥手
建立连接(三次握手):
- 客户端发送SYN(我要连接)
- 服务器回复SYN+ACK(同意连接)
- 客户端发送ACK(确认连接)
断开连接(四次挥手):
- 主动方发送FIN(我要断开)
- 被动方回复ACK(收到请求)
- 被动方发送FIN(同意断开)
- 主动方回复ACK(确认断开)
七、网络设备角色定位
路由器 vs 交换机:
设备 | 工作层级 | 核心功能 | 类比说明 |
---|---|---|---|
路由器 | 网际层 | 跨网络路由/NAT转换 | 高速公路立交桥 |
交换机 | 网络接口层 | MAC地址转发 | 小区内部道路系统 |
防火墙 | 传输/应用层 | 流量过滤 | 安全检查站 |
典型组网示例:
[电脑]--(交换机)--[路由器]--(互联网)│[打印机]