MINIBLOG

Blog Note Tags Links About
Home Search
Mar 4, 2026
miniyuan

计算机网络概述


计算机网络基础

从计算到计算机网络

计算机网络是用通信设备将计算机通过通信线路连接起来,在计算机之间传输数据(信息)的系统。

  • 计算:数据存储、处理的电子设备
  • 网络:数据(信息)共享的系统
  • 核心功能:计算资源及数据的共享

典型应用:文件传输、电子邮件、网络新闻、即时通信、信息检索、导航定位、电子商务、网络教育等。

计算机网络的组成要素

要素功能典型设备/技术
通信设备负责转发数据网络接口卡(NIC)、调制解调器、中继器、交换机、路由器
通信线路计算机与设备/计算机之间的连接有线(双绞线、光纤)或无线(无线电波)
通信协议数据交换的规则、标准或约定TCP/IP、IEEE 802.3(以太网)、IEEE 802.11(WiFi)

互联网

定义

互联网(Internet) 特指全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,采用 TCP/IP 协议族 作为通信规则,前身是美国的 ARPANET。

注:

  • internet(互连网):通用名词,泛指多个计算机网络互连而成的网络(可使用任何协议)
  • Internet(互联网/因特网):专用名词,特指遵循TCP/IP标准的全球互联网

互联网的发展

阶段时间特征结构
第一阶段1969-1983从ARPANET到互联网单个网络
第二阶段1983-1990s三级结构互联网树结构
第三阶段1990s-至今多层次ISP结构在树结构的基础上,连接不同节点

互联网的组成

  • 边缘部分(端系统/主机):个人电脑、智能手机、服务器、网络摄像头
  • 核心部分(路由器/网络)

端系统通信方式

方式英文特征应用场景
客户/服务器C/S (Client/Server)服务请求方/服务提供方明确区分,服务器被动等待Web浏览、邮件服务
对等连接P2P (Peer-to-Peer)不区分服务请求方和提供方,每个主机既是客户又是服务器文件共享、区块链

Socket API 编程接口

核心原语:

原语语义
SOCKET创建新的通信端点
BIND关联本地地址与套接字
LISTEN待命接收连接请求(阻塞等待)
CONNECT主动向服务器发起连接
ACCEPT被动建立与客户端的连接
SEND发送数据至对端
RECEIVE接收对端数据
CLOSE关闭连接,释放资源

客户端流程:

socket() → getaddrinfo() → connect() [阻塞] → send() → recv() [阻塞] → close()

服务器端流程:

socket() → getaddrinfo() → bind() → listen() → accept() [阻塞] → recv() → send() → close()

接入网

定义:接入网(Access Network)是从用户端系统到互联网中第一个路由器(边缘路由器)之间的网络。

接入技术介质典型速率应用场景
DSL电话线下行<24Mbps,上行<2.5Mbps家庭宽带
Cable同轴电缆下行30Mbps,上行2Mbps家庭宽带(HFC)
以太网双绞线/光纤10Mbps-10Gbps企业、校园
WiFi (WLAN)无线11-450Mbps建筑物内部
蜂窝网络(3G/4G/LTE)无线1-10Mbps广域无线接入

核心网与分组交换

核心功能:由大量网络和路由器组成,为边缘部分提供连通性和交换服务。

三种交换技术对比:

特性电路交换报文1交换分组2交换
建立连接需要(专用物理通路)不需要不需要
传输单位比特流直达整个报文分组(Packet)
存储转发否是是
时延小(建立连接后)大(几分钟到几小时)较小
线路利用率低(独占)高高(统计复用)
适用场景连续大量数据传输早期电报互联网(突发数据)

分组交换的关键机制:

  • 发送端:报文 → 划分数据段 → 添加首部 → 分组 → 发送
  • 接收端:接收分组 → 去除首部 → 还原数据段 → 重组报文

路由器工作原理:

  1. 接收分组 → 放入缓存
  2. 查找转发表(Forwarding Table)→ 确定输出端口
  3. 转发分组 → 发送到下一跳

计算机网络体系结构

计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合。实现 (implementation) 是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。

分层思想

分层的目的:将庞大复杂的问题转化为若干较小的局部问题,降低复杂度,易于研究和处理。

分层的好处:

  • 各层独立,灵活性好
  • 结构上可分割,易于实现和维护
  • 促进标准化工作

分层的缺点:

  • 降低效率
  • 功能可能在不同层次重复出现(额外开销)

两种国际标准

