第一章
1. 计算机网络在信息时代中的作用
重要特征是数字化、网络化和信息化,它是一个以网络为核心的信息时代。
大众熟悉的三大类网络有:
-
电信网络:提供电话、电报及传真等服务;
-
有线电视网络:向用户传送各种电视节目;
-
计算机网络:
互连网:指在局部范围互连起来的计算机网络。
互联网:指当今世界上最大的计算机网络。
互联网具有两个重要基本特点:连通性、共享
互联网+:
特点:把互联网的创新成果深度融合于经济社会各领域。
2. 互联网概述
互联网基础结构发展的三个阶段
第一阶段:从单个网络ARPANET向互联网发展的过程。
- 1983年,TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网相互通信。
- 人们把1983年作为互联网的诞生时间。
- 1990年,ARPANET正式宣布关闭。
第二阶段:建成了三级结构的互联网。
- 它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。
第三阶段:逐渐形成了多层次ISP结构的互联网。
- 出现了互联网服务提供者ISP。
- 任何机构和个人只要向某个ISP缴纳规定的费用,就可从该ISP获取所需IP地址的使用权,并可通过该ISP接入到互联网。
- 根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不用,ISP也分成为不同层次的ISP:主干ISP、地区ISP和本地ISP。
万维网WWW(World Wide Web)
3. 互联网的组成
计算机硬件系统:运算器、控制器、存储器、输入、输出设备。
从互联网的工作方式上看,可以划分为两大块:
(1)边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
(2)核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
主机A和主机B进行通信实际上是指:”运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信“。
即“主机A的某个进程和主机B上的另一个进程进行通信”。简称为“计算机之间通信”。
-
端系统之间的通信方式通常可划分为两大类:
-
客户-服务器方式(C/S方式)
即Client/Server方式,简称C/S方式。
-
对等方式(P2P方式)
即Peer-to-Peer方式,简称P2P方式。
-
-
客户—服务器方式
- 客户和服务器都是指通信中所涉及的两个应用进程。
- 客户—服务器方式所描述的是进程之间服务和被服务的关系。
- 客户是服务的请求方,服务器是服务的提供方。
服务请求方和服务提供方都要使用网络核心部分所提供的服务。
客户软件的特点
- 被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
- 不需要特殊的硬件和很复杂的操作系统。
- 一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
- 系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此。服务器程序不需要知道客户程序的地址。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。
对等连接方式
- 对等连接(P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
- 只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。
- 双方都可以下载对方已经存储在硬盘中的共享文档。
互联网的核心部分
- 网络核心部分是互联网中最复杂的部分。
- 网络中核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
- 在网络核心部分起特殊作用的是路由器。
- 路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
- 为了理解分组交换,首先了解电路交换的基本概念。
使用交换机,电路交换
-
当电话机的数量增多时,就要使用交换机来完成全网的交换任务。
-
电路交换必定是面向连接的。
-
电路交换分为三个阶段:
- 建立连接:建立一条专用的物理通路(独占),以保证双方通话时所需的通信资源在通信时不会被其他用户占用;
- 通信:主叫和被叫双方就能互相通电话;
- 释放连接:释放刚才使用的这条专用的物理通路(释放刚才占用的所有通信资源)。
-
电路交换的缺点:
- 计算机数据具有突发性。
分组交换的特点
- 分子交换则采用存储转发技术
- 在发送端,先把较长的报文划分成较短的、固定长度的数据段
- 在一个数据段前面添加上首部构成分组。
- 分组交换网以==“分组”==作为数据传输单元。
- 依次把各分组发送到接收端(假定接收端在左边)
分部首部的重要性
- 每一个分组的首部都含有地址(诸如目的地址和源地址)等控制信息。
- 分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。
- 每个分组在互联网中独立地选择传输路径。
- 用这样的存储转发方式,最后分组就能到达最终目的地。
互联网的核心部分
- 互联网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在互联网的边缘部分。
- 互联网核心部分中的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。
- 主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的。
路由器
- 在路由器中的输入和输出端口之间没有直接连线。
- 路由器处理分组的过程是:
- 把收到的分组先放入缓存(暂时存储);
- 查找转发表,找出到某个目的地址应从哪个端口转发;
- 把分组送到适当的端口转发出去。
主机和路由器的作用不同
- 主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。
- 路由器对分组进行存储转发,最后把分组交付目的主机。
分组交换的优点
- 高效、灵活、迅速、可靠。
分组交换带来的问题
- 分组在各结点存储转发时需要排队,这就会造成一定的时延。
- 分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。
4. 计算机网络在我国的发展
- 到目前为止,我国陆续建造了基于互联网技术的并能够和互联网互连的多个全国范围的公用计算机网络,其中规模最大的就是下面这五个:
- (1) 中国电信互联网 CHINANET(也就是原来的中国公用计算机互联网)
- (2) 中国联通互联网 UNINET
- (3) 中国移动互联网 CMNET
- (4) 中国教育和科研计算机网 CERNET
- (5) 中国科学技术网 CSTNET
5. 计算机网络的类别
计算机网络的定义
- 较好的定义:
- 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 根据这个定义:
- (1) 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机。
- (2) 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
几种不同类别的网络
- 计算机网络有多种类别。典型包括:
- 按照网络的作用范围进行分类
- 按照网络的使用者进行分类
- 用来把用户接入到互联网的网络
按照网络的作用范围进行分类
-
广域网 WAN (Wide Area Network):作用范围通常为几十到几千公里。
-
城域网 MAN (Metropolitan Area Network):作用距离约为 5 ~ 50 公里。
-
局域网 LAN (Local Area Network) :局限在较小的范围(如 1 公里左右)。
-
==个人区域网 PAN (==Personal Area Network) :范围很小,大约在 10 米左右。
注意:若中央处理机之间的距离非常近(如仅1米的数量级甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络。
按照网络的使用者进行分类
- 公用网 (public network) :按规定交纳费用的人都可以使用的网络。因此也可称为公众网。
- 专用网 (private network) :为特殊业务工作的需要而建造的网络。
注意:公用网和专用网都可以提供多种服务。如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。
用来把用户接入到互联网的网络
- 接入网 AN (Access Network),它又称为本地接入网或居民接入网。
- 接入网是一类比较特殊的计算机网络,用于将用户接入互联网。
- 接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分。
- 接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络。
- 从覆盖的范围看,很多接入网还是属于局域网。
- 从作用上看,接入网只是起到让用户能够与互联网连接的“桥梁”作用。
6. 计算机网络的性能
计算机网络的性能指标
-
计算机网络的性能一般是指它的几个重要的性能指标,主要包括:速率、带宽、吞吐率、时延、时延带宽积、往返时间 RTT、利用率。
-
速率:
- 比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。
- 速率是计算机网络中最重要的一个性能指标,指的是数据的传送速率,它也称为数据率 (data rate)或比特率 (bit rate)。
- 速率往往是指额定速率或标称速率,非实际运行速率。
-
带宽:
-
“带宽”(bandwidth) 本来是指信号具有的频带宽度,其单位是赫(或千赫、兆赫、吉赫等)。
-
在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的“最高数据率”。单位是 bit/s ,即 “比特每秒”。
注意:在“带宽”的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。也就是说,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
-
在时间轴上信号的宽度随带宽的增大而变窄。
-
-
吞吐量:
- 吞吐量 (throughput) 表示在单位时间内通过某个网络(或信道、接口)的数据量。
- 吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- 吞吐量受网络的带宽或网络的额定速率的限制。
-
时延
-
时延 (delay 或 latency) 是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
-
有时也称为延迟或迟延。
-
网络中的时延由以下几个不同的部分组成:
- 发送时延
- 传播时延
- 处理时延
- 排队时延
-
发送时延:
- 也称为传输时延。
- 发送数据时,数据帧从结点进入到传输媒体所需要的时间。
- 也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
-
-
传播时延:
- 电磁波在信道中需要传播一定的距离而花费的时间。
- 发送时延与传播时延有本质上的不同。
- 信号发送速率和信号在信道上的传播速率是完全不同的概念。
-
-
处理时延:
- 主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。
-
排队时延:
- 分组在路由器输入输出队列中排队等待处理所经历的时延。
- 排队时延的长短往往取决于网络中当时的通信量。
-
数据在网络中经历的总时延就是发送时延、传播时延、处理时延和排队时延之和。
- 总时延=发送时延+传播时延+处理时延+排队时延
-
容易产生的错误概念:
- 对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。
- 提高链路带宽减小了数据的发送时延。
- 以下说法是错误的:“在高速链路(或高带宽链路)上,比特会传送得更快些”。
-
-
时延带宽积:
- 链路的时延带宽积又称为以比特为单位的链路长度。
-
往返时间 RTT:
- 往返时间表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
- 在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
- 当使用卫星通信时,往返时间 RTT 相对较长,是很重要的一个性能指标。
-
利用率:
- 分为信道利用率和网络利用率。
- 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
- 网络利用率则是全网络的信道利用率的加权平均值。
- 信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。
-
-
练习题:
- 考虑一个最大距离为2km的局域网,当带宽等于多大时传播延时(传播速度为2*108m/s)等于100B分组的发送延时?对于512B分组结果又当如何?
- 答:传播延时等于2103m/(2108m/s)=10-5s=10us分组大小为100B
- 假设带宽大小为Xb/s,要使传播时延等于发送时延,
- 所以带宽 X=100B/10us=10MB/s=80Mb/s
- 分组大小为512B,
- 带宽=512B/10us=51.2MB/s=409.6Mb/s
- 考虑一个最大距离为2km的局域网,当带宽等于多大时传播延时(传播速度为2*108m/s)等于100B分组的发送延时?对于512B分组结果又当如何?
计算机网络的非性能指标
- 一些非性能特征也很重要。它们与前面介绍的性能指标有很大的关系。主要包括:费用、质量、标准化、可靠性、可扩展性和可升级性、易于管理和维护。
7. 计算机网络的体系
计算机网络体系结构的形成
-
计算机网络是个非常复杂的系统。
-
相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。
-
“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
-
1974 年,美国的 IBM 公司宣布了系统网络体系结构SNA (System Network Architecture)。这个著名的网络标准就是按照分层的方法制定的。
-
不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。
-
由于网络体系结构的不同,不同公司的设备很难互相连通。
开放系统互连参考模型 OSI/RM
- 为了使不同体系结构的计算机网络都能互连,他们提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),简称为 OSI。
- OSI 只获得了一些理论研究的成果,在市场化方面却失败了。原因包括:
- OSI 的专家们在完成 OSI 标准时没有商业驱动力;
- OSI 的协议实现起来过分复杂,且运行效率很低;
- OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
- OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
两种国际标准
- 法律上的 (de jure) 国际标准 OSI 并没有得到市场的认可。
- 非国际标准 TCP/IP 却获得了最广泛的应用。TCP/IP 常被称为事实上的 (de facto) 国际标准。
协议与划分层次
- 计算机网络中的数据交换必须遵守事先约定好的规则。
- 这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
- 网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
网络协议的三个组成要素
- 语法:数据与控制信息的结构或格式 。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
- 由此可见,网络协议是计算机网络的不可缺少的组成部分。
协议的两种形式
- 一种是使用便于人来阅读和理解的文字描述。
- 另一种是使用让计算机能够理解的程序代码。
- 这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。
层次式协议结构
- ARPANET 的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。
划分层次的概念举例
- 主机 1 向主机 2 通过网络发送文件。
- 可以将要做的工作进行如下的划分:
- 第一类工作与传送文件直接有关。
- 确信对方已做好接收和存储文件的准备。
- 双方已协调好一致的文件格式。
- 两个主机将文件传送模块作为最高的一层 ,剩下的工作由下面的模块负责。
- 第一类工作与传送文件直接有关。
两个主机交换文件
- 再设计一个通信服务模块
- 再设计一个网络接入模块
- 分层的好处与缺点
- 好处:
- 各层之间是独立的。
- 灵活性好。
- 结构上可分割开。
- 易于实现和维护。
- 易于实现和维护。
- 缺点:
- 降低效率。
- 有些功能会在不同的层次中重复出现,因而产生了额外开销。
- 好处:
层数多少要适当 :
- 层数太少,就会使每一层的协议太复杂。
- 层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
各层完成的主要功能:
- ① 差错控制:使相应层次对等方的通信更加可靠。
- ② 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
- ③ 分段和重装 :发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
- ④ 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
- ⑤ 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
计算机网络的体系结构
- 计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合。
- 体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
- 实现 (implementation) 是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
- 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
具有五层协议的体系结构
- OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
- TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。
- 但最下面的网络接口层并没有具体内容。
- 因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。
五层协议的体系结构
- 应用层 (application layer)
- 运输层 (transport layer)
- 网络层 (network layer)
- 数据链路层 (data link layer)
- 物理层 (physical layer)
主机 1 向主机 2 发送数据
- OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。这个名词现已被许多非 OSI 标准采用。
- 任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。
- 各层协议实际上就是在各个对等层之间传递数据时的各项规定。
实体、协议、服务和服务访问点
协议很复杂
- 协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
- 看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。