计算机网络体系结构

计算机网络体系结构

常用的网络体系结构

OSI体系结构

为了使不同体系结构的计算机网络都能互连,国际标准化组织于1977年成立了专门机构研究该问题,不就他们就提出了一个试图使各种计算机在世界范围内互连成网的标准框架,也就是著名的开放系统互连参考模型,简称OSI,该模型是一个七层协议的体系结构

在这里插入图片描述

TCP/IP体系结构

到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但这时因特网已抢先在全世界覆盖相当大的范围。因特网从1983年开始使用TCP/IP协议族,并逐步演变为TCP/IP参考模型,该模型是一个四层协议的体系结构
在这里插入图片描述

在过去,由于制定标准的组织中往往以专家、学者为主,但现在,许多公司都纷纷挤进各种各样的标准化组织,使得技术有着浓厚的商业气息。一个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往有着一定的市场背景。从某种意义上来讲,能够占领市场的就是标准。

OSI标准失败的原因

  • OSI专家缺乏实际经验,他们在完成OSI标准时没有商业驱动力
  • OSI协议实现起来过分复杂,而且运行效率很低
  • OSI标准的制定周期太长,使得按OSI标准生产的设备无法及时进入市场
  • OSI的层次划分也不太合理,有些功能在多个层次中重复出现

TCP/IP体系结构相当于讲OSI体系结构的物理层和数据链路层合并为了网络接口层,去掉了会话层和表示层,由于TCP/IP在网络层使用的协议是IP协议,IP协议的中文意思是网际协议,因此,TCP/IP体系结构的网络层常称为网际层

TCP/IP体系结构的网络接口层并没有规定什么具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如有线的以太网接口,无线局域网的WIFI接口,而不具体限定,因此,本质上TCP/IP体系结构只有上面三层
在这里插入图片描述

这些使用TCP/IP模型通信的设备中都存在TCP/IP协议族,主机中为四层模型,路由设备中为两层

  • IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务

  • TCP协议在享受IP协议提供的网络互联服务的基础上,可向应用层的相应协议提供可靠传输的服务

  • UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务

TCP/IP协议中拥有非常大量的协议,由于IP协议与TCP协议的重要性,用TCP和IP这两个协议来表示整个协议大家族,在嵌入式领域TCP/IP协议族常称为TCP/IP协议栈(与数据机构中的栈,在图形画法上是类似的)

原理体系结构

由于TCP/IP体系结构中网络接口层并没有什么明确的规定,为了方便学习,所以将网络接口层又进行了拆分,变为了五层结构-原理体系结构

在这里插入图片描述

分层的必要性

  • 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念

  • 分层可将庞大而复杂的问题,转换为若干较小的局部问题,而这些较小的局部问题就比较容易研究和处理

计算机网络面临的主要问题

物理层

在这里插入图片描述

  • 采用的传输介质
  • 采用的信号
  • 采用的物理接口

数据链路层
在这里插入图片描述

  • 如何标识网络中的各主机
  • 如何从信号所表示的一串比特流中区分出地址和数据
  • 如何协调各主机争用总线

网络层

在这里插入图片描述

  • 如何标识各网络以及网络中的各主机
  • 路由器如何转发分组,如何进行路由选择

传输层
在这里插入图片描述

  • 进程和进程之间如何进行网络通信
  • 传输错误时如何处理(误码、丢包…)

应用层
在这里插入图片描述

  • 按照应用层协议标准编写应用程序
问题总结

在这里插入图片描述

应用进程间基于网络的通信

在这里插入图片描述

  • 浏览器发起请求后向应用层交付HTTP报文
    在这里插入图片描述

  • 在HTTP协议基础上添加TCP头部形成 (主要用于确定目标主机端口号)

在这里插入图片描述

在这里插入图片描述

  • 在TCP协议前添加头部形成IP报文(主要用于确定目标主机地址)
    在这里插入图片描述

在这里插入图片描述

  • 为IP报文添加首部和尾部形成数据帧
    在这里插入图片描述

  • 帧首部目的是使帧能够在一段链路上传输,能够被相应的主机接受,帧尾部是使目的主机检查接收到的帧是否存在误码

在这里插入图片描述

  • 物理层将帧看为比特流,在帧首部添加前导码,作用是让目标主机做好接收帧的准备

在这里插入图片描述

  • 物理层将比特流发送到链路上

