计算机网络(deepseek总结版)

应用层

一、应用层核心作用与架构


1. 核心定位


   - 用户接口层:直接为应用程序(如浏览器、邮件客户端)提供网络服务接口。
   - 通信规则定义:规定应用程序间通信的报文格式(如HTTP请求头)和交互流程(如DNS解析步骤)。

2. 典型架构模式  

客户端-服务器(C/S)

 
     - 特点:服务器长期运行,客户端按需请求(如Web服务器与浏览器)。
     - 优势:集中管理资源,安全性高;缺点:服务器可能成为性能瓶颈。

对等网络(P2P)

 
     - 特点:节点既是客户端又是服务器(如BitTorrent文件共享)。
     - 优势:高扩展性,降低服务器压力;缺点:管理复杂,安全性低。
   - 混合架构:C/S用于登录验证,P2P用于数据传输(如Zoom会议)。

 二、核心协议详解


 1. HTTP/HTTPS


- HTTP基础特性  
  - 无状态协议:每次请求独立(依赖Cookie/Session维持状态)。
  - 无连接(早期)→ 持久连接(HTTP/1.1 Keep-Alive):复用TCP连接减少延迟。
  - 请求方法:  
    - `GET`(获取资源)、`POST`(提交数据)、`PUT`(更新资源)、`DELETE`(删除资源)。
  - 状态码分类:  
    - `2xx`:成功(如200 OK);`3xx`:重定向(如301永久重定向);  
    - `4xx`:客户端错误(如404未找到);`5xx`:服务器错误(如500内部错误)。
  
- HTTPS安全机制  
  - 加密流程:  
    1. 非对称加密协商对称密钥(TLS握手)。  
    2. 对称加密传输数据(如AES)。  
  - 核心功能:数据加密、身份验证(CA证书)、完整性校验(哈希算法)。

- HTTP版本演进  
  - HTTP/1.1:管线化(Pipelining,但队头阻塞未解决)。  
  - HTTP/2:二进制分帧、多路复用、头部压缩、服务器推送。  
  - HTTP/3:基于QUIC协议(UDP实现可靠传输),解决TCP队头阻塞。

 2. DNS域名系统


- 核心功能:将域名(如`www.example.com`)解析为IP地址。
- 解析流程(以访问`www.example.com`为例):  
  1. 浏览器缓存 → 本地Host文件 → 本地DNS服务器(递归查询)。  
  2. 本地DNS依次迭代查询:根DNS → 顶级域(`.com`)→ 权威DNS(`example.com`)。
- 记录类型:  
  - `A`记录(IPv4地址)、`AAAA`记录(IPv6地址)。  
  - `CNAME`记录(别名,如将`blog.example.com`指向`cdn.example.net`)。  
  - `MX`记录(邮件服务器地址,优先级控制)。  
- 优化技术:  
  - DNS缓存:各级DNS服务器缓存结果(TTL控制过期时间)。  
  - 负载均衡:通过DNS轮询或地理就近解析(如CDN)。

 3. 电子邮件协议


SMTP(简单邮件传输协议)  


  - 功能:发送邮件(客户端→服务器、服务器间传输)。  
  - 端口:25(明文)、465(SMTPS加密)。  
  - 限制:仅支持7位ASCII文本(依赖MIME协议编码附件)。
  


POP3(邮局协议第3版)  


  - 功能:从服务器下载邮件到本地后删除服务器副本。  
  - 端口:110(明文)、995(POP3S加密)。  
  - 缺点:无法多设备同步(邮件被下载后删除)。

- IMAP(互联网消息访问协议)  
  - 功能:在服务器管理邮件(创建文件夹、标记已读等)。  
  - 端口:143(明文)、993(IMAPS加密)。  
  - 优势:支持多设备同步,适合长期存储。

 

 4. FTP文件传输协议


- 双连接模式:  
  - 控制连接:TCP 21端口(传输命令,如`USER`、`PASS`)。  
  - 数据连接:  
    - 主动模式:服务器主动从20端口连接客户端(可能被防火墙阻止)。  
    - 被动模式:客户端连接服务器的随机端口(更安全)。
- 传输模式:  
  - ASCII模式:文本文件(自动转换换行符)。  
  - 二进制模式:图像、压缩文件等(原样传输)。

 

 5. P2P与CDN


- P2P技术(如BitTorrent):  
  - Tracker服务器:协调节点,记录文件分布信息。  
  - 分片传输:文件被分割为多个块,节点间相互交换。  
- CDN(内容分发网络):  
  - 原理:将静态资源(如图片、视频)缓存到边缘节点。  
  - 工作流程:通过DNS解析将用户请求导向最近的CDN节点。

 三、高级技术与安全


