说明
- 博客作为笔记备份,不定时更新
- 参考内容为《计算机网络(第7版)》谢希仁 电子工业出版社;王道考研《计算机网络考研复习指导2023》
- 文中的例题摘自王道考研《计算机网络考研复习指导2023》,大多是我个人认为较为典型的题目以及错题的部分整理
计算机体系结构与参考模型
1. 计算机网络分层结构
1.1 计算机网络体系结构的定义
- 把计算机网络的各层及其协议的集合称为网络的体系结构
- 也就是说,层、层间接口、协议的集合称为计算机网络体系结构
- 体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件
1.2 分层的基本原则
- 计算机网络的体系结构通常都具有可分层的特性,它将复杂的大系统,分成若干较容易实现的层次
- 分层的基本原则:
- 每层都实现一种相对独立的功能,降低大系统的复杂性
- 各层之间界面自然清晰,易于理解,相互交流尽可能少
- 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应能促进标准化工作
1.3 实体、PDU的概念
- 实体
- 任何可发送/接收信息的硬件或软件进程,通常是一个特定的软件模块
- 通常将第n层中的活动元素称为第n层实体
- 不同机器上的同一层称为对等层,同一层的实体称为对等实体
- 第n层实体实现的服务为第n+1层所利用,此时,第n层称为服务提供者,第n+1层则服务于用户
- PDU
- 在计算机网络体系结构的各个层次中,每个报文都有两部分:(1)数据部分,即SDU;(2)控制信息部分,即PCI。它们共同组成PDU
- 服务数据单元SDU:为完成用户所要求的功能而应传送的数据。第n层的服务数据单元记为n-SDU
- 协议控制信息PCI:控制协议操作的信息。第n层的协议控制信息记为n-PCI
- 协议数据单元PDU:对等层次之间传送的数据单位称为该层的PDU。第n层的协议数据单元记为n-PDU。在实际的网络,每层的协议数据单元都有一个通俗的名称,比如物理层PDU称为比特,数据链路层的PDU称为帧,等等
- 在计算机网络体系结构的各个层次中,每个报文都有两部分:(1)数据部分,即SDU;(2)控制信息部分,即PCI。它们共同组成PDU
1.4 数据的传输
- 在各层间传输数据时,把从第n+1层收到的PDU作为第n层的SDU,加上第n层的PCI变成第n层的PDU,交给第n-1层后作为SDU发送
- 接收方接收时做相反的处理
1.5 层次结构的含义
- 第n层的实体不仅要使用第n-1层的服务来实现自身定义的功能,还要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和
- 最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务
- 上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务;下一层所提供服务的实现细节对上一层透明
- 两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方
2. 计算机网络协议、接口、服务的概念
2.1 协议
协议的定义
- 协议是控制对等层实体之间进行数据交换的约定、规则、标准
- 协议的作用范围是对等层,是水平的,不对等实体间是没有协议的
协议的组成
- 协议由语法、语义、同步三部分组成
- 语法:规定了传输数据的格式
- 语义:规定了所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答
- 同步:规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明
- 一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能
2.2 接口
- 接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。即同一系统内,相邻两层间的交互通道
- 每层指令为紧邻的层次之间定义接口,不能跨层定义
- 在典型的接口上,同一结点相邻两层的实体通过服务访问点 SAP进行交互。服务是通过SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方
- 每个SAP都有一个能够标识它的地址。SAP是一个抽象的概念,它实际上是一个逻辑接口
2.3 服务
服务的定义
- 服务是下层为紧邻的上层提供的功能调用,是垂直的
服务原语
- 上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语。OSI参考模型将原语划分为:
- 请求Request:由服务用户发往服务提供者,请求完成某项工作
- 指示Indication:由服务提供者发往服务用户,指示用户做某件事情
- 响应Response:由服务用户发往服务提供者,作为对指示的响应
- 证实Confirmation:由服务提供者发往服务用户,作为对请求的证实
协议与服务的区别
- 只有本层协议的实现才能保证向上一层提供服务
- 本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的
- 协议是水平的,服务是垂直的
- 并非在一层内完成的全部功能都成为服务,只有那些能够被高一层实体“看得见”的功能才称为服务
协议、接口、服务的关系
服务的分类
面向连接服务与无连接服务
- 面向连接服务
- 通信前双方必须先建立连接,分配相应的资源,以保证通信能正常进行;通信结束后,释放连接和占用的资源
- 分为建立连接、数据传输、连接释放三个阶段
- 举例:TCP就是一种面向连接服务的协议
- 无连接服务
- 通信前双方不需要先建立连接。需要发送数据时直接发送,将每个带有目的地址的包传送到线路上,由系统选定路线进行传输
- 是一种不可靠的服务,常被称为“尽最大努力交付”
- 举例:IP、UDP是无连接服务的协议
可靠服务和不可靠服务
- 可靠服务
- 指网络具有纠错、检错、应答机制,能保证数据正确、可靠的传送到目的地
- 不可靠服务
- 指网络只是尽量正确、可靠的传输,不能保证数据正确、可靠的传送到目的地
- 其网络的正确性要由应用或用户来保障
有应答服务和无应答服务
- 有应答服务
- 指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现
- 举例:文件传输服务就是一种有应答服务
- 无应答服务
- 指接收方在收到数据后不自动给出应答,若要给出应答,则由高层实现
- 举例:对于WWW服务,客户端收到服务器发送的页面文件后不给出应答
3. ISO/OSI参考模型与TCP/IP模型
3.1 OSI参考模型
- 国际标准化组织(ISO)提出了开放系统互连参考模型(OSI/RM),通常简称为OSI参考模型
- OSI参考模型有7层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
- 低三层统称为通信子网(物理层、数据链路层、网络层),是为了联网而附加的通信设备,完成数据的传输功能
- 高三层统称为资源子网(会话层、表示层、应用层),相当于计算机系统,完成数据的处理等功能
- 传输层承上启下
物理层
- 基本内容
- 传输单位:比特
- 任务:透明的传输比特流
- 功能:在物理媒体上为数据端设备透明的传输原始比特流
- 物理层协议
- 物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法,所以物理层协议也称物理层接口标准
- 物理层协议举例:EIA-232C、EIA/TIA RS-449、CCITT的X.21
- 物理层主要研究内容
- 通信链路与通信结点的连接需要电路接口,物理层规定这些接口的一些参数。比如:机械形状和尺寸、交换电路的数量和排列等
- 物理层规定了通信链路上传输的信号的意义和电气特征
- 注:传输信息所用到的一些物理媒介,并不在物理层协议之内而在物理层协议下面,因此有人把物理媒介称为第0层
数据链路层
- 基本内容
- 传输单位:帧
- 任务:将网络层传来的IP数据报封装成帧
- 功能:成帧、差错控制、流量控制、传输管理等
- 注:广播式网络在数据链路层还要控制对共享信道的访问。数据链路层的一个特殊子层——介质访问层,专门处理这个问题
- 数据链路层协议举例:SDLC、HDLC、PPP、STP、帧中继等
网络层
- 基本内容
- 传输单位:数据报(分组)
- 任务:关心的是通信子网的运行控制,把网络层的协议数据单元(分组)从源端传送到目的端,为分组交换网上的不同主机提供通信服务
- 功能:对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互连等
- 网络层协议举例:IP、IPX、ICMP、IGMP、ARP、RARP、OSFP等
传输层
- 基本内容
- 传输单位:报文段(TCP)或用户数据报(UDP)
- 任务:主要负责主机中两个进程之间的通信
- 功能:为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等
- 传输层与数据链路层区别
- 数据链路层提供点到点通信;传输层提供端到端通信
- 点到点:可理解为两个主机之间通信,一个点指一个硬件地址或IP地址,网络中参与通信的主机是通过硬件地址或IP地址标识的
- 端到端:运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识
- 使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在。通过传输层的屏蔽,高层用户看不到子网的交替和变化。
- 由于一台主机上可同时运行多个进程,因此传输层具有复用和分用的功能
- 复用:多个应用层进程可同时使用下面传输层的服务
- 分用:传输层把收到的信息分别交付给上面应用层中相应的进程
- 传输层协议举例:TCP、UDP
会话层
- 会话层的服务主要表现为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)
- 会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话
- 会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步
表示层
- 表示层主要处理在两个通信系统中交换信息的表示方式
- 表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式
应用层
- 应用层是OSI参考模型的最高层,是用户与网络的界面
- 典型的协议:用于文件传送的FTP、用户电子邮件的SMTP、用于万维网的HTTP等
3.2 TCP/IP模型
- TCP/IP模型,是事实上的国际标准
- TCP/IP模型:网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层、应用层(对应OSI参考模型中的会话层、表示层和应用层)
- 网络接口层
- 表示与物理网络的接口,但实际上TCP/IP本身没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便在其上传递分组
- 物理网络可以是各种类型的局域网,例如:以太网、令牌环网、令牌总线网等;也可以是电话网、SDH、X.25、帧中继、ATM等公共数据网络
- 网络接口层的作用是:从主机或结点接收IP分组,并把它们发送到指定的物理网络上
- 网际层(主机–主机)
- 是TCP/IP的关键部分
- 网际层将分组发往任何网络,并为之独立地选择合适的路由,但不保证每个分组有序的到达,各个分组的有序交付由高层负责
- 网际层定义了标准的分组格式和协议,即IP
- 传输层(应用–应用或进程–进程)
- 主要使用两种协议:
- 传输控制协议 TCP :面向连接的,数据传输单位是报文段,能提供可靠的交付
- 用户数据报协议 UDP :无连接的,数据传输单位是用户数据报,不保证可靠的交付
- 主要使用两种协议:
- 应用层(用户–用户)
- 包含所有的高层协议,如虚拟终端协议Telnet、文件传输协议FTP、域名解析服务DNS、电子邮件协议SMTP、超文本传输协议HTTP
4. 例题
- (
P
22
9
P_{22}9
P229)当数据由端系统A传送至端系统B时,不参与数据分封装工作的是()
A. 物理层 B. 数据链路层 C. 网络层 D. 表示层
解答:物理层以0、1比特流的形式透明地传输数据链路层的数据帧;网络层、表示层和应用层都为上层提交的数据添加首部,数据链路层为上层提交的数据添加首部和尾部,然后提交给下一层。物理层不存在下一层,因此也不用封装
错误原因:错选D - (
P
22
11
P_{22}11
P2211)在ISO/OSI参考模型中,可同时提供无连接服务和面向连接服务的是()
A. 物理层 B.数据链路层 C. 网络层 D. 传输层
解答:ISO/OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅支持面向连接的通信;TCP/IP模型在网络层仅支持无连接的通信(IP),而在传输层支持无连接和面向连接的通信。两类协议栈的区别是统考的考点,而这个区别是常考点
错误原因:错选D - (
P
22
12
P_{22}12
P2212)在OSI参考模型中,当两台计算机进行文件传输时,为防止中间出现网络故障而重传整个文件的情况,可通过在文件中插入同步点来解决,这个动作发生在()
A. 表示层 B. 会话层 C. 网络层 D. 应用层
解答:参考会话层
5. 小结
数据报、报文段、报文、分组、数据包的概念的区别
- 来自网络帧、报文、报文段、分组、包、数据报的概念区别 - stardsd - 博客园 (cnblogs.com)
- 报文、报文段、分组、包、数据报、帧、数据流的概念区别_啊大1号的博客-CSDN博客_报文
- 报文 message
- 将位于应用层的信息分组称为报文
- 报文是网络中交换与传输的数据单元,也是网络传输的单元
- 报文包含了将要发送的完整的数据信息,其长短不需一致
- 报文在传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加一些控制信息组成的首部,即报文头
- 报文段 segment
- 组成报文的每个分组
- 通常指起始点和目的地都是传输层的信息单元
- 分组/包 package
- 分组是在网络中传输的二进制格式的单元
- 为了提高通信性能和可靠性,每个用户发送的数据会被划分为多个更小的部分,在每个部分的前面加上一些必要的控制信息组成首部,有时也会加上尾部,就构成了一个分组
- 分组的起始和目的地都是网络层
- 数据报 datagram
- 面向无连接的数据传输,其工作过程类似于报文交换。采用数据报方式传输时,被传输的分组称为数据报
- 通常指起始点和目的地都是用无连接网络服务的网络层的信息单元(指IP数据报)
- 帧 frame
- 帧是数据链路层的传输单元
- 数据包
- 是TCP/IP协议通信传输中的数据单元,也称为“包”。
- 是指自包含的,带有足够寻址信息,可独立地从源主机传输到目的主机,而不需要依赖早期的源主机和目的主机之间交换信息以及传输网络的数据包。
计算机网络和分布式计算机系统的区别
- 分布式系统最主要的特点是,整个系统中的各个计算机对用户都是透明的
- 对于计算机网络,用户必须先登录欲运行程序的计算机,然后按照计算机的地址,将程序通过计算机网络传送到该计算机中运行,最后根据用户的命令将结果送到指定的计算机中
- 二者的区别主要是软件不同
因特网的传输设计
- 因特网使用的IP协议是无连接的,是不可靠的
- 传统电信网的主要用途是电话通信,且普通电话机是不智能的,因此数据的传输要十分可靠
- 计算机网络的先驱认为,计算机网络和电信网的一个重大区别是终端设备的性能差别很大。于是,采用了端到端的可靠传输策略,即在传输层使用面向连接的TCP协议,由用户的主机负责数据传输的可靠性。这样既能使网络部分价格便宜且灵活可靠,又能保证端到端的可靠传输
端到端通信与点到点通信
- 从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信
- 直接相连的结点之间的通信称为点到点通信,它只提供一台机器到另一台机器之间的通信,不涉及程序或进程的概念,不能保证数据传输的可靠性,也不能说明源主机与目的主机之间是哪两个进程在通信,这些工作由传输层完成
- 端到端通信建立在点到点通信的基础上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式。其中,“端”是指用户程序的端口,端口号标识了应用层中不同的进程
传输速率、带宽、传播速率
- 传输速率指主机在数字信道上发送数据的速率,也称数据传输率、数据率、比特率,单位是b/s、kb/s、Mb/s等
- 注:在计算机领域中,表示存储容量或文件大小时, K = 2 10 , M = 2 20 K=2^{10},M=2^{20} K=210,M=220等,与通信领域的表示方式不同
- 带宽(Bandwidth)在计算机网络中指数字信道能传送的最高数据传输速率,常用来表示网络的通信线路传送数据的能力,单位与传输速率相同
- 传播速率指电磁波在信道中传播的速率,单位m/s
- 举例说明
-
在一段时间内,链路中有多少比特取决于带宽(或传输速率),而1比特“跑”了多远,取决于传播速率
- 进一步理解带宽
- 当带宽或发送速率提高后,比特在链路上向前传播的速率并未提高,只是单位时间内注入链路的比特数增加了,“速率提高”就体现在单位时间内发送到链路上的比特数增加了,而非比特在链路上跑的更快了
更新文档
更新日期 | 更新内容 |
---|---|
2022/7/21 | 整理了小结 |