标准性质状态
OSI/RM(开放系统互连参考模型)法律上的国际标准(de jure)理论完整但市场化失败
TCP/IP事实上的国际标准(de facto)广泛应用,获得市场认可

OSI 失败原因:

  • 缺乏商业驱动力
  • 协议实现复杂,运行效率低
  • 制定周期太长
  • 层次划分不合理,功能重复

网络协议的组成要素

  • 语法:数据与控制信息的结构或格式。
  • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步:事件实现顺序的详细说明。

五层协议体系结构

综合OSI和TCP/IP的优点,采用五层协议体系结构:

+---------------------+
|  5  Application     |  ← HTTP, FTP, SMTP, DNS
+---------------------+
|  4  Transport       |  ← TCP, UDP
+---------------------+
|  3  Network         |  ← IP, ICMP, OSPF, BGP
+---------------------+
|  2  Data Link       |  ← Ethernet, PPP
+---------------------+
|  1  Physical        |  ← raw bit stream
+---------------------+

ATNDP:

Always Think New, Dream Passionately.

A Tiny Ninja Does Parkour.

与OSI七层和TCP/IP四层的对应关系:

OSI七层TCP/IP四层五层结构数据单位
应用层
表示层应用层应用层报文(Message)
会话层
传输层传输层传输层报文段(Segment)
网络层网际层网络层数据报/分组(Datagram/Packet)
数据链路层网络接口层数据链路层帧(Frame)
物理层物理层比特(Bit)

数据封装与解封装过程

发送端(自上而下封装):

应用层数据
↓ + 应用层首部 = 应用层PDU
传输层
↓ + 传输层首部 = 报文段
网络层
↓ + 网络层首部 = IP数据报/分组
数据链路层
↓ + 链路层首部和尾部 = 帧
物理层
↓ 比特流传输(可能会封装一些物理层的控制信息)
物理媒体

接收端(自下而上解封装):

比特流
↓ 去除物理层信号
数据链路层
↓ 去除首尾部,提取数据部分
网络层
↓ 去除首部,提取数据部分
传输层
↓ 去除首部,提取数据部分
应用层
↓ 去除首部,交给应用进程

注:

  1. 路由器在转发分组时最高只用到网络层而没有使用传输层和应用层。
  2. 在 TCP/IP 体系结构中,现有的一些应用已经可以直接使用更底层了。如直接在 IP 层发送 ICMP 的 Ping, Traceroute;直接在网络接口层的 Wireshark

核心概念

概念定义
实体(Entity)任何可发送或接收信息的硬件或软件进程
协议(Protocol)控制两个对等实体进行通信的规则的集合(水平的)
服务(Service)下层为上层通过层间接口提供的功能(垂直的)
服务访问点(SAP)同一系统相邻两层实体交互的地方(逻辑接口)
服务原语上层使用下层服务时使用的接口命令
PDU(协议数据单元)对等层次之间传送的数据单位
SDU(服务数据单元)层与层之间交换的数据单位

计算机网络的性能指标

主要性能指标

指标定义单位/说明
速率数据的传送速率(数据率/比特率)bit/s(bps),kbps, Mbps, Gbps
带宽频域带宽(频带宽度)或时域带宽(最高数据率)Hz 或 bit/s
利用率信道利用率或网络利用率0-1

注:

  • 时域带宽与频域带宽之间有一定关系。
  • 信道利用率和网络利用率是不同的。
  • 对于静态网络,窗口大小就应该设置为 BDP,小于 BDP 时发送端的网络带宽无法被充分利用;大于 BDP 时,下层的缓冲区开始堆积,产生排队延迟。

计算公式

