一、计算机网络体系结构

计算机网络概念

计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

  • 互联:互联互通;
  • 自治:无主从关系,互相连通但不能彼此控制;

几个概念:

  1. 计算机网络:由若干结点和连接这些结点的链路组成。结点可以是计算机、集线器、交换机、路由器等,链路可以是有线链路、无线链路;主要功能:数据通信、资源共享
  2. 互连网:多个计算机网络通过路由器互相连接而成;内部可以使用任何通信协议;
  3. 互联网:译为因特网。,特质全世界最大的计算机网络,由各大ISP和国际机构组建;使用TCP/IP协议族作为通信规则

ISP:互连网服务提供商(Internet Service Provider),如移动、电信、联通

集线器、交换机用于连接同一网络内的不同结点;路由器用于连接不同的网络;

家用路由器的概念不同于路由器,家用路由器=路由器+交换机+其他功能;

计算机网络组成

从组成部分看

  1. 硬件
    1. 主机,即端系统,如电脑、手机、物联网设备
    2. 通信设备:如集线器、交换机、路由器
    3. 通信链路:如网线、光纤、同轴电缆
  2. 软件:方便用户使用,实现资源共享。如Email、聊天软件、网盘
  3. 协议:规定计算机网络中的通信规则,由硬件、软件共同实现。如网络适配器+软件 实现网络通信协议

从逻辑功能看

  1. 资源子网:计算机网络中运行应用程序,向用户提供可共享的硬件、软件和信息资源的部分。主要由连接到互连网上的主机组成;
  2. 通信子网:计算机网络中负责计算机间信息传输的部分。即把计算机和其他用户装置连在遗器的所有通信设备和介质的总称。主要由 通信链路+通信设备+协议 组成。

注:主机北部实现信息传输的网络适配器、底层协议属于通信子网的范畴。

从工作方式看

  1. 边缘部分:直接为用户服务(通信、资源共享),主要由连接到互连网上的主机和其软件组成;
  2. 核心部分:为边缘部分提供服务(连通性、交换服务),由大量网络和连接这些网络的路由器组成

计算机网络的功能

  • 数据通信:实现计算机之间数据传输。是最基本,最重要的功能;
  • 资源共享:包括硬件、软件、数据资源;
  • 分布式处理:将某个复杂任务分配给网络中的多台计算机处理;
  • 提高可靠性:网络中各台计算机互为替代机;
  • 负载均衡:网络中各台计算机共同分担繁重工作;
  • 其他:满足社会需求和生活需求;

数据交换技术

现代计算机网络技术诞生于20世纪60年代,APRAnet项目。数据通信的发展史:5世纪起兴起邮政网络,1830s出现电报网络,1870s出现电话网络。现代计算机发展初始,需要分析电报网络和电话网络的优缺点。

电话网络

电话网络采用电路交换技术,电路交换的步骤如下:

  1. 建立连接(尝试占用通信资源)
  2. 通信(一直占用通信资源)
  3. 释放连接(归还通信资源)

电路交换的优点:通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输速率高;

电路交换的确缺点:建立/释放连接,需要额外的时间开销;通信过程中线路被双方独占,录用率低;线路分配的灵活性差;交换结点不支持“差错控制”(无法发现传输过程中发生的数据错误);

电路交换更适用于低频次、大量地传输数据。但计算机之间的数据传输往往是“突发式”的传输,往往是高频词,少量传输数据。

电报网络

电报网络采用报文交换技术,报文交换采用存储转发思想,把传送的数据单元先存储进中间结点,再根据目的地址转发至下一结点。

报文交换的优点:

  • 通信前无需建立连接;
  • 数据以“报文”为单位被交换结点间“存储转发”,通信线路可以灵活分配;
  • 在通信时间内,两个用户无需独占一整条物理线路,相比于电路交换,线路利用率高;
  • 交换结点支持“差错控制”;

报文交换的缺点:

  • 报文不定长,不方便存储转发管理;
  • 长报文的存储转发时间开销大、缓存开销大;
  • 长报文容易出错,重传代价高;

分组交换

计算机网络可以参考报文交换技术,但需要解决报文不定长的问题。所以出现了分组交换技术。把不定长的报文分成固定长度的组,包含:源地址、目的地址、分组号等。

在现代计算机网络技术中,路由器就是典型的分组交换机。

分组交换的优点:

  • 通信前无需建立连接;
  • 数据以“分组”为单位被交换结点间“存储转发”,通信线路可以灵活分配;
  • 在通信时间内,两个用户无需独占一整条物理线路,相比于电路交换,线路利用率高;
  • 交换结点支持“差错控制”;

相较于报文交换,分组交换改进了如下问题:

  1. 分组定长,方便存储转发管理;
  2. 分组的存储转发时间开销小、缓存开销小;
  3. 分组不易出错,重传代价低;

