《计算机网络(第7版)》笔记:计算机网络基础

计算机网络基础

本章是全书的概要。先介绍计算机网络在信息时代的作用,接着对因特网进行了概括,包括因特网发展的三个阶段,以及今后的发展趋势。然后,讨论了因特网的组成,指出了因特网的边缘部分和核心部分的重要区别。在简单介绍了计算机网络在我国的发展以及计算机网络的类别后,又讨论了计算机网络的性能指标。最后,论述了整个课程都要用到的重要概念——计算机网络的体系结构。

【重要的内容】:

  • 因特网的边缘部分和核心部分的作用,这里面包含分组交换的概念。
  • 计算机网络的一些性能指标。
  • 计算机网络分层次的体系结构,包含协议和服务的概念。

计算机网络基础思维导图

因特网

【网络 network】:由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等。

【互联网 internet】:网络和网络之间可以通过路由器互连起来,构成一个覆盖范围更大的网络,即互联网(互连网),又称“网络的网络”(network of networks)。

因特网概述

  • 因特网(Internet)世界上最大的国际性计算机互联网。习惯上,把连接在因特网上的计算机都称为主机(host)
  • 网络把许多计算机连接在一起,而互联网则把许多网络连接在一起(互联网是概念名词,而因特网是专用名词,因特网是最大的互联网)。
  • 以 TCP/IP 协议为基础,将不同类型、不同规模、位于不同地理位置的网络互连在一起,实现全球范围的数据通信和资源共享。

网络与互联网

因特网发展阶段

因特网的基础结构大体上经历了三个阶段的演进。但这三个阶段在时间划分上并非截然分开,而是有部分重叠。这是因为网络的演进是逐渐的,而不是在某个日期突然发生了变化。

第一阶段

从单个网络 ARPANET 向互联网发展的过程:1983 年 TCP/IP 协议成为 ARPANET 上的标准协议,使得所有使用 TCP/IP 协议的计算机都能利用互联网相互通信,因而人们就把 1983 年作为因特网的诞生时间。

第二阶段

建成三级结构的因特网:主干网、地区网和校园网(或企业网)。

第三阶段

形成了多层次 ISP 结构的因特网:出现了 ISP 因特网服务提供者(Internet Service Provider),在中国,中国电信、中国联通和中国移动就是我国最有名的 ISP。

ISP 相关概念

ISP 可以从因特网管理机构申请到许多 IP 地址,同时拥有通信线路(大的 ISP 自己建造通信线路,小的 ISP 则向电信公司租用通信线路)以及路由器等连网设备,因此任何机构和个人只要向某个 ISP 交纳规定的费用,就可以从该 ISP 获取所需 IP 地址的使用权,并可通过该 ISP 接入到因特网。所谓“上网”就是指“通过某个 ISP 获得的 IP 地址接入到因特网”。

IP 地址的管理机构不会把一个单个的 IP 地址分配给单个用户,而是把一批 IP 地址有偿租赁给经审查合格的 ISP。由此可见,现在的因特网已不是某个单个组织所拥有而是全世界无数大大小小的 ISP 所共同拥有。

三层ISP结构因特网概念示意图

因特网的组成

  • 边缘部分(资源子网):由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
  • 核心部分(通信子网):由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

因特网的边缘部分与核心部分

因特网的边缘部分

【端系统(end system)】:处在因特网边缘部分的就是连接在因特网上的所有的主机。“端”就是“末端”的意思(即因特网的末端)。可以有不同的类型(个人 PC、智能手机或是网络摄像头等)和不同的拥有者(个人、单位或是某个 ISP)。

【明确的概念】:“主机 A 和主机 B 进行通信”,实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。由于“进程”就是“运行着的程序”,因此这也就是指:“主机 A 的某个进程和主机 B 上的另一个进程进行通信”。这种比较严密的说法通常可以简称为“计算机之间通信”

在网络边缘的端系统之间的通信方式通常可划分为两大类:

