计算机网络 复习笔记 第1章 计算机网络体系和结构(连续更新)
本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
未经允许禁止转载。
计算机网络
1.1 计算机网络概述
1.1.1 计算机网络的概念
一般认为,计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接来,由功能完善的软件始实现资源共享和信息传递的系统
1.1.2 计算机网络的组成
从组成部分上来看 硬件 软件 协议 缺一不可
从工作方式上来看 边缘部分 核心部分
从功能组成上来看 通信子网 资源子网
1.1.3 计算机网络的功能
1.数据通信2.资源共享3.分布式处理4.提高可靠性5.负载均衡
1.1.4 计算机网络的分类
1.按分布范围分类
- 广域网(WAN)。是因特网的核心部分,使用交换技术。
- 城域网(MAN)。
- 局域网(LAN)。使用了广播技术。
- 个人区域网(PAN)。
2.按传输技术分类
- 广播式网络。
- 点对点网络。
是否采用分组存储转发与路由选择机制是点对点网络与广播式网络的重要区别,广域网基本都属于点对点网络。
3.按拓扑结构分类:总线形、星形、环形、网状 网络
4.按使用者分类:公用网、专用网
5.按交换技术分类:
-
电路交换网络。
在源结点和目的结点之间建立一条专用的通路用于传送数据,包括 建立连接、传输数据、断开连接 三个阶段。例如传统电话网络。
优点:数据直接传送、时延小;
缺点:线路利用率低,不能充分利用线路容量、不便于进行差错控制
-
报文交换网络(存储-转发网络)。
用户数据 + 源地址 + 目的地址 + 校验码 等辅助信息,封装成报文。
过程:整个报文到达一个结点后,再转发给下一个结点。每个报文可以单独选择到达目的结点的路径。
优点:1.可以较为充分地利用线路容量;2.可以实现不同链路之间不同数据传输速率的转换;3.可以实现格式的转换;4.可以实现一对多,多对一的访问;5.可以实现差错控制。
缺点:1.增大了资源开销;2.增加了缓冲时延;3.需要额外的控制机制来保证多个报文的顺序不乱序;4.缓冲区难以管理(因为报文的大小不确定,接收方在接收到报文之前不能预知报文的大小。
-
分组交换网络(包交换网络)。
将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组(包),以存储-转发方式传输
(到此为止貌似和报文交换没啥太大区别,只是将大报文分成了很多个小报文)。特点:单个分组(即整个报文的一部分)传送到相邻结点,存储后查找转发表,转发到下一个结点。
优点:1.缓冲易于管理;2.包的平均时延更小,网络占用的平均缓冲区更少;3.更易于标准化;4.更适合应用。
现在的主流网络基本上都可视为分组交换网络。
6.按传输介质分类:有线网络、无线网络。
1.1.6计算机网络的性能指标
-
带宽。
本来表示通信线路允许通过的信号频带范围(Hz)。
在计算机网络中,表示网络的通信线路所能传输数据的能力,是数字信道中“最高数据传输速率”的同义语(b/s)。
-
时延。
发送时延 + 传播时延 + 处理时延 + 排队时延 = 总时延
- 发送时延:结点将所有比特推向链路所需要的时间。计算公式为:
发送时延 = 分组长度 / 信道宽度
- 传播时延:一个比特从链路的一端到另一端所需的时间。计算公式为:
传播时延 = 信道长度 / 电磁波在信道上的传播速率
- 处理时延:数据在结点中为存储转发进行的一些必要的处理所花费的时间。
- 排队时延:分组在进入路由器后要先在输入队列排队等待处理。
- 发送时延:结点将所有比特推向链路所需要的时间。计算公式为:
-
时延带宽积。
指当第一个比特到达终点是时,发送端已经发出了多少个比特(相当于计算当前链路中有多少个比特,就像水管里还有多少水一样)。
时延带宽积 = 传播时延 + 信道带宽
-
往返时延。
从发送数据开始,到发送端收到来自接收端的确认的时延。
-
吞吐量。
指单位时间内通过某个网络(或信道、接口)的数据量。
受到网络带宽或网络额定速率的限制。
-
速率。
网络中的速率是指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据传输速率、数据率、比特率(bit/s)。
通常,最高数据传输速率称为 带宽 。
-
信道利用率。
指出某一信道有百分之多少的时间是有数据通过的。信道利用率 = 有数据通过的时间 / (有 + 无)数据通过的时间
1.2 计算机网络体系结构与参考模型
1.2.1 计算机网络分层结构
分层的基本原则:
- 每层都是县一种相对独立的功能,降低大系统的复杂度。
- 各层之间界面自然清晰,易于理解,相互交流尽可能少。
- 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应能促进标准化工作。
分层后,各层之间相对独立,灵活性好,更新时可替换单个模块,易于调试,易于交流,易于抽象,易于标准化。
层次多:同样的功能在不同层次中重复出现,导致整体的运行效率较低。
层次少:每层协议都会很复杂。
因此应折中考虑。
在分层结构中,第n层中的活动元素通常称为第n层实体 (任何可发送或接受信息的硬件或软件进程,通常是一个特定的软件模块)。
不同机器上的同一层称为对等层,同一层的实体称为对等实体。
第n层实体实现的服务为第n+1层所利用。在这种情况下。第n层称为服务提供者,第n+1层则服务于用户。
在各个层次中,每个报文都分为两部分:一是数据部分,即SDU(服务数据单元);二是控制信息部分,即PCI(协议控制信息),它们共同组成PDU(协议数据单元)。
SDU + PCI = PDU
服务数据单元 + 协议控制信息 = 协议数据单元
-
服务数据单元(SDU):为完成用户要求的功能而应传送的数据。
-
协议控制信息(PCI):控制协议操作的信息。
-
协议数据单元(PDU):对等层次之间传送的数据单位称为该层的PDU。如物理层的PDU为比特,数据链路层的PDU为帧,网络层的PDU为分组,传输层的PDU为报文段。
综上所述,有:
n-SDU + n-PCI = n+1-PDU = (n - 1)SDU
这部分可以好好在脑子里建立三层结构,从上到下分别为n-1,n,n+1层。
对于某一层n,n是n+1的服务提供者,是n-1的服务使用者。最低层指提供服务,是整个层次结构的基础,最高层面向用户提供服务。
n+1只能通过相邻层间的接口使用n的服务,而不能调用其它层的服务;
n-1所提供的服务的实现细节对n透明(指n层的用户只能看见服务而看不见下面的协议)。
1.2.2 计算机网络协议、接口、服务的概念
-
协议
语法 + 语义 + 同步
- 语法:规定了传输数据的格式
- 语义:所要完成的功能,即需要1.发出何种控制信息、2.完成何种动作、3.做出何种应答
- 同步:规定了执行各种草足迹的条件、时序关系等,即时间实现顺序的详细说明。
一个完整的协议通常应具有 线路管理(建立、释放连接)、差错控制、数据转换 功能。
-
接口
在典型的接口上,同一结点 相邻两层 的实体通过服务访问点(SAP)进行交互。SAP是一个抽象的概念,它实际上是一个逻辑接口,和硬件接口是很不一样的。
接口是同一结点内相邻两层间交换信息的连接点。
每层只能为紧邻的层次之间定义接口,不能跨层定义接口。
(细想PDU的组成,如果跨层传输数据将会出现中间被跨越的层所包含的PCI被省略掉,所以在层次结构中跨层传输数据是不被允许的)
-
服务
服务是垂直的,它是下层为紧邻的上层提供的功能调用。
上层要使用下层提供的服务时必须与下层交换一些命令,在OSI模型中被称为服务原语。
- 请求Request。服务用户 -> 服务提供者 (n+1 -> n) 请求完成某项工作。
- 指示Indication。服务提供者 -> 服务用户 (n -> n+1) 指示用户做某件事情。
- 响应Response。服务用户 -> 服务提供者 (n+1 -> n) 作为对指示的响应。
- 证实Confirmation。服务提供者 -> 服务用户 (n -> n+1) 作为对请求的证实。
协议和服务的区分:
-
只有本层协议的实现才能保证上向上一层提供服务。
-
本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。
-
协议是“水平的”,协议是控制对等实体之间的通信原则
服务是“垂直的”,服务是由下层通过层间接口向上提供的。另外,只有那些能够被高一层实体“看得见”的功能才能够叫服务。
计算机网络提供的服务可按以下三种方式分类:
-
面向连接服务——————无连接服务
面向连接服务:连接建立、数据传输、连接释放。如TCP。
无连接服务:是一种不可靠服务,尽最大努力交付。如IP、UDP。
-
可靠服务——————不可靠服务
可靠服务:指网络具有纠错、检错、应答机制。
不可靠服务:尽量,是一种尽力而为的服务。
-
有应答服务——————无应答服务。
1.2.3 ISO/OSI参考模型 和 TCP/IP模型
-
OSI参考模型。
- OSI参考模型有7层,自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
- 低三层(物理层、数据链路层、网络层)统称为通信子网,完成数据传输功能。
- 高三层(会话层、表示层、应用层)统称为资源子网,相当于计算机系统,完成数据处理等功能。
- 传输层承上启下。
(1)物理层
传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明地传输原始比特流。
物理层主要定义数据终端设备和数据通信设备的物理与逻辑连接方法。
物理层协议 也称为 物理层接口标准,物理层规程。
(2)数据链路层
传输单位是帧,任务是将网络层传来的IP数据组装成帧。
成帧、差错控制、流量控制、传输管理。
提供了点到点的通信(传输层提供了端到端的通信)
(3)网络层
传输单位是数据报,任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网络上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制、网际互联。
根据网络情况利用相应的路由算法计算出一条合适的路径。
(4)传输层
传输单位是报文段(TCP)或用户数据报(UDP)。主要负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等功能。
点到点的通信:理解为两个主机之间的通信,一个点指一个硬件地址或IP地址。
端到端的通信:理解为运行在不同主机内的两个进程之间的通行,一个进程由一个端口来标识。
(5)会话层
会话层允许不同主机上的各个进程之间进行通话。利用传输层提供的端到端服务,向表示层提供它的增值服务。
(6)表示层
主要处理两个通信系统中交换信息的表示方式。
表示层采用了抽象的标准方法定义数据结构,并采用标准的编码方式。
同时提供了数据压缩、加密、解密功能
(7)应用层
用户与网络的界面,为特定类型的网络应用提供访问OSI参考模型环境的手段。
-
TCP/IP模型
与OSI参考模型的层次对应关系:
应用层、表示层、会话层
对应 应用层
传输层
对应 传输层
网络层
对应 网际层
数据链路层、物理层
对应 网络接口层
(1)网络接口层
作用:从主机或结点接收IP分组,并把它们发送到指定的物理网络上。
(2)网际层
与OSI网络层相似,找路由,定义标准的分组格式和协议,即IP。
(3)传输层
与OSI传输层相似,使得发送端和目的端主机上的对等实体进行会话。主要使用以下两种协议:
- 传输控制协议(TCP)。面向连接的,数据传输的单位是报文段,能够提供可靠的交付(也就是说一定保证数据全部传输到位)。
- 用户数据报协议(UDP)。无连接的,数据传输单位是用户数据报,不可考服务,尽最大努力交付(也就是说发出去就完事儿了,不管了,例如打即时战略或射击类电动,无法容忍延迟和掉包的出现,就是可以使用UDP协议)。
(4)应用层
包含所有的最高层协议。