第一章 概述
1.1 计算机网络在信息时代中的作用
1、信息时代:以网络为核心。
2、信息时代的三个重要特征:数字化、网络化和信息化。
3、网络已成为现代社会的命脉和发展知识经济的重要基础,对社会经济的发展都将产生非常深远的影响。
4、大众熟知的三大类网络,即电信网络、有线电视网络和计算机网络。发展最快的并起到核心作用的是计算机网络。“三网融合”:融入现代计算机网络技术。
①电信网络:提供电话、电报及传真等服务。
②有线电视网络:向用户传送各种电视节目。
③计算机网络:使用户能在计算机之间传送数据文件。
5、互联网的 2 个重要基本特点(是 Internet 提供许多服务的基础。):
①连通性。使上网用户之间可以非常便捷、非常经济地交换各种信息。好像这些用户终端都彼此直接连通一样。
②共享——即资源共享。实现信息共享、软件共享、硬件共享。由于网络的存在,这些资源好像就在用户身边一样地方便使用。
1.2 互联网概述
1.2.1 网络的网络
1、起源于美国的互联网现已发展成为世界上最大的覆盖全球的计算机网络。
2、计算机网络(简称为网络)由若干节点和连接这些节点的链路组成。节点可以是计算机、集线器、交换机或路由器等。
3、互连网:多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络。互连网是“网络的网络”。
5、网络与互连网
①网络:把许多计算机连接在一起。
②互连网:把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机。
③互连网(internet)≠互联网(Internet)。
1.2.2 互联网基础结构发展的三个阶段
第一阶段 从单个网络 ARPANET 向互连网发展(1969-1990)
ARPANET:最初只是一个单个的分组交换网,不是一个互连网。
1983年,TCP/IP协议成为 ARPANET 上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网相互通信。
人们把1983年作为互联网的诞生时间。
1990年,ARPANET 正式宣布关闭。
补充知识:Internet和internet的区别 1、以小写字母i开始的 internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。 2、以大写字母I开始的Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信规则,且其前身是美国的 ARPANET。 |
第二阶段 建成了三级结构的互联网(1985-1993)
国家科学基金网 NSFNET。
三级结构:主干网、地区网和校园网(或企业网)。
覆盖了全美国主要的大学和研究所,并且成为互联网中的主要组成部分。
第三阶段 建立多层次ISP结构的因特网(1993-现在)
出现了互联网服务提供者ISP (Internet Service Provider):提供接入到互联网的服务。需要收取一定的费用。
多层次ISP结构:主干ISP、地区ISP和本地ISP。覆盖面积大小和所拥有的IP地址数目的不同。
互联网交换点IXP (Internet eXchange Point):允许两个网络直接相连并快速交换分组。常采用工作在数据链路层的网络交换机。世界上较大的 IXP 的峰值吞吐量都在 Tbit/s 量级。
内容提供者 (Content Provider):在互联网上向所有用户提供视频等内容的公司。不向用户提供互联网的转接服务。
20 世纪 90 年代:万维网 WWW 的问世
由欧洲原子核研究组织 CERN 开发。
成为互联网指数级增长的主要驱动力。
2019 年 3 月底,互联网的用户数已超过了 43.8亿。
1.2.3 互联网的标准化工作
1、互联网的标准化工作对互联网的发展起到了非常重要的作用。
2、制定互联网的正式标准要经过以下的三个阶段:
①互联网草案——在这个阶段还不能算是RFC文档。
②建议标准——从这个阶段开始就成为RFC文档。
③互联网标准。
3、标准发表:以 RFC 的形式
①RFC:Request For Comments (请求评论)。
②所有的 RFC 文档都可从互联网上免费下载。
③任何人都可以用电子邮件随时发表对某个文档的意见或建议。
④但并非所有的 RFC 文档都是互联网标准。只有很少部分的 RFC 文档最后才能变成互联网标准。
⑤RFC文档按发表时间的先后编上序号(即RFCxxxx,xxxx是阿拉伯数字)。
1.3 互联网的组成
1、从互联网的工作方式上看,可以划分为两大块:
①边缘部分:由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享。
②核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。
因特网的边缘部分与核心部分
1.3.1 互联网的边缘部分
1、处在互联网边缘部分的就是连接在互联网上的所有的主机。这些主机又称为端系统。
2、“计算机之间通信”的含义:实际上是指主机 A 的某个进程和主机 B 上的另一个进程进行通信。
3、端系统之间的两种通信方式:
①客户/服务器方式(C/S 方式)即Client/Server方式
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
客户/服务器方式所描述的是进程之间服务和被服务的关系。
客户是服务的请求方,服务器是服务的提供方。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。
客户程序和服务器程序主要特点 1、客户程序 被用户调用后运行,需主动向远地服务器发起通信(请求服务)。必须知道服务器程序的地址。 不需要特殊的硬件和很复杂的操作系统。 2、服务器程序 专门用来提供某种服务的程序,可同时处理多个客户请求。 一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。不需要知道客户程序的地址。 一般需要强大的硬件和高级的操作系统支持。 |
②对等方式(P2P 方式)即Peer to Peer 方式
两台主机在通信时不区分服务请求方和服务提供方。
只要都运行了 P2P 软件,就可以进行平等的、对等连接通信。
对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。
双方都可以下载对方已经存储在硬盘中的共享文档。
例如主机 C 请求 D 的服务时,C 是客户,D 是服务器。但如果 C 又同时向 F提供服务,那么 C 又同时起着服务器的作用。
1.3.2 互联网的核心部分
1、互联网的核心部分
①是互联网中最复杂的部分。
②向网络边缘中的主机提供连通性,使任何一台主机都能够向其他主机通信。
③在网络核心部分起特殊作用的是路由器(router)。
④路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组。分组转发是网络核心部分最重要的功能。
⑤分组转发是网络核心部分最重要的功能。
2、核心部分的三种交换方式
①电路交换
(1)电线对的数量与电话机数量的平方(N2)成正比。
(2)电路交换源于电话交换原理。它根据一方的请求在一对站(或数据终端)之间建立的电气连接过程,在该连接被拆除之前,所建立起来的电路一直被占用着。电路交换属于电路资源的预分配。
(3)电路交换的过程分为三个阶段:
建立连接:建立一条专用的物理通路(占用通信资源)。
通话:主叫和被叫双方互相通电话(一直占用通信资源)。
释放连接:释放刚才使用的专用的物理通路(归还通信资源)。
(3)电路交换的特点是接续路径采用物理连接。电路交换进行数据通信存在着两个限制:欲通信的两个站必须同时处于激活可用的状态;两个站之间的通信资源必须可用,而且必须专用。
(4)电路交换的优点与缺点:
(5)电路交换适用于传输信息量大,通信对象比较确定的场合。
②分组交换
(1)报文的概念:将要发送的整块数据称为一个报文。
(2)分组的概念:在发送报文前将较长的报文划分成一个个等长的数据段。如每个数据段为1024bit,每个数据段前加入一些必要的控制信息组成首部后就构成了一个分组了。分组又称为包,分组首部也可称为包头。
(3)分组是计算机网络中传输的数据单元。
(4)分组交换(又称包交换),是综合了电路交换和报文交换两者优点的一种交换方式。仍采用 “存储-转发”技术。分组交换的特点同电路交换。
(5)分组交换将一份较长的报文分解成若干个定长的“分组”,并在每个分组前都加上报头和报尾。报头中含地址和分组序号等内容,报尾是该分组的校验码。分组作为一个独立的规定格式的实体,便于交换机存储、分析和处理。既可以断续地传送,也可以经历不同的传输路径。
(6)分组交换的优点与缺点:
3、报文交换的主要特点
(1)报文交换的基本原理:当A用户欲向B用户发送数据时,A用户并不需要先接通至B用户的整条电路,而只需与直接连接的交换机接通,并将需要发送的报文作为一个独立的实体,全部发送给该交换机。然后该交换机将存储着的报文根据报文中提供的目的地址,在交换网内确定其路由,并将报文送到输出线路的队列中去排队,一旦该输出线路空闲,就立即将报文传送给下一个交换机。依次类推,最后送到B用户。
(2)报文交换的特点:交换机采取“存储—转发”技术对报文进行存储和处理。适用于电报业务和电子信箱业务。
(3)报文交换的主要优点:线路利用率较高;交换机以“存储—转发”方式传输数据信息,可起到匹配速率、防止呼叫阻塞、平滑通信业务量峰值的作用;易于实现各种不同类型终端之间的互通;不需要发、收两端同时处于激活状态。便于实现多种服务功能等。
(4)报文交换的主要缺点:数据信息通过交换网的时延较长,这不利于实时或交互型业务;交换机必须具有存储报文的大容量和高速分析处理报文的功能,从而增大了交换机的投资费用。
4、三种交换方式的比较
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
1.4 计算机网络在我国的发展(略)
1.5 计算机网络的分类
1.5.1 计算机网络的不同定义
1、计算机网络的精确定义并未统一。
2、较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
如何理解? “可编程的硬件”表明:这种硬件一定包含有中央处理器 CPU。 计算机网络所连接的硬件包括:一般的计算机;智能手机、电视 等。 计算机网络可以:传送数据;支持多种应用(包括今后可能出现的各种应用)。 |
1.5.2 几种不同类别的网络
1、按照网络的作用范围进行分类(若中央处理机之间的距离非常近(如仅 1 米甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络。)
类别 | 作用范围或距离 |
广域网 WAN (Wide Area Network) | 通常为几十到几千公里。有时也称为远程网(long haul network)。是互联网的核心部分。 |
城域网 MAN (Metropolitan Area Network) | 作用范围一般是一个城市,作用距离约为 5~50 公里。 |
局域网 LAN (Local Area Network) | 局限在较小的范围(如 1 公里左右)。通常采用高速通信线路。 |
个人区域网 PAN (Personal Area Network) | 范围很小,大约在 10 米左右。有时也称为无线个人区域网 WPAN (Wireless PAN)。 |
2、按照网络的使用者进行分类(公用网和专用网都可以传送多种业务。如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。)
类别 | 作用范围或距离 |
公用网 (public network) | 按规定交纳费用的人都可以使用的网络。也可称为公众网。 |
专用网 (private network) | 为特殊业务工作的需要而建造的网络。 |
3、用来把用户接入到互联网的网络
接入网 AN (Access Network)又称为本地接入网或居民接入网。用于将用户接入互联网。
实际上就是本地 ISP 所拥有的网络,它既不是互联网的核心部分,也不是互联网的边缘部分。是从某个用户端系统到本地 ISP 的第一个路由器(也称为边缘路由器)之间的一种网络。
从覆盖的范围看,很多接入网还是属于局域网。
由 ISP 提供的接入网只是起到让用户能够与因特网连接的“桥梁”作用。
4、按拓扑结构分类
• 总线型
用单根传输线把计算机连接起来。
优点:建网容易,增减节点方便,节省线路。
缺点:重负载时通信效率不高,任意一处出现故障后全网瘫痪。
• 环型
将所有计算机网络结构连接成一个环,环可以是单环或者双环,环中信号是单向传输的。
优点,缺点和总线型差不太多。
• 星形
将每个计算机都以单独的线路与中央设备相连。中央设备现在一般是交换机。
优点:便于网络的集中控制和管理。
缺点:成本高,中央设备对故障敏感。
• 树形
树形网络也叫多星级型网络。树形网络是由多个层次的星型结构纵向连接而成,树的每个节点都是都是计算机或转接设备。一般来说,越靠近树的根部,节点设备的性能就越好。与星型网络相比,树形网络总长度短,成本较低,节点易于扩充,但是树形网络复杂,与节点相连的链路由故障时,对整个网络的影响较大
优点:易于扩展,故障隔离较容易
缺点:各个节点对根的依赖性太大。
• 网状
每个节点至少由两条路径与其它节点相连接,多用在广域网中。
这里就不详细阐述了,以后会详细介绍。
以上结构都可以任意组合成复杂有效的复合型结构。
1.6 计算机网络的性能
1.6.1 计算机网络的性能指标
1、速率
比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。
Bit来源于binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。
速率指的是数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)。是计算机网络中最重要的一个性能指标。速率的单位是bit/s,或kbit/s、Mbit/s、Gbit/s等
速率往往是指额定速率或标称速率,非实际运行速率。
千 = K = 210 = 1024,兆 = M = 220 = 1024 K,吉 = G = 230 = 1024 M 1 字节 (Byte) = 8 比特 (bit) |
2、带宽
3、吞吐量
单位时间内通过某个网络(或信道、接口)的实际数据量。
受网络的带宽或网络的额定速率的限制。额定速率是绝对上限值。可能会远小于额定速率,甚至下降到零!
有时可用每秒传送的字节数或帧数来表示。
4、时延
指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟或迟延。时延由四个部分组成:
(1)发送时延(传输时延):是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
(2)传播时延:是电磁波在信道中传播一定的距离需要花费的时间。
电磁波传播速率: 自由空间的传播速率是光速 = 3.0 ⅹ 105 km/s 在铜线电缆中的传播速率约 = 2.3 ⅹ 105 km/s 在光纤中的传播速率约 = 2.0 ⅹ 105 km/s |
注意:发送时延与传播时延有本质上的不同。 发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系。 传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。 |
(3)处理时延:主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。
(4)排队时延:分组在路由器输入输出队列中排队等待处理和转发所经历的时延。排队时延的长短往往取决于网络中当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延 注意:在总时延中,究竟是哪一种时延占主导地位,必须具体分析。 一般说来,小时延的网络要优于大时延的网络。 在某些情况下,一个低速率、小时延的网络很可能要优于一个高速率但大时延的网络。 |
例:在高速链路(或高带宽链路)上,比特会传送得更快些。(×)
5、时延带宽积
时延带宽积是指时延与带宽之乘积。
链路的时延带宽积又称为以比特为单位的链路长度。
管道中的比特数表示从发送端发出但尚未到达接收端的比特数。
只有在代表链路的管道都充满比特时,链路才得到了充分利用。
例:设某段链路的传播时延为20ms,带宽为10Mb/s。则时延带宽积为20×105bit。
6、往返时间RRT
往返时延 RTT (Round-Trip Time) 表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。如果接收端收到数据后立即发送确认,这相当于传播时延的两倍。
例:设某段链路的传播时延为20ms,则它的往返时延RTT=40ms。
7、利用率
1.6.2 计算机网络的非性能特征
这些非性能特征与性能指标有很大的关系:费用、标准化、可靠性、质量、管理和维护、可拓展性和可升级性。
1.7 计算机网络的体系结构
1.7.1 计算机网络体系结构的形成
计算机网络是一个非常复杂的系统。相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。以两台计算机通过网络互相传送文件为例,除两者之间必须有一条物理链路外,还涉及到许多工作要做,如:
必须有一条传送数据的通路。
发起方必须激活通路。
要告诉网络如何识别接收方。
发起方要清楚对方是否已开机,且与网络连接正常。
发起方要清楚对方是否准备好接收和存储文件。
若文件格式不兼容,要完成格式的转换。
要处理各种差错和意外事故,保证收到正确的文件这些工作需要通信双方密切配合和协同工作。在具体工程实现上,是将它分解成若干个子任务,然后再独立实现每个子任务。这就“分层”设计的思想。
1.7.2 协议与划分层次
1、计算机网络中的数据交换必须遵守事先约定好的规则。
2、这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
3、网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
4、网络协议的组成要素
①语法:数据与控制信息的结构或格式 。
②语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
③同步:事件实现顺序的详细说明。
5、划分层次的概念举例:两台主机通过网络传送文件
早在设计APRANET时就提出了分层的方法,“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
划分层次的概念假设两台计算机通过网络传送文件。
可以将要做的工作划分为如下三类:
6、各层完成的主要功能
差错控制:使相应层次对等方的通信更加可靠。
流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
1.7.3 具有五层协议的体系结构
1、
2、五层协议的体系结构的各层的主要结构:
①应用层:
任务:通过应用进程间的交互来完成特定网络应用。
协议:定义的是应用进程间通信和交互的规则。把应用层交互的数据单元称为报文(message)。
例如:DNS,HTTP,SMTP
②运输层:
任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。
具有复用和分用的功能。
主要使用两种协议: 传输控制协议 TCP、用户数据报协议 UDP 。
TCP (Transmission Control Protocol):提供面向连接的、可靠的数据传输服务。数据传输的单位是报文段 (segment)。
UDP (User Datagram Protocol):提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。数据传输的单位是用户数据报。
③网络层:
为分组交换网上的不同主机提供通信服务。
两个具体任务:路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。
互联网使用的网络层协议是无连接的网际协议 IP (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。
IP 协议分组也叫做 IP 数据报,或简称为数据报。
④数据链路层:
常简称为链路层。
任务:实现两个相邻节点之间的可靠通信。
在两个相邻节点间的链路上传送帧(frame)。
如发现有差错,就简单地丢弃出错帧。
如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。
⑤物理层:
任务:实现比特(0 或 1)的传输。
确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
2、下面以五层体系结构为例,说明两个进程之间的通信。
假设计算机1的应用进程AP1与计算机2的应用进程AP2进行通信。
1.7.4 实体、协议、服务和服务访问点
1、实体 (entity) :表示任何可发送或接收信息的硬件或软件进程。
2、协议:控制两个对等实体进行通信的规则的集合。
3、在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
4、要实现本层协议,还需要使用下层所提供的服务。
5、协议和服务是两种截然不同的概念。
6、服务访问点 SAP
在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。
SAP 是一个抽象的概念,它实际上就是一个逻辑接口。
OSI 把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)。
SDU 可以与 PDU 不一样。例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
7、相邻两层之间的关系。
6、协议很复杂
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
1.7.5 TCP/IP的体系结构