客户-服务器方式(Client/Server)
  • 客户、服务器的概念:通信中所涉及的两个应用进程。
  • 描述:进程之间服务和被服务的关系。
  • 主要特征:客户是服务请求方,服务器是服务提供方。
  • 客户程序的主要特点
    • 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
    • 不需要特殊的硬件和很复杂的操作系统。
    • 可与多个服务器同时通信。
  • 服务器程序的主要特点
    • 系统启动后自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器不需要知道客户程序的地址。
    • 一般需要有强大的硬件和高级的操作系统支持。
    • 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。

客户-服务器工作方式

【说明】:客户与服务器的通信关系建立后,通信可以是双向的。

对等连接方式(Peer-to-Peer)
  • 概念:两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个主机都运行了对等连接软件(P2P 软件),它们就可以进行平等的、对等连接通信。
  • 本质:仍然是客户-服务器方式,只是对等连接中的每一个主机既是客户又同时是服务器。

对等连接方式

因特网的核心部分

  • 网络核心部分是因特网最复杂的部分。
  • 核心部分向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。
  • 核心部分由许多网络和把它们互连起来的路由器组成。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,是网络核心部分最重要的功能。
电路交换
  • 交换(switching):含义是转接,把一条电话线转接到另一条电话线,使它们连通起来。从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。
  • 过程:建立连接(占用通信资源)—>通话(一直占用通信资源)—>释放连接(归还通信资源)。
  • 重要特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
  • 优点:单次传送大量数据,传输速率较快。
  • 缺点
    1. 不可靠,正在通信的电路中有一个交换机或有一条链路出现错误,则整个通信网络(电路)就会中断。
    2. 当使用电路交换来传送计算机数据时,线路的传输效率很低(计算机数据是突发式地出现在传输线路上)。

电路交换示例

分组交换
  • 技术:存储转发技术。
  • 基础概念
    • 报文:message,要发送的整块数据。
    • 首部(包头):header,一些必要的控制信息。
    • 分组(包):packet,分隔好的一段报文 + 首部。是在因特网中传送的数据单元。
  • 过程:根据首部提供的信息,查找当前路由器的转发表,找到合适的下一跳,并放入该路由器的缓存中。依次循环,直到抵达目的主机。
  • 优点
    • 高效:在分组传输的过程中动态分配传输带宽,对通信链路逐段占用。通信线路利用率高。
    • 灵活,为每个分组独立地选择转发路由。
    • 迅速,以分组作为传送单位,可以不先建立连接就能向其他主机发送分组。
    • 可靠,保证可靠的网络协议。
  • 缺点
    • 分组在各路由器存储转发时需要排队,会造成一定的时延。
    • 分组交互不用建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽。
    • 各分组必须携带的控制信息也造成了一定的开销。