1. 实时通信协议  
   - WebSocket:基于HTTP Upgrade头建立全双工连接(如在线聊天室)。  
   - MQTT:轻量级发布/订阅模型(物联网场景)。

2. 身份验证与授权  
   - OAuth 2.0:第三方应用授权(如“用微信登录”)。  
   - JWT(JSON Web Token):自包含Token,避免Session存储。

3. Web安全威胁与防护  
   - XSS(跨站脚本攻击):过滤用户输入,启用Content-Security-Policy。  
   - CSRF(跨站请求伪造):使用Token验证请求来源。  
   - 中间人攻击:强制HTTPS,HSTS头部防止降级。

4. 缓存优化策略  
   - 浏览器缓存:`Cache-Control`(max-age)、`ETag`(资源指纹)。  
   - CDN缓存:缓存静态资源,减少源站压力。

 四、协议选择与设计原则


1. 关键性能指标  
   - 带宽:影响传输速率(如视频流需要高带宽)。  
   - 延迟:实时应用(如在线游戏)要求低延迟。  
   - 抖动:数据包到达时间波动(影响语音通话质量)。

2. 协议选择场景  
   - 可靠性优先:选择TCP(如HTTP、SMTP)。  
   - 实时性优先:选择UDP(如DNS、QUIC)。  
   - 穿透防火墙:基于HTTP的隧道技术(如WebSocket)。

 五、学习工具与实验建议


1. 抓包分析:使用Wireshark观察HTTP请求、DNS查询报文。  
2. 动手实验:  
   - 搭建HTTP服务器(如Nginx),配置缓存策略。  
   - 编写简单的SMTP客户端发送邮件。  
