一、计算机网络概述
1. 计算机网络组成
从组成部分看:主要由 硬件、软件、协议 三大部分组成
从工作方式看:分为 边缘部分 和 核心部分
边缘部分:由 连接到互联网上的 主机 组成,用于 通信(如传输数据)、资源共享
核心部分:由 大量网络 和 连接这些网络的 路由器 组成,为边缘部分提供 连通性 和 交换服
务
从功能组成看:由 通信子网 和 资源子网 组成
通信子网:由 各种传输介质、通信设备 和 相应的 网络协议 组成,具有数据传输、交 换、控制 和 存储 的能力,实现联网计算机之间的数据通信
资源子网:实现资源共享功能的设备及其软件的集合
2. 三种交换方式
2.1. 电路交换

从通信资源的分配看,交换(Switching):按照某种方式动态地分配传输线路的资源
电路交换的三个步骤:
- 建立连接:分配通信资源
- 传输数据:即通话:一直占用通信资源
- 释放连接:归还通信资源

两个用户间先建立一条 专用的 物理通信路径;在数据传输过程中,此路径被两个用户 独占 ; 通信后,释放路径
在电路交换中,电路建立后,除 源节点 和 目标结点 外,电路上 其余的任何结点 都采取 直通方式 发送数据 和 接收数据(即 不存在 存储转发所耗费的时间)
在整个通信阶段,比特流 连续的 从源节点直达目标节点
电路交换技术优点:
- 通信时延小:通信路径为双方专用,数据直达,所以 速率高
- 有序传输:双方通信时,按发送顺序传送数据,不存在失序问题
- 没有冲突:不同的通信双方拥有不同的信道,不会出现争用物理信道的问题
- 实时性强:一旦物理通路建立,可随时通信
- 低延迟、高可靠性:对于 实时性 要求高的(如 语音、视频会议),此特性极其重要
注:通信时延:从通信的一方(如发送端)开始传输数据,到另一方(如接收端)成功接收到数据所经历的总时间
电路交换技术缺点:
- 建立连接时间长:平均连接时间 对 计算机通信 来说,太长
- 线路利用率低:物理通路 被 双方独占,即使线路空闲,也 不能 供其他用户使用
- 灵活性差:通路中的任何一点出现故障,就必须重新拨号建立新的连接
- 难以实现差错控制:中间结点不具备存储和检验数据的能力,无法发现并纠正错误
2.2. 报文交换
报文(Message):数据交换的单位
发送端将 数据 加上 源地址、目的地址、检验信息等 头部,形成完整报文
报文交换采用的是 存储转发 技术(不要求 发送方 和 接收方 同时 处于连接状态,而是通过中间结点进行存储转发,实现数据传输)
注:不要求发送方和接收方同时处于连接状态:报文交换的核心特性之一,源自于存储转发技术:中间节点会先存储完整的报文,当接收方处于可用状态时,再将报文转发过去:例如,发送方发送一封电子邮件时,即使接收方的设备处于关机状态,邮件服务器(中间节点)会暂时保存这封邮件,等接收方开机并联网后,再将邮件推送过去
报文交换技术的优点:
- 不用建立连接
- 动态分配线路:交换节点存储整个报文后,选择一条合适的空闲线路,转发报文。若某条传输线路发生故障,则会重新选择另一条路径传输数据
- 线路利用率高:只有当报文在一段链路上传送时,才占用此链路
- 支持差错控制:交换节点可对缓存下来的报文进行差错检验
注:差错检验:发送端添加 校验码(Check Code),接收端(或中间结点)通过校验码检测数据是否出错
报文交换技术的缺点:
- 转发时延高:交换节点将报文整体接收后,才 查找 转发表 转发到下一个节点
- 缓存开销大:报文大小无限制,需要 交换结点 有 较大缓存空间
- 错误处理低效:当报文较长时,发生错误的概率大,重传整个报文的代价也大
2.3. 分组交换

