计算机网络体系结构¶
约 2667 个字 预计阅读时间 13 分钟
Concept¶
一般认为,计算机网络是一个将众多分散、自治的计算机系统通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。网络由若干节点(Node)和连接这些节点的链路(Link)组成。网络之间还可以通过路由器互连,形成互连网(internet)
- 互连网,internet 泛指由多个计算机网络互连而成的计算机网络,可以使用任意的通信协议
- 互联网,Internet 专指当前最大的、开放的、由众多网络和路由器互连而成的特定计算机网络,它使用 TCP/IP 族作为通信规则
网络中的 Node 可以是计算机、集线器、交换机或路由器等
从工作方式上看,计算机网络可分为边缘部分和核心部分:
- 边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
- 核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
所谓计算机之间通信,一般指边缘部分上主机 A 的某个进程与主机 B 的另一个进程进行通信。端系统中运行的程序之间的通信方式通常可分为 C/S 和 P2P 两种。
路由器(Router)在网络核心部分起到重要作用,它对收到的分组进行存储转发来实现分组交换。为了了解分组交换的原理,我们首先学习电路交换和报文交换两个概念。
电路交换
传统电话网是最典型的电路交换网,其特点是在进行数据传输前,两个用户必须先建立一条专用的物理通信路径,并且在数据传输过程中始终独占这条线路,直到通信结束。
从通信资源分配角度来看,「交换」(switching)就是按照某种方式动态地分配传输线路的资源。在电路交换中,它的含义是把一条电话线转接到另一条电话线上,使其连通。
在通信路径建立后,两个节点之间的通信不存在存储转发耗费时间,比特流就好像在一个管道中传送。因此,电路交换的优缺点如下:
【优点】
- 通信时延小
- 有序传输
- 没有冲突,不会争用物理信道
- 实时性强
【缺点】
- 建立连接时间长
- 线路利用率低
- 灵活性差,物理通路中任意一点出现故障,就必须重新拨号建立新的连接
- 难以实现差错控制,因为中间节点不具备存储和检验数据的能力
计算机之间的数据传送往往是突发式(高频、少量),因此电路交换的线路资源利用率难以接受
报文交换
报文(Message)由用户数据加上一些额外信息封装而成,是数据交换的单位。
报文交换已经引入了存储转发技术,相邻的节点接收到报文后会将其存储,并查找自己的转发表以确定下一个转发的节点。
相比电路交换,报文交换有如下优缺点:
【优点】
- 无建立连接时延
- 线路分配灵活
- 线路利用率高
- 支持差错控制
【缺点】
- 转发时延高
- 缓存开销大
- 错误处理低效,如果报文较长,发生传输错误的概率相对更大,重传整个报文的代价也更大
分组交换
为了解决报文交换中的报文过长问题,源主机在发送之前,会把报文划分成若干较小的等长数据段,并且在每个数据段前面添加必要控制信息组成首部,构成分组(Packet)
同时,由于传输的单位从整个报文变为了更小的分组,分组交换具有如下优缺点:
【优点】
- 方便存储管理,存储转发开销小。因为分组长度固定,所以相应缓冲区大小也固定
- 传输效率高,采用流水线方式减少了报文传输时间(见下图)
- 减少出错概率和重传代价
【缺点】
- 仍然存在一定存储转发时延
- 分组具有额外控制信息,增加额外传输量
- 如果使用数据报服务,可能存在分组失序、丢失或重复等情况;如果使用虚电路服务,则需要呼叫建立、数据传输和虚电路释放三个过程
如果需要连续传输大量数据,且传送时间远大于连接时间,则选择电路交换最合适
协议与模型¶
计算机网络的各层及其协议的集合称为网络的体系结构,其中最底层是整个层次结构的基础;最高层则面向用户提供服务。
- 协议数据单元(PDU) 对等层之间传送的数据单位,各层的 PDU 都分为服务数据单元和协议控制信息两部分
- 物理层称比特流,数据链路层称帧,网络层称分组,传输层称报文段
- 协议控制信息(PCI) 控制协议操作的信息
- 服务数据单元(SDU) 层与层之间交换的数据单位,n-SDU 指 n+1 层与 n 层交换的单位
- n-SDU + n-PCI = n-PDU = (n-1)-SDU
网络协议(Network Protocol)是为了在网络中进行数据交换而建立的标准,作用于对等实体之间,是水平的。
而服务指的是下层为紧邻的上层提供的功能调用,是垂直的,二者概念不同。
计算机网络提供的服务可按照如下三种方式分类:
面向连接服务与无连接服务
- 面向连接服务 通信前双方必须先建立连接,并分配相应资源;传输结束后要释放连接和占用的资源。
- 例如 TCP 就是一种面向连接服务的协议
- 无连接服务 通信前双方不需要先建立连接,“尽最大努力交付”数据,是一种不可靠的服务。
- 例如 IP,UDP 就是一种无连接服务的协议
可靠服务与不可靠服务
- 可靠服务 指网络具有纠错、检错、应答等机制,能够保证数据正确可靠传送到目的地
- 不可靠服务 指网络尽量让数据正确可靠传送到目的地
- 不可靠服务网络的正确性、可靠性要由应用和用户来保障
有应答服务和无应答服务
- 有应答服务 指接收方收到数据后像发送方给出相应的应答
- 例如文件传输协议 FTP 就是一种有应答服务
- 无应答服务 指接收方不自动给出应答,若需要应答则由高层实现
- 例如 WWW 服务 就是一种无应答服务
TCP/IP 模型 和 开放式系统互联(OSI)模型 是研究和讨论网络功能时使用的主要的模型和通用语言。
- <1> OSI 参考模型的最大贡献是精确定义了服务、协议、接口三个主要概念;而 TCP/IP 在这三个概念上没有明确区分
- <2> OSI 参考模型是 7 层模型,而 TCP/IP 是四层模型
- <3> OSI 参考模型先有模型,后有协议规范,适合通用描述各种网络;而 TCP/IP 模型现有协议栈,后建立模型,因此不适合任何其它的非 TCP/IP 网络
- <4> OSI 参考模型在网络层支持无连接和面向连接通信,但传输层仅有面向连接通信;TCP/IP 模型在网际层仅有无连接通信,但传输层支持无连接和面向连接通信
两个模型都不是完美的,本课程采取折中的办法,采用了 5 层协议的体系结构:
计算机网络度量单位¶
本节给出了计算机网络中相关度量单位的概念。
比特率 bit rate
- 概念: 主机在数字信道上传送数据的速率,也称数据率
- 单位: b/s(or bps)
带宽 bandwidth
- 概念: 在计算机网络中指网络通信线路能传送数据的能力,即最高数据传输速率
- 单位: b/s(or bps)
吞吐量 throughput
- 概念: 单位时间内通过某个网络(or 信道、接口)的数据量
- 单位: b/s(or bps)
时延 delay
- 概念: 数据从网络的一端传送到另一端所需的时间
- 传输时延 transmission delay: 又被称为发送时延,数据从节点进入传输介质所需要的时间,通常等于数据量大小除以比特率
- 传播时延 propagation delay: 电磁波在信道中需要传播一定距离而花费的时间,通常等于信道长度除以电磁波在信道内的传输速度(例如光速 c)
- 处理时延 processing delay: 主机或路由器收到分组后,为处理分组所花费的时间,例如分析首部、提取数据、差错检验或查找路由
- 排队时延 queueing delay: 分组在路由器输入输出队列中排队等待处理所经历的时延
- 单位: s
往返时延 Round-Trip Time
- 概念: 从发送方发送数据开始,到发送方收到接收方的确认经过的总时间
- 可用于判断网络的连通性,最典型的为
ping命令
- 可用于判断网络的连通性,最典型的为
- 单位: s
时延带宽积 bandwidth-delay product
- 概念: 指发送端发送的第一个比特即将到达终点时,发送端已发出多少比特
- 直观来看,即同一时刻链路中的比特总数
- 时延带宽积 \(=\) 传播时延 \(\times\) 信道带宽
- 单位: bit
信道利用率
- 概念: 某个信道百分之多少的时间是有数据通过的
- 信道利用率 \(=\) 有数据通过的时间 \(/\) (有数据通过的时间 + 无数据通过的时间)
- 信道利用率太低则浪费网络资源;信道利用率太高则产生较大时延,导致网络拥堵
- 单位: 无





