> For the complete documentation index, see [llms.txt](https://legacy.cookielau.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://legacy.cookielau.com/archives/5-junior2/2-computernetwork/1-intro.md).

# 概述

## 网络计算机定义与分类

### 计算机网络的定义

**计算机网络(Computer network)的简单定义** 计算机网络是一些**互相连接**的、**自治**的计算机的**集合**\
1\. 相互连接\
2\. 可以独立工作\
3\. 不止一台

**网络的功能**\
1\. 连通性\
2\. 资源共享

**计算机网络与分布式系统(Distributed system)**

* 在分布式系统中，一组独立的计算机展现给用户的是一个**统一的整体**，就好像是一个系统似的，常通过覆盖一层专用软件，如: Hadoop    &#x20;
* **计算机网络不具有这种统一性**  &#x20;
* 分布式系统建立在网
* 络之上  &#x20;

### 计算机网络的分类

**按照作用范围分类(或覆盖范围)**

* 广域网 WAN (Wide Area Network)   &#x20;
  * 作用范围几十到几千公里  &#x20;
* 局域网 LAN (Local Area Network)  &#x20;
  * 通常局限在一个建筑物或一个单位内  &#x20;
* 城域网 MAN (Metropolitan Area Network) &#x20;
  * 作用范围通常是一个城市 &#x20;
  * 常采用局域网技术建立 &#x20;
* 个人区域网 PAN (Personal Area Network) &#x20;
  * 在个人工作区域实现各种电子设备互联的网络，采用无线技术(如蓝牙)，因此又称为 WPAN(Wireless PAN)，作用范围大约在10m左右  &#x20;

## 计算机网络与Internet发展概述

### 计算机发展的几个阶段

1. 主机-终端时代 (20世纪50-60年代)    &#x20;
   * 计算机以大型机的形式存在 &#x20;
   * 终端通过专用线路或通信网络连接搭配主机上，实现多用户远程共享主机计算资源 &#x20;
   * 终端只负责从键盘发送数据和接受数据到屏幕，实际的处理和计算全都在大型主机上进行  &#x20;

     ![](/files/-M15Gox0gIS8FKwNVH_e)
2. 主机互连时代 (20世纪60-70年代)  &#x20;
   * 需求：不同地区之间的主机需要共享、传输数据     &#x20;
   * 1969年，ARPARENT 建立  &#x20;

     ![](/files/-M15Gox9GvNAPGnSZ3sQ)   &#x20;
3. 网络时代 (20世纪70年代之后)  &#x20;
   * 1978年，TCP/IP协议诞生 &#x20;
   * 1983年，ARPANET采用TCP/IP协议  &#x20;
   * 加州大学伯克利分校推出内含TCP/IP的BSD UNIX  &#x20;
   * 80年代起，以IBM PC为代表的微机大量普及，微机之间的互连需求推动了局域网技术的发展  &#x20;
   * 随后局域网间互连需求又推动了Internet的快速发展  &#x20;
     * 网络的发展以通信技术为基础，反过来又带动通信技术发展，例如：光纤通信使得宽带网络互连成为可能，网络带来的数据传输需求又带动光纤通信的传输速率不断提高  &#x20;

### Internet发展概述

1. 第一阶段：ARPANET->网际互联发展  &#x20;
2. 第二阶段：建成三级结构的Internet  &#x20;
3. 第三阶段：形成多层次ISP结构的Internet &#x20;
   * IP地址、域名管理等均交由专门企业运营 (开始商用) &#x20;

注意：**Internet** 特指现在的互联网(又称为**因特网**)，**internet** 指多个网络互连形成的网络

## 计算机网络的性能

### 性能指标

* 速率  &#x20;
  * 传送数据的速率，即数据速率(data rate)或比特率(bit rate)  &#x20;
  * 单位：b/s，也写为bps (bit per second)，kb/s、Mb/s、Gb/s、…  &#x20;
  * 注意： b 是 bit 位，B 是 Byte 字节，1字节=8位 &#x20;
* 带宽(bandwidth)   &#x20;
  * 两种含义 &#x20;
    1. 原本指某个信号具有的频带宽度，如电话线上信号带宽为3.1kHz(300—3.4kHz)；通信线路允许通过的信号频带范围称为线路带宽  &#x20;
    2. 计算机网络中，指通信线路传送数据的能力，即最高数据率  &#x20;
* 吞吐量(throughput) &#x20;
  * 单位时间内通过网络的数据量(能传输多少数据) &#x20;
  * **常用作实际网络的测量指标** &#x20;
* 时延(delay, latency) &#x20;
  * 指数据从网络(或链路)一端传送到另一端所需的时间，又称为延迟 &#x20;
  * 网络时延由多个部分组成 &#x20;
    * 发送时延 => $发送时延=\frac{数据块长度(b)}{发送速率(b/s)}$ &#x20;
    * 传播时延 => $传播时延=\frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)}$ &#x20;
    * 处理时延 &#x20;
    * 排队时延 &#x20;