源主机 将 分组 发送到 分组交换网中,分组交换网中的分组交换机(即 路由器)收到一个·分组后先将其缓存,然后从其 首部 中提取 目的地址,据此 查找自己的转发表,再将分组转发给下一个分组交换机,经过多个分组交换机后,分组 到达 目的主机,目的主机去掉 分组的首部,将个数据段组合,还原出原始报文
分组交换技术的优点:
- 不用建立连接
- 方便存储管理:存储转发开销小:分组长度固定,相应缓存区的大小也固定
- 传输效率高:分组是逐个传输的,可以使前一个分组的转发操作与够一个分组的存储操作并行:这种 流水线方式 减少了传输时间
- 出错概率低、重发数据量低:分组较短,出错概率低,即使出错,也只需重发出错的
分组交换技术的缺点:
- 有存储转发时延:比报文交换的小,但仍存在,且要求节点交换机有更强的处理能力
- 需要传输额外的信息:每个小数据段都要加上控制信息已构成分组,使得信息量增大了5%~10%,降低了通信效率
- 当 分组交换网 采用 数据报服务 时,可能出现 失序、丢失、重复分组 的情况,分组达到目的主机时,要对分组进行重新排序等工作,非常麻烦
- 当 分组交换网 采用 虚电路服务 时,虽然没有失序问题,但有 呼叫建立、数据传输、虚电路释放 三个过程
3. 计算机网络分类
3.1. 按 分布范围 分类
1. 广域网(WAN,Wide Area Network):提供 长距离 通信,运送主机发送的数据,其 覆盖范围 通常是 直径为 几十m 到 几千km 的区域。广域网是互联网的核心部分,连接广域网的各节点交换机的链路一般为 高速链路,具有较大通信容量,传统上,广域网 采用 交换技术
2. 城域网(MAN,Metropolitan Area Network):覆盖范围可以跨域几个街区甚至整个城市,采用 以太网技术
3. 局域网(LAN,Local Area Network):局域网 一般 用 主机 通过 高速线路 相连,覆盖范围小。传统上,局域网 采用 广播技术
4. 个人区域网(PAN,Personal Area Network):指在 个人工作的地方 将 消费电子设备 (如平板电脑、手机)用 无线技术 连接起来的网络,也称为 无线个人区域网(WPAN)
3.2. 按 传输技术 分类
1. 广播式网络:所有联网计算机 都共享 一个 公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他计算机都会“收听”到此分组,计算机将通过检查目的地址来确定是否接受该分组
注意:局域网基本上 采用 广播式通信技术,广域网中的 无线、卫星通信网络 也采用广播式通信技术
注意:发送报文分组:分组是报文被拆分后形成的小数据单元。发送报文分组,实际上包含了两个过程,首先,原始的报文被拆分成多个分组,然后,这些分组被逐个发送到网络中
2. 点对点网络:每条物理线路连接一对计算机,若 通信的两台主机之间 没有 直接连接的线路,则需要通过 中间节点 进行 存储 和 转发,直至 目的主机
3.3. 按 拓扑结构 分类
网络拓扑结构:由 网中节点(路由器、主机等)与 通信线路 之间 的几何关系表示的网络结构,主要指 通信子网的 拓扑结构
按 拓扑结构,网络可分为 总线型、星形、环形、网状网络 等
1.总线型网络:所有计算机连接到一条公共总线上
优点:建网容易、增删节点方便、节省线路
缺点:重负载时 通信效率 不高、总线 任意一处 对 故障 敏感
2. 星形网络:用 集线器或交换机连接各计算机
优点:便于 集中控制 和 管理
缺点:成本高、中央设备 对 故障 敏感
3.环形网络:计算机 连接成 一个环
最典型的例子:令牌环局域网。环可以是 单环,也可以是 双环。
环中信号 单向传输
4.网状网络:计算机之间有多条可能的连接
多用于 广域网,有 规则型 和 非规则型 两种
优点:可靠性高
缺点:控制复杂、线路成本高
以上 4种 基本的网络拓扑结构 可以互联为 更复杂的网络
总线型、星形、环形网络 多用于 局域网; 网状网络 多用于 局域网
3.4. 按 使用者 分类
公用网(Public Network):电信公司出资建造的大型网络。公用:所有愿意与按照电信公司大的规定 缴纳费用的人 都可以使用这种网络
专用网(Private Network)
3.5. 按 传输介质 分类
传输介质 分为 有线 和 无线 两大类 因此,网络 分为 有线网络 和 无线网络
有线网络 可分为 双绞线网络、同轴电缆网络 等
无线网络 可分为 蓝牙、微波、无线电 等
4. 计算机网络的性能指标
4.1. 速率
速率(Speed):也称为 数据传输速率、数据率、比特率:指 连接到 网络上的主机 在数字信道上 传送比特的速率。单位:b/s(比特/秒) 或 bit/s 或 bps。当数据量较高时,可以用 kb/s( k = 10^3 )、Mb/s( M = 10^6 )、Gb/s( G = 10^9 )
注:比特(bit,b):计算机中最小的信息单位,代表二进制中的"0"或"1"
字节(Byte,B):计算机存储的基本单位,1字节 = 8 比特
注:bps :全称为 bit per second : 每秒比特数
疑问:为什么买一个 250GB 的 固态硬盘,操作系统中 可分配的空间只有 232GB
以下为解释:
4.2. 带宽
带宽(Bandwidth):在模拟信号系统中,指 信号 所包含的各种不同频率成分 所占据的频率范围,单位 Hz ;在计算机网络中,其表示 网络的 通信线路 所能传送数据的能力,因此 网络带宽 表示在单位时间内,从网络中的某一点到另一点所能通过的“最高数据传输速率”,单位 b/s
注:带宽的这两种表述之间有着密切的联系,一条 通信线路 的 “频度宽带”越宽,其所传输数据的“最高数据传输率”越高
4.3. 吞吐量
吞吐量(Throughput):单位时间内,通过某个网络(或 信道、接口)的实际数据量。常用于 对 实际网络的测量,以便于获知 有多少数据量能通过网络
4.4. 时延
时延(Delay): 数据(一个报文 或 分组)从网络(或链路)的一端传送到另一端所需的总时间。由四部分构成:发送时延、传播时延、处理时延、排队时延,四部分时延之和 即为 数据在网络中经历的总时延
发送时延(传输时延):节点将分组的所有比特推向链路所花的时间
注:发送速率受以下三种影响
传播时延:电磁波在信道(传输介质)中,传播一定的距离所花的时间,即一个比特从链路一端传播到另一端的时间
注:电磁波 在自由空间的传播速率为光速,即 3x10^8 m/s ;在网络媒体中的传播速率比自由空间略低,铜线:2.3x10^8 m/s 、 光纤:2x10^8 m/s
注:发送(传输)时延 取决于 分组长度、发送速率 ; 传播时延 取决于 两节点间距离、信道所使用的传输介质
处理时延:分组在交换节点为存储转发而进行的一些必要处理所花的时间。例如:分析分组的首部、差错检验、查找合适的路由。其确切的数值不方便计算(因为网络中的数据流量是动态变化的,所以路由器的繁忙程度也是动态变化的)
排队时延:分组在路由器中的输入队列或输出队列中排队等待所花的时间
注:在考试中,通常不考虑 处理时延、排队时延
注:假设传输介质为光纤,不考虑 处理时延、排队时延,那么发送与传播时延谁占主导?
结论:没有谁一定占据主导地位,具体问题具体分析
4.5. 时延带宽积
时延带宽积:发送端发送第一个比特即将到达终点时,发送端已经发出了多少比特。也称为 以比特为单位的链路长度。
4.6. 往返时延
往返时延(Round-Trip Time,RTT):指 从发送端 发送一个 短分组,到 发送端 收到 来自接收端的确认 所花费的时间(接收端收到数据后立即发送确认)。在互联网中,往返时延还包括 各中间节点的处理时延、排队时延、转发数据时的发送时延
4.7. 信道利用率
信道利用率:表示 信道有百分之几的时间是有数据通过的
信道利用率 = 有数据通过的时间 / ( 有数据通过的时间 + 无数据通过的时间 )
信道利用率并非越高越好:太低会浪费网络资源;太高会产生较大的时延,导致网络拥塞(ex:当公路上的车流量大时,容易出现拥堵)
4.8. 丢包率
丢包率:即分组丢失率:在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的
比率
分组丢失的两种情况:分组在传输过程出现误码,被结点丢弃 ; 分组到达一台队已满 的分组交换机时被丢弃(在通信量较大时,就可能造成 网络拥塞)
丢包率反映了网络的拥塞情况:
无拥塞时,路径丢包率为 0
轻度拥塞时,路径丢包率为 1% ~ 4%
严重拥塞时,路径丢包率为 5% ~ 15%
二、计算机网络体系结构与参考模型
1. 计算机网络分层结构
网络的体系结构(Network Architecture):计算机网络的各层 及其 协议的 集合(就是这
个计算机网络及其构件所应完成的功能的精确
定义)(不涉及实现)
实现(Implementation):遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的
问题
体系结构是抽象的,而 实现 是具体的,是真正在运行的计算机软件和硬件
在网络分层结构中,第 n 层的 活动元素(软件+硬件) 通常称为 第 n 层的实体
实体:指 任何 可发送 或 接受信息的 硬件 或 软件 进程,通常是 某个特定的软件模块
对等层:不同机器上的同一层
对等实体:同一层的实体
协议:即 网络协议(Network Protocol):控制对等实体之间进行通信的规则的集合,
是 水平的(不对等实体之间 没有协议)
协议由 语法、语义、同步 三部分组成(协议的三要素)
语法:数据与控制信息的格式(Ex:PCI 部分占几个字节、每个字节是什么含义、SDU 最
多有几个字节)
语义:需要发出何种控制信息、完成何种动作及做出何种应答(Ex:协议中需要明确规
定:发送方发完数据后,接收方是否需要“应答”,以及应答的种类有哪些(如:
传输成功、传输失败) )
同步(或 时序):执行各种操作的条件、时序关系等,即 事件实现顺序的详细说明
(Ex:发送方发送完数据后,接收方需要立即应答。如果发送方在10秒
内未收到“传输成功”应答,则发送方会再次发送数据)
接口:同一节点内 相邻两层的实体 交换信息的逻辑接口,又称为 服务访问点(Service
Access Point,SAP)(每层只能在紧邻的层之间定义接口,而不能跨层定义接口)
服务:下层为紧邻的上层提供的功能调用,是 垂直的
(上一层实体通过“接口”,请求相邻下层的“服务”,类似于 函数调用)
服务提供者:第 n 层的实体
服务用户:服务提供者上一层的实体(接受服务的一方(服务用户)在层级上高于提供服
务的一方(服务提供者))
协议和服务的区别
只有本层协议的实现才能保证向上一层提供服务,本层的服务用户只能看见服务,而无法看见下面的协议,即 下面的协议对上层的服务用户是“透明”的(透明:上层服务用户无需了解协议的内部工作细节,只需专注于自身的业务需求)
OSI七层模型 或 TCP/IP四层模型的 核心特性——服务的垂直累积性
第 n 层 向 第 n+1层提供的服务包括在其以下各层提供的服务(在分层网络架构中,每一层的功能都建立在其下一层提供的服务基础之上,同时会将下层服务进行封装、扩展后,向上一层提供更完整的服务)