3. 在线工具:  
   - DNS查询:`dig`命令或在线DNS工具(如https://dnschecker.org)。  
   - HTTPS证书检查:SSL Labs(https://ssllabs.com)。

传输层

 

一、传输层核心功能


 
核心作用
 
端到端通信:为不同主机上的应用进程提供逻辑通信(区别于网络层的“主机到主机”通信)。
 
多路复用与分解:通过端口号(Port)区分同一主机上的不同应用进程。
 
可靠性保障(仅TCP):确保数据无差错、不丢失、不重复、按序到达。
 
核心协议
 
TCP(传输控制协议):面向连接、可靠传输、流量控制、拥塞控制。
 
UDP(用户数据报协议):无连接、不可靠传输、低延迟、无拥塞控制。
 


二、TCP协议详解


 
1. TCP核心特性
 
面向连接:通信前需通过三次握手建立连接,通信后通过四次挥手释放连接。
 
可靠传输:通过确认应答(ACK)、超时重传、滑动窗口等机制实现。
 
全双工通信:双方均可同时发送和接收数据。
 
面向字节流:数据被视为无结构的字节序列(需应用层处理消息边界)。
 
2. TCP报文格式

3. TCP连接管理
 
三次握手建立连接:
 
客户端 → 服务器: SYN=1, seq=x 
 
服务器 → 客户端: SYN=1, ACK=1, seq=y, ack=x+1 
 
客户端 → 服务器: ACK=1, seq=x+1, ack=y+1 
 
目的:协商初始序列号,防止历史连接干扰。
 
四次挥手释放连接:
 
主动关闭方 → 被动关闭方: FIN=1, seq=u 
 
被动关闭方 → 主动关闭方: ACK=1, ack=u+1 
 
被动关闭方 → 主动关闭方: FIN=1, seq=v, ACK=1, ack=u+1 
 
主动关闭方 → 被动关闭方: ACK=1, seq=u+1, ack=v+1 
 
TIME_WAIT状态:主动关闭方等待2MSL(最大报文段生存时间),确保对方收到ACK。
 
4. TCP可靠性机制
 
确认应答(ACK):接收方每收到一个报文段,必须返回ACK(可累积确认)。
 
超时重传:发送方未收到ACK时,重传数据(动态计算超时时间RTO)。
 
滑动窗口协议:
 
发送窗口:允许未确认的连续字节范围。
 
接收窗口:根据缓冲区剩余空间动态调整(流量控制)。
 
5. TCP流量控制
 
机制:通过接收方的 窗口大小 字段动态调整发送速率。
 
零窗口探测:当接收方窗口为0时,发送方定期发送探测报文。
 
6. TCP拥塞控制
 
核心目标:避免网络过载,实现公平性。
 
四大算法:
 
慢启动(Slow Start):窗口大小从1 MSS(最大报文段)开始指数增长。
 
拥塞避免(Congestion Avoidance):窗口线性增长(每RTT增加1 MSS)。
 
快重传(Fast Retransmit):收到3个重复ACK时立即重传,无需等待超时。
 
快恢复(Fast Recovery):重传后窗口减半,直接进入拥塞避免阶段。
 
拥塞窗口(cwnd):动态调整发送速率,实际窗口取 min(cwnd, 接收方窗口) 。
 
 
三、UDP协议详解
 
1. UDP核心特性
 
无连接:无需建立连接,直接发送数据。
 
不可靠传输:不保证数据到达、不保证顺序、无重传机制。
 
简单高效:头部仅8字节(TCP头部至少20字节),无连接管理开销。
 
2. UDP报文格式

3. UDP适用场景

 

实时性要求高:如音视频传输(容忍部分丢失,但要求低延迟)。

 

简单查询/响应:如DNS查询(一次往返即可完成)。

 

广播/多播:如DHCP、流媒体直播。

 

 

四、TCP vs UDP对比

五、端口与套接字

 

端口号(Port)

 

范围:16位整数(0~65535)。

 

分类:

 

周知端口(0~1023):如HTTP(80)、HTTPS(443)、FTP(21)。

 

注册端口(1024~49151):由IANA分配给应用服务(如MySQL默认3306)。

 

动态端口(49152~65535):客户端临时使用。

 

套接字(Socket)

 

定义:IP地址 + 端口号(如 192.168.1.100:8080 ),唯一标识网络中的一个端点。

 

编程接口:如Linux的 sys/socket.h ,支持TCP/UDP通信。

 

 

六、高级主题

 

QUIC协议

 

基于UDP:在应用层实现可靠传输,解决TCP队头阻塞问题(HTTP/3底层协议)。

 

特性:0-RTT连接、连接迁移(IP变化时保持连接)。

 

NAT穿透

 

问题:内网主机通过NAT访问外网时端口映射问题。

 

解决方案:STUN协议、TURN中继服务器、ICE框架。

 

TCP粘包与拆包

 

原因:TCP面向字节流,不维护消息边界。

 

解决方案:固定长度、分隔符、长度字段(如HTTP头部 Content-Length )。

 

 

七、常见问题

 

为什么TCP需要三次握手?

 

防止已失效的连接请求报文突然传送到服务器,导致资源浪费(防止“历史连接”)。

 

TIME_WAIT状态的作用是什么?

 

确保最后一个ACK到达对方;等待期间让网络中残余报文失效,避免新旧连接混淆。

 

UDP如何实现可靠传输?

 

在应用层添加确认和重传机制(如QUIC、TFTP协议)。

 

### 离线安装 DeepSeek 的步骤及所需文件 对于希望在无网络环境下部署 DeepSeek-R1 模型的情况,预先准备所需的全部资源至关重要。由于官方文档提及可以通过命令 `ollama run deepseek-r1:7b` 来在线获取模型及相关依赖[^1],但在离线环境中无法直接应用此方法。 #### 准备阶段 为了实现离线环境下的顺利安装: - **提前下载模型文件**:需在一个有互联网访问权限的设备上运行上述提到的命令,确保完成整个下载过程,并记录下所有被下载至本地存储位置的数据集与配置文件。 - **复制必要组件**:将这些数据连同任何生成的日志或额外说明一并转移到目标机器上的相同路径之下;注意保持原有的目录结构不变以便后续操作能够正常识别所转移的内容。 #### 配置环境 考虑到不同平台间可能存在差异,在另一台计算机(即计划用于离线使用的那台)上应按照如下方式设置工作区: ```bash # 假设已经拥有先前保存好的压缩包形式的环境副本 tar -xvf environment_backup.tar.gz /path/to/destination/ cd /path/to/destination/ # 如果之前创建过特定本的 Conda 虚拟环境,则恢复它 conda env create -f environment.yml ``` 这里假设用户已事先备份好了完整的开发环境,包括但不限于 Python 解释器及其第三方库等要素。如果采用的是类似于 Ollama 这样的专用工具链,则应当遵循其官方指南来进行相应的迁移处理。 #### 启动服务 一旦确认所有的前置条件均已满足,即可尝试启动应用程序实例: ```bash # 替换为实际存放预训练权重的位置 export MODEL_PATH=/absolute/path/to/deepseek-r1 # 执行启动指令模拟联网情况下的行为模式 ollama serve --model-path $MODEL_PATH ``` 以上流程基于已有经验总结而出,具体实施细节可能会因实际情况而有所调整。值得注意的是,虽然提供了关于如何手动搬运资料的方法论指导,但对于某些高度定制化的解决方案而言,仍建议参照各自产品的最新手册寻求最权威的操作指引[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值