当前位置: 首页 > news >正文

1.7 计算机网络体系结构

 

思维导图:

 

 

 1.7.1 计算机网络的体系结构的形成

**1.7 计算机网络体系结构**

计算机网络体系结构中,分层的思想为核心。该方法使得复杂的网络设计变得更为简单和可管理。

**1.7.1 计算机网络体系结构的形成**

- **计算机网络的复杂性**: 即使是简单的文件传输也涉及多种任务,例如激活通信路径、确定接收方、检查接收方状态等。
  
- **分层的意义**: 将大型的问题划分为多个小的部分,每个部分可以独立地进行研究和处理。
  
- **早期的体系结构**:
  - IBM的SNA (System Network Architecture): 由IBM公司于1974年提出,是按分层方法制定的网络标准。
  - 其他公司也推出了自己的网络体系结构,但这导致了不同公司的网络难以互联。

- **OSI/RM (Open Systems Interconnection Reference Model)**:
  - 由ISO于1977年提出,旨在创建一个全球统一的计算机网络标准。
  - 该模型被设计为七层协议的体系结构。
  - 虽然OSI得到了广泛的支持,但由于多种原因(如实际实现的复杂性、制定周期长、功能重复等),它在市场上未能成功。而TCP/IP的互联网技术得到了广泛的应用,并成为了事实上的国际标准。

- **标准与市场**:
  - 能够占领市场的技术实际上就成了标准。而现代的技术标准往往具有强烈的商业导向。

- **通信与信息处理的界限模糊**:
  - 与计算机网络体系结构相关的许多标准现在由通信和信息处理的两个组织ISO和CCITT共同制定。

---

**我的建议**:
这是计算机网络体系结构的基础部分。在学习时,应重点理解分层思想的重要性,各种体系结构如何应对网络通信中的复杂问题,以及市场与标准之间的关系。

1.7.2 协议与划分层次 

**1.7.2 协议与划分层次**

**1. 协议的定义**
- 协议是为了在计算机网络中交换数据所必须遵守的规则或约定。
- 这些规则明确了数据的格式、同步问题、控制信息等。
- 同步在此处被理解为广义上的事件实现的时序。

**2. 协议的来源**
- 例如,ITU(Intermational Telecommunication Union)替代了CCITT和CCIR,并颁布电信标准。

**3. 协议的要素**
- 语法:数据与控制信息的结构或格式。
- 语义:要发出的控制信息、要完成的动作及响应。
- 同步:事件实现的顺序说明。

**4. 协议的形式**
- 人类可阅读和理解的文字描述。
- 计算机能理解的程序代码。

**5. 分层的重要性**
- ARPANET的研发经验指出复杂的计算机网络协议应当是层次化的。

**6. 分层的例子**
- 主机1与主机2之间通过通信网络传输文件。
- 划分工作:文件传送、通信服务、网络接入等。
  
**7. 分层的好处**
- 独立性:每一层都是独立的,不需要知道下一层如何实现。
- 灵活性:如果层间接口关系不变,一个层的改变不会影响其他层。
- 可分割性:可以使用最合适的技术来实现每一层。
- 易于实现和维护:简化了系统实现和调试的复杂度。
- 促进标准化:每一层的功能和提供的服务都有精确的说明。

**8. 各层要完成的功能**
- 差错控制、流量控制、分段和重组、复用和分用、连接建立和释放等。

**9. 分层的缺点**
- 功能可能在不同层中重复,导致额外开销。

**10. 计算机网络的体系结构**
- 各层及其协议的集合称为网络的体系结构。
- 体系结构是抽象的,定义了网络应完成的功能;实现是具体的,包括真正在运行的计算机硬件和软件。

通过这样的笔记结构,我们能够对“协议与划分层次”的内容有一个整体和系统的认识。

1.7.3 具有五层协议的体系结构

**笔记 1.7.3: 具有五层协议的体系结构**

---

**一、背景**

- **OSI七层协议体系结构**:虽有完整理论,但被认为复杂且不实用。
  
- **TCP/P四层体系结构**:更为实用,广泛应用。由应用层、运输层、网际层和网络接口层组成。实际上,主要是前三层,最下层的网络接口层并没有具体内容。

为结合两者优点并简洁地阐述概念,有时采用只有**五层协议的体系结构**。

---

**二、五层协议体系结构**

- 这是为了介绍网络原理而设计的结构。
  
- 实际应用中,常用的是TCP/P的四层体系结构。

五层结构如下:

1. **应用层**:包含各种应用层协议,例如TELNET, FTP, SMTP等。
   
2. **运输层**:主要有TCP或UDP协议。
   
3. **网络层**
   
4. **数据链路层**
   
5. **物理层**

---

**三、图解**

- (a) OSI的七层协议:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层

- (b) TCP/IP的四层协议:应用层、运输层、网际层、网络接口层

- (e) 五层协议:应用层、运输层、网络层、数据链路层、物理层

---

**四、各层功能简介**

- 要真正理解各层的功能,需要认真学习书中各章的协议内容。不过在此,我们可以简要概述每一层的主要功能。

---

---

#### 1. **应用层 (Application Layer)**
   - **定义**:最高层,完成特定网络应用。
   - **功能**:通过应用进程间交互实现。
   - **应用层协议**:定义进程间通信规则。
   - **例子**:DNS、HTTP、SMTP等。
   - **数据单元**:报文(message)。

#### 2. **运输层 (Transport Layer)**
   - **定义**:为两台主机进程间提供数据传输服务。
   - **功能**:
     - 提供通用数据传输服务。
     - 复用与分用功能。
   - **主要协议**:
     - **TCP**:面向连接的、可靠数据传输,单位为报文段(segment)。
     - **UDP**:无连接、最大努力数据传输,单位为用户数据报。
   - **注**:通常也称为“传输层”。

#### 3. **网络层 (Network Layer)**
   - **定义**:为分组交换网上的不同主机提供通信服务。
   - **功能**:数据传输与路由选择。
   - **数据单元**:分组或包。
   - **主要协议**:IP协议(IP数据报)。

#### 4. **数据链路层 (Data Link Layer)**
   - **定义**:在相邻节点间传输数据。
   - **功能**:将数据组装成帧并传输,提供必要的控制信息。
   - **数据单元**:帧(frame)。

#### 5. **物理层 (Physical Layer)**
   - **定义**:处理电压、连接和比特传输。
   - **数据单元**:比特。
   - **考虑因素**:代表比特的电压、插头引脚数量及连接方式。

---

**其他说明**:
- TCP/IP并非仅指TCP与IP协议,而是表示整个TCP/IP协议族。
- 应用进程的数据在各层传递中会发生变化。
- 物理层下的物理媒体被视为第0层。

---

 

 1.7.4 实体、协议、服务和服务访问点

**1.7.4 实体、协议、服务和服务访问点**

1. **实体(Entity)**:
    - 定义: 在开放系统中的信息交换时,实体表示任何可以发送或接收信息的硬件或软件进程。通常情况下,实体是一个特定的软件模块。

2. **协议**:
    - 定义: 是控制两个或多个对等实体进行通信的规则集合。
    - 分类: 
        - 语法规则: 定义了所交换信息的格式。
        - 语义规则: 定义了发送者或接收者应完成的操作,如在何种条件下重传或丢弃数据。

3. **服务**:
    - 概念: 两个对等实体间的通信在协议的控制下,从而使本层能向上层提供服务。 
    - 与协议的区别:
        - 使用本层服务的实体只能看见服务, 不能看到下面的协议。
        - 协议是水平的,而服务是垂直的。
        - 并非在一个层内完成的全部功能都称为服务。只有可被上层实体看到的功能才称为“服务”。

4. **服务访问点 (SAP, Service Access Point)**:
    - 定义: 在同一系统中相邻两层实体交互的地方。它是一个逻辑接口,类似于邮政信箱。
    - OSI 把层与层之间交换的数据单位称为服务数据单元 (SDU, Service Data Unit)。

5. **服务用户和服务提供者**:
    - 服务提供者是为上层实体提供服务的实体。
    - 服务用户则是使用这些服务的实体。

6. **协议的特性**:
    - 协议必须考虑所有可能的不利条件,不能假定所有情况都是正常的。正确的协议设计应能应对各种异常情况。

7. **协议设计的例子**:
    - 描述了两个蓝军与一个白军的作战策略和通信协议的问题。这个例子揭示了一个简单协议可能需要考虑的复杂性。

通过这一节的学习,我们可以明白实体、协议、服务和服务访问点之间的关系和它们在计算机网络中的重要性。而且,我们也应该意识到,设计一个有效的通信协议并不是一件简单的事情,需要考虑各种可能的情况和问题。

1.7.5 TCP/IP的体系结构 

**笔记:1.7.5 TCP/IP的体系结构**

1. **基础概念**:
   - TCP/IP体系结构简要:仅四层。
   - 不遵循严格的OSI分层概念。