上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务
2. 计算机提供的服务(三种分类)
2.1. 面向连接服务 与 无连接服务
面向连接服务:通信前双方必须先建立连接,分配相应的资源(如 缓冲区),以保证通信
的正常进行,传输结束后 释放 连接和占用的资源
这种服务分为:建立连接、数据传输、连接释放 三阶段
(如 TCP 就是一种 面向连接服务的协议)
无连接服务:通信前双方不需要先建立连接,需要发送数据时可直接发送,将每个带有目的
地址的包(报文分组)传送到线路上,由系统选定路线进行传输,此种服务常
被描述为“尽最大努力交付”,是一种 不可靠的服务(如 IP、UDP 就是一种 无
连接服务的协议)
2.2. 可靠服务 与 不可靠服务
可靠服务: 网络 具有 纠错、检错、应答机制,能保证数据 正确、可靠的 传送到目的地
不可靠服务:网络 只是尽量让 数据 正确、可靠的 传送到目的地,是 尽力而为的服务
2.3. 有应答服务 与 无应答服务
有应答服务:接收方 在收到数据后 向 发送方 给出相应的应答,该应答由传输系统内部实
现,而不由用户实现(如 文件传输服务)
无应答服务:接受方收到数据后,不自动给出应答,若需应答,则由高层实现
3. 数据的传输过程
水平视角:
垂直视角:
协议数据单元(PDU):对等层之间传送的数据单位 (第 n 层的 PDU 记为 n-PDU)
服务数据单元(SDU):为完成上一层实体所要求的功能而传送的数据 (第 n 层的 SDU
记为 n-SDU)
协议控制信息(PCI):控制协议操作的信息(第 n 层的 PCI 记为 n-PCI)
举例:
三者间的关系:n-SDU + n-PCI = n-PDU = (n-1)-SDU
4. OSI 参考模型
4.1. 物理层(Physical Layer)
物理层任务:实现相邻节点之间的比特(0或1)的传输
需定义:
电路接口参数(如:形状、尺寸、引脚数 等)
传输信号的含义、电气特征(如:5V表示1,1V表示0;每比特电信号吃持续时间
0.1ms)

