计算机网络基础 第三章

第三章 计算机网络体系结构

  • 网络通信协议和网络体系结构是计算机网络技术中重要的内容
3.1.1 通信协议
  • 应该包含三要素
    • 语法:如何讲
    • 语义:讲什么
    • 时序
3.1.2 网络体系结构
  • 体系结构的层次化:每一层不必知道下面一层是如何实现的
3.1.3 分层结构中的相关概念
  • 通信实体和对等实体
    • 通信实体是层功能实现的真正继承者
  • 服务和分层协议
  • 面向连接的服务和无连接的服务
    • 电话系统
    • 邮政系统:传输的每个分组中必须包括目的地址
  • 接口和服务访问点
    • 接口是同一系统相邻两层之间的边界
    • 这两层实体交换信息的地方称为服务访问点:SAP

3.2 OSI参考模型

  • 为了解决不同网络设备之间的互连问题,ISO提出了OSI/RM(Open System Interconnection Reference Model)

  • 在这里插入图片描述

  • 只有在主机中才可能需要包含所有7层的功能,而在通信子网一般只需要最低3层的功能

  • OSI并不是一个标准,而只是有个车在指定标准时所使用的概念性框架

  • 其本身并不满足网络体系结构要求,按照定义,网络体系结构是网络的层次结构和分层协议的集合,OS没有定义各层的协议,只是描述了每一层的功能与服务

  • 应用层:是最高层,提供用户应用软件与网络之间的接口服务

  • 表示层:主要解决用户信息的语法表示问题,将欲交换的数据从适合于某一用户的抽象语法,转换为适合于网络系统内部使用的传送语法,即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作也由表示层负责

  • 会话层:是进程-进程的层次,其主要功能是组织和同步不同的主机上各种进程间的通信(也称为对话)。不参与数据传输,但对数据传输进行管理。在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文

  • 传输层:是端-端层次,根据通信子网的特性,最佳的利用网络资源,为两个端系统(源站和目的站)的会话层之间提供建立、维护和取消传输连接的功能,负责可靠的传输数据。传送单位是报文

  • 网络层:结点-结点层次,在计算机网络中进行通信的两个计算机可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层主要负责如何使数据跨越通信子网从一个结点到另一个结点的正确传送,即在通信子网中进行路由选择。当否是要跨越多个通信子网时,还要解决网际互连的问题。传送单位是分组

  • 数据链路层:是相邻结点层次,主要是通过校验、确认和反馈重发等手段,将不可靠的物理链路改造成对网络层来说无差错的数据链路,为网络层在相邻结点间无差错的传送以帧为单位的数据。还要协调收发双方的数据传输速率,进行流量控制,数据传送单位是帧

  • 物理层:要物理媒体传输数据,单位是位

3.2.3 OSI中的数据传输
  • 每一层将上层传过来的数据加上若干控制位后在传递给下一层,由物理层传到对方物理层,再逐层上传
  • 其他对等层之间的通信均为逻辑通信
  • 每一层加上自己的控制信息传到下一层,直到数据链路层,这一层除了增加头信息,还要增加尾信息,然后由物理层成为由0和1组成的数据比特流,转换为电信号在物理媒体上传输

3.3 物理层

3.3.1 物理层功能与协议
  • 物理层不是指这些连接设备的具体传输介质,它是介于数据链路层和传输介质之间的一层,起着数据链路层到传输介质之间的接口作用
  • 物理层的功能:负责实际或原始的数据“位”传送

3.4 数据链路层

3.4.1 数据链路层的功能与服务
  • 设立数据链路层的主要目的是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理链路通过数据链路层协议改造为逻辑上无差错的数据链路,是指对网络层表现为一条无差错的传输通路
  • 功能
    • 链路管理:数据链路的建立、维持和释放
    • 帧同步:接收端应当能从收到的比特流中准确的区分出一帧的开始和结束
    • 差错控制
    • 流量控制
    • 将数据和控制信息区分开
    • 透明传输
    • 寻址
  • 把实现控制数据传输规程的硬件和软件加到物理链路上去,就成了数据链路。