三种交换的比较图

  • 电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
  • 报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
  • 分组交换:单个分组(只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

【总结】:

  • 若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
  • 报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
  • 由于一个分组的长度往往小于整个报文段的长度,因此分组交换比报文交换的时延小,同时具有更好的灵活性。

计算机网络

计算机网络利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享信息传递的系统。

【概念】:一些互相连接的、自治的计算机的集合。“自治”即独立的计算机,有自己的硬件和软件,可以单独运行使用。而“互相连接”是指计算机之间能够进行数据通信或交换信息。

产生背景

  • 是 20 世纪 60 年代美苏冷战时期的产物。
  • 60 年代初,美国国防部领导的远景研究规划局ARPA (Advanced Research Project Agency) 提出要研制一种生存性(survivability)很强的网络。
  • 传统的电路交换(circuit switching)的电信网有一个缺点:正在通信的电路中有一个交换机或有一条链路被炸毁,则整个通信电路就要中断。
  • 如要改用其他迂回电路,必须重新拨号建立连接。这将要延误一些时间。

基于上述原因,诞生了计算机网络。

在我国的发展

  • 铁道部在 1980 年开始进行计算机联网实验。
  • 1989 年 11 月我国第一个公用分组交换网 CNPAC 建成运行。
  • 1994年 4 月 20 日我国用 64 kb/s专线正式连入因特网。
  • 中国教育和科研计算机网 CERNET (China Education and Research NETwork),简称为中国教育网,是由国家投资建设,教育部负责管理,清华大学等高等学校承担建设和管理运行的全国性学术计算机互联网络。
  • 中国互联网络信息中心 CNNIC (Network Information Center of China)每年两次公布的我国因特网的发展情况。

计算机网络的功能

  • 连通性:计算机网络使上网用户之间都可以交换信息,好像这些用户的计算机都可以彼此直接连通一样。
  • 共享:即资源共享。资源共享的含义是多方面的,包括软件共享、硬件共享和信息共享。

计算机网络的类别

【按网络的作用范围进行分类】:

  • 广域网 WAN(Wide Area Network):广域网的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。
  • 城域网 MAN(Metropolitan Area Network):城域网的作用范围一般是一个城市,其作用距离约为 5 ~ 50 km。
  • 局域网 LAN(Local Area Network):局域网一般用于微型计算机或工作站通过高速通信线路相连,但地理上局限在较小的范围(如 1 km 左右)。
  • 个人区域网 PAN(Personal Area Network):个人区域网是在个人工作地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网 WPAN(Wireless PAN),其范围大约在 10 m 左右。
  • 多处理机系统:若中央处理机之间的距离非常近(如仅 1 米的数量级或甚至更小些),则一般称之为多处理机系统,而非计算机网络。

【按网络的使用者进行分类】:

  • 公用网:电信公司(国有或私有)出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。
  • 专用网:某个部门、某个行业为各自的特殊业务工作需要而建造的网络。这种网络不对外人提供服务。例如,政府、军队、银行等系统均有本系统的专用网。

计算机网络的性能指标

速率

连接在计算机网络上的主机在数字信道上传送数据的速率。即数据率(data rate)或比特率(bit rate)。是计算机网络中最重要的一个性能指标。速率的基本单位是比特/秒(bit/s)。往往也指额定速率或标称速率。

带宽

具有两种不同的意义。

  • 信号具有的频带宽度(频域称谓):指该信号所包含的各种不同频率成份所占据的频率范围。例如,在传统通信线路上传送的电话信号的标准带宽是 3.1 KHz(从 300 Hz 到 3.4 KHz,即话音的主要成分的频率范围)。基本单位是赫。
  • 网络通信线路传送数据的能力(时域称谓),表示单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。基本单位是比特每秒。
吞吐量(throughput)

表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络的带宽或网络的额定速率的限制。

时延(delay 或 latency)

数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟或迟延。

发送时延(transmission delay)

主机(网卡)或路由器发送数据帧所需要的时间,也就是说从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此也称为传输时延。
t r a n s m i s s i o n D e l a y = d a t a L e n g t h ( b ) d a t a R a t e ( b / s ) transmissionDelay = \frac{dataLength (b)}{dataRate (b/s)} transmissionDelay=dataRate(b/s)dataLength(b)

传播时延(propagation delay)

电磁波在信道中传播一定距离需要花费的时间。
p r o p a g a t i o n D e l a y = c h a n n e l L e n g t h ( m ) p r o p a g a t i o n R a t e ( m / s ) propagationDelay = \frac{channelLength (m)}{propagationRate (m/s)} propagationDelay=propagationRate(m/s)channelLength(m)

排队时延

结点缓存队列中分组排队所经历的时延。分组在经过网络传输时,要经过许多路由器,但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定转发接口后,还要在输出队列中排队等待转发。排队时延的长短取决于网络当时的通信量。

处理时延

交换结点为存储转发而进行一些处理所需的时间。主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等等。

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

四种时延产生的地方

排队时延 ——> 处理时延 ——> 发送时延 ——> 传播时延

【注意】:

  • 速率中的 K = 1 0 3 10^3 103,数据块尺寸的 K = 2 10 2^{10} 210
  • 总时延的数值基本上还是由发送时延来决定。但也不能笼统地认为数据的发送速率越高,传送就越快。
往返时间 RTT(Round-Trip Time)

表示从发送方发送数据开始,到发送方收到来自接收方的确认(接收方收到数据后便立即发送确认),总共经历的时间。

【注意】:往返时间还包括中间结点的处理时延、排队时延以及转发数据时的发送时延。

利用率
  • 信道利用率:某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。信道利用率并非越高越好,因为信道或网络利用率过高会产生非常大的排队时延
  • 网络利用率则是全网络的信道利用率的加权平均值。

计算机网络的非性能特征

费用

网络的价格(包括设计和实现的费用)总是必须考虑的,因为网络的性能与其价格密切相关。一般说来,网络的速率越高,其价格也越高。

质量

网络的质量取决于网络中所有构件的质量,以及这些构件是怎样组成网络的。网络的质量影响到很多方面,如网络的可靠性、网络管理的简易性,以及网络的一些性能。

【注意】:网络的性能与网络的质量并不是一回事。例如,有些性能不错的网络,运行一段时间后就出现了故障,变得无法再继续工作,说明其质量不好。高质量的网络往往价格也较高。

标准化

网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准。最好采用国际标准的设计,这样可以得到更好的互操作性,更易于升级换代和维修,也更容易得到技术上的支持。

可靠性

可靠性与网络的质量和性能都有密切关系。速率更高的网络的可靠性一定会更差。但速率更高的网络要可靠地运行,则往往更加困难,同时所需的费用也会较高。

可扩展性和可升级性

在构造网络时就应当考虑到今后可能会需要扩展(即规模扩大)和升级(即性能和成本的提高)。网络的性能越高,其扩展费用往往也越高,难度也会相应增加。

易于管理和维护

网络如果没有良好的管理和维护,就很难达到和保持所设计的性能。

计算机网络体系结构

在计算机网络的基本概念中,分层次的体系结构是最基本的。

计算机网络体系结构的形成

计算机网络是个非常复杂的系统。相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。

在网络系统设计时,采用了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

【示例】:划分层次的举例——主机 1 向主机 2 传送文件。

划分层次的举例

【说明】:

  • 第一类工作与传送文件直接有关。例如,发送端文件传送应用程序应当确信接收端的文件管理程序已做好接收和存储文件的准备。若两个主机所用的文件格式不一样,则至少其中的一个主机应完成文件格式的转换。
  • 如果所有工作都由文件传送模块完成,则会过于复杂。可以再设立一个通信服务模块(即第二类工作),用来保证文件和文件传送命令可靠地在两个系统之间交换。也就是说,让位于上面的文件传送模块利用下面的通信服务模块所提供的服务。如果将位于上面的文件传送模块换成电子邮件模块,那么电子邮件模块同样可以利用下面的通信服务模块所提供的可靠通信服务。
  • 同理,可再构造一个网络接入模块(即第三类工作),让该模块负责做与网络接口细节有关的工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。

【优点】:

  • 各层之间是独立的:某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。
  • 灵活性好:当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。
  • 结构上可分割开:各层都可以采用最合适的技术来实现。
  • 易于实现和维护:这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个系统已被分解为若干个相对独立的子系统。
  • 能促进标准化工作:因为每一层的功能及其所提供的服务都已有了精确的说明。

【理解】:可以参考前后端分离技术

【说明】:

  • 计算机网络的各层及其协议的集合,称为网络的体系结构。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。
  • 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
实体、协议、服务和服务访问点

在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。

【协议】:这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol)。也可简称为协议

  • 语法:即数据与控制信息的结构或格式。
  • 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步:即事件实现顺序的详细说明。

