计算机网络第一章:概论
1.3 电路交换、分组交换和报文交换
1.3.1 电路交换
定义:电话交换机接通电话线的方式就是电路交换(Circuit Switching)
通信三个步骤:
-
建立连接:主叫方必须首先进行拨号以请求建立连接
-
通话:主叫方和被叫方基于已建立的连接进行通话
-
释放连接:通话完毕后释放连接
特点:
-
需要建立专用的物理通路
-
数据传输过程中通路独占
-
适用于实时性要求高的业务
1.3.2 分组交换
基本概念:
-
报文(Message):待发送的整块数据
-
分组(Packet):将报文划分成若干较小等长数据段,每个数据段前添加首部
分组构造:
-
数据段 + 首部(包含源地址、目的地址等控制信息)
-
分组是分组交换网上传送的数据单元
工作原理:
-
源主机将分组发送到分组交换网
-
分组交换机收到分组后先缓存
-
从首部提取目的地址,查找转发表
-
找到相应转发接口后将分组转发出去
存储转发机制:
-
分组交换机完整接收一个分组后
-
查表确定转发接口
-
将分组发送到下一个交换机
1.3.3 报文交换
定义:分组交换的前身,报文被整个地发送,而不是拆分成若干个分组
特点:
-
交换节点将报文整体接收完成后才能查找转发表
-
将整个报文转发到下一个节点
-
传输延迟较大
三种交换方式对比:
-
电路交换:建立专用物理通路,数据传输实时性好
-
报文交换:数据传送单元为整个报文,交换节点需完整接收后才能转发
-
分组交换:数据传送单元是分组,交换节点接收一个分组后即可转发
1.4 计算机网络的定义和分类
计算机网络定义
早期定义:一些互连的、自治的计算机的集合
-
“互连”:计算机之间可以进行数据通信
-
“自治”:独立的计算机,有自己的软硬件,可以独立运行
现代定义
-
由通用的、可编程的硬件互连而成
-
硬件不限于一般计算机,还包括智能手机、传感器、智能家电等
-
能够实现各种各样的应用
网络分类
1. 按网络覆盖范围分类:
-
广域网(WAN):几十千米到几千千米
-
城域网(MAN):5~50km
-
局域网(LAN):一般为 1km
-
个域网(PAN):范围一般为 10m
2. 按网络使用者分类:
-
公用网:由电信公司出资建造的大型网络
-
专用网:由特定部门为满足本单位特殊业务需要而建造
1.5 计算机网络的主要性能指标
数据量单位
| 单位 | 换算关系 |
|---|---|
| 字节(B) | 基本单位 |
| 千字节(KB) | $1 \ KB = 2^{10} \ B$ |
| 兆字节(MB) | $1 \ MB = 2^{20} \ B$ |
| 吉字节(GB) | $1 \ GB = 2^{30} \ B$ |
| 太字节(TB) | $1 \ TB = 2^{40} \ B$ |
速率(比特率)
定义:数据的传送速率,每秒传送多少个比特,也称为数据率或比特率
单位换算:
| 单位 | 换算关系 |
|---|---|
| 比特 / 秒(b/s) | 基本单位 |
| 千比特 / 秒(kb/s) | $1 \ kb/s = 10^3 \ b/s$ |
| 兆比特 / 秒(Mb/s) | $1 \ Mb/s = 10^6 \ b/s$ |
| 吉比特 / 秒(Gb/s) | $1 \ Gb/s = 10^9 \ b/s$ |
| 太比特 / 秒(Tb/s) | $1 \ Tb/s = 10^{12} \ b/s$ |
带宽
-
模拟信号:信号所包含的频率范围(Hz)
-
数字信号:单位时间内网络中某信道所能通过的最高数据率(b/s)
传播时延
电磁波传播速率:
-
铜线电缆中:约为 2.3×10^8 m/s
-
光纤中:约为 2.0×10^8 m/s
-
无线信道中:约为 3.0×10^8 m/s
排队时延
-
分组在路由器输入队列中等待处理的时间
-
与网络拥塞程度相关
处理时延
包括的操作:
-
检查分组首部是否误码
-
提取分组首部中的目的地址
-
为分组查找相应的转发接口
-
修改分组首部中的部分内容(如生存时间)
1.5.5 时延带宽积
定义:传播时延和带宽的乘积
意义:
-
表示链路中可以容纳的比特数
-
链路的 “容量” 指标
1.5.7 利用率
链路利用率:
- 某条链路有百分之几的时间是被利用的(即有数据通过)
网络利用率:
- 网络中所有链路的链路利用率的加权平均
时延与利用率关系:
$ D = \frac{D_0}{1-U} $
其中:
-
D:实际时延
-
D₀:空闲时的时延
-
U:利用率
1.6 计算机网络体系结构
1.6.1 常见的三种计算机网络体系结构
1. 开放系统互连参考模型(OSI/RM)
定义:International Organization for Standardization Systems Interconnection Reference Model
七层协议体系结构(自下而上):
-
物理层(Physical Layer)
-
数据链路层(Data Link Layer)
-
网络层(Network Layer)
-
运输层(Transport Layer)
-
会话层(Session Layer)
-
表示层(Presentation Layer)
-
应用层(Application Layer)
特点:法律上的国际标准
2. TCP/IP 参考模型
四层协议体系结构(自下而上):
-
网络接口层
-
网际层(Internet Layer)
-
运输层(Transport Layer)
-
应用层(Application Layer)
与 OSI 模型对应关系:
-
网络接口层 = 物理层 + 数据链路层
-
应用层 = 应用层 + 表示层 + 会话层
核心协议:
-
网际协议 IP:TCP/IP 体系结构网际层的核心协议
-
传输控制协议 TCP:提供可靠传输服务
-
用户数据报协议 UDP:提供不可靠传输服务
-
应用层协议:HTTP、FTP、SMTP 等
3. 五层原理体系结构
五层结构(自下而上):
-
物理层
-
数据链路层
-
网络层
-
运输层
-
应用层
特点:将 TCP/IP 体系结构的网络接口层重新划分为物理层和数据链路层,适合教学使用
各层主要功能
物理层:
-
解决使用何种信号来表示比特 0 和 1 的问题
-
确定传输媒体和物理接口
-
定义物理层协议(如曼彻斯特编码)
数据链路层:
-
解决数据包在一个网络或一段链路上传输的问题
-
封装数据为帧
-
提供 MAC 寻址和帧校验
-
处理总线争用问题
网络层:
-
解决数据包在多个网络之间传输和路由的问题
-
提供 IP 寻址和路由选择
-
处理不同网络之间的互连
运输层:
-
为应用进程提供端到端的通信服务
-
区分不同的应用进程
-
提供可靠或不可靠的传输服务
应用层:
-
为用户提供各种网络应用服务
-
定义应用层协议
-
处理应用特定的功能
数据封装与转发过程示例
发送端处理过程:
-
应用层:构建 HTTP 请求报文
-
运输层:添加 TCP 首部,封装成 TCP 报文段
-
网络层:添加 IP 首部,封装成 IP 数据报
-
数据链路层:添加帧首部和尾部,封装成帧
-
物理层:转换为比特流,通过传输媒体发送
路由器转发过程:
-
物理层:接收电信号,转换为比特流
-
数据链路层:去除帧首部和尾部,提取 IP 数据报
-
网络层:提取目的 IP 地址,查找转发表,决定转发接口
-
数据链路层:添加新的帧首部和尾部,封装成帧
-
物理层:转换为电信号发送
1.6.4 计算机网络体系结构中的专用术语
1. 实体和对等实体
实体(Entity):
-
任何可发送或接收信息的硬件或软件进程
-
例如:网卡(硬件实体)、浏览器进程(软件实体)
对等实体(Peer Entity):
-
通信双方相同层次中的实体
-
例如:发送方应用层实体与接收方应用层实体互为对等实体
2. 协议(Protocol)
定义:控制两个对等实体在 “水平方向” 进行 “逻辑通信” 的规则的集合
各层协议示例:
-
物理层:曼彻斯特编码协议
-
数据链路层:CSMA/CD 协议
-
网络层:IP 协议
-
运输层:TCP 协议或 UDP 协议
-
应用层:HTTP 协议、FTP 协议、SMTP 协议
协议三要素:
-
语法(Syntax):定义通信双方所交换信息的格式
-
语义(Semantics):定义通信双方所要完成的操作
-
同步(Synchronization):定义事件实现的顺序
3. 服务(Service)
定义:下层为上层提供的功能调用
服务提供方式:
-
物理层为数据链路层提供服务
-
数据链路层为网络层提供服务
-
网络层为运输层提供服务
-
运输层为应用层提供服务
-
应用层为用户提供服务
重要特点:
-
协议是 “水平” 的:对等实体之间的通信规则
-
服务是 “垂直” 的:下层向上层提供的功能
4. 服务访问点和服务原语
服务访问点(Service Access Point, SAP):
-
同一系统中相邻两层实体交换信息的逻辑接口
-
用于区分不同的服务类型
服务原语(Service Primitive):
-
上层使用下层服务时交换的命令
-
用于请求、指示、响应、确认服务
5. 协议数据单元和服务数据单元
协议数据单元(Protocol Data Unit, PDU):
-
对等层次之间传送的数据包
-
各层 PDU 名称:
-
物理层:比特流(bit stream)
-
数据链路层:帧(frame)
-
网络层:分组(packet)或 IP 数据报
-
运输层:TCP 报文段或 UDP 用户数据报
-
应用层:应用报文(message)
-
服务数据单元(Service Data Unit, SDU):
-
同一系统内层与层之间交换的数据包
-
多个 SDU 可以合成为一个 PDU
-
一个 SDU 也可划分为几个 PDU