3.4.2 帧的封装
  • 传输的协议数据单元是帧
  • 帧时逻辑的、结构化的数据块
  • 帧同步解决的问题:接收方必须能从物理层收到的比特流中准确的识别出帧的起始与终止位置
  • 字节计数法
  • 字符填充的首尾定界法
    • 用特定的ASCII字符许洛DLE STX和DLE ETX 分别标识一帧的起始与终止
  • 带比特填充的首尾标记法
    • 容易由硬件实现,性能优于字符填充
  • 违法编码法
    • 只适合采用冗余编码的特殊编码环境
  • 普遍的是比特填充和违法编码
3.4.3 差错控制
  • 自动重发请求法:接收方发现错误时,采取反馈重发机制。
    • 发送方将要发送的数据帧附加一定的冗余检错码一并发送,接收方则根据检错码对数据帧进行差错检测,如果有错,就返回请求重发的应答,发送方收到请求重发的应答后,便重新传送该帧
  • 如果想解决数据帧丢失造成的死锁,可以引入计时器
  • 同时对每个数据帧进行编号,使得接收方能根据数据帧的不同编号来区分是新发送的帧还是已被接收但又重新发送的帧
3.4.4 流量控制
  • 并不是数据链路层特有的功能
  • 需要一种信息反馈机制,使发送方能了解接收方是否能接收到,常见的实现方法是窗口机制
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JefonR5v-1638372951856)(计算机网络基础.assets/image-20211110221952099.png)]
3.4.5 数据链路层协议举例
  • 控制相邻结点间数据传输的通信规则就是数据链路层协议
  • 异步协议
    • 以字符为独立的信息传输单位,在每个字符的起始处对字符内的位实现同步,但字符与字符之间的间隔时间是不固定的,即字符之间是异步的
    • 多用于数据速率比较低的场合
  • 同步协议
    • 以帧为传输单位,帧内维持固定的时钟

3.5 网络层

  • 通信子网的最高层,通信子网中最复杂和关键的一层。
  • 以数据链路层提供的无差错传输为基础,把高层发来的数据组织成分组,从源节点经过若干个中间节点传送到目的节点
  • 设置网络层的目的:
    • 为报文分组提供最佳路径,通过通信子网达到目的主机,实现两个端系统之间的数据的透明传送
    • 主要包括路径选择、拥塞控制和网际互连
3.5.1 网络层提供的服务
  • 在组交换网络中,面向连接的服务和无连接的服务具体实现分别称为虚电路服务和数据报服务

  • 虚电路服务方式

    • 采用虚电路方式传输时,每个分组除了包含数据之外,还包含一个虚电路号,在预先建好的路径上的每个结点都知道把这些分组引导到哪里,不再需要路由选择判定
    • 类似电路交换,但是虚电路是断续地占用一段一段的链路,在每个结点上采用“存储–转发”的方式处理分组
    • 虚电路建立——数据传送——释放
    • 优点:端到端的差错控制有通信子网负责,可靠性高,网络层保证分组按顺序交付,不丢失不重复
    • 缺点:如果有故障,则经过故障点的数据全部丢失
    • 这种服务方式适用于数据量大、可靠性高的场合
  • 数据包服务方式

    • 无连接,类似报文交换的工作方式
    • 当端系统从传输层接收到有发送的一个报文时,网络层将报文拆成若干个带有序号和地址信息的数据包,依次发给网络结点,网络结点接收到一个数据报后,根据数据报中地址信息和结点存储的路由信息,找出一条合适的出路,把数据报传到下一个结点
    • 虽然不需要建立连接,但是网络结点要为每个数据报进行路由选择,目标结点收到数据后也不需要发送确认,所以开销较小
    • 特点
      • 同一报文的分组可以经过不同的传输路径通过通信子网
      • 每个分组在传输过程中都必须带有目的地址和源地址
      • 为了避免同一报文的不同分组到达目的结点时可能出现乱序、重复与丢失现象,需要在目的结点开辟缓冲区,缓存所有收到的分组,然后重新排序按发送顺序交付给主机
      • 由主机承担端到端的差错控制
      • 延迟较大,适用于突发性通信,不适用于长报文、会话式通信
    • 健壮性灵活性高
  • 两者比较

    • 虚电报服务数据报服务
      传输方式需要连接建立和释放无连接
      网络地址在源主机发出呼叫分组中需要源和目的主机的网络地址,传输节点需要虚电路号每个数据报中都需要源和目的主机的网络地址
      路由选择在连接建立时确定路由每个网络结点都要为每个分组路由做出选择
      分组顺序可以保证顺序无法保证方按顺序到达目的主机
      可靠性和适应性在通信之前双方已进行过连接,且发送一定数量分组后会有确认,可靠性高但是如果结点发生故障,数据报服务可以绕开,而虚电路需要重新建立虚电路才可以通信,所以适应性更强
  • 虚电路适合大批量的数据传输,及时可靠性高,网络开销小;数据报适合站点之间少量数据传输

