【用电脑浏览最佳】
1.4 计算机网络在我国的发展
1980 年,铁道部开始进行计算机联网实验。
1989 年 11 月,我国第一个公用分组交换网 CNPAC 建成运行。
1994 年 4 月 20 日,我国用 64 kbit/s 专线正式连入互联网,我国被国际上正式承认为接入互联网的国家。
1994 年 5 月,中国科学院高能物理研究所设立了我国的第一个万维网服务器。
1994 年 9 月,中国公用计算机互联网 CHINANET 正式启动。
到目前为止,我国陆续建造了基于互联网技术的并能够和互联网互连的多个全国范围的公用计算机网络,其中规模最大的就是下面这五个:中国电信互联网CHINANET(也就是原来的中国公用计算机互联网)、中国联通互联网UNINET、中国移动互联网CMNET、中国教育和科研计算机网CERNET、中国科学技术网CSTNET。
对我国互联网事业发展影响较大的人物和事件:
1994 年,中国教育和科研计算机网 CERNET (China Education and Research NETwork) 是我国第一个 IPv4 互联网主干网。
2004 年 2 月,我国的第一个下一代互联网 CNGI 的主干网 CERNET2 试验网正式开通,并提供服务。 试验网以 2.5~10 Gbit/s 的速率连接北京、上海和广州三个 CERNET 核心节点,并与国际下一代互联网相连接。
中国互联网络信息中心 CNNIC (ChiNa Network Information Center) 每年两次公布我国互联网的发展情况。
到 2019 年底,我国的国际出口带宽已超过 8.8 Tbit/s (1 Tbit/s = 103 Gbit/s)。
1996 年,张朝阳创立了中国第一家以风险投资资金建立的互联网公司—爱特信公司。两年后,爱特信公司推出“搜狐”产品,并更名为搜狐公司(Sohu)。搜狐网站(Sohu.com) 是中国首家大型分类查询搜索引擎。
1997 年,丁磊创立了网易公司(NetEase),推出了中国第一家中文全文搜索引擎,开发的超大容量免费邮箱(如163和126等)。
1998 年,王志东创立新浪网站(Sina.com ) 。
新浪的微博是全球使用最多的微博之一。
1998 年,马化腾、张志东创立了腾讯公司 (Tencent) 。 1
1999 年,腾讯就推出了用在 PC 上的即时通信软件 OICQ,后改名为 QQ。
2011 年,腾讯推出了专门供智能手机使用的即时通信软件“微信”。
2000 年,李彦宏和徐勇创建了百度网站 (Baidu.com),现在已成为全球最大的中文搜索引擎。
1999 年,马云创建了阿里巴巴网站 (Alibaba.com)。
2003 年,马云创立了个人网上贸易市场平台—淘宝网 (Taobao.com)。
2004 年,阿里巴巴集团创立了第三方支付平台—支付宝(Alipay.com)。
1.5 计算机网络的类别
1.5.1 计算机网络的定义
计算机网络的精确定义并未统一。
较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门 用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用 来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
“可编程的硬件”表明:这种硬件一定包含有中央处理器 CPU。
计算机网络所连接的硬件包括: 一般的计算机; 智能手机、电视 等。
计算机网络可以: 传送数据; 支持多种应用(包括今后可能出现的各种应用)。
1.5.2 几种不同类别的计算机网络
1、按照网络的作用范围进行分类
若中央处理机之间的距离非常近(如仅 1 米甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络。
2、按照网络的使用者进行分类
公用网和专用网都可以传送多种业务。如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。
3、用来把用户接入到互联网的网络
接入网 AN (Access Network):又称为本地接入网或居民接入网。 用于将用户接入互联网。 实际上就是本地 ISP 所拥有的网络,它既不是互联网的核心部 分,也不是互联网的边缘部分。 是从某个用户端系统到本地 ISP 的第一个路由器(也称为边缘路 由器)之间的一种网络。 从覆盖的范围看,很多接入网还是属于局域网。
1.6 计算机网络的性能
1.6.1 计算机网络的性能指标
性能指标: 从不同的方面来度量计算机网络的性能。
1、速率
最重要的一个性能指标。
指的是数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)。
单位:bit/s,或 kbit/s、Mbit/s、 Gbit/s 等。例如 4 ✖ 10^10 bit/s 的数据率就记为 40 Gbit/s。
速率往往是指额定速率或标称速率,非实际运行速率。
注:千 = K = 210 = 1024,兆 = M = 220 = 1024 K,吉 = G = 230 = 1024 M 1 字节 (Byte) = 8 比 特 (bit)
2、带宽 (bandwidth)
(1)频域:某个信号具有的频带宽度。 单位是赫(或千赫、兆赫、吉赫等)。 某信道允许通过的信号频带范围称为该信道的带宽(或通频带)。
(2)时域:网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高 数据率”。 单位就是数据率的单位 bit/s。
两者本质相同。 一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
3、吞吐量 (throughput)
单位时间内通过某个网络(或信道、接口)的实际数据量。
受网络的带宽或网络的额定速率的限制。 额定速率是绝对上限值。 可能会远小于额定速率,甚至下降到零!
有时可用每秒传送的字节数或帧数来表示。
4、时延 (delay 或 latency)
指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
有时也称为延迟或迟延。
(1)发送时延
也称为传输时延。
是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
(2)传播时延
是电磁波在信道中传播一定的距离需要花费的时间。
电磁波传播速率: 自由空间的传播速率是光速 = 3.0 ⅹ 105 km/s 在铜线电缆中的传播速率约 = 2.3 ⅹ 105 km/s 在光纤中的传播速率约 = 2.0 ⅹ 105 km/s
注意:发送时延与传播时延有本质上的不同。 发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何 关系。 传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距 离越远,传播时延就越大。
(3)处理时延
主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。
(4)排队时延
分组在路由器输入输出队列中排队等待处理和转发所经历的时延。
排队时延的长短往往取决于网络中当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。
总结:总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延 一般说来,小时延的网络要优于大时延的网络。 在某些情况下,一个低速率、小时延的网 络很可能要优于一个高速率但大时延的网络。 必须指出,在总时延中,究竟是哪一种时延占主导地位,必须具体分析。
四种时延产生的地方:
容易产生的错误概念:对于高速网络链路,我们提高的仅仅是数据的发送速率,而不是比特在链 路上的传播速率。 提高数据的发送速率只是减小了数据的发送时延。
以下说法是错误的: “在高速链路(或高带宽链路)上,比特会传送得更快些”。
例题:结点 A 要将一个数据块通过 1000 km 的光纤链路发送给结点 B。假设忽略处理时延和排队时延。请分别计算下列情况时的总时延,并验证“数据的发送速率越高,其传送的总时延就越小”的说法是否正确。 (1)数据块大小为 100 MB,信道带宽为 1 Mbit/s (2)数据块大小为 100 MB,信道带宽为 100 Mbit/s (3)数据块大小为 1 B,信道带宽为 1 Mbit/s (4)数据块大小为 1 B,信道带宽为 1 Gbit/s
解:传播时延 = 1000 km / 2.0 ⅹ 105 km/s = 5 ms。 (1)发送时延 = 100 × 2^20 × 8 ÷ 10^6 = 838.9 s,总时延 = 838.9 + 0.005 ≈ 838.9 s。 (2)发送时延 = 100 × 2^20 × 8 ÷ 10^8 = 8.389 s,总时延 = 8.389 + 0.005 = 8.394 s。 缩小到(1)的近 1/100。 (3)发送时延 = 1 × 8 ÷ 10^6 = 8 × 10^–6 s = 8 μs, 总时延 = 0.008 + 5 = 5.008 ms。 (4)发送时延 = 1 × 8 ÷ 10^9 = 8 × 10^–9 s = 0.008 μs,总时延 = 0.000008 + 5 = 5.000008 ms。与(3)相比没有明显减小。
不能笼统地认为:“数据的发送速率越高,其传送的总时延就越小”。
5、时延带宽积
链路的时延带宽积又称为以比特为单位的链路长度。
管道中的比特数表示从发送端发出但尚未到达接收端的比特数。 只有在代表链路的管道都充满比特时,链路才得到了充分利用。
6、往返时间 RTT (Round-Trip Time)
表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
当使用卫星通信时,往返时间 RTT 相对较长,此时,RTT 是很重要的一个性能指标。
例题:结点 A 要将一个 100 MB 数据以 100 Mbit/s 的速率发送给结点 B,B 正确收完该数据后,就立即向 A 发送确认。假定 A 只有在收到 B 的确认信息后,才能继续向 B 发送数据,且确认信息很短。计算 A 向 B 发送数据的有效数据率。
解:
7、利用率
(1)信道利用率:某信道有百分之几的时间是被利用的(即有数据通过)。 完全空闲的信道的利用率是零。
(2)网络利用率:全网络的信道利用率的加权平均值。
时延与网络利用率的关系:
1.6.2 计算机网络的非性能特征
这些非性能特征与性能指标有很大的关系。
1.7 计算机网络体系结构
1.7.1 计算机网络体系结构的形成
1、提出了不同体系结构
最初的 ARPANET 设计时提出了分层的设计方法。
分层:将庞大而复杂的问题,转化为若干较小的局部问题。
1974 年,IBM 按照分层的方法制定并提出了系统网络体系结构 SNA (System Network Architecture) 。
此后,其他一些公司也相继推出了具有不同名称的体系结构。
但由于网络体系结构的不同,不同公司的设备很难互相连通。
2、国际标准:开放系统互连参考模型 OSI/RM
ISO (国际标准化组织) 提出的 OSI/RM (Open Systems Interconnection Reference Model) 是使各种计算机在世界范围内互连成网的标准框架。
OSI/RM 是个抽象的概念。
1983年,形成了著名的 ISO 7498 国际标准,即七层协议的体系结构。
OSI 试图达到一种理想境界:全球计算机网络都遵循这个统一标准,因而全球的计算机将能够很方便地进行互连和交换数据。
3、但 ISO/OSI 失败了
基于 TCP/IP 的互联网已抢先在全球相当大的范围成功地运行了。
OSI 的专家们在完成 OSI 标准时没有商业驱动力;
OSI 的协议实现起来过分复杂,且运行效率很低;
OSI 标准的制定周期太长,使得按 OSI 标准生产的设备无法及时进入市场;
OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
4、存在两种国际标准
(1)法律上的 (de jure) 国际标准 OSI:但并没有得到市场的认可。
(2)事实上的 (de facto) 国际标准 TCP/IP:获得了最广泛的应用。
1.7.2 协议与划分层次
1、网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
2、三个组成要素: 语法:数据与控制信息的结构或格式 。 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。 同步:事件实现顺序的详细说明。
网络协议是计算机网络的不可缺少的组成部分。
3、协议的两种形式:文字描述:便于人来阅读和理解。 程序代码:让计算机能够理解。 不论什么形式,都必须能够对网络上信息交换过程做出精确的解释。
4、层次式协议结构:ARPANET 的研制经验表明:对于非常复杂的计算机网络协议,其结构应该是层次式的。
划分层次的概念举例:两台主机通过网络传送文件
网络接入模块负责做与网络接口细节有关的工作,并向上层提供接入和通信服务。
5、分层的优点与缺点
(1)优点:各层之间是独立的;灵活性好;结构上可分割开;易于实现和维护能促进标准化工作。
(2)缺点:有些功能会重复出现,因而产生了额外开销。
注意:每一层的功能应非常明确。 层数太少,就会使每一层的协议太复杂。 层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
6、各层完成的主要功能
差错控制:使相应层次对等方的通信更加可靠。
流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
7、计算机网络的体系结构
网络的体系结构 (Network Architecture) 是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。
实现 (implementation) 是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
1.7.3 具有五层协议的体系结构
1、各层的主要功能
(1)应用层
任务:通过应用进程间的交互来完成特定网络应用。
协议:定义的是应用进程间通信和交互的规则。
把应用层交互的数据单元称为报文(message)。
例如:DNS,HTTP,SMTP
(2)运输层
任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。
具有复用和分用的功能。
主要使用两种协议: 传输控制协议 TCP 、用户数据报协议 UDP 。
TCP (Transmission Control Protocol): 提供面向连接的、可靠的数据传输服务。 数据传输的单位是报文段 (segment)。
UDP (User Datagram Protocol): 提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。 数据传输的单位是用户数据报。
(3)网络层
为分组交换网上的不同主机提供通信服务。
两个具体任务:路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发 分组的转发表。 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转 发到下一个路由器。
互联网使用的网络层协议是无连接的网际协议 IP (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。
IP 协议分组也叫做 IP 数据报,或简称为数据报。
(4)数据链路层
常简称为链路层。
任务:实现两个相邻节点之间的可靠通信。
在两个相邻节点间的链路上传送帧(frame)。
如发现有差错,就简单地丢弃出错帧。
如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。
(5)物理层
任务:实现比特(0 或 1)的传输。
确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
2、对等层与协议数据单元
OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。
任何两个同样的层次把 PDU (即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信。
各层协议实际上就是在各个对等层之间传递数据时的各项规定。
1.7.4 实体、协议、服务和服务访问点
1、实体 (entity) :表示任何可发送或接收信息的硬件或软件进程。
2、协议:控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。
注意:协议和服务在概念上是不一样的。 协议:其实现保证了能够向上一层提供服务,对上面的服务用户是透明的,是“水平的”。 服务:上层使用服务原语获得下层所提供的服务;上面的服务用户只能看见服务,无法看 见下面的协议;是“垂直的”。
3、服务访问点 SAP
在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。
SAP 是一个抽象的概念,它实际上就是一个逻辑接口。
OSI 把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)。
SDU 可以与 PDU 不一样。 例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
1.7.5 TCP/IP 的体系结构
1、TCP/IP 体系结构的另一种表示方法
现在互联网使用的 TCP/IP 体系结构已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。
2、沙漏计时器形状的 TCP/IP 协议族
3、互联网中客户-服务器工作方式
4、同时运行多个服务器进程同时为多个客户进程提供服务