* 时延带宽积 &#x20;

  ![](/files/-M15GoxIoOX9CPAKP-hI) &#x20;

  * 又称为以比特为单位的链路长度 &#x20;
* 往返时间(RTT—Round-Trip Time) &#x20;
  * 又称为环路时延、回路时延 &#x20;
  * 从发送方发送数据开始，到发送方收到来自接收方的应答所经历的时间 &#x20;
  * 注意:
    1. 往返时间不是单向的时延\*2，因为来回走的通路可能不同 &#x20;
    2. 往返时间更容易获取，因为单向的时延需要通过卫星同步两台主机的时钟 &#x20;
    3. 往返时间更有实际意义，因为真实通讯中大多是相互应答 &#x20;
* 利用率 &#x20;
  * 用来评价一个信道或者一条线路的利用效率 &#x20;
  * 包括信道利用率和网络利用率  &#x20;
  * 信道利用率指出**某信道**有百分之几的时间是被利用的(有数据通过)  &#x20;
  * 网络利用率则是**全网络的信道**利用率的**加权平均值** &#x20;

### 非性能指标

* 费用 &#x20;
* 质量 &#x20;
* 标准化 &#x20;
* 可靠性 &#x20;
* 可扩展性和可升级性 &#x20;
* 易于管理和维护 &#x20;

## 计算机网络体系结构

### 网络体系结构概述

* 计算机网络的体系结构(architecture)是计算机网络的**各层及其协议的集合** &#x20;

  OSI体系结构  ---------------  &#x20;

  ```
          | 7 应用层     | Application layer     
          ---------------    
          | 6 表示层     | Presentation layer   
          ---------------  
          | 5 会话层     | Session layer    
          ---------------  
          | 4 传输层     | Transport layer  
          ---------------  
          | 3 网络层     | Network layer   
          ---------------  
          | 2 数据链路层 | Data link layer  
          ---------------  
          | 1 物理层     | Physical layer   
          ---------------  
  ```
* 分层原因：实现信息在网络中传输非常复杂，分层是将复杂问题**简单化、局部化**的有效方法  &#x20;
  * 传输介质：有线(铜线、光纤)、无线 &#x20;
  * 连接到网络中的计算机硬软件平台各不相同 &#x20;
  * 通信双方距离可长可短(可能需经过多条链路) &#x20;
  * 需保证信息传输的可靠性、顺序性 &#x20;
  * 需满足各种应用的需要：文件传输、电子邮件、实时多媒体、… &#x20;
* 典型的网络体系结构 &#x20;
  * 1974年，IBM SNA(System Network Architecture)   &#x20;
  * 1977年，ISO开始制订OSI(Open System Interconnection Reference Model)，1983年形成标准 &#x20;
    * 影响最为广泛 &#x20;
  * TCP/IP &#x20;

### 七层或五层协议的体系结构

