一、计算机网络基础架构
1. OSI七层模型 vs TCP/IP四层模型
- OSI参考模型:理论分层(物理层→应用层)
- TCP/IP模型:实际应用简化(链路层→应用层)
2.数据封装与解封装
- 示例流程:HTTP请求 → TCP分段 → IP封装 → 以太网帧传输
- 关键概念:MTU(1500字节)、分片机制、校验和验证
二、IP协议:网络层核心
1. IP地址与寻址
- IPv4地址:32位二进制(点分十进制表示)
- IPv6地址:128位十六进制(冒号分隔格式)
- 特殊地址:
- 本地主机 (127.0.0.1)
- 私有地址(192.168.x.x / 10.x.x.x)
- 广播地址(255.255.255.255)
2. IP数据报结构
<span style="color:#1f2328"><span style="background-color:#f6f8fa"> </span></span>
plaintext复制代码版本(4bit)+头部长度(4bit)+服务类型(8bit) 总长度(16bit)+标识(16bit)+片偏移(3bit) 生存时间(8bit)+协议(8bit)+头部校验(16bit) 源IP(32bit)+目的IP(32bit) 3. NAT技术原理
- 场景:家庭路由器实现多设备共享公网IP
- 转换表:端口映射(源 IP:端口 → 公网端口)
- 类型:
- 静态NAT(固定映射)
- 动态NAT(地址池轮换)
- PAT(端口多路复用)
三、TCP协议:可靠传输保障
1. 三次握手建立连接
- SYN:客户端发送同步包(初始序列号=1000)
- SYN-ACK:服务器确认并携带自身序列号(2000)
- ACK:客户端确认服务器序列号(序号=2001)
2. 四次挥手释放连接
- FIN:客户端完成数据发送
- ACK:服务器确认收到关闭请求
- FIN:服务器完成数据发送
- ACK:客户端确认最终关闭
3. 滑动窗口机制
- 窗口大小:cwnd(拥塞窗口)动态调整
- 流量控制:rwnd(接收窗口)通告可用空间
- 拥塞控制:
- 慢启动(指数增长)
- 拥塞避免(线性增长)
- 快重传(3个重复ACK触发)
- 快恢复(减半窗口)
四、HTTP协议:应用层基石
1. HTTP请求报文结构
<span style="color:#1f2328"><span style="background-color:#f6f8fa"> </span></span>
http复制代码GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html <空行> <请求体> 2. HTTP响应报文结构
<span style="color:#1f2328"><span style="background-color:#f6f8fa"> </span></span>
http复制代码HTTP/1.1 200 OK Date: Mon, 01 Jan 2023 00:00:00 GMT Server: nginx/1.18 Content-Type: text/html Content-Length: 1234 <html内容> 3. HTTP方法详解
| 方法 | 描述 | 安全级别 | 幂等性 |
|---|---|---|---|
| 获取 | 获取资源 | 安全 | 是 |
| 发布 | 提交数据 | 非安全 | 否 |
| 放 | 更新资源 | 非安全 | 是 |
| 删除 | 删除资源 | 非安全 | 是 |
| 选项 | 预检请求 | 安全 | 是 |
4. HTTP状态码分类
- 1xx:信息响应(Continue)
- 2xx:成功响应(200 OK / 201 Created)
- 3xx:重定向(301 Moved Permanently / 302 Found)
- 4xx:客户端错误(400 Bad Request / 403 Forbidden)
- 5xx:服务器错误(500 Internal Server Error / 503 service unavailable)
五、协议组合实战应用
1. Web页面加载全流程
- DNS查询:将域名解析为IP地址
- TCP连接:通过三次握手建立通道
- HTTP请求:GET方法获取HTML文件
- 资源加载:并行请求CSS/JS/图片
- TCP断开:完成传输后释放连接
2. API接口设计规范
- RESTful原则:
- 使用名词表示资源(/users/123)
- HTTP方法对应作(POST创建/PUT更新)
- 状态码明确结果(201 Created / 204 No Content)
- 安全性增强:
- OAuth 2.0授权
- HTTPS加密传输
- CORS跨域配置
3. 网络故障排查工具
- ping:测试ICMP连通性(检查网络卡是否通畅)
- traceroute:追踪路由路径(定位延迟节点)
- netstat:查看TCP连接状态(SYN_SENT/ESTABLISHED)
- Wireshark:抓包分析协议细节(观察TCP重传机制)
六、现代网络技术演进
1. HTTP/2改进点
- 二进制分帧:减少解析开销
- 多路复用:单一连接并发请求
- 头部压缩:HPACK算法压缩冗余字段
- 服务端推送:预加载关联资源
2. HTTP/3革命性变化
- QUIC协议:基于UDP+TLS1.3
- 0-RTT连接:快速恢复会话
- 流控改进:独立流避免队头阻塞
3. IPv6部署挑战
- 地址表示:xxxx:xxxx:xxxx:xxxx格式
- 过渡技术:双栈(DS-SS)/隧道(6to4)
- 优势:无限地址空间/自动配置/更安全
七、学习路线建议
-
基础阶段:
- 搭建本地Web服务器(Apache/Nginx)
- 使用Postman调试HTTP接口
- 抓包分析微信/抖音的网络请求
-
进阶提升:
- 实现简易TCP聊天程序(Python socket)
- 研究HTTPS证书颁发流程(CA机构)
- 对比负载均衡算法(轮询/加权/IPhash)
-
实战项目:
- 开发断点续传下载器(多线程+TCP)
- 构建反向代理服务器(Nginx配置)
- 优化电商网站资源加载(CDN+缓存)
📚
一、计算机网络基础架构
1. OSI七层模型 vs TCP/IP四层模型
- OSI参考模型:理论分层(物理层→应用层)
- TCP/IP模型:实际应用简化(链路层→应用层)
2.数据封装与解封装
- 示例流程:HTTP请求 → TCP分段 → IP封装 → 以太网帧传输
- 关键概念:MTU(1500字节)、分片机制、校验和验证
二、IP协议:网络层核心
1. IP地址与寻址
- IPv4地址:32位二进制(点分十进制表示)
- IPv6地址:128位十六进制(冒号分隔格式)
- 特殊地址:
- 本地主机 (127.0.0.1)
- 私有地址(192.168.x.x / 10.x.x.x)
- 广播地址(255.255.255.255)
2. IP数据报结构
<span style="color:#1f2328"><span style="background-color:#f6f8fa"> </span></span>
plaintext复制代码版本(4bit)+头部长度(4bit)+服务类型(8bit) 总长度(16bit)+标识(16bit)+片偏移(3bit) 生存时间(8bit)+协议(8bit)+头部校验(16bit) 源IP(32bit)+目的IP(32bit) 3. NAT技术原理
- 场景:家庭路由器实现多设备共享公网IP
- 转换表:端口映射(源 IP:端口 → 公网端口)
- 类型:
- 静态NAT(固定映射)
- 动态NAT(地址池轮换)
- PAT(端口多路复用)
三、TCP协议:可靠传输保障
1. 三次握手建立连接
- SYN:客户端发送同步包(初始序列号=1000)
- SYN-ACK:服务器确认并携带自身序列号(2000)
- ACK:客户端确认服务器序列号(序号=2001)
2. 四次挥手释放连接
- FIN:客户端完成数据发送
- ACK:服务器确认收到关闭请求
- FIN:服务器完成数据发送
- ACK:客户端确认最终关闭
3. 滑动窗口机制
- 窗口大小:cwnd(拥塞窗口)动态调整
- 流量控制:rwnd(接收窗口)通告可用空间
- 拥塞控制:
- 慢启动(指数增长)
- 拥塞避免(线性增长)
- 快重传(3个重复ACK触发)
- 快恢复(减半窗口)
四、HTTP协议:应用层基石
1. HTTP请求报文结构
<span style="color:#1f2328"><span style="background-color:#f6f8fa"> </span></span>
http复制代码GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html <空行> <请求体> 2. HTTP响应报文结构
<span style="color:#1f2328"><span style="background-color:#f6f8fa"> </span></span>
http复制代码HTTP/1.1 200 OK Date: Mon, 01 Jan 2023 00:00:00 GMT Server: nginx/1.18 Content-Type: text/html Content-Length: 1234 <html内容> 3. HTTP方法详解
| 方法 | 描述 | 安全级别 | 幂等性 |
|---|---|---|---|
| 获取 | 获取资源 | 安全 | 是 |
| 发布 | 提交数据 | 非安全 | 否 |
| 放 | 更新资源 | 非安全 | 是 |
| 删除 | 删除资源 | 非安全 | 是 |
| 选项 | 预检请求 | 安全 | 是 |
4. HTTP状态码分类
- 1xx:信息响应(Continue)
- 2xx:成功响应(200 OK / 201 Created)
- 3xx:重定向(301 Moved Permanently / 302 Found)
- 4xx:客户端错误(400 Bad Request / 403 Forbidden)
- 5xx:服务器错误(500 Internal Server Error / 503 service unavailable)
五、协议组合实战应用
1. Web页面加载全流程
- DNS查询:将域名解析为IP地址
- TCP连接:通过三次握手建立通道
- HTTP请求:GET方法获取HTML文件
- 资源加载:并行请求CSS/JS/图片
- TCP断开:完成传输后释放连接
2. API接口设计规范
- RESTful原则:
- 使用名词表示资源(/users/123)
- HTTP方法对应作(POST创建/PUT更新)
- 状态码明确结果(201 Created / 204 No Content)
- 安全性增强:
- OAuth 2.0授权
- HTTPS加密传输
- CORS跨域配置
3. 网络故障排查工具
- ping:测试ICMP连通性(检查网络卡是否通畅)
- traceroute:追踪路由路径(定位延迟节点)
- netstat:查看TCP连接状态(SYN_SENT/ESTABLISHED)
- Wireshark:抓包分析协议细节(观察TCP重传机制)
六、现代网络技术演进
1. HTTP/2改进点
- 二进制分帧:减少解析开销
- 多路复用:单一连接并发请求
- 头部压缩:HPACK算法压缩冗余字段
- 服务端推送:预加载关联资源
2. HTTP/3革命性变化
- QUIC协议:基于UDP+TLS1.3
- 0-RTT连接:快速恢复会话
- 流控改进:独立流避免队头阻塞
3. IPv6部署挑战
- 地址表示:xxxx:xxxx:xxxx:xxxx格式
- 过渡技术:双栈(DS-SS)/隧道(6to4)
- 优势:无限地址空间/自动配置/更安全
七、学习路线建议
-
基础阶段:
- 搭建本地Web服务器(Apache/Nginx)
- 使用Postman调试HTTP接口
- 抓包分析微信/抖音的网络请求
-
进阶提升:
- 实现简易TCP聊天程序(Python socket)
- 研究HTTPS证书颁发流程(CA机构)
- 对比负载均衡算法(轮询/加权/IPhash)
-
实战项目:
- 开发断点续传下载器(多线程+TCP)
- 构建反向代理服务器(Nginx配置)
- 优化电商网站资源加载(CDN+缓存)
220

被折叠的 条评论
为什么被折叠?