【实体】:表示任何可发送或接收信息的硬件或软件进程,在许多情况下,实体就是一个特定的软件模块。

【协议-具体应用】:控制两个对等实体(或多个实体)进行通信的规则的集合。

  • 语法方面:定义了所交换的信息的格式;
  • 语义方面:定义了发送者或接收者所要完成的操作。例如,在何种条件下,数据必须重传或丢弃;
  • 同步方面:定义收发双方的时序关系,即在一定条件下应当发生什么事件。

【说明-协议】:在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

【协议与服务的区别】:

  • 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务,而无法看见下面的协议。也就是说,下面的协议对上面的实体是透明的
  • 协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
  • 另外,并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能称之为“服务”。
  • 同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access Point)

相邻两层之间的关系

【协议特点】:

  • 协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
  • 看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。

【著名协议举例】:
占据东、西两个山顶的蓝军1和蓝军2与驻扎在山谷的白军作战。其力量对比是:单独的蓝军1或蓝军2打不过白军,但蓝军1和蓝军2协同作战则可战胜白军。现蓝军1拟于次日正午向白军发起攻击。于是用计算机发送电文给蓝军2。但通信线路很不好,电文出错或丢失的可能性较大(没有电话可使用)。因此要求收到电文的友军必须送回一个确认电文。但此确认电文也可能出错或丢失。试问能否设计出一种协议使得蓝军1和蓝军2能够实现协同作战因而一定(即100 %而不是99.999…%)取得胜利?

