avatar
文章
286
分类
16
home
archives
categories
tags
graph
about
Elian's blog page
搜索
home
archives
categories
tags
graph
about

Elian's blog page

File Transfer Protocol
发表于2026-07-10|Computer Network|ComputerNetwork•ApplicationLayer
FTP 解决什么问题将一台计算机中的文件通过网络传送到另一台计算机,是基本的网络应用需求。文件传送协议(File Transfer Protocol,FTP)是因特网上使用最广泛的文件传送协议。 FTP 提供交互式访问,允许客户指明文件类型与格式(如 ASCII 码或二进制),并允许文件具有存取权限(访问文件的用户必须经过授权并输入有效口令)。FTP 屏蔽了各计算机系统的细节,因而适用于在异构网络中任意计算机之间传送文件。 FTP 采用客户/服务器方式。FTP 客户计算机可将各种类型的文件上传到 FTP 服务器,也可以从 FTP 服务器下载文件。 FTP 的基本工作原理FTP 与其他 C/S 协议最大的不同是:它使用两条 TCP 连接。 控制连接 数据连接 服务器端口 TCP 21 主动模式通常使用 TCP 20;被动模式使用服务器临时端口 生命周期 整个 FTP 会话期间保持打开 每次文件传送时临时建立,传送完毕后释放 传送内容 FTP 命令(如...
World Wide Web
发表于2026-07-10|Computer Network|ComputerNetwork•ApplicationLayer
万维网是什么万维网(World Wide Web,WWW)并非某种特殊的计算机网络——它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用。万维网利用网页之间的超链接,将不同网站的网页链接成一张逻辑上的信息网。 万维网的核心思想很简单:用户点击链接,浏览器向对应服务器请求文档,服务器将文档返回给浏览器,浏览器渲染展示。背后的关键协议就是 HTTP(超文本传输协议)。 URL:统一资源定位符万维网上的每一个文档(网页、图片、视频等)在整个因特网范围内都有唯一的标识符——统一资源定位符 URL。 URL 的一般格式: $$\text{<协议>://<主机>:<端口>/<路径>}$$ 组成部分 说明 示例 协议 访问资源所用的应用层协议 http、https、ftp 主机 存放资源的服务器的域名或 IP 地址 www.hnust.edu.cn 端口 服务器监听的端口号(可省略,使用协议默认端口) HTTP 默认 80,HTTPS 默认...
OS Boot
发表于2026-07-10|Operating System|OperatingSystem•Overview
操作系统引导解决的问题是:按下电源后,CPU 如何从一无所有的硬件初始状态,一步步走到操作系统就绪、用户可以开始使用? 核心矛盾是一个自举问题:要加载操作系统,需要磁盘读写能力和文件系统解析能力;但这些能力本身就是操作系统才提供的。开机时内存是空的,操作系统还没运行——谁来加载操作系统? 答案是一段极小的固化程序充当起点。它只做最基础的事:从磁盘的固定位置找到下一段稍大的程序,把控制权交过去。每一段程序再找到更大、更完整的下一段,像接力一样逐级放大,直到完整的内核被装入内存并接管整台机器。 引导块引导程序的存放位置是约定好的——在磁盘的某个固定位置。这个位置称为引导块,也叫启动块。 为什么必须是固定位置 开机早期没有操作系统,ROM 中的小程序不能依赖文件系统去”按路径查找”下一段程序。它只能用最简单的规则——比如”去磁盘的第一个扇区”——找到引导程序。所以启动块、MBR、活动分区引导记录等位置都需要硬件或固件级别的约定,不能随意变动。 拥有引导块的磁盘称为启动磁盘或系统磁盘。 BIOS 引导链 ↻ + − 典型的 BIOS 引导过程: CPU 上电复位...
OS Kernel
发表于2026-07-10|Operating System|OperatingSystem•Overview
操作系统内核内核是操作系统中最基本、最核心的部分。实现内核功能的程序称为内核程序,运行在内核态。 内核态与用户态CPU 至少提供两种执行状态: 状态 权限 运行内容 内核态 可执行所有指令,访问所有内存和硬件 内核程序 用户态 只能执行非特权指令,访问受限地址空间 普通应用程序 区分两种状态是为了保护。如果任意程序都能直接操作硬件或修改内核数据结构,一个用户程序的 bug 就可能破坏整个系统。CPU 在硬件层面强制执行这一隔离——用户态程序执行特权指令会触发异常,CPU 把控制权交还给内核处理。 内核的典型功能 功能 说明 时钟管理 利用时钟中断实现计时、进程调度 中断处理 响应外部中断和异常,转入对应处理程序 原语 完成不可被中断打断的关键操作 进程管理 进程创建、撤销、调度、切换 存储器管理 内存分配、地址转换、虚拟存储 设备管理 I/O...
OS VMM
发表于2026-07-10|Operating System|OperatingSystem•Overview
虚拟机虚拟机是用软件模拟出来的计算机。它在一台物理机器上创建多个彼此隔离的执行环境,每个环境可以独立运行一个操作系统,就像独占一台真实机器一样。 VMM 负责管理这些虚拟机。VMM 也叫 Hypervisor。 虚拟化的典型用途: 服务器整合:多台虚拟机跑在同一台物理服务器上,提高硬件利用率、降低运维成本。 隔离测试:在一台机器上同时运行多个操作系统实例,彼此互不影响,适合安全研究和兼容性测试。 兼容旧系统:在新硬件上运行为旧操作系统编写的程序,无需保留老机器。 VMM 的两种类型 类型 位置 特点 第一类 VMM 直接运行在硬件上,本身就是一个精简的操作系统 管理虚拟机更直接,性能较高,常用于数据中心(如 VMware ESXi、KVM) 第二类 VMM 运行在宿主操作系统上,作为一个用户态或内核态程序 安装使用方便,常见于桌面虚拟化(如 VirtualBox、VMware Workstation) 第一类 VMM 直接面对硬件,不需要经过宿主 OS 中转,因此指令模拟和资源调度的路径更短。第二类 VMM 借助宿主 OS...
TCP Congestion Control
发表于2026-07-09|Computer Network|ComputerNetwork•TransportLayer
拥塞控制要解决的问题拥塞是网络内部的问题——路由器缓存、链路带宽、处理能力等资源不足以承载当前的通信量,导致队列溢出和大量丢包。 拥塞控制与流量控制的目标不同: 维度 流量控制 拥塞控制 要解决的问题 接收方来不及处理 网络来不及转发 范围 点对点 全局 反馈来源 接收方直接通告 rwnd 发送方通过超时、重复 ACK 等推断 拥塞控制的核心思想:试探着增加发送窗口,丢包了就减小,但不应一次砍过头。 开环控制与闭环控制从控制论的角度,拥塞控制分为两类: 开环控制 闭环控制 思路 设计阶段就保证问题不发生 运行时根据反馈动态调整 适用条件 流量特征可准确规定、性能要求可事先获得 流量特征不可准确描述、网络不提供资源预留 因特网选择 — ✅ 因特网采用闭环控制 闭环控制包含三个环节:监测拥塞(何时何地发生)→ 传递拥塞信息(传送到能采取行动的地方)→...
TCP Flow Control
发表于2026-07-09|Computer Network|ComputerNetwork•TransportLayer
TCP 流量控制TCP 流量控制的目标是:防止发送方发送太快,导致接收方接收缓存溢出而丢包。它不是解决网络拥塞,而是解决接收方的处理能力瓶颈——应用程序一时来不及从接收缓存中取走数据。 流量控制与TCP 可靠传输以及滑动窗口机制紧密配合,但解决的问题不同。可靠传输关注确认、重传和按序交付;流量控制关注接收方的缓存水位。 rwnd:接收窗口通告流量控制的基本方法是:接收方通过 TCP 首部的窗口字段,把自己接收缓存的可用空间大小通告给发送方。 这个值记为 rwnd(receiver window)。 发送方收到报文段后,从中取出确认号 ack 和窗口值 rwnd,结合拥塞窗口 cwnd 构造发送窗口: $$\text{swnd} = \min(\text{rwnd}, \text{cwnd})$$ 在仅讨论流量控制时,通常暂不考虑 cwnd,令 $\text{swnd} = \text{rwnd}$。 窗口字段为 16 bit,所以 rwnd 最大为 $2^{16}-1 = 65535$...
TCP Reliable Transmission
发表于2026-07-09|Computer Network|ComputerNetwork•TransportLayer
TCP 可靠传输TCP 可靠传输的目标是:无差错、无丢失、无重复、按序交付。为实现这一目标,TCP 采用基于字节序号的滑动窗口、累积确认、超时重传和选择确认等机制。 字节编号与累积确认字节流编号TCP 面向字节流,对发送缓存中的每一个字节分配一个 32 bit 序号。序号字段 seq 的值是本报文段数据载荷第一个字节的序号。 确认号 ACK_n 是累积确认:它表明序号 $n-1$ 及之前的所有字节都已正确按序收到,接收方期望下一个收到的是序号 $n$ 的字节。只有 ACK=1 时确认号字段才有效。 上图展示了 TCP 可靠传输的基本单位:发送方按字节序号维护发送窗口,接收方用累积确认号说明“下一个期望字节”,窗口由确认号和接收窗口共同推动。 发送窗口与三个指针TCP 的发送窗口不是固定大小,它取决于接收方通告的接收窗口 rwnd 和发送方估算的拥塞窗口 cwnd: $$\text{swnd} = \min(\text{rwnd}, \text{cwnd})$$ 为了方便描述发送窗口内各字节的状态,TCP...
TCP Connection Management
发表于2026-07-09|Computer Network|ComputerNetwork•TransportLayer
TCP 连接管理TCP 是面向连接的协议。通信双方传送数据前要建立连接,数据传输结束后要释放连接。 每个连接通常需要记录: 本端和对端的 IP 地址、端口号。 当前连接状态。 当前发送序号和接收序号。 发送缓存、接收缓存和重传队列。 发送窗口、接收窗口和相关计时器。 这些信息常放在传输控制块 TCB 中。 TCP 状态TCP 状态名用于描述连接处于建立、传输、释放过程中的哪个阶段。 常见状态含义: 状态 含义 LISTEN 服务器被动打开,等待连接请求 SYN-SENT 客户端已发送 SYN,等待服务器确认 SYN-RCVD 服务器已收到 SYN 并发送 SYN+ACK ESTABLISHED 连接已建立,可双向传输数据 FIN-WAIT-1 主动关闭方已发送 FIN,等待确认 FIN-WAIT-2 主动关闭方的 FIN 已被确认,等待对方 FIN CLOSE-WAIT 被动关闭方收到 FIN,等待本地应用关闭 LAST-ACK 被动关闭方已发送 FIN,等待最后 ACK TIME-WAIT 主动关闭方等待 2MSL...
TCP Segment
发表于2026-07-09|Computer Network|ComputerNetwork•TransportLayer
TCP 报文段TCP 为应用层提供面向连接、可靠、全双工的字节流服务。应用进程交给 TCP 的数据会先进入发送缓存,TCP 再按当前发送策略取出一段字节,加上 TCP 首部,形成 TCP 报文段。 TCP 报文段由两部分构成: TCP 首部:承载端口、序号、确认、窗口、标志位、检验和、选项等控制信息。 数据载荷:从 TCP 字节流中取出的若干字节。 TCP 的连接管理、可靠传输、流量控制和拥塞控制都依赖首部字段。先把首部字段读懂,才能读懂 TCP 的过程。 首部格式TCP 首部最小 20 B,最大 60 B。前 20 B 是固定首部,后面最多 40 B 是选项和填充。 字段 长度 含义 源端口、目的端口 各 16 bit 标识通信双方应用进程 序号 seq 32 bit 本报文段数据载荷第一个字节的序号 确认号 ack 32 bit 期望收到对方下一个字节的序号 数据偏移 4 bit TCP 首部长度,单位是 4 B 保留 6 bit 保留,通常置 0 标志位 6 bit URG ACK PSH RST SYN FIN 窗口 16...
123…29
avatar
Eliano
文章
286
分类
16
Follow Me
最新文章
CPU Structure2026-07-10
Instruction Cycle2026-07-10
Network Performance Metrics2026-07-10
Network Switching2026-07-10
CPU Modes2026-07-10
分类
  • Base Knowledge4
  • Computer Network51
  • Computer Organization28
    • Operating System3
  • Cpp3
  • Data Structure & Algorithm120
  • Design Pattern21
  • Frontend4
标签
SingletonPattern TransportLayer Sort Graph #Graph FacadePattern Shell Container NetworkLayer PrefixSum Mathematics IO ExceptionAndInterrupt FlyweightPattern Bus ProcessAndThread BridgePattern String NetworkSwitching InterfaceOrientedProgramming LinearList Frontend DynamicProgramming IteratorPattern MementoPattern Swagger TwoPointers Array InstructionSystem StrategyPattern FileSystem CSS Git CPU DataLinkLayer ComputerNetwork BuilderPattern Cache Docker Overview
归档
  • 七月 2026 111
  • 六月 2026 130
  • 四月 2026 1
  • 十一月 2025 15
  • 十月 2025 14
  • 九月 2025 6
  • 八月 2025 5
  • 七月 2025 4
网站信息
文章数目 :
286
本站总字数 :
404.5k
最后更新时间 :
©2025 - 2026 By Eliano
框架 Hexo 7.3.0|主题 Butterfly 5.3.5
All Rights Reserved.
搜索
数据加载中