专栏首页用户画像1.2.1计算机网络分层结构

1.2.1计算机网络分层结构

两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构以分层的方式进行建模。 我们把计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络及其所完成的功能的精确定义,它是计算机网络中的层次,各层的协议及其层间接口的集合。需要强调的是,这些功能究竟是用何种硬件和软件完成的,则是一个遵循这种体系结构的实现(implementation)问题。体系 结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件。 计算机网络的体系结构通常都具有可分层的特性,将复杂的大系统分成若干较容易实现的层次。分层的基本原则是: 1)每一层都实现一种相对独立的功能,降低大系统的复杂度。 2)各层之间界面自然清新,易于理解,相互之间交流尽可能少。 3)各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。 4)保持下层对上层的独立性,上层单向使用下层提供的服务。 5)整个分层结构应能促进标准化工作。 由于分层后各层之间相互独立,灵活性好,因而分层的体系结构易于更新(替换单个模块),易于调试,易于交流,易于抽象,易于标准化。但层次越多,有些功能在不同层中难免重复出现,产生了额外的开销,整体运行效率就越低。而层次越少,就会使每个层之间的协议太复杂。因此,在分层时应考虑层次的清晰程度与运行效率间的折中、层次数量的折中。 依据一定的规则,将分层后的网络从低层到高层依次称为第1层、第2层……第n层,通常还为每一层取一个特定的名称,如第一层的名称为物理层。 在计算机网络的分层结构中,第n层中的活动元素通常称为n层实体。具体地,实体指任何可发送或接受信息的硬件或软件进程,通常是一个特定的软件模块。不同机器上同一层称为对等层,同一层的实体叫做对等实体。n层实体实现的服务为n+1层所用。在这种情况下,n层被称为服务提供者,n+1层是服务用户。 每一层还有自己传送的数据单位,其名称、大小、含义也各有不同。 服务数据单元(SDU):为完成用户所要求的功能而传送的数据。第n层的服务数据单元记为n-SDU。 协议控制信息(PCI):控制协议操作的信息。第n层的协议控制信息记为n-PCI. 协议数据单元(PDU):对等层次之间传送的数据单元称为该层的PDU。第n层的协议数据单元记为n-PDU。在实际的网络中,各层的协议数据单元都有一个通俗的名称,如物理层的PDU叫比特,链路层的PDU叫帧,网络层的PDU叫分组,传输层的PDU叫报文。 在各层间传输数据时,把从第n+1层收到的PDU作为第n层的SDU,加上第n层的PCI,就变成了第n的层的PDU,交给第n-1层后作为SDU发送,接受党接受时做相反的处理,故可知三者的关系为:n-SDU+n-PCI=n-PDU=(n-1)-SDU。 层次结构的含义包含以下几个方面: 1)第n层的实体不仅要使用第n-1层的服务,实现自身定义的功能,还要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和。 2)最底层只提供服务,是整个层次结构的基础:中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。 3)上一层只能通过相邻间的接口使用下一层的服务,而不能调用其他层的服务;下一层提供服务的实现细节对上一层透明。 4)两个主机通信时,对等层在逻辑上有一条直接通道,表现为不经过下层就把信息传送到对方。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 1.2.2 计算机网络协议、接口、服务的概念

    协议就是规则的集合。在网络中药做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及相关的 同步问题。这些为进行网络中...

    week
  • 剑指offer 表示数值的字符串

    请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 ...

    week
  • 第19章 ARP和RARP

    week
  • Spring Cloud构建微服务架构:服务网关(基础)【Dalston版】

    通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示: ? 我们使用Spring Clou...

    程序猿DD
  • 如何完美使用微服务

    译者的话: 一直以来面向对象理念的布道者们都在期待一个大杀器来能使应用设计高内聚,低耦合,团队能协同开发,后期交付后可以快速部署,维护成本低。微服务其实就是他们...

    yuanyi928
  • 后台必备意识——柔性可用

    柔性可用是指:当条件有限而不能向用户提供完美服务时,可以以柔性的方式提供有损的服务。

    windealli
  • Rackspace推出Kubernetes即服务产品,并收购RelationEdge

    SDNLAB
  • “大话架构”阿里架构师分享的Java程序员需要突破的技术要点

    源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。

    烂猪皮
  • 递归查找文件和递归删除文件

    还可以利用以上的方法先得到硬盘的总大小然后再减去硬盘的剩余可用空间大小,就可以得到硬盘的已用大小。

    端碗吹水
  • “大话架构”阿里架构师分享的Java程序员需要突破的技术要点

    美的让人心动

扫码关注云+社区

领取腾讯云代金券