第一章、概述
一、计算机网络基本概念
1.什么是计算机网络?
计算机网络=通信技术+计算机技术。
计算机网络是通信技术与计算机技术紧密结合的 产物。
计算机网络就是一种通信网络。
- 定义:计算机网络就是互连的、自治的计算机集合。
- 自治:计算机之间无主从关系。
- 互连:互相连通的。
- 通信链路
网络中两个节点之间的物理通道称为通信链路。通信链路的传输介质主要有双绞线、光纤和微波。
- 距离远、数量大如何保证互连?
通过交换网络互连主机。
2.什么是网络协议?
-
组成细节角度
全球性最大的互联网络,最大的互联网提供商网络。
ISP 网络互连的“网络之网络”。
Internet定义:数以百万计的互连的计算设备集合。
计算设备包含:主机(hosts)=端系统(都会运行各种网络应用)。
这些设备的连接方式:通信链路(光纤, 铜缆, 无线电, 卫星……)。
这些主机或端系统不可能由通信链路直接相连构成,所以需要用到交换机或路由器(分组交换)实现数据的分组转发。
-
服务角度
为网络应用提供通信服务。
为网络应用提供应用编程接口(API)。
-
注意问题的提出 :
仅有硬件(主机、 链路、路由器……)连接,Internet能否顺畅运行?能保证应用数据有序交付吗?
答案:肯定是不能,还需要协议。举个栗子,这里我们可以把网络链路比作道路,当道路修好后,是否就能保障规范行使呢,当然是不行的,还需要使用交通规则,规范行车。
二、计算机网络结构
1.计算机网络结构
- 网络边缘
主机(移动设备,笔记本,台式机等)中的网络应用。
- 接入网络,物理介质
有线或无线通信链路。
- 网络核心(核心网络)
由相互连接的交换机或者路由器组成,形成的网络的网络。
-
网络边缘
- 网络边缘的构成
由主机(端系统)构成,这些主机都会运行网络应用程序,如Web。
- 通信方式
客户/服务器模型CS:客户发送请求,服务器接收请求并发送响应。
这种CS模型只能CS间进行通信,不可能CC间进行通信。
对等应用模型P2P:无专用服务器,通信在对等实体间直接进行通信,如QQ等
-
接入网络
- 如何将网络边缘接入核心网(边缘路由器)?
使用接入网络,将边缘主机与边缘核心路由器进行连接。
- 接入网络的类别划分
住宅(家庭)接入网络
机构接入网络
移动接入网络
网络接入的划分并没有严格意义上的划分,就是说,划分方式可以按照其他方式进行划分。
- 从用户角度看,用户只需要关心带宽,和接入的方式,共享/独占。
-
网络核心
-
互联是路由器或者交换机组成的网络的网络。 -
网络核心需要实现的关键的功能是:路由+转发。
- 路由
确定分组从源到目的的传输路劲,即通过路由算法得到转发地址(输出链路)。
- 转发
将分组从路由器的输入端口交换至正确的输出端口,并转发出去。
-
网络核心解决的基本问题?
- 如何实现数据从源主机通过网络核心送达目的主机?
数据交换。
2. Internet结构
Internet网络是端系统通过接入ISP连接到Internet的,其中有家庭终端,公司,大学ISPs等。
接入ISP必须进一步互联构成复杂的网络互连网络,网络演进的主要驱动力是经济和国家政策。
当前的网络结构是不确定性的,随时有网络接入,随时有网络断开。
-
数以百万计的接入ISP是如何互连在一起的呢?
-
可选方案: 每个接入ISP直接彼此互连 这种方案显然是不可行的,直接相连的网络不适合大规模的网络。
- 将每个接入ISP连接到一个国家或全球ISP(Global ISP)
-
由于存在竞争关系,所以从商业角度来看,不可能只有一个ISP。 网络之间既可以只有用通信链路相连,也可以用IXP(高速通信链路)相连。
三、网络核心
1.数据交换
问题的引入:直接使用通信链路将各主机连接起来,当主机数量不断增加时,链路数量会几何倍增加,成本和连接难度也会增加。所以引入了交换设备,但随着主机的不断增加,交换设备所需要的端口也在不断增加,显而易见,这种方式也是不可行的,所以最终引入了交换网络,将各主机与交换网络进行连接。
从现代发展方式来看,交换技术只要分为电路交换,报文交换,分组交换。
1.电路交换
-
最典型的电路交换网络:电话网络 -
电话网络交换的三个阶段:
-
但是电路交换他是一种独占资源的交换网络。 -
电路交换中存在共用电路线(也叫中继线),如何解决不同主机共用电路线也能镜像数据交互的方法,多路复用。 -
多路复用
多路复用(multiplexing),简称复用,是通信技术中的基本概念。
典型的多路复用方法:频分复用、时分复用、波分复用、码分复用。
- 频分多路复用
频分多路复用的各用户占用不同的带宽资源(请注意,这里的“带宽 ”是频率带宽(单位:Hz)而不是 数据的发送速率)。
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
- 时分多路复用
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧),每个用户在每个TDM帧中占用固定序号的时隙。
每用户所占用的时隙是周期性出现(其周期就是 TDM 帧的长度)。
时分复用的所有用户是在不同的时间占用相同的频带宽度。
- 波分多路复用WDM
波分复用就是光的频分复用
- 码分多路复用CDM
广泛应用于无线链路共享 (如蜂窝网,卫星通信等)。
每个用户分配一个唯一的m bit码片序列(chipping sequence),其中“0”用“-1”表示、 “1”用“+1”表 示。
各用户使用相同频率载波,利用各自码片序列编码数据。
编码信号 = (原始数据) × (码片序列)。
- 如发送比特 1(+1),则发送自己的 m bit 码片序列。
- 如发送比特 0(-1),则发送该码片序列的m bit 码片序列的反码。
各用户码片序列相互正交(orthogonal)。
由于电路交换来传送计算机数据时,线路利用率很低,且数据的传输具有突发性,所以引入了报文交换方式,但是报文交换方式对数据大小没有要求,且传输时间过长,从而引出了分组交换。
2.报文交换
- 什么是报文交换呢,简单来说就是对要发送的数据进行整体发送发方式,不对数据进行拆分。
- 报文:源(应用)发送信息整体
- 采用的数据传输方式是存储-转发方式。
3.分组交换
- 分组交换:将报文数据拆分成一系列相对较小的数据包进行数据传输的过程。
- 分组交换需要报文的拆分与重组。
- 但是分组交换有分组交换的害处就是会有报文头,而产生额外开销。
- 分组交换各结点
- 发送方:构造分组、发送分组
- 路由器:缓存分组、转发分组
- 接收方:接收分组、还原报文
对比:
四、计算机网络性能
任何系统都需要一个指标来描述性能的好与坏。
1.速率
- 速率就是数据率或者可以叫做数据传输速率或者比特率
- 单位时间(秒)内传输的信息量(比特
b ) - 速率是计算机网络中最重要的一个性能指标
- 单位:
b/s或bps 、kb/s 、Mb/s 、Cb/s -
k
=
1
0
3
、
M
=
1
0
6
、
G
=
1
0
9
k=10^3、M=10^6、G=10^9
k=103、M=106、G=109
- 个人见解:速率指,单位时间内传输的0/1的个数。
- 速率一般指额定速率或标称速率。
2.带宽
-
在通信领域里,带宽的单位是Hz,是指最高频率与最低频率之差。 -
在网络中,带宽通常是数字信道所能传送的最高数据率,单位是 b/s(bps) 。 -
k
=
1
0
3
、
M
=
1
0
6
、
G
=
1
0
9
k=10^3、M=10^6、G=10^9
k=103、M=106、G=109
3.延迟/时延
分组交换为什么会发生丢包和时延?
看下图,当不同分组到达路由器或者交换机时,当前一个数据分组好没有被传递出去时,就会产生排队延时,并且缓存区大小是有限的,那么这个时候就会出现缓存区满了的情况,这个时候就会存在来的分组无法进入缓存区而导致数据丢失。
- 结点处理延时:主要是进行数据的缓存转发等事件的处理、这里涉及到差错检测的处理、确定输出链路的处理。
- 排队延迟:当等待输出链路可用时,所花费的时间,时间的大小取决于路由器的阻塞程度。
- 传输延迟:由分组长度L(bits)和链路带宽R(bps)、计算得到
d
t
r
a
n
s
=
L
/
R
d_{trans}=L/R
dtrans?=L/R
- 传播延迟:由物理链路长度d和信号的传播速度决定,
d
p
r
o
p
=
d
s
d_{prop}=\frac{d}{s}
dprop?=sd?
传输延迟和传播延迟不一样,传输延迟是指发送一个分组需要多长时间,而传播延迟是数据传输所需要的时间。
4.丢包率、吞吐量
- 时延带宽积
-
时
延
带
宽
积
=
传
播
时
延
?
带
宽
时延带宽积 = 传播时延 * 带宽
时延带宽积=传播时延?带宽
- 相当链路上可以容纳的比特数量?
- 分组丢包
- 由于队列缓存容量有限,当分组达到达时,已满队列会将多余数据包丢弃(即丢包),丢弃分组需要有前序结点或者源重新发送分组。
- 用丢包率来衡量丢包数
- 吞吐量
- 表示在发送端与接收端之间传送数据的速率。(bps)
- 即时吞吐量:给定时刻的速率
- 平均吞吐量:一段时间的平均速率
五、计算机网络体系结构
1.计算机网络概述
计算机网络是一个非常复杂的系统,涉及到许多内容,利用怎样的网络结构可以更好的描述网络呢,这个时候ISO提出了分层结构。
网络体系结构是从功能上描述计算机网络的。
每层遵循某个/些网络协议王超本层的功能。
体系结构不涉及各部分之间的具体定义,所以是一个抽象的定义。
- 分层结构的优点:
- 各层之间是独立的
- 灵活性好
- 结构上已于分割
- 易于实现和维护
- 能够促进标注化工作
- 有利于标准化设计。
- 缺点
- 效率低
- 实体:表示发送或接收信息的硬件或软件
- 协议:控制两个对等实体进行通信的规则的集合,且协议是水平的。即协议就是定义两个同等层次之间如何进行数据的交换。
- 实体与实体之间,需要对上层提供服务,也需要使用下层提供的服务。
- 同系统的相邻层实体之间通过接口镜像数据的交互,通过服务访问点SPA,交换原语,指定请求的特定服务。
- 协议组成的三要素:语法、语义、同步。
2. OSI参考模型
开放性系统参考模型是由ISO于1984年提出的分层体系结构模型,提出的原因是因为当时出现 了很多通信设备,但是这些通信设备很难实现互联互通,所以产生了OSI参考模型,目的是为了支持异构网络的互联互通。
1.七层模型
- 通信过程
- 为什么要进行数据封装?
- 增加控制信息:构造协议数据单元
PDU 。 - 控制信息包括
- 地址:目的是找到发送端和接收端。
- 差错检测:用于插座检测或纠正(不是所有的协议都加差错控制)
- 协议控制:实现协议功能的附加信 息,如: 优先级(priority)、服务质量(QoS)、 和安全控制等。
2.各层介绍
-
物理层
- 接口特性:机械特性、电气特性、功能特性、规程特性
- 比特编码
- 数据率
- 比特同步
- 传输模式
-
数据链路层
- 负责结点-结点(node-to-node)数据传输,将数据封装
- 组帧
- 添加物理寻址,为了方便找到要到达的主机
- 流量控制,为了避免速度不匹配,数据阻塞和丢失
- 差错控制,检测并重传损坏或丢失帧,并避免重复帧
- 访问控制,在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权
-
网络层
- 负责源主机到目的主机数据分组(packet)交付
- 需要有全局唯一的逻辑地址,也称为IP确保传输到的目的主机
- 还需要有路由的功能,路由器通过路由的方式选择最终的目的主机
- 分组转发
-
传输层
- 主要负责进程间数据的完整交互
- 将数据进行分段与重组
- 通过SAP寻址、确保完整的报文提交到正确的进程。
-
应用层
|