241 lines
11 KiB
Markdown
241 lines
11 KiB
Markdown
|
---
|
|||
|
title: "《计网》计算机网络体系结构"
|
|||
|
date: 2023-07-24T13:31:22+08:00
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 计算机网络概念
|
|||
|
|
|||
|
* 计算机网络
|
|||
|
* 一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息通信的系统
|
|||
|
* 简记:计算机网络时互连的、自治的计算机集合
|
|||
|
* 互连:互联互通
|
|||
|
* 自治:无主从关系,即相互联通但不能彼此控制
|
|||
|
|
|||
|
|
|||
|
## 计算机网络的功能
|
|||
|
|
|||
|
* 数据通信(最基本的功能)
|
|||
|
* 资源共享
|
|||
|
* 信息共享
|
|||
|
* 软件共享
|
|||
|
* 硬件共享
|
|||
|
* 分布式管理
|
|||
|
* 多台计算机各自承担同一工作的不同部分
|
|||
|
* 提高可靠性
|
|||
|
* 负载均衡
|
|||
|
|
|||
|
## 计算机网络的组成
|
|||
|
|
|||
|
* 组成部分区分
|
|||
|
* 计算机网络 = 硬件 + 软件 +协议
|
|||
|
* 硬件
|
|||
|
* 主机
|
|||
|
* 通信链路(双绞线,光纤)
|
|||
|
* 交换设备(路由器,交换机)
|
|||
|
* 通信处理机(网卡)
|
|||
|
* 软件
|
|||
|
* 网络操作系统
|
|||
|
* 邮件收发程序
|
|||
|
* FTP程序
|
|||
|
* 聊天程序
|
|||
|
* 功能区分
|
|||
|
* 计算机网络 = 通信子网 + 资源子网
|
|||
|
* 资源子网
|
|||
|
* 实现资源共享功能的设备和软件集合(计算机软件)
|
|||
|
* 通信子网
|
|||
|
* 各种传输介质、通信设备、相应的网络协议组成(网桥、交换机、路由器)
|
|||
|
* 工作方式区分
|
|||
|
* 计算机网络 = 边缘部分 + 核心部分
|
|||
|
* 边缘部分
|
|||
|
* 由所有连接在互联网上的主机组成
|
|||
|
* 用户直接使用的用于通信(传送数据、音频或视频)和资源共享
|
|||
|
* 核心部分
|
|||
|
* 由大量网络和连接这些网络的路由器组成
|
|||
|
* 为边缘部分提供服务(提供连通性和交换)
|
|||
|
|
|||
|
|
|||
|
## 计算机网络分类
|
|||
|
|
|||
|
* 分布范围分类
|
|||
|
* 广域网(WAN,Wide Area Network)
|
|||
|
* 交换技术
|
|||
|
* 区分广域网局域网,取决于采用的协议
|
|||
|
* 局域网(LAN,Local Area Network)
|
|||
|
* 广播技术
|
|||
|
* 局域网通过路由器接入广域网
|
|||
|
* 城域网(MAN,MetroPolitan Area Network)
|
|||
|
* 个人局域网(PAN,Personal Area Network)
|
|||
|
|
|||
|
* 交换技术分类
|
|||
|
* 电路交换
|
|||
|
* 优点:数据直接传送,时延小
|
|||
|
* 缺点:线路录用率低,不便于进行差错控制
|
|||
|
* 报文交换
|
|||
|
* 缺点:附加信息开销大
|
|||
|
* 优点:解决了电路交换的缺点
|
|||
|
* 分组交换(主流网络中使用)
|
|||
|
* 缺点:附加信息开销大
|
|||
|
* 优点:缓冲易于管理,更适合应用
|
|||
|
* 拓扑结构分类(通信子网的拓扑结构)
|
|||
|
* 总线型网络
|
|||
|
* 星型网络
|
|||
|
* 环形网络
|
|||
|
* 网状网络(广域网常用)
|
|||
|
* 使用者分类
|
|||
|
* 公用网(public network)
|
|||
|
* 专用网(private network)
|
|||
|
* 传输技术分类
|
|||
|
* 广播式网络
|
|||
|
* 点对点网络
|
|||
|
* 传输介质分类
|
|||
|
* 有线网络:双绞线网络,同轴电缆网络
|
|||
|
* 无线网络: 蓝牙,微波,无线电
|
|||
|
|
|||
|
### 其他知识点
|
|||
|
|
|||
|
* 1968年6月,最早的计算机网络时ARPAnet
|
|||
|
* 网络资源 = 硬件资源 + 软件资源 + 数据资源
|
|||
|
* 广播式网络可以不要网络层,可以不存在路由选择问题,但是需要服务访问点
|
|||
|
|
|||
|
## 计算机网络的性能指标
|
|||
|
|
|||
|
* 速率
|
|||
|
* 速率 = 数据率 = 数据传输率 = 比特率
|
|||
|
* 单位为b/s,kb/s,Mb/s,Gb/s,Tb/s
|
|||
|
* 单位换算
|
|||
|
* 1kb/s = $10^3$b/s
|
|||
|
* 1Mb/s = $10^3$kb/s = $10^6$b/s
|
|||
|
* 1Gb/s = $10^3$Mb/s = $10^6$kb/s = $10^9$b/s
|
|||
|
* 1Tb/s = $10^3$Gb/s = $10^6$Mb/s = $10^9$kb/s = $10^{12}$b/s
|
|||
|
* 存储容量 1Byte(字节) = 8bit(比特)
|
|||
|
* 1KB = $2^{10}$B = 1024B = 1024*8b
|
|||
|
* 1MB = $2^{10}$KB = 1024KB
|
|||
|
* 1GB = $2^{10}$MB = 1024MB
|
|||
|
* 1TB = $2^{10}$GB = 1024GB
|
|||
|
* 带宽
|
|||
|
* 带宽 = 某个信号具有的频带宽度,单位Hz
|
|||
|
* 带宽 = 表示网络的通信线路传输数据的能力 = 单位时间内从网络中某信道所能通过的最高数据率。单位:bit/s
|
|||
|
* 速率和带宽都是速度单位,速率是实际的传输速率,带宽是理想状态下的最大传输速率
|
|||
|
* 吞吐量
|
|||
|
* 吞吐量 = 单位时间通过某个网络(信道、接口)的数据量。单位:b/s,kb/s
|
|||
|
* 吞吐量受网络的带宽或网络的额定速率的限制
|
|||
|
* 时延
|
|||
|
* 时延/延迟 = 数据(报文/分组/比特流)从网络的一端传送到另一端所需的时间
|
|||
|
* 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
|
|||
|
* 发送/传输时延 = 从发送分组的第一个比特算起,到该分组最后一个比特发送完毕所需的时间 = 数据长度/信道带宽
|
|||
|
* 传播时延 = 电磁波在信道中传输一定距离而花费的时间,取决于电磁波的传播速率和链路的长度 = 链路长度/电磁波在信道上传播的速率
|
|||
|
* 排队时延 = 节点缓存队列中分组排队所经历的时间
|
|||
|
* 处理时延 = 主机或路由器在收到分组时要花费一定的时间进行处理
|
|||
|
* 时延带宽积
|
|||
|
* 时延带宽积 = 传播时延$\times$带宽
|
|||
|
* 时延带宽积表示的是容量
|
|||
|
* 往返时延RTT
|
|||
|
* 从发送方发送数据开始,到发送方收到接受方的确认(接收方收到数据后立即发生确认)共经历的时延
|
|||
|
* RTT = 往返传播时延 + 末端处理时间
|
|||
|
* 利用率
|
|||
|
* 信道利用率 = 有数据通过时间/(无+有)数据通过时间
|
|||
|
* 网络利用率 = 全网络的信道利用率加权平均值
|
|||
|
* 利用率不是越高越好,时延会随着利用率的增加而增加
|
|||
|
|
|||
|
|
|||
|
## 计算机网络体系的结构
|
|||
|
|
|||
|
* 网络体系的形成
|
|||
|
* 相互通信的两个计算机系统必须高度协调工作,这种协调是相当复杂的
|
|||
|
* 分层可以将庞大而复杂的问题转化为若干个较小的局部问题,而这些较小的局部问题就比较易于研究和处理
|
|||
|
* 实体、协议、服务和服务访问点
|
|||
|
* 
|
|||
|
* 实体
|
|||
|
* 表示任何可以发送或接受信息的硬件或软件进程。同一层的实体称为对等实体
|
|||
|
* 协议
|
|||
|
* 为了进行网络中的数据交换而建立的规则、标准或约定
|
|||
|
* 协议是水平的,即控制对等实体之间通信的规则
|
|||
|
* 三要素
|
|||
|
* 语法
|
|||
|
* 规定传输数据的格式
|
|||
|
* 语义
|
|||
|
* 规定所要完成的功能
|
|||
|
* 同步
|
|||
|
* 规定各种操作的顺序
|
|||
|
* 接口
|
|||
|
* 同一个系统中相邻两层的实体进行交互的地方
|
|||
|
* 仅在相邻两层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽
|
|||
|
* 服务
|
|||
|
* 下层为相邻上层提供功能调用
|
|||
|
* 服务是垂直的,即服务是由下层向上层通过层间接口提供的
|
|||
|
* 数据组成
|
|||
|
* SDU服务数据单元
|
|||
|
* 为完成用户所要求的功能而应传送到的数据
|
|||
|
* PCI协议控制信息
|
|||
|
* 控制协议操作的信息
|
|||
|
* PDU协议数据单元
|
|||
|
* 对等层次之间传送的数据单位
|
|||
|
* 每层PDU作为下一层的SDU,然后和PCI组成该层的PDU,再作为下下层的SDU,直到物理层
|
|||
|
|
|||
|
### 分层的基本原则
|
|||
|
|
|||
|
* 各层之间相对独立,每层只实现一种相对独立的功能
|
|||
|
* 每层之间界面自然清晰,易于理解,相互交流尽可能少
|
|||
|
* 结构上可分割开,每层都采用最合适的技术来实现
|
|||
|
* 保持下层对上层的独立性,上层单向使用下层提供的服务
|
|||
|
* 促进标准化工作
|
|||
|
|
|||
|
### 各层功能
|
|||
|
|
|||
|
* 差错控制
|
|||
|
* 使相应层次对等方的通信更可靠
|
|||
|
* 流量控制
|
|||
|
* 发送端的发生速率必须使接收端来得及接收,不要太快
|
|||
|
* 拥塞控制
|
|||
|
* 拥塞状态 = 结点来不及接受分组而要丢弃大量分组的情况,网络层要采取一定措施缓解这种阻塞
|
|||
|
* 分段和重装
|
|||
|
* 发送端将要发送的数据块划分为更小的单位,在接收端再进行分用
|
|||
|
* 连接建立和释放
|
|||
|
* 交换数据前先建立一条逻辑连接,数据传送结束后释放连接
|
|||
|
|
|||
|
### 两个主机通信的过程
|
|||
|
|
|||
|