概念符号公式说明
单向时延OWDOWDOWDttrans+tque+tproct_{\text{trans}} + t_{\text{que}} + t_{\text{proc}}ttrans​+tque​+tproc​数据从发送端到接收端的传输时间(不含发送时延)
往返时间RTTRTTRTTtsend+OWDsender+treceiver+OWDreceivert_{\text{send}} + OWD_{\text{sender}} + t_{\text{receiver}} + OWD_{\text{receiver}}tsend​+OWDsender​+treceiver​+OWDreceiver​从发出数据第一个比特到收到确认第一个比特的总时间
发送时延tsendt_{\text{send}}tsend​L/vsendL / v_{\text{send}}L/vsend​,LLL 为帧长,vsendv_{\text{send}}vsend​ 为链路速率数据帧全部比特推入链路所需时间
传播时延ttranst_{\text{trans}}ttrans​d/vtransd / v_{\text{trans}}d/vtrans​,ddd 为信道长度,vtransv_{\text{trans}}vtrans​ 为传播速率信号在介质上传播的时间
处理时延tproct_{\text{proc}}tproc​—结点处理数据的时间(如查表、校验)
排队时延tquet_{\text{que}}tque​—数据在队列中等待转发的时间
时延带宽积BDPBDPBDPRTT×vsendRTT \times v_{\text{send}}RTT×vsend​在途数据量,即已发出但未确认的最大比特数
吞吐量ThroughputThroughputThroughputL/RTTL / RTTL/RTT平均每秒成功传输的有效数据量
信道利用率UUUThroughput/vsend=tsend/RTTThroughput / v_{\text{send}} = t_{\text{send}} / RTTThroughput/vsend​=tsend​/RTT链路被有效占用的时间比例

重要区分:

  • 发送时延:发生在发送器内部,与传输信道长度无关
  • 传播时延:发生在传输媒体上,与信号发送速率无关
  • 服务时延:包含发送时延、传播时延、处理时延

高速链路(高带宽链路):提高的是数据发送速率(减小发送时延),而非比特传播速率,类似更多的车道,上高速更快。

时延与路由器利用率的关系

公式:

D=D01−ρD = \frac{D_0}{1 - \rho}D=1−ρD0​​

其中:

  • DDD:网络当前时延,即 tsend+ttrans+tproc+tquet_{\text{send}} + t_{\text{trans}} + t_{\text{proc}} + t_{\text{que}}tsend​+ttrans​+tproc​+tque​
  • D0D_0D0​:网络空闲时延,即 tsend+ttrans+tproct_{\text{send}} + t_{\text{trans}} + t_{\text{proc}}tsend​+ttrans​+tproc​
  • ρ\rhoρ:路由器利用率,新定义的一个玩意,和前面的信道利用率不同。

推导:

假设数据包到达路由器服从泊松过程,到达率为 λ\lambdaλ,单位时间到包数为 λ\lambdaλ。 数据包的服务时延服从指数分布,服务率为 μ\muμ,每个包服务时间为 1/μ1/\mu1/μ。 定义路由器利用率为单位时间内有效服务时间,也即 ρ=λ/μ\rho = \lambda / \muρ=λ/μ.

考虑传输中的队列情况,系统中的包数(状态)为 kkk(包括正在被服务的包)时的概率记为 PkP_kPk​,则系统到达稳态时,由于流入某状态的概率应当等于流出该状态的概率:

λPk=μPk+1,  k≥0\lambda P_k = \mu P_{k+1}, \; k \ge 0λPk​=μPk+1​,k≥0

平均队列长度为:

L=∑k=0∞kPk=ρ1−ρL = \sum^{\infty}_{k=0} kP_k = \frac{\rho}{1-\rho}L=k=0∑∞​kPk​=1−ρρ​

由 Little’s Law:

L=λ⋅DL = \lambda \cdot DL=λ⋅D

化简得:

D=1μ⋅11−ρ=D01−ρD = \frac{1}{\mu} \cdot \frac{1}{1-\rho} = \frac{D_0}{1-\rho}D=μ1​⋅1−ρ1​=1−ρD0​​

结论:当利用率接近1时,时延急剧增加。(路由器)利用率并非越高越好。


计算机网络的分类

按作用范围分类

类别英文作用范围典型技术/应用
个人区域网PAN~10米蓝牙(Bluetooth)
局域网LAN~1公里WiFi, 以太网, 电力线网络
城域网MAN~5-50公里Cable, DSL, 蜂窝网络
广域网WAN几十到几千公里大型ISP, VPN
互联网Internet全球因特网

