专栏: 计算机网络复习
本章复习内容:
Ø 计算机网络在信息时代的作用(了解就行)
Ø 互联网概述
Ø 互联网的组成
Ø 计算机网络在我国的发展(了解就行)
Ø 计算机网络的类别
Ø 计算机网络的性能
Ø 计算机网络的体系结构
此专栏我主要以《计算机网络》(谢希仁 第8版)的内容安排 + 学校复习要点(可能部分学校考点有差异) + 个人理解 进行系统的计网复习,当然我也是计网小白,只是在这里记录笔记以备复习,希望也能帮助到复习计网的朋友们,祝大家都能拿下高分,冲~
这一章内容虽然大部分都是抽象的概念,但建议一定要认真掌握,有助于指导后续的学习,这是我们复习的基石,对我们掌握好整个计算机网络是非常有益的~
21世纪的一些重要特征就是数字化、网络化和信息化,、它是一个以网络为核心的信息时代。
当然大家熟悉的三大类网络:
其中发展最快并起着核心作用的是计算机网络,这也是我们本专栏复习要点。
连通性(connectivity): 使上网用户之间可以非常便捷、非常经济地交换各种信息好像这些用户终端都彼此直接连通一样。
共享性(sharing): 所谓共享就是指资源共享,即实现信息共享、软件共享、硬件共享。
计算机网络(简称为网络):由若干节点(node) 和 连接这些节点的链路(link)组成。
内容补充:网络中的 节点 可以是计算机、集线器、交换机或路由器等(在后续会逐一介绍)
这里我给出一张(图a)具有四个节点和三条链路的简单网络(三台计算机通过三条链路连接到一个集线器上)
又如图b,有多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络,这样的网络称为:互连网,从图中可以看出互连网也可以被有趣的理解为“网络中的网络”。因此全球最大的互连网又叫互联网(因特网 Internet)
内容补充:用一朵云表示一个网络的好处,就是可以先不考虑每一个网络中的细节,而是集中精力讨论与这个互连网有关的问题。
⚠️当我们用一朵云来表示网络时,可能会遇到两种不同的情况:
有时用云表示的网络已经包含了和网络相连的计算机(如图a),但有时为了讨论问题的方便(例如,要讨论几个计算机之间如何进行通信),也可以把有关的计算机画在云的外面(如图c)。习惯上,与网络相连的计算机常称为主机(host)。这样,用云表示的互连网里面就只剩下许多路由器和连接这些路由器的链路了。
总结:网络把许多计算机连接在一起,而互联网则把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机(一般智能手机和智能电视机也行)
internet(互连网) 是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络(这些网络之间的通信协议可以任意选择,不一定非要使用TCP/IP 协议)
Internet(互联网,或因特网) 则是一个专有名词,它指当前全球最大、最开放、由众多网络相互连接而成的特点互连网,它采用TCP/IP 协议族作为通信的规则,且其前身是美国的ARPANET
第一阶段:1969 – 1990
☆ 1969年美国国防部创建的 ARPANET最初只是一个单个的分组交换网,不是一个互连 网。
☆ 1983年,TCP/IP协议成为 ARPANET上的标准协议,使得所有使用TCP/IP 协议的计 算机都能利用互连网相互通信。
☆ 人们把1983 年作为互联网的诞生时间。
☆ 1990年,ARPANET正式宣布关闭
第三阶段:1993 – 现在
☆ 从1993 年开始,由美国政府资助的NSFNET 逐渐被若干个商用的互联网主干网替代, 政府机构不再负责互联网的运营。互联网服务提供者ISP (InternetService Provider) 成为互联网的运营主体。
☆ 多层次ISP 结构:
•主干 ISP、地区ISP 和本地ISP;
•本地 ISP提供接入到互联网的服务,并收取一定的费用;
•不同层次的 ISP覆盖面积大小和拥有的IP 地址数目不同(互联网上的主机都必须有IP 地址才能上网)。
这里我给出具有三层ISP结构的互联网概念图:
补充:互联网交换点 IXP 的主要作用就是允许两个 ISP 网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。
内容提供者 是在互联网上向所有用户提供视频文件的公司,这种公司和前面的ISP不同,因为他们并不会向用户提供互联网的转接服务,而是提供视频内容的服务。
互联网服务提供者ISP ,可以是中国电信、中国移动、中国联通。
所谓的上网 就是指通过某 ISP 获取所需IP地址 ,以通过该ISP接入互联网。
☆ 互联网的标准化工作对因特网的发展起到了非常重要的作用
☆ 互联网在制订其标准上一个很大特点是 面向公众
• 互联网所有的RFC技术文档都可以从互联网上免费下载
• 任何人都可以随时用电子邮件发表对某个文档的意见或建议
☆ 互联网协会(ISOC)是一个国际性组织,它负责对互联网进行全面管理,以及在世界范围内促进其 发展和使用
☆ 制订互联网的正式标准经过以下 三个阶段
• 互联网草案(在这个阶段还不是RFC文档)
• 建议标准(从这个阶段开始就成为RFC文档)
• 互联网标准 (一个互联网标准可以和多个RFC文档关联)
从其工作方式上看,可以划分为以下两大块:
【1】边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传输数据、音频或视频)和资源共享。
【2】核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
☆ 主机 A 和主机 B 通信,实际上是指:
主机A 的某个进程和主机B 上的另一个进程进行通信("进程"就是"运行着的程序")。
☆ 主机之间的两种通信方式:
客户/服务器方式(C/S 方式) 参考左图
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户/服务器方式所描 述的是进程之间服务和被服务的关系。
客户是服务的请求方,服务器是服务的提供方。
对等连接方式(P2P 方式) 参考右图
主机之间通信时不区分服务请求方和服务提供方,只要都运行了P2P 软件,就可以进行对 等连接通信。
对等连接方式从本质上看仍然使用客户/服务器方式,只是对等连接中的每一台主机既是 客户又是服务器。
☆ 核心部分向边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其 他主机通信。
☆ 核心部分的关键设备是路由器 (router),其任务是进行分组交换 (packet switching) , 这是核心部分最重要的功能。
☆ 数据交换方式主要有以下三种(讲的比较细,知道的可以直接看后面三者的区别):
电路交换(CircuitSwitching)
电话交换机接通电话线的方式称为电路。
从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源。
电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。
电路交换的过程分为三个阶段:
① 建立连接:建立一条专用的物理通路(占用通信资源)。
② 通话:主叫和被叫双方互相通电话(一直占用通信资源)。
③ 释放连接:释放刚才使用的专用的物理通路(归还通信资源)。
电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
缺点:计算机数据具有突发性,这导致使用电路交换传送数据时,通信线路的利用率很低,真正用来传送数据的时间往往不到 10%,甚至不到 1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。所以计算机网络不采用电路交换,而是采用分组交换。
⚠️这种必须经过“建立连接(占用通信资源)、通话(一直占用通信资源)、释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。
分组交换(PacketSwitching)
分组交换采用存储转发技术。
把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。分组是在互联网中传送的数据单元。
① 发送端将所有分组连续地发送出去,直至发送完毕。
② 假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。接收端收到分组后剥去首部,还原成原来的报文。
路由器对分组的处理——>
通过多个路由器的“接力”传输,分组最终会到达目的主机。
1、路由器采用存储转发技术先暂时存储收到的分组,然后根据首部中包含的目的地址等重要 控制信息查找转发表进行转发。
2、各路由器之间定期交换各自掌握的路由信息,以创建和动态维护转发表。
3、每一个分组在互联网中独立选择传输路径,位于网络核心部分的路由器负责转发分组,即 进行分组交换。
分组交换的注意事项(以H1 向H5发送分组为例)——>
每个分组独立选择传输路径,由于链路状态不断变化,分组路径也会动态变化!
注意1:H1先将分组连续地发往与它直接相连的路由器A,而不是等第一个分组到达H5后再发送下一个分组;
注意2:每个分组独立选择传输路径;
注意3:单个分组经过多个路由器“接力”,最终到达目的主机H5;
注意4:单个分组对通信资源是逐段占用的,只有当分组在链路上发送时才占用该链路,发送完毕即释放该链路。
注意5:所有分组到达目的主机H5后,即可还原出原来的报文。
分组交换的优、缺点 ——>
报文交换(MessageSwitching)
既然已经谈论了分组交换,那报文交换就看起来非常简单了(一个分组,一个整体)
1、将整块数据作为一个报文,采用存储转发模式的数据交换方式叫做报文交换。
2、报文交换的时延较长,现在已经很少使用这种交换方式了。
☆ 电路交换、报文交换和分组交换的主要区别:
1、若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
2、报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
3、由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
根据不同的分类标准,计算机网络可以分为不同的类别:
广域网WAN (WideArea Network) :
通常为几十到几千公里,是互联网的核心部分。
城域网MAN (MetropolitanArea Network) :
作用范围一般是一个城市,作用距离约为5~50 公里。
局域网LAN (LocalArea Network) :
局限在较小的范围(如1 公里左右)。通常采用高速通信线路。
个人区域网PAN (PersonalArea Network) :
范围很小,大约在10 米左右。有时也称为无线个人区域网 WPAN(Wireless PAN)。
公用网 (publicnetwork) :
按电信公司的规定交纳费用的人都可以使用的网络。
专用网 (privatenetwork) :
某部门为满足本单位的特殊业务需要而建造的网络,不向本单位以外的个人提供服务。
• 总线型
用单根传输线把计算机连接起来。
优点:建网容易,增减节点方便,节省线路。
缺点:重负载时通信效率不高,任意一处出现故障后全网瘫痪。
• 环型
将所有计算机网络结构连接成一个环,环可以是单环或者双环,环中信号是单向传输的。
优点,缺点和总线型差不太多。
• 星形
将每个计算机都以单独的线路与中央设备相连。中央设备现在一般是交换机。
优点:便于网络的集中控制和管理。
缺点:成本高,中央设备对故障敏感。
• 树形
树形网络也叫多星级型网络。树形网络是由多个层次的星型结构纵向连接而成,树的每个节点都是都是计算机或转接设备。一般来说,越靠近树的根部,节点设备的性能就越好。与星型网络相比,树形网络总长度短,成本较低,节点易于扩充,但是树形网络复杂,与节点相连的链路由故障时,对整个网络的影响较大
优点:易于扩展,故障隔离较容易
缺点:各个节点对根的依赖性太大。
• 网状
每个节点至少由两条路径与其它节点相连接,多用在广域网中。
这里就不详细阐述了,以后会详细介绍。
以上结构都可以任意组合成复杂有效的复合型结构。
速率指的是数据的传送速率,也称为数据率(datarate) 或比特率(bitrate),是计算机网络中最重要的一个性能指标。当提到网络的速率时,往往指的是额定速率或标称速率。
速率的单位是bit/s(或b/s、bps),当数据率较高时,就在前面加上k、M、G等表示数量的字母。
把速率和数据量区分一下
带宽有以下两种不同的含义:
1、带宽本来是指某个信号具有的频带宽度,即该信号所占据的频率范围。例如模拟电话信号 的频率范围是300 Hz 到3.4 kHz,标准带宽是3.1 kHz。
•单位是赫(或千赫、兆赫、吉赫等)。
•某信道允许通过的信号频带范围称为该信道的带宽(或通频带)。
2、在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据库”。
•在本专栏中,提到“带宽”时,主要指这个意思。
•这种意义的带宽单位就是数据率的单位bit/s,是“比特每秒”。
补充:1、在“带宽”的上述两种表述中,前者为 “频域”称谓,而后者为 “时域”称谓。
2、上述两种表述 本质上是相同的。
3、一条通信链路的“带宽” 越宽,其所能传输的“最高数据率”也 越高。
吞吐量表示在单位时间内通过某个网络(或信道、接口)的实际数据量。
吞吐量受网络的带宽或网络的额定速率的限制。
指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
网络中的时延由以下4个部分组成:
(1)发送时延
发送时延是主机或路由器发送数据所需要的时间,也就是从发送数据的第一个比特算起,到发送完该数据的最后一个比特为止所需的时间。
(2)传播时延
传播时延是电磁波在信道中传播一定的距离需要花费的时间。电磁波在自由空间的传播速率是 3.0ⅹ10^5km/s,在铜线电缆中的传播速率约为 2.3ⅹ10^5km/s,在光纤中的传播速率约为2.0ⅹ10^5km/s
⚠️ 发送时延和传播时延有本质上的不同,发送时延发生在机器内部的发送器上(一般是发生在网络适配器上)与传输信道的长度(信号传送的距离)没有任何关系。
而传播时延发生在机器外部的传输信道媒体上,与信号的发送速率无关,信号传送的距离越远,传播时延就越大。
(3)处理时延
主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找转发表等)所花费的时间。
(4)排队时延
分组在进入路由器后要先在输入队列中排队等待处理,在确定了转发接口后还要在输出队列中排队等待转发,这就产生了排队时延。
总时延 = 发送时延+传播时延+处理时延+排队时延
这里给出几种时延产生的地方,方便理解它们。
补充:1、在总时延中,究竟哪一种时延占主导地位,必须具体分析。
例如,不是发送速率越高,其传送的总时延就越小,要综合考虑。
2、容易产生的错误概念 :
“在高速链路(或高带宽链路)上,比特的传播速度会更快些”。
对于高速网络链路,我们提高的仅仅是数据的发送速率,而不是比特在链路上的传播速率。
3、提高数据的发送速率只是减小了数据的发送时延
把以上讨论的网络性能的两个度量,即传播时延和带宽相乘,就得到了另一个很有用的度量:传播时延带宽积。
这里从这张图可以看出:
1、链路的时延带宽积表示这样的链路可以容纳多少个比特,因此又称为以比特为单位的链路长度。
2、管道中的比特数表示从发送端发出但尚未到达接收端的比特数。
往返时间RTT(Round-TripTime)表示从发送方发送完数据到发送方收到接收方的确认所经过的时间。
闲谈:这种重要的性能指标出现,是因为在许多情况下,互联网上的信息不仅仅单向传输而是双向交互的。因此我们有时很需要知道双向交互一次的时间。
举例分析:结点A要将一个100MB 数据以100Mbit/s 的速率发送给结点B,B正确收完该数据后,就立即向A发送确认。假定A只有在收到B的确认信息后,才能继续向B发送数据,且确认信息很短,可忽略B发送确认的发送时延。如果RTT= 2s,计算A向B发送数据的有效数据率 ?。
可以发现比原来的数据率100Mbit/s 小了不少,因此有时也把RTT称为往返时延(强调发送方至少要经过这样多时间,才能知道自己所发送的数据是否被对方接收了)
利用率有信道利用率和网络利用率两种。
信道利用率:
•某信道有百分之几的时间是被利用的(即有数据通过)。
•完全空闲的信道的利用率是零。
网络利用率:
•全网络的信道利用率的加权平均值。
⚠️ 信道利用率并非越高越好。根据排队论,当某信道的利用率增大时,该信道的时延会迅速增加。
从图中可以看出:
当网络利用率达到50%时,时延就要加倍。
当网络利用率超过50%时,时延就急剧增加。
当网络利用率接近100%时,时延就趋于无穷大。
总结:信道利用率或网络利用率过高就会产生非常大的时延,因此一般要控制信道利用率不超过50%,如果超过了,就要准备扩容,增大线路的宽度。
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
由于这个性能不需要掌握,就不多阐述了,感兴趣的朋友可以查资料了解~
当然计算机网络还有非性能特征:1、费用 2、质量 3、标准化 4、可靠性 5、可扩展性和升级性 6、易于管理和维护等
计算机网络的各层及其协议的集合,就是网络的体系结构 (architecture) 。
在网络中交换数据,必须遵守相关的网络协议。
网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
网络协议主要由以下三个要素组成:
语法:数据与控制信息的结构或格式;
语义:需要发出何种控制信息,完成何种动作,做出何种响应;
同步:事件实现顺序的详细说明
这里的五层协议体系结构是原理上的五层协议,这种结构的出现只是为了方便我们更为详细和方便的学习。
接下来对于各层的简介,也主要是这个五层协议的体系结构。
① 应用层
任务:通过应用进程的交互来完成特定网络应用。(这里的”进程“就是指主机中正在运行 的程序)
交互的数据单元:报文。
常用协议:域名系统DNS , 支持万维网应用的HTTP协议 、 支持电子邮件的SMTP协议。
⚠️应用层协议定义的是应用进程间通信和交互的规则,对于不同的网络应用需要有不同的应用层协议。
② 运输层
任务:为两台主机中进程之间的通信提供通用的数据传输服务。(这里的”通用“是指并不 针对某个特定网络应用,而是多种应用可以使用同一个运输层服务)
功能:复用(多个应用层可同时使用下面运输层的服务)
分用(运输层把收到的信息分别交付上面的应用层中的相应过程)
主要协议:传输控制协议TCP(提供面向连接的、可靠的数据传输服务,其数据传输的单元 是报文段)。
用户数据报协议UDP(提供无连接的尽最大努力的数据传输服务,但不保证数 据传输的可靠性,其数据传输的单元是用户数据报)
③ 网络层
任务:负责为分组交换网上的不同主机提供通信服务。
数据单元:”分组“ 或 ”数据报“。
常用协议:网际协议IP和许多种路由选择协议。
④ 数据链路层
任务:在两个相邻节点之间传送数据帧(将网络层下来的IP数据报组装成帧,每一帧包括数 据和必要的控制信息)。
常用协议:PPP、CSMA/CD等。
如发现有差错,就简单地丢弃出错的帧。如果要纠错就要采用可靠的传输协议,这样会使数据链路层的协议更复杂。
⑤ 物理层
任务:实现比特(0或 1)的传输。
数据单元:比特。
⚠️
确定表示数据的电压(代表1和0)以及连接电缆的插头应当有多少根引脚,各引脚应如何连接等。
传递信息的物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
这里给出两台主机通过一台路由器进行的数据在各层之间的传递过程的图示:
上述过程一定要有一个清楚的认知(H 和 T 都是每层所加上的控制信息)。
就好比:有一封信从最高层向下传,每经过一层就包上一个新的的信封,写上必要的地址信息。包有多个信封的信件传送到目的站后,从第一层起,每层拆开一个信封后就把信封中的信交给它的上一层,传到最高层后,取出发信人所发的信,交给收信人。
实体 :表示任何可发送或接收信息的硬件或软件进程。
对等实体:通信双方相同层次中的实体。
协议:控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。
协议和服务的区别:
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令。
服务访问点 SAP:
在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP (ServiceAccess Point)。
SAP 是一个抽象的概念,它实际上就是一个逻辑接口。
TCP/IP 的四层协议体系结构与其他体系结构各层对比。
TCP/IP最下面的网络接口层并没有属于TCP/IP体系的具体协议,目的是为了允许任何形式的网络接口使用TCP/IP协议。
TCP/IP四层协议的主机间的信息交换和五层协议异曲同工。
值得注意的是随着技术的发展,TCP/IP 体系结构并不严格遵循分层的概念,某些应用程序可以直接使用 IP 层,甚至直接使用最下面的网络接口层。
当然还有另外一种方法用来表示TCP/IP协议族,他的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇集到IP协议中
补充:
☆ IP层可以支持多种运输层协议,这里只是画出来最主要的两种。
☆ 从图中我们可以看出IP协议在互联网中的核心作用。
☆ 此图的设计理念反映了网络的核心部分越简单越好,一切复杂的部分让网络的边缘部分去实现。
到现在,你终于把第一章枯燥的概述部分复习完了,基础更扎实了。这对后面复习是相当有帮助的。还有我并不清楚上述我说总结的笔记对你复习是否有帮助,因此我采用教材的排版顺序来记录的,也不知是否讲清楚了或者重点部分有没有概括全(希望在评论区指出,共同交流学习),但如果此文对你有帮助的话,不妨点赞、收藏、关注一下,后续我还会更新此专栏。