1.计算机网络的概念
计算机网络: 是一个将分散的、具有独立功能的计算机系统 ,通过通信设备 与线路 连接起来,由功能完善的软件 实现资源共享 和信息传递 的系统。
网络: 是由若干节点 和连接这些节点的链路 构成,表示诸多对象及其相互联系。 计算机网络在实际上没有精确统一的定义。 但是有一个最简单的定义:计算机网络是一些互连 的、自治 的计算机系统的集合。 互连: 指的是计算机之间可以通过有线或者无线的方式进行数据通信。 自治: 指的是独立的计算机,拥有自己的硬件和软件,可以独立运行。 计算机集合: 指的是至少要有两台计算机。 比较全面的定义是: 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据(如音频、数据),并能支持广泛的和日益增长的应用。
2.计算机网络的功能
分布式处理: 同一工作任务可由多台计算机共同完成。 负载均衡: 同一工作任务由多台计算机轮流或同时完成。
3.计算机网络发展的三个阶段
第一阶段的特点是从单个网络ARPANET 向互联网发展。 第二阶段的特点是建成了三级结构的互联网。 第三阶段的特点是逐渐形成了全球范围的多层次ISP 结构的互联网。 三级结构指的是主干网、地区网和校园网(或企业网)。 ISP 指的是互联网服务提供商,如国内的中国移动、中国联通和中国电信。ISP 也分为不同层次:主干ISP 、地区ISP 和本地ISP 。 其中IXP 为互联网交换点,其主要作用是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。
4.互联网与互连网
互联网(Internet): 指当前全球最大的、开放的、由众多网络相互连接而成的计算机网络,且 其前身是美国的APRANET ,为专用名词 。 互连网(internet): 泛指由多个计算机网络互连而成的计算机网络,为通用名词 。
5.互联网的标准化工作
6.互联网的组成
互联网从工作方式上看可分为边缘部分 和核心部分 。 边缘部分: 由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(如传输数据、音频或视频)和资源共享。 核心部分: 由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换)。
1.边缘部分
处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统,端 就是末端 的意思(即互联网的末端)。 小的端系统: 个人电脑、智能手机或网络摄像头等 大的端系统: 大型计算机(通常称为服务器)。 我们要明确一个概念:主机A与主机B进行通信 ,实际上是指:运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信 。由于进程 就是运行着的程序 ,因此这也可以理解为:主机A的某个进程和主机B上的另一个进程进行通信 。这种比较严密的说法可以简称为计算机之间通信 。 在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式) 和对等方式(P2P方式) 。
1.客户-服务器方式
客户程序: 1.被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。 2.不需要特殊的硬件和很复杂的操作系统。 服务器程序: 1.是一种专门用来提供某种服务的程序,可同时处理多个远地或本地用户的请求。 2.系统启动后即一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。 3.一般需要有强大的硬件和高级的操作系统支持。 客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接受数据。
2.对等连接方式
2.核心部分
在网络核心部分起特殊作用的是路由器,它是一种专用计算机(但不叫作主机),路由器是实现分组交换的关键构件,其任务是转发收到的分组。 为了清楚路由器转发分组的过程,我们先来看下货物的转发过程 由上图分析可得,路由器转发分组的过程: 1.接受分组 2.存储分组 3.查找转发表 4.找到转发端口,转发分组
1.电路交换
2.分组交换
3.报文交换
4.三种交换比较
电路交换: 整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。 报文交换: 整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。 分组交换: 单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。
7.计算机网络的分类
1.按照网络的作用范围分类
广域网(WAN): 作用范围通常是几十到几千公里的区域,因而有时也称远程网。广域网是互联网的核心部分,其任务是长距离运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量。 城域网(MAN): 作用范围一般是一个城市,可跨越几个街区甚至整个城市,作用距离约为约5
~
\sim
~ 50km,城域网大多采用以太网技术,因此有时也常并入局域网的范围进行讨论。 局域网(LAN): 作用范围局限在较小的范围(如1km左右)。一般用微型计算机或工作站通过高速通信线路相连。 个人区域网(PAN): 作用范围大约十米左右。是在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网(WPAN)。
2.按照网络的使用者分类
公用网: 指电信公司出资建造的大型网络。公用 的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网 也可称为公众网 。 专用网: 指某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。
8.计算机网络的性能
1.速率
速率指的是数据的传送速率 ,也称为数据率或比特率。需要注意的是,速率往往是指额定速率或标称速率,而非实际运行速率。 速率的单位是bit/s (比特每秒)
1
1
1kb/s
=
1
0
3
=10^3
=103b/s
1
1
1Mb/s
=
1
0
3
=10^3
=103kb/s
=
1
0
6
=10^6
=106b/s
1
1
1Gb/s
=
1
0
3
=10^3
=103Mb/s
=
1
0
6
=10^6
=106kb/s
=
1
0
9
=10^9
=109b/s
1
1
1Tb/s
=
1
0
3
=10^3
=103Gb/s
=
1
0
6
=10^6
=106Mb/s
=
1
0
9
=10^9
=109kb/s
=
1
0
12
=10^{12}
=1012b/s
2.带宽
3.吞吐量
吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量通常用来测量实际上到底有多少数据量能够通过网络。且吞吐量受网络的带宽或网络的额定速率的限制。
4.时延
时延 是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟 或迟延 。 网络中的时延 由以下几个不同的部分组成: 发送时延、传播时延、处理时延和排队时延 。
1.发送时延
发送时延: 是主机或路由器发送数据帧所需要的时间,也就是从发生数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。发送时延也叫做传输时延,为了避免跟传播时延搞混,一般不常用。 发生时延 的计算公式如下:
发
送
时
延
=
数
据
帧
长
度
(
b
i
t
)
发
送
速
率
(
b
i
t
/
s
)
发送时延=\frac{数据帧长度(bit)}{发送速率(bit/s)}
发送时延=发送速率(bit/s)数据帧长度(bit)? 举个例子: 100个小学生放学排队离开学校,每个学生离开校门需要1秒的时间,100名学生离开校门需要多长时间? 答:
t
=
100
1
=
100
秒
t=\frac{100}{1}=100秒
t=1100?=100秒
2.传播时延
传播时延: 是电磁波在信道中传播一定的距离需要花费的时间。 传播时延 的计算公式如下:
传
播
时
延
=
信
道
长
度
(
米
)
信
号
在
信
道
上
的
传
播
速
率
(
米
/
秒
)
传播时延=\frac{信道长度(米)}{信号在信道上的传播速率(米/秒)}
传播时延=信号在信道上的传播速率(米/秒)信道长度(米)? 注意: 发送时延发生在机器内部的发送器中(一般是在网络适配器中),与传输信道的长度(或信号传送的距离)没有任何关系。 传播时延发生在机器外部的传输信道媒体上,与信号的发送速率无关。信号传送的距离越远,传播时延就越大。
3.处理时延
处理时延: 是指主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找转发表等)所花费的时间。
4.排队时延
排队时延: 是指分组在路由器输入输出队列中排队等待处理所经历的时延。因为路由器处理的数据很多,而路由器又不能同时处理完所有数据,因此需要进行排队等待。排队时延的长短往往取决于网络中当时的通信量。
最后我们得出一个结论:
总
时
延
=
发
送
时
延
+
传
播
时
延
+
处
理
时
延
+
排
队
时
延
总时延=发送时延+传播时延+处理时延+排队时延
总时延=发送时延+传播时延+处理时延+排队时延 必须指出,在总时延中,究竟是哪一种时延占主导地位,必须具体分析。
5.时延带宽积
时延带宽积又称为以比特为单位的链路长度,即某段链路现在有多少比特。 其计算公式为:
时
延
带
宽
积
=
传
播
时
延
×
带
宽
时延带宽积=传播时延\times 带宽
时延带宽积=传播时延×带宽 如上图所示,传播时延代表了圆柱形管道的长度,带宽代表了管道的截面积。对于一条正在传送数据的链路,只有在代表链路的管道都充满比特时,链路才得到了充分利用。
6.往返时延RTT
RTT 越大,在收到确认之前可发送的数据越多。因为一直收不到确认,以为可以一直发送信息,所以就一直发一直发,所以发送的数据就越来越多。
7.利用率
利用率分为信道利用率和网络利用率。信道利用率指出某信道有百分之几的时间是被利用的(即有数据通过),网络利用率是全网络的信道利用率的加权平均值。 由上图我们可以得出结论:信道利用率或网络利用率过高就会产生非常大的时延。
9.计算机网络的系统结构
1.分层
计算机网络是个非常复杂的系统。相互通信的两个计算机必须高度协调工作才行,而这种协调是相当复杂的。分层 可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。 如上图就是两个不同语言的人进行沟通的过程。 上图是两台计算机通信需要进行的操作,可以看出分成了四个步骤,如果把这四个步骤一起考虑就会使问题变得复杂,因此我们采用分层 技术。 那我们如何分层呢?一般情况下我们按功能 进行抽象分层,定义层间接口和提供什么服务,层间如何调用服务,对等层间的必须遵循的规则(协议)。 分层 的基本原则如下: 由于网络体系结构的不同,不同公司的设备很难互相连通。
2.协议
计算机网络中的数据交换必须遵守事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。网络协议 ,简称为协议 ,是为进行网络中的数据交换而建成的规则、标准或约定。 协议 有两种形式,一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。 网络协议主要由以下三个要素组成: 1.语法: 数据与控制信息的结构或格式,解决交换信息的格式问题。 2.语义: 需要发出何种控制信息,完成何种动作以及做出何种响应。解决做什么的问题。 3.同步: 事件实现顺序的详细说明。什么时间什么条件下做某一特定操作的规定,解决先做什么后做什么的问题。 注意:正如我们日常生活中需要各种规章制度跟法律一样,网络协议也是计算机网络不可缺少的组成部分。
10.计算机网络的体系结构
计算机网络的体系结构: 是计算机网络的各层及其协议的集合。体系结构 就是这个计算机网络及其部件所应完成的功能的精确定义。实现 是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。体系结构 是抽象的,而实现 则是具体的,是真正在运行的计算机硬件和软件。比如一种建筑风格是抽象的,但是建筑却是具体的。 OSI 的七层协议 体系结构的概念清楚、理论也较完整,但它既复杂又不实用。 TCP/IP 是四层协议 体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。 因此往往采取折中的办法,即综合OSI 和TCP/IP 的优点,采用一种只有五层协议 的体系结构。 为了方便理解计算机之间的协议封装和协议解封装过程,我们先来看下两个人互相送礼物的过程。 下面即为计算机之间的协议封装和解封装过程。 实体: 表示任何可发送或接收信息的硬件或软件进程。 协议: 控制两个对等实体进行通信的规则的集合(水平的)。 1. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务(功能调用,垂直的,单向的)。 2. 要实现本层协议,还需要使用下层所提供的服务。 3. 本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。 4. 服务在形式上由一组接口原语(或操作) 来描述,上层实体向下层实体请求服务时,服务提供者和服务用户间需要交互一些必要的信息,以说明要去服务的一些情况,这些信息即服务原语。 5. 上层使用服务原语 获得下层所提供的服务。 OSI 将服务原语划分为四类:
?
\bullet
?请求(Request) :由服务用户发往服务提供者,请求它完成某项工作。
?
\bullet
?指示(Indication) :由服务提供者发往服务用户,指示发生了某些事件。
?
\bullet
?响应(Response) :由服务用户发往服务提供者,对前面发生的指示的响应。
?
\bullet
?确认(Confirmation) :由服务提供者发往服务用户,对前面发生的请求的证实。
SDU服务数据单元 :为完成用户所要求的功能而应传送的数据。 PCI协议控制信息 :控制协议操作的信息。 PDU协议数据单元 :对等层次之间传送的数据单元。
|