2. **四层协议表示**(图1-22):
   - 主机A -> 主机B:
     - 应用层
     - 运输层
     - 网际层
     - 网络接口层
   - 路由器在转发时,仅用到网络层,不使用运输层和应用层。

3. **TCP/IP演变**(图1-23):
   - 有应用程序直接使用IP层,或直接使用网络接口层。
   - 网络接口层也被称为子网层,但该书避免使用以免混淆。
   - “子网”指局域网和广域网,但在IP层视角,这些网络属于数据链路层,即网络接口层。

4. **TCP/IP协议族表示**(图1-24):
   - 沙漏计时器形状。
   - 特点:应用层和网络接口层有多种协议,但中间的IP层很小。
   - 意义:支持多种应用和网络,突出了IP在互联网中的核心作用。

5. **客户-服务器工作方式**(例1-2):
   - 描述:图1-25,主机A(客户)向主机B(服务器)请求建立连接,主机B接受请求。
   - 实际通信需要下层服务,但客户和服务器之间的交互可以视为水平。

6. **多主机交互**(图1-26):
   - 主机C的应用层有两个服务器进程同时通信。
   - 服务器1与主机A的客户1通信,服务器2与主机B的客户2通信。
   - 服务器可以同时为多个客户提供服务。

**总结**:TCP/IP体系结构起初为四层结构,随时间和技术的发展,某些应用程序可能直接与IP层或网络接口层交互。TCP/IP协议族的“沙漏”形状强调了IP协议在互联网中的核心地位。在客户-服务器模型中,客户端和服务器端的应用进程在应用层上交互,但他们的通信依赖于底层的协议和服务。

 

总结:

本章重要概念 

**本章重要概念总结**:

1. **计算机网络与互连网**:
   - 计算机网络:将多个计算机连接在一起。
   - 互连网:网络的网络,连接许多计算机网络。
   - **internet**(小写i):泛指多个计算机网络的互连,通信协议可以是任意的。
   - **Internet**(大写I):全球最大的开放网络,采用TCP/IP协议族,起源于美国的ARPANET。

2. **互联网技术与结构**:
   - 使用存储转发的分组交换技术。
   - 三层ISP结构。

3. **互联网的工作方式**:
   - 边缘部分:主机位置,进行信息处理。
   - 核心部分:路由器位置,按存储转发方式进行分组交换。

4. **计算机通信**:
   - 通信是计算机中的进程间的通信。
   - 通信方式:客户-服务器方式和P2P方式。

5. **客户与服务器**:
   - 客户:服务请求方。
   - 服务器:服务提供方。

6. **计算机网络的种类**:
   - 广域网WAN
   - 城域网MAN
   - 局域网LAN
   - 个人区域网PAN

7. **计算机网络性能指标**:
   - 速率、带宽、吞吐量、时延(包括发送时延、传播时延、处理时延、排队时延)、时延带宽积、往返时间和信道或网络利用率。

8. **网络协议与体系结构**:
   - 协议:为网络数据交换而建立的规则。
   - 网络的体系结构:各层及其协议的集合。
   - 五层协议体系结构:应用层、运输层、网络层、数据链路层、物理层。
   - 重要协议:运输层的TCP和UDP,网络层的IP。

这些概念为计算机网络与互联网提供了全面的基础和理解。

相关文章:

1.7 计算机网络体系结构

思维导图: 1.7.1 计算机网络的体系结构的形成 **1.7 计算机网络体系结构** 计算机网络体系结构中,分层的思想为核心。该方法使得复杂的网络设计变得更为简单和可管理。 **1.7.1 计算机网络体系结构的形成** - **计算机网络的复杂性**: 即使是简单的文…...

boost在不同平台下的编译(win、arm)

首先下载boost源码 下载完成之后解压 前提需要自行安装gcc等工具 window ./bootstrap.sh ./b2 ./b2 installarm (linux) sudo ./bootstrap.sh sudo ./b2 cxxflags-fPIC cflags-fPIC linkstatic -a threadingmulti sudo ./b2 installx86 (linux) su…...

计算机网络(第8版)第一章概述笔记

6 性能指标 带宽: 在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。 7 分层结构、协议、接口、服务 1、实体:第n层的活动元素称为n层实体。同一层的实体叫对等实体。 2、协议:为进行网络中的对等实体数据交换而建立的规则、…...

Linux 部署项目

