一、计算机网络
1. 定义
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机。
- 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
三网融合:电信网络,有线电视网络,计算机网络
二、互联网的概述 Internet
对比:
- 互连网(internet):泛指在由多个计算机网络通过路由器互连而成的网络(“网络的网络”-network of networks)
- 互联网(Internet):专指由众多网络相互连接而成的特定计算机网络
对比:
-
网络:把许多计算机连接在一起。
-
互连网:把许多网络通过路由器连接在一起。
三、互联网的组成
- 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
- 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
1.边缘部分
1.1概念
连接在互联网上的所有的主机(这些主机又称为端系统 (end system))
- 主机 A 和主机 B 进行通信==运行在主机 A 上的某个程序(进程)和运行在主机 B 上的另一个程序(进程)进行通信
1.2 端系统之间的通信方式
客户−服务器方式(C/S 方式),对等方式(P2P 方式)
1.2.1 客户-服务器方式(C/S 方式)
-
客户:服务的请求方,运行客户程序
被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。
so,客户程序需要知道服务器程序的地址。
-
服务器:服务的提供方,运行服务器程序
专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
系统启动后动调即自用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。
so, 服务器程序不需要知道客户程序的地址。
注:客户与服务器的通信关系建立后,通信可以是双向的(即客户和服务器都可发送和接收数据)。
1.2.2 对等连接方式(P2P 方式)
-
两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
-
只要两个主机都运行了对等连接软件 (P2P 软件) ,它们就可以进行平等的、对等连接通信。
-
双方都可以下载对方已经存储在硬盘中的共享文档。
2.核心部分
许多网络+路由器 router(路由器用途:分组交换)
2.1 电路交换 circuit switching
-
交换:按照某种方式动态地分配传输线路的资源
-
三个阶段:建立连接,通话,释放连接
2.2 分组交换
-
存储转发技术
step1:在发送端,把较长的报文划分成较短的、固定长度的数据段。
step2:每一个数据段前面添加上首部构成分组(packet)。每一个分组的首部都含有地址(诸如目的地址和源地址)等控制信息。
step3:分组交换网以“分组”(也称为“包”,首部也可称为“包头”)作为数据传输单元,每个分组在互联网中独立地选择传输路径,结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机,依次把各分组发送到接收端。
四、计算机网络的性能
1.速率 data rate/bit rate
- 数据的传送速率
- 一般指额定速率或标称速率,并非实际的运行速率
2.带宽 bandwidth
-
本意:【频域称谓】信号具有的频带宽度,Hz
-
计网:【时域称谓】网络某通道传送数据的能力(单位时间内网络中的某信道所能通过的“最高数据率”),bit/s
3.吞吐量 throughput
-
单位时间内通过某个网络(或信道、接口)的数据量
-
吞吐量受网络的带宽或网络的额定速率的限制
4.时延/延迟/迟延 delay/latency
定义:指数据(一个报文或 分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
计算公式:
总时延
=
发送时延
+
传播时延
+
处理时延
+
排队时延
总时延=发送时延+传播时延+处理时延+排队时延
总时延=发送时延+传播时延+处理时延+排队时延
图示:
4.1 发送时延/传输时延 transmission delay
定义:发送数据时,数据帧从结点进入到传输媒体所需要的时间(即:从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间)
计算公式:
发送时延
=
数据帧长度
(
b
i
t
)
发送速率
(
b
i
t
/
s
)
发送时延=\frac{数据帧长度(bit)}{发送速率(bit/s)}
发送时延=发送速率(bit/s)数据帧长度(bit)
4.2 传播时延 propagation delay
定义:电磁波(光速)在信道中需要传播一定的距离而花费的时间
计算公式:
传播时延
=
信道长度
(
米
)
信号在信道上的传播速率
(
米
/
秒
)
传播时延=\frac{信道长度(米)}{信号在信道上的传播速率(米/秒)}
传播时延=信号在信道上的传播速率(米/秒)信道长度(米)
4.3 处理时延
定义:主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。
4.4 排队时延
定义:分组在路由器输入、输出队列中排队等待处理所经历的时延。(往往取决于网络中当时的通信量)
注:对于高速网络链路,我们提高的仅仅是数据的发送速率,而非比特在链路上的传播速率。
5. 时延带宽积
定义:以比特为单位的链路长度。
计算公式:
时延带宽积
=
传播时延
×
带宽
时延带宽积 = 传播时延\times带宽
时延带宽积=传播时延×带宽
6. 往返时间 RTT(Round-Trip Time)
定义:从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
7. 利用率
- 信道利用率:某信道有百分之几的时间是被利用的(即有数据通过)。
- 网络利用率:全网络的信道利用率的加权平均值。
注:信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。
五、计算机网络的体系结构
1.形成
- 分层
- SNA->OSI(7层)->TCP/IP(4层)
2.协议
2.1 定义
网络协议-network protocol-协议
为进行网络中的数据交换而建立的规则、标准或约定
2.2 组成要素
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:事件实现顺序的详细说明
2.3 形式
文字描述,程序代码
↓↓↓↓↓对于非常复杂的计算机网络协议,其结构应该是层次式的(所以需要划分层次叻)↓↓↓↓↓
3. 划分层次
- 文件传送模块
- 通信服务模块:保证文件和文件传送命令可靠地在两个系统之间交换
- 网络接入模块:负责与网络接口细节有关的工作,使上面的通信服务模块能完成可靠通信的任务(eg:传输的帧格式,帧的最大长度)
4. 体系结构 architecture
4.1 定义
体系结构 architecture:【抽象】计算机网络的各层及其协议的集合。
实现 implementation:【具体】遵循这种体系结构的 前提下用何种硬件或软件完成这些功能。
4.2 具有5层协议的体系结构
4.2.1 对比
OSI(7层) and TCP/IP(4层) —>5层协议
4.2.2 各层功能
-
应用层 (application layer)
- 通过应用进程间的交互来完成特定网络应用
- eg:域名系统DNS,万维网HTTP协议,电子邮件SMTP协议
-
运输层 (transport layer)
- 向两台主机中进程之间的通信提供通用的数据传输服务
- eg:传输控制协议TCP、用户数据报协议UDP
-
网络层 (network layer)
- 为分组交换网上的不同主机提供通信服务;选择合适的路由
- eg:网际协议IP,路由选择协议
-
数据链路层 (data link layer)
- 两个相邻节点之间传送数据
-
物理层 (physical layer)
- 传输数据单位为比特,要考虑多大的电压代表1或0
- 不包含物理媒介
4.2.3 各层工作过程
PDU (Protocol Data Unit):协议数据单元。 OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU。
“对等层”(peer layers)之间的通信:任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。
各层协议:实际上就是在各个对等层之间传递数 据时的各项规定。
4.2.4几个名词
实体:任何可发送或接收信息的硬件或软件进程。
协议:控制两个对等实体进行通信的规则的集合。
-
在协议的控制下,两个对等实体间的通信使得本 层能够向上一层提供服务。
-
要实现本层协议,还需要使用下层所提供的服务(上层使用下层提供的服务必须通过服务原语)。本层的服务用户只能看见服务而无法看见下面的协议。
协议:【水平的】控制对等实体之间通信的规则。
服务:【垂直的】由下层向上层通过层间接口提供的。
服务访问点 SAP:同一系统相邻两层的实体进行交互的地方
服务数据单元 SDU:层与层之间交换的数据的单位。
协议数据单元 PDU:【水平】对等层次之间。
服务数据单元 SDU:【垂直】相邻两层的实体之间。
注:SDU 可以与 PDU 不一样,例如,可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。