3.5.2 路由选择
  • 通信子网中的源节点和目的结点之间存在多条传输路径的可能性。网络结点在收到一个分组后,根据一定的原则和算法确定向下一个节点传送的最佳路径,这就是路由选择
  • 理想的路由选择算法应该正确、简单易实现,不增加额外开销,能适应通信量和网络拓扑结构的变化。
  • 分为静态路由选择算法和动态路由选择算法
  • 静态路由选择算法:不用测量也无需利用网络信息,按某种固定规则进行路由选择,也称作非自适应算法
    • 泛射路由选择:网络结点从某条线路收到一个分组后,再向其他所有线路重复发送收到的分组。采用这种方法会导致网络中的分组数目迅速增长,会导致网络出现拥塞现象
      • 适合军事网络等健壮性要求高的场合
    • 固定路由选择:每个网络结点预先存储一张确定好的路由表,结点根据分组中的目的地址,查出输出路线。
      • 简便易行、适合在拓扑结构变化不大的小型网络中应用,灵活性差
    • 随机路由选择
  • 动态路由选择
    • 结点根据当前网络的状态信息,自动计算最佳路径、建立路由表,能够自动适应网络的故障、拓扑结构的变化,动态更新路由表
    • 为了能动态适应网络拓扑结构等网络状态的变化,结点间必须交换网络状态信息,从本地、相邻结点和所有结点。相应的可以把动态策略分为三种:孤立路由、分布路由、集中路由
    • 分布路由是普遍使用的方法:网络中每个结点根据来自相邻结点的信息,通过最短话费算法计算出到每个目的结点的路径,更新自己的路由表。分布路由有两种实现
    • 距离相邻路由算法
    • 链路状态路由选择算法
      • 在实际网络中得到广泛的应用,在因特网中使用的OSPF(开放路径优先)协议使用的就是此算法
3.5.3 拥塞控制
  • 网络中多个层次都存在流量控制问题,网络层的流量控制是对进入通信子网的通信量加以控制,以防止因通信量过大造成通信子网性能下降
  • 拥塞和死锁
  • 当主机发送到通信子网中的分组数量在其传输容量之内,能被送达到目的端。
  • 但是当通信量增加太快时,使得路由器不能及时处理,开始丢弃分组,由于丢弃分组而带来大量的重发导致情况会恶化,甚至死锁
  • OSI中多个层次都存在流量控制,网络层的流量控制对进入分组交换网的通信量加以控制,防止因通信量过大造成通信子网性能下降
  • 拥塞控制用于确保通信子网能运送所有待传输据,设计所有主机、路由器,并于路由器的存储转发能力和其他影响通信子网负荷的因素有关
  • 数据链路层流量控制只涉及发送者和接收者之间的点对点通信的局部问题,其任务是确保快速的发送者不用高于接收者所能承受的速率发送数据
  • 拥塞控制方法
  • 可采用预先分配缓冲区资源、准许节点在必要时丢弃分组、限制进入通信子网的分组数等方法
  • 缓冲区预分配法:用于虚电路分组交换网中。
    • 在建立虚电路时,让呼叫请求分组的途径结点为虚电路预先分配一个或多个数据缓冲区。
    • 若某个节点缓冲区已被占满,则呼叫请求分组另择路由,或者返回一个“忙“信号给呼叫者
    • 此时的分组交换和电路交换很相似。
    • 当节点收到一个分组并将它转发出去之后,该节点想发送节点返回一个确认信息。
    • 网络资源的利用率不高,主要用于高带宽和低延迟的场合,例如传送数字化语音信息的虚电路
  • 分组丢弃法
    • 不必预先保留缓冲区,缓冲区占满时,就将分组丢弃
    • 若通信子网提供的是数据报服务,则用分组丢弃法来防止阻塞,拥塞发生时也不会有大影响
    • 若是虚电路服务,则必须在某处保存被丢弃分组的备份,以便拥塞解决后能重新发送
  • 定额控制法