部署 Linux 部署项目1. 宝塔部署1.1 前端部署1.2 后端部署 2. docker 部署2.1 后端部署2.2 前端部署 3. 跨域问题3.1 Nginx 代理(推荐)3.2 修改后端服务3.3 添加 web 全局请求拦截器 4. 域名解析DNSPod添加域名 Linux 部署项目 1. 宝塔部署 准备工作&am…...

MySQL 基础

MySQL 基础 顾名思义,关系型数据库(RDB,Relational Database)就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。 关系型数据库中&#…...

VR模拟鸡胚培养接种实验,打造沉浸式的学习环境

在医学教育领域,传统的鸡胚接种实验一直是教学的重要组成部分。然而,这种实验方法存在一定的局限性,如操作难度大、成本高、安全隐患等。为了解决这些问题,越来越多的教育机构开始尝试引入虚拟现实(VR)技术,以模拟鸡胚…...

基于ModbusTCP与西门子PLC通讯项目案例

目录 一、西门子PLC仿真环境搭建 【1.1】创建PLC项目 【1.2】编写PLC程序 二、C#代码编写 【2.1】窗口制作 【2.2】效果演示 【2.3】读取源码 【2.4】FrmSiemensSet源码 【2.5】Variable源码 一、西门子PLC仿真环境搭建 【1.1】创建PLC项目 搭建PLCSIM-Advacend模拟仿…...

Oralce数据库管理 -操作系统cpu 内存 io指标分析查询

1 前35个cpu消耗较大的进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k 3|head -35 1 前35个内存消耗较大的进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|head -35...

my_print_defaults 及perror

参考文档: https://mysql.net.cn/doc/refman/8.0/en/my-print-defaults.html https://mysql.net.cn/doc/refman/8.0/en/perror.html -- my.cnf的内容 [rootredhat762100 mysql3306]# more my.cnf [mysqld] datadir/mysql/mysql3306/data #socket/tmp/mysql3306.so…...

视频转GIF:快速生成有趣的动态图片

随着社交媒体的快速发展,GIF动态图片已经成为了人们表达情感、分享生活片段的重要方式。将视频片段转换成GIF动态图片,可以让人们更好地分享和表达自己的情感,也可以让一些有趣的瞬间变得更加生动有趣。本文将介绍如何将视频快速转换成GIF动态…...

vue3 vscode no tsconfig与找不到名称“ref”。ts(2304)

如题,这两个问题都与tsconfig的配置有关,先看下问题表现: 解决方法,应当正确配置如下,之后保存或重启vscode:...

Docker基本操作【一篇学会项目部署】

文章目录 一、Docker简介二、Docker安装三、配置镜像加速四、Docker部署五、Docker基础操作1. 常见命令2. 操作演示3. 数据卷①nginx的html目录挂载②分析匿名数据卷③MySQL的本地目录挂载 4. 自定义镜像①Dockerfile②构建镜像 5. 网络①常见命令②自定义网络 六、DockerCompo…...

目标识别项目实战:基于Yolov7-LPRNet的动态车牌目标识别算法模型(二)

前言 目标识别如今以及迭代了这么多年,普遍受大家认可和欢迎的目标识别框架就是YOLO了。按照官方描述,YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性…...

Ceph入门到精通-sysctl.conf 配置

sysctl.conf Ubuntu server out of box is not optimized to make full use of available hardware. This means “out-of-box” setup might fail under high load. So we need to tweak system configuration for maximum concurrancy. Sysctl Tweaks Open vim /etc/sys…...

Cesium 展示——实体点击的相关属性,进行增删改