* OSI 体系结构 --- 7层  &#x20;
* TCP/IP 体系结构 --- 4层 --- 当前使用特别广泛，是Internet的核心 &#x20;
  1. 会话层和表示层**合并在应用层**中
  2. 网络层称为**网际层(Internet layer)** &#x20;
  3. 数据链路层和物理层合并为一个**网络接口层(Host2Network layer)**，只需要设计不同的接口就能满足不同的传输介质的需求(e.g. 为铜线设计一个铜线专用接口，为光纤设计一个光纤专用接口) &#x20;
  4. 在底层的物理层不是特别完整，只负责定义接口，而物理层的细节没有涉及 (\*) &#x20;
* 五层协议结构 --- 5层
  * 将 OSI 的七层和 TCP/IP 的四层进行结合  &#x20;
  * 只采用了 TCP/IP 的 1. 会话层和表示层**合并在应用层**中 &#x20;
* 数据在各层之间的传输过程\
  ![](/files/-M15GoxQn5AzAlnNDMzH)
  * 每一层的 $H\_n$ 是每一层加的头(Header) &#x20;
  * 协议数据单元PDU(Protocol Data Unit)：对等层次之间传送的数据单位(即文件大小多少为1个单位进行传输) &#x20;
  * 有些文献将多个层次的协议称为协议栈(protocol stack)  &#x20;

### 实体、协议、服务和服务访问点

* **实体(entity)**：任何可发送或接收信息的**硬件或软件进程**，在网络结构中**不规定**某一层是由软件实现还是硬件实现 &#x20;
* **协议(protocol)**：控制两个**对等实体**进行通信的规则的集合，如定义文件传输的单位大小，字节编码等规则  &#x20;
* 在协议的控制下，两个对等实体间的通信使得本层能够向上一层提供**服务(service)**；要实现本层协议，还需要使用下层所提供的服务 &#x20;
* 同一系统相邻两层的实体进行交互的地方，称为**服务访问点SAP(Service Access Point)**   &#x20;
* 协议对上层的服务用户是透明的，服务用户只能看到下层提供的服务  (\*)

  ![](/files/-M15GoxVkN6Vo-c_Nuwg)  &#x20;
* 协议的设计不但要考虑正常情况，**还要考虑各种异常情况**，较为复杂 &#x20;
* 网络协议的经典问题：两军问题(蓝白军问题) &#x20;
  * 蓝军中间的白军使得信息的交换不可靠  &#x20;
  * 在现实中也是假设大部分的信息是可靠的，但也存在着误码率等因素 &#x20;
  * 在日常的环境下，如果信道的可靠性降得比较低，就不能保证信息的传输 &#x20;

### TCP/IP 的体系结构

![](/files/-M1JIVw1l207_T_6thIf)\
![](/files/-M1JIVw4WGoRCrm_DJhW)

## 网络标准化

### 概述

* 标准化对于计算机网络至关重要，为了实现不同厂商的软硬件互联，大家必须遵守统一的标准   &#x20;
* 标准分类 &#x20;
  * 法定标准：由权威机构制定的正式的、合法的标准，如：国字号 &#x20;
  * – 事实标准：某些公司的产品在竞争中占据了主流，时间长了，这些产品中的协议和技术就成了标准。如TCP/IP，大家都按照他的标准去适配生产。 &#x20;

### 标准化组织

* ITU-T &#x20;
  * 国际电信联盟电信委员会(International Telecommunication Union)，前身是国际电报电话咨询委员会(CCITT) &#x20;
  * 各国按条约建立的机构，主要成员是各国的邮电部，主要负责制定**电信行业**的标准。 &#x20;
* ISO &#x20;
  * 国际标准化组织(International Standard Organization) &#x20;
  * **义务性组织**，主要成员是各大公司技术人员、大学教授、政府官员。 &#x20;
  * 负责各行业的标准制定，主要贡献：ISO/OSI RM &#x20;
* IEEE &#x20;
  * 电子、电气学工程师学会(The Institute of Electrical and Electronics Engineers) &#x20;
  * **专业性组织**，学术团体，主要贡献：IEEE 802系列局域网标准。 &#x20;
* IETF &#x20;
  * Internet工程任务组(Internet Engineering Task Force) &#x20;
  * 负责Internet相关标准的制定 &#x20;
  * 标准形式：RFC xxxx，RFC指Request for Comment，可以免费下载 &#x20;