3.5.4 网络互联
3.5.5 网络层协议举例
  • X.25协议

3.6 传输层

  • 整个协议层次结构的核心,是唯一负责源端到目的端对数据传输和控制的一层
  • 传输层之上的三层不包含任何数据传输功能、传输层之下的网络层代表的是通信子网
  • 有了传输层,用户在通信时就不必知道通信子网的构成及线路质量等,也不必考虑子网时局域网还是陈祖交换网,也不必关心数据传送方法的细节
  • 传输层的存在使高层用户看见的就好像在两个传输实体间已有一条已经建立好的端到端的可靠的通信通路,但传输层不对所传送的数据进行处理
  • 传输层发完成进程间的数据传送,实际上是按照端口号找到进程进行通信
  • 网络层知识根据网络地址将源主机发出的分组传送到目的主机,而传输层负责将数据可靠的送到相应的端口
  • 传输层的功能
    • 分割与重组数据
    • 按端口号寻址
    • 连接管理
    • 差错控制和流量控制:提供端到端的差错控制和流量控制,传输层的数据将由目标端点进行确认,如果源断点在指定时间内未收到确认信息,将重发
  • 服务类型:面向连接的可靠服务和无连接的不可靠服务
  • 传输层和网络层分别的面向连接和无连接的区别:
    • 网络层代表的UI通信子网,提供的是数据包和虚电路服务,这两种服务提供的服务质量路程有差异的不可靠的
    • 对于这种情况,用户不能对通信子网加以控制,无法采用更有的通信处理机来解决网络服务质量的问题
    • 唯一可行办法就是在网络层上增加一层传输层,传输层的存在使传输服务比网络服务更可靠,分组丢失、残缺甚至网络的复位均可被传输层检测出来

3.7 高层简介

  • 这三层的功能是为应用程序提供服务的,不包含任何数据传输的功能,即组织和同步进程间的通信,对数据的衣服啊表示进行变换,以及为网络的最终用户提供服务
3.7.1 会话层
  1. 基于传输层的问题
  • 物理层协议可以实现物理线路的连接,数据链路层协议可以实现相邻结点之间连接并无差错的传输数据,网络层协议实现源节点和目标结点的连接,传输层协议实现端到端之间连接的建立和维持
  • 会话层是建立在传输层之上
  • 当两个应用进程进行相互通信时,在如何控制信息的交互,网络应当提供什么样的功能来协助用户管理和控制用户之间的信息交换的问题上,希望有一个作为第三者的服务能组织他们的对话,协调他们之间的数据流,以便使应用进程专注于信息交互,设立会话层就是这个目的
  • 虽然不参与具体的数据传输,但是对数据传输进行控制和管理
  1. 会话层功能
  • 在两个互相通信的应用进程之间建立、组织和协调双方的交互活动,并使会话获得同步
  • 会话指两个用户进程之间为完成一次完整的通信而建立的连接。
    • 对话管理:原理上,所有OSI的连接都是全双工的,但多数高层软件设计成半双工交互式通信,保持轮换并强制实行的过程就是对话管理。会话层通过令牌进行对话的交互控制
    • 同步与重新同步。会话层定义了两类同步点,主同步点用于在连续的数据流中划分出对话单元,一个主同步点是一个对话单元的结束和下一个对话单元的开始,所谓对话单元就是一个活动中数据的基本交换单元,通常代表逻辑上重要的工作部分;次同步点用于在一个对话单元内部实现数据结构化。
    • 重新同步时,只可能回到最近的主同步点