|
|||
|
|
|||
|
1. 主机A先将其数据交给本机的第7层(应用层)。第5层加上必要的控制信息H7就变成了下一层的数据单元
|
|||
|
2. 第6层(表示层)收到数据单元后,加上本层的控制信息H6就变成了下一层的控制信息,依次类推
|
|||
|
3. 到了第2层(数据链路层)后,控制信息被分为两个部分,分别加到本层数据单元的首部(H2)和尾部(T2)
|
|||
|
4. 到了第一层(物理层)由于是比特流的传送,所以不再加上控制信息。传送比特流时应从首部开始传送
|
|||
|
5. 当这一串比特流离开主机A经网络的物理媒体传送到路由器时,就从路由器的第1层依次上升到第3层
|
|||
|
6. 每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层
|
|||
|
7. 当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找到转发分组接口
|
|||
|
8. 然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后再物理媒体上把每一个比特发送出去
|
|||
|
|
|||
|
|
|||
|
### 三种网络模型
|
|||
|
|
|||
|
* OSI七层模型
|
|||
|
* 
|
|||
|
* 表示层
|
|||
|
* 数据压缩、加密及数据描述,使得应用程序不必关系再各台主机中数据内部格式不同的问题
|
|||
|
* 会话层
|
|||
|
* 建立及管理会话
|
|||
|
* TCP/IP结构
|
|||
|
* 
|
|||
|
* 只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层
|
|||
|
* TCP/IP体系结构不严格遵循OSI分层概念
|
|||
|
* 应用层可能会直接使用IP层或网络接口层
|
|||
|
* 五层协议结构
|
|||
|
* 
|
|||
|
* 应用层
|
|||
|
* 通过应用进程间的交互来完成特定网络应用,数据单位为报文
|
|||
|
* 运输层
|
|||
|
* 为进程提供通用数据传输服务。主要使用以下两种协议
|
|||
|
* TCP:传输控制协议。提供面向连接、可靠的传输服务。数据单位是报文段
|
|||
|
* UDP:用户数据报协议。提供无连接,尽最大努力的传输服务。数据单位是用户数据报
|
|||
|
* TCP只要提供完整性服务,UDP主要提供及时性服务
|
|||
|
* 网络层
|
|||
|
* 为主机提供数据传输服务。把传输层传递下来的报文段或用户数据报封装成分组
|
|||
|
* 重要协议是IP
|
|||
|
* 数据链路层
|
|||
|
* 为同一链路的主机提供数据传输服务。把网络层传下来的分组封装成帧
|
|||
|
* 物理层
|
|||
|
* 主要负责在物理线路上传输原始的二进制数据
|
|||
|
* 三个网络模型的对比
|
|||
|
* 
|