在这里插入图片描述

  • 路由器接收到比特流后开始对比特流进行解析
    在这里插入图片描述

  • 去除前导码形成数据帧

在这里插入图片描述

  • 数据帧去掉首部和尾部后形成IP报文
    在这里插入图片描述

  • 路由器提取源IP信息,进行查表重新封装IP信息,确定转发端口
    在这里插入图片描述

  • IP协议依次向下封装性能数据帧
    在这里插入图片描述

  • 形成比特流
    在这里插入图片描述

  • 目标主机接收到比特流

在这里插入图片描述

  • 物理层向上交付数据帧
    在这里插入图片描述

  • 对数据帧去掉首部尾部后形成IP协议

在这里插入图片描述

  • 去除IP协议的首部信息后形成TCP协议

在这里插入图片描述

  • 去除TCP协议的首部后应用层收到完整的HTTP报文信息

注:文章内容均来自互联网,如有侵权,请联系作者删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/62411.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker部署jenkins且jenkins中使用docker去部署项目

docker部署jenkins且jenkins中使用docker去部署项目 1、确定版本 2.346.1是最后一个支持jdk8的 2、编写docker-compose.yml并执行 在这个目录中新增data文件夹,注意data是用来跟docker中的文件进行映射的 docker-compose.yml version: "3.1" service…

Java私有仓库Nexus搭建部署

Java私有仓库Nexus搭建部署 需求分析 为什么要搭建部署Nexus私有仓库,有什么用,用来干什么,怎么用,也许是大家看到这篇文章的第一个反应和疑惑,这里给大家先笼统的做一个介绍: 依赖管理:在Java…

USB采集卡如何打pts

一、使用采集卡提供的pts 二、手动打pts 1.usb采集设备pts的问题 2.采集卡驱动,UVC/UAC,ffmpeg的关系 3.如何自己打pts 4.音视频同步调优 5.NTP等联网调时工具带来的不同步问题 一、使用采集卡提供的pts 我们用使用pc摄像头和使用pc麦克风声卡里的方法&…

idea数据库快速上手-库操作与表结构和数据操作

引言 对数据库的操作无非就是执行SQL语句,要想熟练操作数据库,就要熟练运用SQL语句。 一,数据库操作 展示当前服务器内的数据库 -- 展示服务器内的数据库 show databases; show schemas; 执行结果: 创建数据库: --…

【福建事业单位-推理判断】07逻辑论证-削弱

【福建事业单位-推理判断】07逻辑论证-削弱-加强 题型分析一、削弱题1.1 否定论点1.2 拆桥(话题不一致)1.3否定论据(否定强度低于前面两者)1.4 因果关系(论点中的因果关系)——力度相当于否定论点1.5 另有他…

docker search 镜像报错: connect: no route to host (桥接模式配置静态IP)

如下 原因 可能有多种: ① 没有开放防火墙端口 ② ip地址配置有误 解决 我是因为虚拟机采用了桥接模式,配置静态ip地址有问题。 先确认虚拟机采用的是 桥接模式,然后启动虚拟机。 1、打开命令行,输入下面指令,打开…

Docker 快速安装 MinIO

概述 MinIO 是一款基于Go语言的高性能对象存储服务,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。 拉取docker镜像 docker pull minio/minio创建宿主机数据目录(共享数据卷) 此…

FPGA----UltraScale+系列的PS侧与PL侧通过AXI-HP交互(全网唯一最详)附带AXI4协议校验IP使用方法

1、之前写过一篇关于ZYNQ系列通用的PS侧与PL侧通过AXI-HP通道的文档,下面是链接。 FPGA----ZCU106基于axi-hp通道的pl与ps数据交互(全网唯一最详)_zcu106调试_发光的沙子的博客-CSDN博客大家好,今天给大家带来的内容是&#xff0…

Java根据坐标经纬度计算两点距离(5种方法)、校验经纬度是否在圆/多边形区域内的算法推荐

目录 前言 一、根据坐标经纬度计算两点距离(5种方法) 1.方法一 2.方法二 3.方法三 4.方法四 5.方法五 5.1 POM引入第三方依赖 5.2 代码 6.测试结果对比 二、校验经纬度是否在制定区域内 1.判断一个坐标是否在圆形区域内 2.判断一个坐标是否…

回归预测 | MATLAB实现基于SVM-RFE-BP支持向量机递归特征消除特征选择算法结合BP神经网络的多输入单输出回归预测