注: 若中央处理机之间的距离非常近(如仅 1 米的数量级甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络。

按使用者分类

类别定义特点
公用网(Public Network)按规定交费即可使用的网络面向公众,如电信网络
专用网(Private Network)为特殊业务工作需要建造的网络特定机构内部使用,如军队、铁路网络

计算机网络的历史

互联网发展时间线

时间事件意义
1961-1972早期分组交换原理Kleinrock排队论,Baran军事网,ARPANET诞生(1969,4个节点)
1972-1980网络互联,新网络出现ALOHAnet(1970),Cerf & Kahn提出网络互联架构(1974),以太网诞生(1976)
1980-1990新协议,网络激增TCP/IP部署(1983),DNS定义(1983),TCP拥塞控制(1988)
1990-2000s商业化,万维网Web诞生(1993),Mosaic/Netscape浏览器,P2P文件共享,即时通讯
2005-至今移动互联网,云计算~10亿主机,数十亿手机,宽带普及,社交网络,云服务

计算机网络在中国的发展

时间事件
1980年铁道部开始计算机联网实验
1989年11月第一个公用分组交换网CNPAC建成
1994年4月20日中国用64kbit/s专线正式连入互联网,被国际正式承认
1994年5月中国科学院高能物理研究所设立第一个万维网服务器
1994年9月中国公用计算机互联网CHINANET启动

中国五大公用计算机网络:

  1. CHINANET(中国电信互联网)
  2. UNINET(中国联通互联网)
  3. CMNET(中国移动互联网)
  4. CERNET(中国教育和科研计算机网,1994年,首个IPv4主干网)
  5. CSTNET(中国科学技术网)

计算机网络的标准

主要标准化组织

组织领域典型标准
ITU(国际电信联盟)电信G.992(ADSL), H.264/MPEG4, 3G/4G/5G
3GPP移动通信GSM, GPRS, EDGE, UMTS, LTE, 5G
IEEE(电气和电子工程师协会)通信802.3(以太网), 802.11(WiFi), 802.16e(WiMAX)
IETF(互联网工程任务组)互联网RFC文档(HTTP, DNS, TCP/IP等)
W3C(万维网联盟)Web技术HTML5, CSS

互联网标准化流程

RFC(Request for Comments):互联网标准的文档形式

成为标准的阶段(简化后):

  1. 互联网草案(Internet Draft):有效期6个月,还不是RFC
  2. 建议标准(Proposed Standard):成为RFC文档
  3. 互联网标准(Internet Standard):分配STD编号

RFC文档类型:

  • 建议标准、互联网标准
  • 历史的(Historical)、实验的(Experimental)、提供信息的(Informational)

重要RFC示例:

协议RFC编号年份
UDPRFC 7681980
IPRFC 7911981
ICMPRFC 7921981
TCPRFC 7931981
SMTPRFC 8211982
ARPRFC 8261982
FTPRFC 9591985
DNSRFC 1034/10351987
HTTP/1.0RFC 19451996
BGP-4RFC 16541994

计算机网络的安全

安全威胁与攻击方式

最初设计的互联网:相互信任的群体接入透明网络,数据明文传输,协议公开。

各层安全考虑:

  • 应用层
  • 传输层(TCP/UDP)
  • 网络层(IP)
  • 链路层(Ethernet)
  • 物理层

典型案例

案例攻击方式描述应对措施
1. 数据嗅探Packet Sniffing混杂模式网卡捕获所有经过的以太网帧(如Wireshark)数据加密
2. IP欺骗IP Spoofing以信任地址发送分组,伪装身份用户认证
3. 恶意软件Malware病毒(自我复制)、蠕虫(被动接收执行)、僵尸网络(Botnet)杀毒软件、防火墙
4. DDoS攻击分布式拒绝服务利用虚假流量占用资源,多点攻击难以追踪流量清洗、源地址验证

DDoS攻击特点:

  • 采用分布式多点攻击(突破单点带宽限制)
  • 假冒源IP(网络基于目的IP转发,不检查源IP)
  • 利用响应报文远大于查询报文的协议放大攻击效果

Footnotes

  1. 报文指 Message ↩

  2. 分组指 Packet ↩

目录
  • 计算机网络基础
    • 从计算到计算机网络
    • 计算机网络的组成要素
  • 互联网
    • 定义
    • 互联网的发展
    • 互联网的组成
      • 端系统通信方式
      • Socket API 编程接口
    • 接入网
    • 核心网与分组交换
  • 计算机网络体系结构
    • 分层思想
    • 两种国际标准
    • 网络协议的组成要素
    • 五层协议体系结构
    • 数据封装与解封装过程
    • 核心概念
  • 计算机网络的性能指标
    • 主要性能指标
    • 计算公式
    • 时延与路由器利用率的关系
  • 计算机网络的分类
    • 按作用范围分类
    • 按使用者分类
  • 计算机网络的历史
    • 互联网发展时间线
    • 计算机网络在中国的发展
  • 计算机网络的标准
    • 主要标准化组织
    • 互联网标准化流程
  • 计算机网络的安全
    • 安全威胁与攻击方式
    • 典型案例
  • Footnotes
© 2026 miniyuan. All rights reserved.
Go to miniyuan's GitHub repo