3.7.2 表示层
  1. 基于会话层的问题
  • 会话层提供了信息交互的控制和管理的手段,完成了端到端的数据传送,并且可靠无差错的有序传送
  • 由于不同的计算机系统可能采用不同的信息编码,会导致通信的计算机系统之间无法正确的识别信息
  • 表示层就担负起消除这种障碍的任务,设置表示层的目的是屏蔽不同计算机在信息表示方面的差异
  1. 表示层功能
  • 处理不同系统被传送数据的表示问题,解释所交换数据的意义,进行数据压缩,即各种变化使采用不同数据表示方法的开放系统能互相通信
  • 利用密码对数据进行加密解密
3.7.3 应用层
  • 直接面向用户的要成,为网络应用提供一个访问网络的接口,使得应用程序能使用网络服务
  • 应用层也称应用实体,应用实体是被简化的应用进程,是应用进程中与进程间交互行为有关的部分,即与OSI有关的部分
  • 而对应用进程中与OSI无关的部分扔称为应用进程
  • OSI低三层属于通信子网,设计为用户提供透明数据传输连接,操作主要以每条链路为基础,在节点间的各条数据链路上进行通信,有网络层控制隔条链路,但要依赖与其他节点的协调操作
  • 高三层属于资源子网,主要涉及保证数据以正确、可理解的形式传送
  • 传输层是高层和低层的接口,保证透明的端到端的连接,满足质量要求

3.8 TCP/IP模型

  • OSI是理论上比较完整的概念,但是实际应用很少,TCP/IP用户的最多
  • 已成为计算机网络体系结构事实上的工业标准
  • 传输控制协议/因特网协议是一组用于实现网络互连的通信协议,
3.8.1 TCP/IP模型结构
  • 更高效率的4层:网络接口层,网络互联层,传输层,应用层
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x1BMrj03-1638372951858)(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E5%9F%BA%E7%A1%80.assets/image-20211117221609396.png)]
  1. 网络接口层
  • 负责接收IP数据报并将其封装成适合在物理网络上传输的帧格式进行传输,或者从物理网络接收到的帧解封,取出IP数据报交给上层的网络互联层
  • TCP/IP 本身并未定义该层的协议,主要是为了保证通过TCP/IP模型可将不同的物理网络互联
  • 参与互连的个网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接口层进行连接
  • 当一种物理网络被用于传送IP数据包的通道时,就可以认为是这一层的内容
  • 体现出TCP/IP协议的兼容性和适应性
  1. 网络互联层
  • 关键部分,负责将数据报文独立的从源主机送到目的主机,网间的数据报可根据携带的目的IP地址,通过路由器由一个网络传送到另一个网络
    • 网际协议:IP,提供IP地址寻址,路由选择以及信息包的分段和充足
    • 地址解析协议:ARP,将IP转为物理地址
    • 反向地址解析:RARP,
    • 互联网控制报文协议:ICMP,用于传送控制报文和差错报告报文
  1. 传输层
  • 在源和目的主机的应用程序之间提供端到端的数据传输服务,处理网络互联层没有处理的通信问题,保证通信连接的可靠性
    • 传输控制协议TCP
    • 用户数据报协议UDP
  1. 应用层
  • 不仅包含了会话层以上3层的所有功能,还包括了应用进程本身
  • 应用型和实用性体现在不仅把网络层以下的部分留给了实际网络,还将高层部分和应用进程结合在一起
3.8.2 OSI和TPC的区别
  • OSI抽象能力高, 适合描述各种网络,才去自上向下,先定义参考模型,后逐步定义各层协议,通用性强,实现困难
  • TCP/IP是先有协议,分析研究后,才制定模型,实用性强,但是通用性不足
  • OSI清晰的分开了服务、接口和协议的概念,服务描述每一层的功能,接口定义某层提供的服务如何被高层访问,协议是每一层功能的实现方法
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值