小是2020级普通大学信息管理与信息系统的大二学生,正在学习计算机网络,教程是第八版谢希仁
编著的计算机网络,内容大多来源对教材的总结和老师上课的课件。
第一章概述大多数都是有用的废话,重点在1.6和1.7,前面部分可以跳过。
如果有什么问题欢迎评论留言,我们一起共同学习。
1.电信网络:提供电话、电报及传真等服务。
2.有线电视网络:向用户传送各种电视节目。
3.计算机网络:使用户能在计算机之间传送数据文件。
发展最快的并起到核心作用的是计算机网络。
“三网融合”:融入现代计算机网络技术
Internet:全球最大、最重要的计算机网络
如何称呼 Internet?
因特网:推荐,但却长期未得到推广。
因特网:目前流行最广,事实上的标准译名。
因特网 ≠互连网。
互连网:局部范围互连起来的计算机网络。
互联网的 2 个重要基本特点
1.连通性 (connectivity):使上网用户之间可以非常便捷、非常经济地交换各种信息。
好像这些用户终端都彼此直接连通一样。
2.资源共享 (Sharing):实现信息共享、软件共享、硬件共享。
由于网络的存在,这些资源好像就在用户身边一样地方便使用。
这两个特点是 Internet 提供许多服务的基础。
互联网在生活中地位
已经融入人们的生活、工作、学习和交往。
已经成为社会最为重要的基础设施之一。
互联网+:新的经济形态
互联网的负面影响
1.传播病毒
2.窃取:数据,钱财等
3.散布谣言
4.不良信息
5.欺诈
6.网瘾
……
需要加强对互联网的管理。
计算机网络:
由若干节点(node)和连接这些节点的链路(link)组成。
节点可以是计算机、集线器、交换机或路由器等。
互连网 (internetwork 或 internet):
多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络。
“网络的网络”(network of networks)。
用“云”表示网络:主机在“云”里
用“云”表示网络:主机在“云”外
网络与互连网
网络:把许多计算机连接在一起。
互连网:把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机。
互连网 (internet) ≠ 互联网 (Internet)
ARPANET:最初只是一个单个的分组交换网,不是一个互连网。
1983 年,TCP/IP 协议成为 ARPANET 上的标准协议,使得所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。
人们把 1983 年作为互联网的诞生时间。
1990 年,ARPANET 正式宣布关闭。
第二阶段:1985 – 1993
国家科学基金网 NSFNET。
三级结构:主干网、地区网和校园网(或企业网)。
覆盖了全美国主要的大学和研究所,并且成为互联网中的主要组成部分。
第三阶段:1993 – 现在
出现了互联网服务提供者 ISP (Internet Service Provider):
提供接入到互联网的服务。
需要收取一定的费用。
多层次 ISP 结构:
主干 ISP、地区 ISP 和本地 ISP。
覆盖面积大小和所拥有的 IP 地址数目的不同
互联网交换点 IXP (Internet eXchange Point):允许两个网络直接相连并快速交换分组。
常采用工作在数据链路层的网络交换机。
世界上较大的 IXP 的峰值吞吐量都在 Tbit/s 量级。
内容提供者 (Content Provider):在互联网上向所有用户提供视频等内容的公司。不向用户提供互联网的转接服务。
20 世纪 90 年代:万维网 WWW 的问世
万维网 WWW (World Wide Web):
由欧洲原子核研究组织 CERN 开发。
成为互联网指数级增长的主要驱动力。
2019 年 3 月底,互联网的用户数已超过了 43.8亿。
标准发表:以 RFC 的形式
RFC:Request For Comments (请求评论)。
所有的 RFC 文档都可从互联网上免费下载。
任何人都可以用电子邮件随时发表对某个文档的意见或建议。
但并非所有的 RFC 文档都是互联网标准。只有很少部分的 RFC 文档最后才能变成互联网标准。
RFC 文档按发表时间的先后编上序号(即 RFCxxxx,xxxx 是阿拉伯数字)。
互联网的组成
从互联网的工作方式上看,可以划分为两大块:
边缘部分: 由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。
互联网的边缘部分
处在互联网边缘部分的就是连接在互联网上的所有的主机。这些主机又称为端系统 (end system)。
端系统在功能上可能有很大差别:
小的端系统:普通个人电脑、智能手机、网络摄像头等。
大的端系统:非常昂贵的大型计算机或服务器。
端系统的拥有者:可以是个人、单位、或某个 ISP。
“计算机之间通信”的含义
实际上是指:
主机 A 的某个进程和主机 B 上的另一个进程进行通信。
端系统之间的两种通信方式
1.客户/服务器方式
Client / Server 方式
简称为 C/S 方式
2.对等方式Peer to Peer 方式
简称为 P2P 方式
客户/服务器方式所描述的是进程之间服务和被服务的关系。
客户是服务的请求方,服务器是服务的提供方。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。
客户 A 向服务器 B 发出请求服务,
服务器 B 向客户 A 提供服务。
客户程序和服务器程序主要特点
客户程序
被用户调用后运行,需主动向远地服务器发起通信(请求服务)。必须知道服务器程序的地址。
不需要特殊的硬件和很复杂的操作系统。
服务器程序
专门用来提供某种服务的程序,可同时处理多个客户请求。
一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。不需要知道客户程序的地址。
一般需要强大的硬件和高级的操作系统支持。
两台主机在通信时不区分服务请求方和服务提供方。
只要都运行了 P2P 软件,就可以进行平等的、对等连接通信。
对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。
是互联网中最复杂的部分。
向网络边缘中的主机提供连通性,使任何一台主机都能够向其他主机通信。
在网络核心部分起特殊作用的是路由器 (router)。
路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组。
分组转发是网络核心部分最重要的功能。
典型交换技术包括:
电路交换
分组交换
报文交换 等。
互联网的核心部分采用分组交换技术。
1.电路交换的主要特点
电线对的数量与电话机数量的平方(N2)成正比。
使用交换机
当电话机的数量增多时,使用电话交换机将这些电话连接起来。
每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。
这种交换方式就是电路交换 (circuit switching)。
“交换 (switching)”的含义
转接:把一条电话线转接到另一条电话线,使它们连通起来。
从通信资源的分配角度来看,就是按照某种方式动态地分配传输线路的资源。
电路交换特点
分为三个阶段:
建立连接:建立一条专用的物理通路(占用通信资源)。
通话:主叫和被叫双方互相通电话(一直占用通信资源)。
释放连接:释放刚才使用的专用的物理通路(归还通信资源)。
这种必须经过“建立连接(占用通信资源)、通话(一直占用通信资源)、释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。
电路交换特点:通话的两个用户始终占用端到端的通信资源
计算机数据具有突发性,这导致在传送数据时,通信线路的利用率很低,真正用来传送数据的时间往往不到 10%,甚至不到 1%,已被用户占用的通信线路资源在绝大部分时间里都是空闲的。
采用存储转发技术。
在发送端,先把较长的报文划分成更小的等长数据段。
分组交换以“分组”作为数据传输单元
互联网采用分组交换技术。分组是在互联网中传送的数据单元。
发送端依次把各分组发送到接收端。
接收端收到分组后剥去首部,还原成原来的报文
假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。
分组在互联网中的转发
根据首部中包含的目的地址、源地址等重要控制信息进行转发。
每一个分组在互联网中独立选择传输路径。
位于网络核心部分的路由器负责转发分组,即进行分组交换。
路由器要创建和动态维护转发表。
在路由器 A 暂存 查找转发表 找到转发的端口 转发
在路由器 C 暂存 查找转发表 找到转发的端口 转发
在路由器 E 暂存 查找转发表 找到转发的端口 转发
分组交换带来的问题
排队延迟:分组在各路由器存储转发时需要排队。
不保证带宽:动态分配。
增加开销:各分组必须携带控制信息;路由器要暂存分组,维护转发表等。
3.报文交换
在 20 世纪 40 年代,电报通信就采用了基于存储转发原理的报文交换 (message switching)。
但报文交换的时延较长,从几分钟到几小时不等。
现在报文交换已经很少有人使用了。
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
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) 。
1999 年,腾讯就推出了用在 PC 上的即时通信软件 OICQ,后改名为 QQ。
2011 年,腾讯推出了专门供智能手机使用的即时通信软件“微信”。
2000 年,李彦宏和徐勇创建了百度网站 (Baidu.com),现在已成为全球最大的中文搜索引擎。
1999 年,马云创建了阿里巴巴网站 (Alibaba.com)。
2003 年,马云创立了个人网上贸易市场平台—淘宝网 (Taobao.com)。
2004 年,阿里巴巴集团创立了第三方支付平台—支付宝(Alipay.com)。
计算机网络的精确定义并未统一。
较好的定义:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
如何理解?
“可编程的硬件”表明:这种硬件一定包含有中央处理器 CPU。
计算机网络所连接的硬件包括:
一般的计算机;
智能手机、电视 等。
计算机网络可以:
传送数据;
支持多种应用(包括今后可能出现的各种应用)。
计算机网络有多种类别。
可以按以下方法分类:
按照网络的作用范围进行分类;
按照网络的使用者进行分类;
用来把用户接入到互联网的网络。
若中央处理机之间的距离非常近(如仅 1 米甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络。
接入网 AN (Access Network)
又称为本地接入网或居民接入网。
用于将用户接入互联网。
实际上就是本地 ISP 所拥有的网络,它既不是互联网的核心部分,也不是互联网的边缘部分。
是从某个用户端系统到本地 ISP 的第一个路由器(也称为边缘路由器)之间的一种网络。
从覆盖的范围看,很多接入网还是属于局域网。
最重要的一个性能指标。
指的是数据的传送速率,也称为数据率 (data rate) 或比特率 (bit rate)。
单位:bit/s,或 kbit/s、Mbit/s、 Gbit/s 等。
例如 4 1010 bit/s 的数据率就记为 40 Gbit/s。
速率往往是指额定速率或标称速率,非实际运行速率。
千 = K = 210 = 1024,兆 = M = 220 = 1024 K,吉 = G = 230 = 1024 M
1 字节 (Byte) = 8 比特 (bit)
频域
某个信号具有的频带宽度。
单位是赫(或千赫、兆赫、吉赫等)。
某信道允许通过的信号频带范围称为该信道的带宽(或通频带)。
时域
网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高数据率”。
单位就是数据率的单位 bit/s。
两者本质相同。
一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
单位时间内通过某个网络(或信道、接口)的实际数据量。
受网络的带宽或网络的额定速率的限制。
额定速率是绝对上限值。
可能会远小于额定速率,甚至下降到零!
有时可用每秒传送的字节数或帧数来表示。
指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
有时也称为延迟或迟延。
组成:
(1)发送时延
(2)传播时延
(3)处理时延
(4)排队时延
(1)发送时延
也称为传输时延。
是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
(2)传播时延
是电磁波在信道中传播一定的距离需要花费的时间。
电磁波传播速率:
自由空间的传播速率是光速 = 3.0 ⅹ 105 km/s
在铜线电缆中的传播速率约 = 2.3 ⅹ 105 km/s
在光纤中的传播速率约 = 2.0 ⅹ 105 km/s
(2)传播时延
注意:发送时延与传播时延有本质上的不同。
发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系。
传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。
(3)处理时延 和(4)排队时延
(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 220 8 106 = 838.9 s,
总时延 = 838.9 + 0.005 ≈ 838.9 s。
(2)发送时延 = 100 220 8 108 = 8.389 s
总时延 = 8.389 + 0.005 = 8.394 s。缩小到(1)的近 1/100。
(3)发送时延 = 1 8 106 = 8 10–6 s = 8 s,
总时延 = 0.008 + 5 = 5.008 ms。
(4)发送时延 = 1 8 109 = 8 10–9 s = 0.008 s
总时延 = 0.000008 + 5 = 5.000008 ms。与(3)相比没有明显减小。
不能笼统地认为:“数据的发送速率越高,其传送的总时延就越小”。
链路的时延带宽积又称为以比特为单位的链路长度。
管道中的比特数表示从发送端发出但尚未到达接收端的比特数。
只有在代表链路的管道都充满比特时,链路才得到了充分利用。
表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
往返时间 RTT = 结点 A 到 B 的传播时延 tP
+ 结点 B 处理和排队时延 tPQB
+ 结点 B 发送时延 tTB
+ 结点 B 到 A 的传播时延 tP
= 2 x 传播时延 tP
+ 结点 B 处理和排队时延 tPQB
+ 结点 B 发送时延 tTB
结点 A 要将一个 100 MB 数据以 100 Mbit/s 的速率发送给结点 B,B 正确收完该数据后,就立即向 A 发送确认。假定 A 只有在收到 B 的确认信息后,才能继续向 B 发送数据,且确认信息很短。计算 A 向 B 发送数据的有效数据率 。
在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
当使用卫星通信时,往返时间 RTT 相对较长,此时,RTT 是很重要的一个性能指标。
信道利用率:某信道有百分之几的时间是被利用的(即有数据通过)。
完全空闲的信道的利用率是零。
网络利用率:全网络的信道利用率的加权平均值。
时延与网络利用率的关系
根据排队论,当某信道的利用率增大时,时延会迅速增加。
其中:
D0:网络空闲时的时延。
D:网络在当前的时延。
U:网络当前的利用率,数值在 0 到 1 之间。
计算机网络是一个非常复杂的系统。
两台计算机要互相传送文件需解决很多问题
这里是引用
最初的 ARPANET 设计时提出了分层的设计方法。
分层:将庞大而复杂的问题,转化为若干较小的局部问题。
1974 年,IBM 按照分层的方法制定并提出了系统网络体系结构 SNA (System Network Architecture) 。
此后,其他一些公司也相继推出了具有不同名称的体系结构。
但由于网络体系结构的不同,不同公司的设备很难互相连通。
国际标准:开放系统互连参考模型 OSI/RM
ISO (国际标准化组织) 提出的 OSI/RM (Open Systems Interconnection Reference Model) 是使各种计算机在世界范围内互连成网的标准框架。
OSI/RM 是个抽象的概念。
1983年,形成了著名的 ISO 7498 国际标准,即七层协议的体系结构。
OSI 试图达到一种理想境界:全球计算机网络都遵循这个统一标准,因而全球的计算机将能够很方便地进行互连和交换数据。
但 ISO/OSI 失败了
基于 TCP/IP 的互联网已抢先在全球相当大的范围成功地运行了。
OSI 的专家们在完成 OSI 标准时没有商业驱动力;
OSI 的协议实现起来过分复杂,且运行效率很低;
OSI 标准的制定周期太长,使得按 OSI 标准生产的设备无法及时进入市场;
OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
存在两种国际标准
法律上的 (de jure) 国际标准 OSI
但并没有得到市场的认可。
事实上的 (de facto) 国际标准 TCP/IP
获得了最广泛的应用。
网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
三个组成要素:
语法:数据与控制信息的结构或格式 。
语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
同步:事件实现顺序的详细说明。
协议的两种形式
不论什么形式,都必须能够对网络上信息交换过程做出精确的解释。
层次式协议结构
ARPANET 的研制经验表明:对于非常复杂的计算机网络协议,其结构应该是层次式的。
划分层次的概念举例:两台主机通过网络传送文件
网络接入模块负责做与网络接口细节有关的工作,并向上层提供接入和通信服务。
分层的优点与缺点
优点:各层之间是独立的。
灵活性好。
结构上可分割开。
易于实现和维护
能促进标准化工作。
缺点:有些功能会重复出现,因而产生了额外开销。
注意:每一层的功能应非常明确。
层数太少,就会使每一层的协议太复杂。
层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
各层完成的主要功能
差错控制:使相应层次对等方的通信更加可靠。
流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
计算机网络的体系结构
网络的体系结构 (Network Architecture) 是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。
实现 (implementation) 是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。
任何两个同样的层次把 PDU (即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信。
各层协议实际上就是在各个对等层之间传递数据时的各项规定。
实体 (entity) :表示任何可发送或接收信息的硬件或软件进程。
协议:控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。
注意:协议和服务在概念上是不一样的
协议
其实现保证了能够向上一层提供服务。
对上面的服务用户是透明的。
是“水平的”
服务
上层使用服务原语获得下层所提供的服务。
上面的服务用户只能看见服务,无法看见下面的协议。
是“垂直的”
服务访问点 SAP
在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。
SAP 是一个抽象的概念,它实际上就是一个逻辑接口。
OSI 把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)。
SDU 可以与 PDU 不一样。
例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
现在互联网使用的 TCP/IP 体系结构已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。
沙漏计时器形状的 TCP/IP 协议族
设计理念:网络核心部分越简单越好。
互联网中客户-服务器工作方式
总结不易
最后看到这了,如果觉得自己有收获的话,可以给博主点个关注哦
觉得本篇文章不错的话记得点赞,收藏⭐,还有问题也可以评论留言
你的支持将是我继续创作的最大动力❤️❤️❤️
由于作者水平有限,如有错误和不准确之处在所难免,本人也很想知道这些错误,恳望读者批评指正!