分组交换的缺点:

  • 相比于报文交换,分组交换的控制信息占比增加了;
  • 相比于电路交换,依然存在存储转发时延;
  • 报文被拆分为多个组,传输过程中可能出现失序、丢失等问题,增加处理的复杂度;

电路交换 报文交换 分组交换
完成传输所需时间 最少(不包括建立/释放连接耗时) 最多 较少
存储转发时延 较高 较低
通信前是否需要建立连接
缓存开销
是否支持差错控制 不支持 支持 支持
报文数据有序到达
是否需要额外的控制信息 是(控制信息占比大)
线路分配灵活性 不灵活 灵活 非常灵活
线路利用率 非常高

计算机网络分类

按分布范围分类:

  1. 广域网(WAN:Wide Area Network)
  2. 城域网(MAN:Metropolitan Area Network):并入局域网范围探讨
  3. 局域网(LAN:Local Area Network):采用以太网技术
  4. 个域网(PAN:Personal Area Network):通常是用无线技术将个人设备连接起来,因此也称为无线个域网(WPAN)

如今局域网几乎都是采用以太网技术实现,因此“以太网”已经成为“局域网”代名词。局域网通过路由器接入广域网。

按传输技术分类:

  • 广播式网络:当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组。所有的无线网络都是“广播式”;
  • 点对点网络:数据只会从发送方“点对点”发送到接收方,精准送达。比如路由器转发的数据分组;

按拓扑结构分类:

  • 总线形结构:数据“广播式”传输,存在“总线争用”的问题;比如集线器连接的设备;
  • 环形结构:数据“广播式”传输,通过“令牌”解决总线争用问题,令牌顺着环形依次传递,拿到令牌者可以使用总线。如流行于上个世纪的令牌环网局域网技术;
  • 星形结构:由中央设备实现数据的“点对点”传输,不存在“总线争用”问题,如以太网交换机连接的设备;
  • 网状结构:数据通过各中间结点逐一存储转发;属于“点到点”传输。如众多路由器构建的广域网。

按使用者分类:

  • 公用网———向公众开放的网络
  • 专用网——仅供某个组织内部使用的网络

按传输介质分类

  • 有线网络,如光纤、网线;
  • 无线网络:如5G、WiFi、卫星;

计算机网络性能指标

速率、带宽、吞吐量

信道:表示向某一方向传送信息的通道,信道通信线路。一条融信线路在逻辑上往往对应一条发送信道和一条接收信道。

速率:指连接到网络上的节点在信道上传输数据的速率。也称数据率、比特率、数据传输速率。

速率单位:bit/s、b/s、bps (每秒传输多少比特)

要注意B和b表示的不一样,1B=8b,有时候单位也会使用Bps、B/s;

要注意区分计网中的常用数量前缀和计组、操作系统中的数量前缀。

  • 计网:千:k()、兆:M()、吉:G()、太:T();
  • 计组、操作系统等表示容量:K()、M()、G()、T();

带宽是指某信道所能传送的最高数据率。单位也是bps;

在通信原理中,带宽也表示某信道允许通过的信号频带范围,单位Hz;

节点间通信实际所能到达的最高速率,由宽带、节点性能共同限制。不是带宽高了,传输速率就一定高。

吞吐量指单位时间内通过某个网络(或接口、信道)的实际数据率。单位也是b/s、B/s、MB/s;

吞吐量受带宽限制、受复杂的网络负载情况影响;

时延、时延带宽积、往返时延

时延:指数据(一个报文或分组、甚至比特)从网络(或链路)的一端传送到另一端所需的时间。也称延迟。

  • 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
    • 发送时延:又名传输时延,节点将数据推向信道所花的时间;
    • 传播时延:电磁波在信道中传播一定距离所花的时间;
    • 处理时延:被路由器处理所花的时间,比如分析首部、查找存储转发表;
    • 排队时延:数据排队进入、排队发出路由器所花的时间

要注意区分传播时延传输时延(发送时延)

时延带宽积 = 传播时延 带宽。单位是bit(s bit/s)

时延带宽积表达的含义是一条链路中,已经从发送端发出但是还没有到达接收端的最大比特数。表现类似容量的概念。

往返时延:表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。

往返时延 = t2 + t3 + t4 + t5. 不包括t1

信道利用率

信道利用率表示某个信道有百分之多少的时间是有数据通过的。

信道利用率 =

信道利用率不能太低,浪费资源;但信道利用率也不能太高,容易导致网拥塞。

分层结构

分层设计思想:将庞大而复杂的问题,转化为若干较小的局部问题。分层设计并不唯一,可以根据实际需求增加或减少层次。

网络的体系结构是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应该完成的功能的精确定义(不涉及实现)。实现是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题。体系结构是抽象的,实现的具体的。

计算机常见的有三种网络体系结构:OSI参考模型(法律上的标准)、TCP/IP模型(事实上的标准)、五层模型(教学用标准)。