文章目录 需求分析1. 实体创建2. 相关属性需求 点击已加载的实体,获取该实体的所有属性,从而对实体进行增删改 分析 1. 实体创建 var viewer = new Cesium.Viewer(cesiumContainer, {terrainProvider: Cesium....

【算法小课堂】二分查找算法

简单思路: 当我们要从一个序列中查找一个元素的时候,最快想到的方法就是顺序查找法(即:从前到后依次查找)。但这种方法过于无脑,就是暴力的把每个元素都排查一遍。元素个数少的时候还行,一旦元…...

git修改提交历史中的author信息

全局设置 git config --global user.name "作者名" 局部设置(本项目) git config user.name "作者名" git修改提交作者和邮箱-CSDN博客 git修改提交作者和邮箱-CSDN博客...

【gitlab】本地项目上传gitlab

需求描述 解决方法 下面的截图是gitlab空项目的描述 上传一个本地项目按其中“Push an existing folder”命令即可。 以renren-fast项目为例 # 用git bash 下载renren-fast项目 git clone https://gitee.com/renrenio/renren-fast.git# 在renren-fast的所属目录 打开git ba…...

freertos信号量之计数信号量

freertos信号量之计数信号量 简介例程 简介 计数信号量(Counting Semaphore)用于管理共享资源的访问。以下是计数信号量的常用函数及其说明: 1)xSemaphoreCreateCounting(unsignedportBASE_TYPE uxMaxCount, unsignedportBASE_T…...

wc命令使用指南 | 教你如何高效统计文件字数、行数和字符数

文章目录 wc命令使用指南1. 引言1.1 什么是wc命令?1.2 wc命令的作用和用途1.3 wc命令的常用参数 2. 基本使用2.1 安装和启动wc命令2.2 统计文件的行数2.3 统计文件的字数2.4 统计文件的字符数2.5 统计文件的词数2.6 统计文件的最长行长度 3. 高级使用3.1 统计多个文…...

C# IDisposable:3个致命陷阱+5个最佳实践,你踩过几个?

🔥关注墨瑾轩,带你探索编程的奥秘!🚀 🔥超萌技术攻略,轻松晋级编程高手🚀 🔥技术宝库已备好,就等你来挖掘🚀 🔥订阅墨瑾轩,智趣学习不…...

M2LOrder模型管理实战:Python脚本自动扫描/opt目录并生成模型索引表

M2LOrder模型管理实战:Python脚本自动扫描/opt目录并生成模型索引表 1. 项目背景与需求 在实际的AI模型部署和维护过程中,我们经常会遇到模型文件分散存储、版本混乱、信息不透明的问题。M2LOrder情感识别系统就是一个典型的例子,它包含了9…...

高分辨率路面缺陷检测数据集:道路健康状态自动监测的关键资源

路面缺陷检测数据集yolo掌握道路健康状态对于维护和规划都至关重要。 本数据集精选6100张高清图像,专门标注了道路表面的四种常见缺陷,包括鳄鱼状裂纹、横向裂纹、纵向裂纹和坑洞,旨在为道路维护和自动化检测提供强有力的数据支持。 图像集已…...

彻底解决电脑噪音烦恼:FanControl风扇控制软件完全指南

彻底解决电脑噪音烦恼:FanControl风扇控制软件完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/f…...

算法优化中的寄存器重用与内存映射策略的技术6

寄存器重用与内存映射策略在算法优化中的重要性寄存器重用和内存映射是提升计算密集型算法性能的关键技术,通过减少数据访问延迟和优化存储层次结构的使用,显著提高执行效率。寄存器重用的核心方法与技术数据局部性利用 通过循环展开(Loop Un…...

售前客户需求深度挖掘:从表面诉求到核心痛点的五步法

# 003、客户需求深度挖掘:从表面诉求到核心痛点的五步法---上周调一个嵌入式项目,客户说“设备偶尔会死机,重启就好”。我们查了三天的日志,发现是内存泄漏。但真正的问题是什么?是代码质量?不完全是。最后…...

从C语言到裸机运行:i.MX6ULL 的 GPIO 控制与编译链接过程分析

引言在嵌入式系统开发中,从高级语言到硬件控制的完整链路涉及编译、链接、寄存器配置等多个环节。本文基于 i.MX6ULL 平台,以 C 语言实现 LED 与蜂鸣器控制为例,系统分析 ARM 裸机开发中的编译工具链使用、链接脚本的作用,以及 GP…...

ssm+java2026年毕设司库管理系统【源码+论文】

本系统(程序源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于企业理财与融资管理问题的研究,现有研究主要以大型企业ERP系统或通用财务管理软件为主,专门针对中…...

保姆级避坑指南:Ubuntu系统下Hadoop HA集群搭建,我踩过的那些SSH和配置文件的“坑”

Ubuntu下Hadoop HA集群搭建:那些教科书不会告诉你的实战陷阱 第一次在Ubuntu上搭建Hadoop HA集群时,我天真地以为照着官方文档就能顺利跑起来。直到SSH连接莫名其妙失败、JournalNode权限报错刷屏、ZKFC死活不启动时,才明白为什么有人说大数据…...

斗鱼季报图解:营收9亿同比降19% 经调整净利1260万

雷递网 雷建平 3月26日斗鱼(Nasdaq: DOYU)日前发布截至2025年12月31日的全年及第四季度财报。财报显示,斗鱼2025年营收为38.19亿元(约5.46亿美元),较上年同期的42.71亿元下降10.58%。斗鱼2025年毛利为4.9亿元,经调整净…...