目录
一、端口号机制
二、网络诊断工具
1. netstat命令
2. pidof工具
三、UDP协议详解
协议特征
典型应用场景
四、TCP协议深度解析
核心机制
状态转换模型
特殊状态说明
五、协议对比分析
六、开发实践要点
一、端口号机制
- 核心作用:标识主机唯一进程,结合公网IP可定位全网唯一进程
- 组成结构:2字节整数(0-65535)
- **分类标准:
- 0-1023:固定服务端口(HTTP-80/HTTPS-443/SSH-22/FTP-21)
- 1024-65535:动态分配端口
查看系统端口配置:
cat /etc/services
二、网络诊断工具
1. netstat命令
# 常用组合:
netstat -ntlp # 查看TCP监听状态
netstat -nulp # 查看UDP监听状态
2. pidof工具
pidof nginx # 获取指定进程的PID
三、UDP协议详解
协议特征
- 无连接传输
- 不可靠交付
- 固定报文结构
- 64KB数据上限
典型应用场景
- DNS解析
- 实时音视频传输
- 网络设备发现(DHCP)
四、TCP协议深度解析
核心机制
-
有序传输:字节编号系统
-
可靠性保障:
- 双向确认机制(ACK)
- 智能超时重传
- 动态窗口控制
-
连接管理:
- 三次握手建立连接
- 四次挥手终止连接
状态转换模型
服务端流程: CLOSED → LISTEN → SYN_RCVD → ESTABLISHED → CLOSE_WAIT → LAST_ACK → CLOSED
客户端流程: CLOSED → SYN_SENT → ESTABLISHED → FIN_WAIT_1 → FIN_WAIT_2 → TIME_WAIT → CLOSED
特殊状态说明
TIME_WAIT:
- 确保最后ACK送达
- 默认等待2MSL时间
- 防止旧连接数据干扰
五、协议对比分析
特性 | TCP | UDP |
---|---|---|
连接方式 | 面向连接 | 无连接 |
可靠性 | 确认重传机制 | 尽力交付 |
传输模式 | 字节流 | 数据报文 |
流量控制 | 滑动窗口 | 无 |
典型应用场景 | 网页/邮件/文件传输 | 实时视频/DNS查询 |
六、开发实践要点
- 服务端标准流程:
socket() → bind() → listen() → accept()
- 客户端连接流程:
socket() → connect()
- 数据传输注意事项:
- 双工通信特性
- 缓冲区管理策略
- 异常断开处理