著名协议举例1

【结论-著名协议举例】:

  • 这样无限循环下去,两边的蓝军都始终无法确定自己最后发出的电文对方是否已经收到。
  • 没有一种协议能够蓝军能 100% 获胜。
协议体系结构

OSI 的七层协议体系结构的概念清楚、理论也较完善,但它既复杂又不实用。TCP/IP 体系结构则不同,现在已得到非常广泛的应用。TCP/IP 协议是一个四层的体系结构。因为其最下层的网络接口层基本上和一般的通信链路在功能上没有多大差别,因此在计算机网络的原理时,往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。

协议体系结构

数据通信的过程

数据在各层之间的传递过程

  1. 应用进程数据先传送到应用层,加上应用层首部,成为应用层协议数据单元 PDU。
  2. 应用层 PDU 再传送到运输层,加上运输层首部,成为运输层报文。
  3. 运输层报文再传送到网络层,加上网络层首部,成为 IP 数据报(分组)。
  4. IP 数据报再传送到数据链路层,加上链路层首部和尾部,成为数据链路层帧,简称为帧。
  5. 数据链路层帧再传送到物理层(数据不发生变化),最下面的物理层把比特流传送到物理媒体。
  6. 电信号(或光信号)在物理媒体中传播,从发送端物理层传送到接收端物理层。
  7. 物理层接收到比特流,上交给数据链路层。
  8. 数据链路层剥去帧首部和帧尾部,取出数据部分,上交给网络层。
  9. 网络层剥去首部,取出数据部分,上交给运输层。
  10. 运输层剥去首部,取出数据部分,上交给应用层。
  11. 应用层剥去首部,取出应用程序数据,上交给应用进程。
数据单元的变化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xYGjbITR-1586097827552)(ADEFF6C758694F6489A5FD73F0B60265)]

  • 应用层:应用层协议数据单元 PDU。
  • 运输层:
    • TCP:报文段。
    • UDP:用户数据报。
  • 网络层:IP 数据报。
  • 数据链路层:数据链路层帧,或简称为帧。
  • 物理层:比特流。
TCP/IP 的体系结构

TCPIP四层协议的表示方法举例

【说明】:TCP/IP 协议可以为各式各样的应用提供服务(所谓的 everything over IP),同时 TCP/IP 协议也允许 IP 协议在各式各样的网络构成的互联网上运行(所谓的 IP over everything)。

沙漏计时器形状的TCPIP协议族示意

【说明】:IP 协议在因特网中的核心作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值