4.2. 数据链路层(Data Link Layer)
数据链路层任务:确保相邻节点之间的链路逻辑上无差错
包含以下功能:
差错控制:检错+纠错:或 检错+丢弃+重传
流量控制:协调两个结点的发送帧的速率
链路层 实体之间 以 帧(Frame)(含多个比特)为单位进行数据的传输
差错控制
假设 结点A、结点B 都只有两层(数据链路层、物理层),并且此时 结点A 传送 8bit 数据 至 结点B,那么 数据链路层 会在原始的8bit数据之外 再额外加上 2bit(不一定为多少),作为校验信息(会采用某一种校验编码技术),封装成 帧(含 8bit数据+2bit校验),链路层 会将 完整帧(10bit) 交给 物理层,物理层 会将其转换为 电信号/光信号等物理介质可传输的形式,进行比特流传输。结点B 的物理层接收比特流之后,还原为10bit数据并交给数据链路层,链路层的实体会通过预设的校验规则,对比特流中的校验位与数据位进行计算,判断是否存在错误(检错+纠错 或 检错+丢弃+重传)
4.3. 网络层(Network Layer)
网络层任务:把“分组”从源节点转发到目的节点
包含以下功能:
路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径
分组转发:将“分组”由合适的端口转发出去
拥塞控制:发现网络拥塞,并采取措施缓解拥塞
网际互连:实现异构网络互联
其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理(接收方需返回
分组确认消息)
网络层的 对等实体之间 以 分组(Packet)(又称为 数据报) 为单位 进行数据传输
4.4. 传输层(Transport Layer)
传输层任务:实现 端到端通信(即 实现进程到进程的通信,端 指 端口)
包含以下功能:
复用和分用
其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理
每个进程都有一个端口号
传输层的复用:在数据的发送方,多个应用进程(如 浏览器、QQ) 共享同一传输协议
(TCP/UDP)和 同一 IP地址的端口资源,通过 不同端口号 将数据封装成
传输层报文
传输层的分用:在数据的接收方,传输层 根据 报文中的端口号,将数据准确交付给对应
的应用进程
传输层之间 以 报文段(Segment)为单位 进行数据传输
4.5. 会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)
会话层任务:管理进程之间会话
主要功能:会话管理(采用 检查点机制:当通信失效时,从 检查点 继续 恢复通信)
表示层任务:解决不同主机上信息表示不一致的问题
主要功能:数据格式转换(如 编码转换、压缩/解压、加密/解密)
应用层任务:实现特定的网络应用(根据应用需求设计)
应用层之间 以 报文(Message) 为单位,进行数据传输
5. TCP/IP 模型
5.1. 应用层
表示层的数据格式转换 以及 会话层的会话管理 在实际中不一定需要
TCP/IP 理念:如果某些应用需要数据格式转换、会话管理 功能,就交给应用层的特定协
议去实现
应用层任务:同OSI一样
5.2. 网络接口层
OSI中的 物理层 和 数据链路层 对于 第一层和第二层的规定太死,不利于 网络硬件厂商 进行 设备研发
网络接口层任务:实现相邻节点之间的数据传输(帮助网络层传输“分组”)(但 具体怎
么传输,没有规定)
5.3. 网络层
在OSI中,数据的局部正确 不能推出 数据的全局正确
在TCP/IP中,数据的全局正确 能推出 数据的局部正确
TCP/IP网络层功能:路由选择、分组转发、拥塞控制、网际互连
(去除了 差错控制、流量控制、连接建立与释放、可靠传输管理)
TCP/IP网络层 只保证“尽最大能力交付”,数据传输是 不可靠的(可靠性交给传输层)
在OSI模型中,网络的核心部分(路由器)的功能复杂、负载高、造价高
5.4. 传输层
传输层功能:复用和分用、差错控制、连接建立与释放、可靠传输管理
传输层负责保证 数据传输的正确性、可靠性
传输层主要使用的协议:
传输控制协议(Transmission Control Protocol,TCP):面向连接的,传输数据之前必须先建立连接。数据传输的单位:报文段
用户数据报协议(User Datagram Protocol,UDP):无连接的,只能提供 “尽最大努力交付”。数据传输的单位:用户数据报

















279

被折叠的 条评论
为什么被折叠?



