【计算机网络笔记】计算机网络体系结构概念

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)------速率、带宽、延迟
计算机网络性能(2)------时延带宽积、丢包率、吞吐量/率



为什么需要计算机网络体系结构?

计算机网络是一个非常复杂的系统。从技术上涉及两大技术:通信技术和计算机技术。从物理构成上,涉及许多组成部分。比如主机(hosts)、路由器(routers) 、 各种链路(links) 、应用(applications) 、 协议(protocols) 、硬件、软件......

那么是否存在一种系统结构能够有效地描述这样一个复杂的网络,让我们一看就很容易理解计算机网络。这样的结构有利于我们去分析、讨论或学习网络相关的内容。

到目前为止,普遍认为去刻画或描述一个复杂系统的有效结构就是分层结构


计算机网络的体系结构是什么?

网络体系结构是从功能 上描述计算机网络结构。并不是从物理硬件上去描述计算机。这样的网络体系结构 (network architecture)是分层结构 。每层遵循某个/些网络协议 完成本层功能。因此,计算机网络体系结构是计算机网络的各层及其协议的集合 。在功能层次上,并不关心到底是怎样实现功能的,所以它是抽象的体系结构。

简单来说,就是分层。能够直观的展现出分了哪些层,每个层是什么功能,这些功能是通过什么协议实现的,层与层之间有什么关系。


为什么采用分层结构?

或者说分层结构的优点有哪些?

  • 结构清晰,有利于识别复杂系统的部件及其关系。

    在计算机网络中,按照分层结构所提出的这样一个体系结构通常来说,我们把它称为参考模型。比如说某某网络体系结构,我们可能更多时候说某某参考模型。

  • 分层结构也体现了模块化的思想。模块化可以很好的封装内部,对外开放接口,至于内部是如何实现的,外部是看不到的。这种分层易于系统更新、维护。任何一层内部的实现改变了,只要它对其它层提供的服务或者使用其它层提供的服务的方式或接口不发生改变。那么就不会影响其他层。比如登机过程的改变并不影响航空系统的其它部分(层)。

  • 有利于标准化。

那分层是否有不利之处,或者说分层太多什么不好?我们想一下,如果一个社会系统分层太多,可能会导致这个系统的效率太低。比如我们要办个事,需要经过一层一层审批,这个层次越多,审批过程就越长,效率就越低。


分层网络体系结构基本概念

  • 实体(entity) 表示任何可发送或接收信息的硬件或软件进程。

  • 协议 是控制两个对等实体 进行通信的规则的集合。

    相同层次的实体之间要交换信息,它们交换信息要遵循协议。换句话说,协议定义了同层之间的两个实体如何交流。所以,协议是"水平的"。

  • 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是"垂直的"

    两个相邻的层次之间,存在服务和被服务这样的关系。本层实现的功能以服务的方式提供给上一层。

  • 下层协议的实现对上层的服务用户是不可见 的。

    比如我们去点餐,我们点完后并不关心食物在厨房是怎么被做出来的。我们只知道点完后就可以等待享用食物了。

  • 同系统的相邻层实体间通过接口 进行交互,通过服务访问点 SAP (Service Access Point),交换原语,指定请求的特定服务。

下一篇文章来介绍一些著名的参考模型。

相关推荐
charlie1145141916 分钟前
CSS学习笔记6:定位与布局
前端·css·笔记·学习·css3·教程
0和1的舞者3 小时前
网络通信的奥秘:网络层ip与路由详解(四)
大数据·网络·计算机网络·计算机·智能路由器·计算机科学与技术
七七七七076 小时前
【计算机网络】深入理解ARP协议:工作原理、报文格式与安全防护
linux·服务器·网络·计算机网络·安全
_李小白8 小时前
【OPENGL ES 3.0 学习笔记】延伸阅读:VAO与VBO
笔记·学习·elasticsearch
摇滚侠10 小时前
Spring Boot3零基础教程,Spring Boot 应用打包成 exe 可执行文件,笔记91 笔记92 笔记93
linux·spring boot·笔记
开开心心就好10 小时前
电子报纸离线保存:一键下载多报PDF工具
网络·笔记·macos·pdf·word·音视频·phpstorm
朝新_10 小时前
【SpringMVC】详解用户登录前后端交互流程:AJAX 异步通信与 Session 机制实战
前端·笔记·spring·ajax·交互·javaee
是Yu欸11 小时前
【博资考5】网安2025
网络·人工智能·经验分享·笔记·网络安全·ai·博资考
报错小能手12 小时前
C++笔记(面向对象)RTTI操作符
开发语言·c++·笔记
CodeLongBear12 小时前
计算机网络学习笔记 | 传输层核心知识点总结(DAY03,匠心制作)
笔记·学习·计算机网络