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 统计多个文…...
网络安全:发起一次CSRF攻击!
一、如何发起一次CSRF攻击 原理:CSRF 的本质实际上是利用了 Cookie 会自动在请求中携带的特性,通过伪造请求来执行恶意操作。 1、目标网站信息: 接口地址:https://victim.com/change-password 请求类型:get/post 接…...
java上传文件到指定服务器
首先要知道服务器的用户名和密码。 注意:一般情况,如果不是强制要求,尽量不要将文件上传到服务器 步骤: 1.导入依赖 <!--图片上传到服务器需要的依赖--> <dependency> <groupId>com.jcr…...
揭秘 Go 中的 new() 和 make() 函数
Go(或 Golang)是一种现代、静态类型、编译型的编程语言,专为构建可扩展、并发和高效的软件而设计。它提供了各种内置的函数和特性,帮助开发人员编写简洁高效的代码。其中包括 new() 和 make() 函数,这两个函数乍看起来…...
【Spring Cloud】深入探索统一网关 Gateway 的搭建,断言工厂,过滤器工厂,全局过滤器以及跨域问题
文章目录 前言为什么需要网关以及网关的作用网关的技术实现 一、Gateway 网关的搭建1.1 创建 Gateway 模块1.2 引入依赖1.3 配置网关1.4 验证网关是否搭建成功1.5 微服务结构分析 二、Gateway 断言工厂2.1 Spring 提供的断言工厂2.2 示例:设置断言工厂 三、Gateway …...
计算机竞赛 题目:基于卷积神经网络的手写字符识别 - 深度学习
文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…...
关于flink重新提交任务,重复消费kafka的坑
异常现象1 按照以下方式设置backend目录和checkpoint目录,fsbackend目录有数据,checkpoint目录没数据 env.getCheckpointConfig().setCheckpointStorage(PropUtils.getValueStr(Constant.ENV_FLINK_CHECKPOINT_PATH)); env.setStateBackend(new FsStat…...
Win11右键恢复Win10老版本
Win11右键恢复Win10老版本 最近自己更新了windows11的OS,整体感觉都是不错的,但是就是每次右键菜单我都要再次点击下展开更多选项,这对追求极简主义的我,就是不爽, 手动恢复win10操作吧! 第一种:创建文件(简单快速) 1.新建一个resoreRightKey.reg文件,并在里面填入如下代码 W…...
ur机械臂30003端口socket通信踩坑(double类型数据怎么解析)
坑的由来 都知道在网络通信时要把网络字节序转化为主机字节序才行,但是c里的标准库函数ntohl默认是转换32位字节序的数据,也就是说默认是转换float类型的数据;而ur机械臂30003端口发送的是double类型的数据,没法直接用ntohl进行转…...
代理IP与Socks5代理的技术奇妙之旅
随着数字化时代的崛起,网络工程师们日益承担着维护网络稳定性和保护数据安全的重任。在这个充满挑战的世界里,代理IP与Socks5代理技术成为了他们的秘密武器,本文将带您踏上一段技术奇妙之旅,深入了解这两项技术在不同领域中的应用…...
自动化测试定位不到元素?可能是 frame 在搞鬼
很多人在用Splinter或Selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,就是定位不到,这种情况很有可能是frame在搞鬼。 说白了就是网站上的网页A,又嵌入了其他网页B。你访问了网页A,在里面可以看到…...
医院门户网站设计/深圳推广公司
一、环境搭建 1、创建父工程 新建父工程项目springcloud,切记Packaging是pom模式 主要是定义POM文件,将后续各个子模块公用的jar包等统一提取出来,类似一个抽象父类 pom.xml <?xml version"1.0" encoding"UTF-8"?…...
查别人wordpress主题/百度关键词优化和百度推广
转自:http://my.oschina.net/panyong/blog/223260 工作中从服务器上面取到了很多数据,需要对他们进行一下排序,IOS中系统就定义好了排序的方法,但是一定要会用,不然很烦躁的,我在这里就吃过亏,下…...
it运维网/网站优化公司哪家效果好
android studio运行程序的时候,列表里找不到夜神模拟器,当然,模拟器是开着的。 解决方法: 1.桌面上找到夜神模拟器,右键-打开文件所在的位置,比如我的是F:\Program Files\Nox\bin 2.打开cmd命令窗口&…...
做网站需要提供什么/百度账户托管
使用maxwell实时采集mysql数据 1. 什么是maxwell maxwell 是由美国zendesk开源,用java编写的Mysql实时抓取软件。 其抓取的原理也是基于binlog。 2. Maxwell与canal的对比 Maxwell 没有 Canal那种serverclient模式,只有一个server把数据发送到消息队…...
二手市场网站建设的目的/优化设计七年级下册数学答案
1,确保Linux镜像的路径存在 2,启动 3,在真实机情况下,进入BIOS修改安装操作系统的路径【记住:虚拟机不需要这一步。】 如果是真实机安装Linux,默认是从硬盘中安装,而不是从光盘。这就需要更改设…...
自己的网站中商城怎么做/seo推广技术
1 代理模式定义 定义:给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象。 本篇文章主要介绍的是静态代理,关于动态代理请参考:设…...