回归预测 | MATLAB实现基于SVM-RFE-BP支持向量机递归特征消除特征选择算法结合BP神经网络的多输入单输出回归预测 目录 回归预测 | MATLAB实现基于SVM-RFE-BP支持向量机递归特征消除特征选择算法结合BP神经网络的多输入单输出回归预测预测效果基本介绍研究内容程序设计参考资料…

C语言代码的x86-64汇编指令分析过程记录

先通过Xcode创建一个terminal APP&#xff0c;语言选择C。代码如下&#xff1a; #include <stdio.h>int main(int argc, const char * argv[]) {int a[7]{1,2,3,4,5,6,7};int *ptr (int*)(&a1);printf("%d\n",*(ptr));return 0; } 在return 0处打上断点&…

数据库设计范式

数据库的设计范式都包括哪些 我们在设计关系型数据库模型的时候&#xff0c;需要对关系内部各个属性之间联系的合理化程度进行定义&#xff0c;这就有了不同等级的规范要求&#xff0c;这些规范要求被称为范式&#xff08;NF&#xff09;。你可以把范式理解为&#xff0c;一张数…

【【萌新的STM32 学习-6】】

萌新的STM32 学习-6 BSP 文件夹&#xff0c;用于存放正点原子提供的板级支持包驱动代码&#xff0c;如&#xff1a;LED、蜂鸣器、按键等。 本章我们暂时用不到该文件夹&#xff0c;不过可以先建好备用。 CMSIS 文件夹&#xff0c;用于存放 CMSIS 底层代码&#xff08;ARM 和 ST…

ESP32(MicroPython)四轮差速底盘遥控

本项目主控改为ESP32-C3&#xff0c;沿用之前的L298N电机驱动、12.6v 18650电池组、LM7805降压模块的方案。电机改用1&#xff1a;19减速比的&#xff0c;使用130mm车轮&#xff0c;主要考虑越野用途。 遥控方面&#xff0c;本项目使用HC-14模块&#xff0c;实测连接到电脑可以…

Java课题笔记~ 关联映射

一、MyBatis关联查询 在关系型数据库中&#xff0c;表与表之间存在着3种关联映射关系&#xff0c;分别为一对一、一对多、多对多。 一对一&#xff1a;一个数据表中的一条记录最多可以与另一个数据表中的一条记录相关。列如学生与学号就属于一对一关系。 一对多&#xff1a;主…

Stable Diffusion 硬核生存指南:WebUI 中的 GFPGAN

本篇文章聊聊 Stable Diffusion WebUI 中的核心组件&#xff0c;强壮的人脸图像面部画面修复模型 GFPGAN 相关的事情。 写在前面 本篇文章的主角是开源项目 TencentARC/GFPGAN&#xff0c;和上一篇文章《Stable Diffusion 硬核生存指南&#xff1a;WebUI 中的 CodeFormer》提…

流程图如何制作?5步快速画出好看的流程图!

流程图是一种图形化工具&#xff0c;描述某个过程或者操作的步骤&#xff0c;以及某种业务系统的具体流程。流程图通常由各种图形符号、形状、箭头组成&#xff0c;可以清晰的表示出流程或系统中各种步骤、每个环节之间的关系、条件判断、数据的流动和处理过程等。 在线流程图软…

C语言强制类型转换

无符号与有符号数&#xff1a;不改变数据内容&#xff0c;改变解释方式 长整数变为短整数&#xff1a;高位阶段&#xff0c;保留低位 短整数变长整数&#xff1a;符号扩展

SAS-数据集SQL垂直(纵向)合并

一、SQL垂直合并的基本语法 一个selectt对应一个表&#xff0c;select之间用set-operator连接&#xff0c;set-operator包括&#xff1a;except&#xff08;期望&#xff09;、intersect&#xff08;相交&#xff09;、union&#xff08;合并&#xff09;&#xff0c;outer un…

[K8S:命令执行:权限异常:解决篇]:通过更新kubeconfig配置相关信息

文章目录 一&#xff1a;场景复现&#xff1a;1.1&#xff1a;关键信息&#xff1a;1.2&#xff1a;全异常日志输出&#xff1a; 二&#xff1a;解决流程&#xff1a;2.1&#xff1a;更新 kubeconfig&#xff1a;2.1.1&#xff1a;执行命令&#xff1a; 2.2&#xff1a;再次执行…