在计算机网络的分层结构中,第n层中的活动元素(软件+硬件)通常称为第n层实体。不同机器上的同一层称为对等层,同一层的实体称为对等实体。

网络协议是控制对等实体之间进行通信协议的规则的集合,是水平的。

接口即同一节点内相邻两层实体交换信息的逻辑接口,又称为服务访问点(SAP)。服务是指下层为紧邻的上层提供的功能调用,是垂直的。

数据组成:

  • 协议数据单元(PDU):对等层次之间传送的数据单位。第n层的PDU记为n-PUD;
  • 服务数据单元(SDU):为完成上一层实体所要求的功能而传递的数据。第n层的SDU记为n-SDU;
  • 协议控制信息(PCI):控制协议操作的信息。第n层的PCI记为n-PCI;
  • 三者关系:n-SDU + n-PCI = n-PUD = (n+1)SDU

协议的三要素: 1. 语法:数据与控制信息的格式。例如协议控制信息占几个字节、每个字节什么含义; 2. 语义:即需要发出何种控制信息、完成各种动作及做出何种应答; 3. 同步(或时序):执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如发送方发完数据后需要立即应答,如果10s内没收到传输成功的应答,需要再次发送数据;

OSI参考模型

(口诀:物联网叔会使用)

层级 定义 功能 传输单位
物理层 实现相邻节点之间比特的传输 1.需要定义电路接口参数(如形状、尺寸、引脚数)
2.需定义传输信号的含义、电气特征
比特
数据链路层 确保相邻节点之间的链路逻辑上无差错 1.差错控制:检查+纠错,或 检错+丢弃+重传;
2.流量控制:协调两个节点的速率;
网络层 把分组从源节点转发到目的节点 1.路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径
2.分组转发:将"分组"从合适的端口转发出去;
3.拥塞控制:发现网络拥塞,并采取措施缓解拥塞
4.网际互联:实现异构网络互联
5.其他功能,包括差错控制、流量控制、连接建立与释放(确保分组有序不重复到达)、可靠传输管理(消息回应);
分组
传输层 实现端到端的通信,即进程到进程的通信,这里的端指端口 1.复用和分用:发送端几个高层实体复用一条低层的连接,在接收端进行分用;
2.其他功能:差错控制、流量控制、连接的建立于释放、可靠传输管理
报文段
会话层 管理进程间会话 会话管理:采用检查点机制,当通信失效时从检查点继续恢复通信(断点续传) 报文
表示层 解决两台主机上信息表示不一致的问题 数据格式转换,如编码转换、压缩/解压缩、加密/解密 报文
应用层 实现特定的网络应用 功能繁多,根据应用需求设计 报文

注意:数据链路层、网络层、传输层都有差错控制,这几个不一样。数据链路层传输数据的单位是"帧"、网络层传输数据的单位是"分组"、传输层传输数据的单位是报文段。一个分组由很多帧组成,报文段可以拆分成很多组。数据链路层确保帧的差错控制,网络层确保分组之间的差错控制,传输层确保报文段之间的差错控制。

TCP/IP模型

(口诀:接网叔用)

  • TCP/IP模型把表示层和会话层删去了,因为这两个层次并不是所有网络应用都需要的。如果某些应用需要数据格式转换、会话管理功能,就交给应用层的特定协议去实现。

  • TCP/IP在低层没有采用OSI中的物理层+数据链路层的模型,因为网络硬件种类繁多,不应该有过多的限制。TCP/IP模型低层为网络接口层,实现相邻节点间的数据传输(为网络层传输"分组")。但具体怎么传输不做规定。这使得T=CP/IP网络体系结构具有更强的灵活性、适应性。

  • TCP/IP模型的网络层去掉了OSI模型中网络层的差错控制、流量控制、可靠传输管理功能,传输层直接把报文段传递给网络层,由网络层拆分成不同分组,传递给网络接口层,再由网络接口层拆分为多个帧传输。因此网络接口层不完全可靠,因为它收到的分组有可能有差错。。这就是TCP/IP模型网络层特点:只保证尽最大能力交付数据,不保证数据可靠。网络层是网络的核心部分,这么做的优点是降低网络层功能复杂度,负载降低,造价降低。

  • TCP/IP模型中传输层来负责差错控制、流量控制、连接建立与释放、可靠传输管理,由它来保证传输的正确性、可靠性。TCP/IP模型把保证数据正确的功能全部交给传输层负责,压力给到网络的边缘部分(主机)。

OSI参考模型 TCP/IP模型
网络层 OIS网络层可以向上层提供:
1.有连接可靠的服务(虚电路);
2.无连接不可靠的服务(数据报)
TCP/IP网络层仅向上提供:无连接不可靠的服务(数据报)
传输层 OSI传输层仅可向上提供有连接的可靠的服务 TCPI/IP模型可向上层提供:
1.有连接可靠的服务(TCP协议);
2.无连接不可靠的服务(UDP协议)