网络体系结构概述

news2024/11/27 14:46:54

目录

  • 1. OSI/RM参考模型
    • 1.1. 物理层
    • 1.2. 数据链路层
    • 1.3. 网络层
    • 1.4. 传输层
    • 1.5. 会话层
    • 1.6. 表示层
    • 1.7. 应用层
  • 2. TCP/IP参考模型
  • 3. 理解OSI七层模型

网络体系结构是线代网络技术的整体蓝图。

1. OSI/RM参考模型

开放互联参考模型(Open System Interconnection/Reference Model,OSI/RM)

  • 诞生:由国际化标准组织(International Organization for Standardization,ISO) 于1979年提出,1983年形成OSI/RM正式文件——ISO 7498标准
  • 应用:一种作为解决主机之间的网络通讯的宏观分析参考模型,数据的传输流程如下图。是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。

OSI/RM模型的设计逻辑:

  • 一种分层的体系结构,每一个开放系统都是由一些连续的子系统组成(逻辑上),N+1层的实体功能依赖N层的实体提供出来的功能接口(SAP)来实现。
    • 实体:软件元素(进程)或硬件元素(IO芯片)等。
    • SAP(Service Accessing Point):实体提供的功能接口。
    • 实体与SAP的关系:一个实体可以提供多个SAP,但是一个SAP只能由一个实体提供且最多被一个实体调用。
    • 对等实体:同一层级的实体。

封装: 数据在从高层向低层传送的过程中,每层都对接收到的原始数据添加信息,通常是附加一个报头和报尾。

网络协议: 网络中的数据交换建立的一系列规则、标准或约定。是控制两个或多个对等实体进行通信的集合。

  • 组成:
    • 语法:数据与控制信息的结构或形式。
    • 语义:根据需要发出哪种控制信息、依据情况完成哪种动作以及做出哪种响应。
    • 时序关系:同步,事件实现顺序的详细说明。

服务原语: 上层使用下层实体的服务需要经过与下层交换一些命令,这就是服务原语。

服务数据单元(Service Data Unit,SDU): 层与层之间交换的数据的单位。

PDU(Protocol Data Unit): 协议数据单元,同层实体间传送的数据单位。

1.1. 物理层

物理层(Physical Layer):

  • 简述:物理上实现两台主机间数据传输一层。
  • 概念:为数据链路层实体提供建立、传输、释放所必须的物理连接,并提供透明的比特流传输,数据单位是比特(bit,01),构建在物理传输介质和硬件设备连接之上。
  • 物理层协议定义的特性:
    • 机械特性: 规定接口的外形、大小、引脚数和排列、固定位置。
    • 电气特性: 规定接口电缆上各条线路出现的电压范围。
    • 功能特性: 指明某条线上出现某一电平的电压表示何种意义。
    • 规程特性: 指明各种事件出现的顺序。
  • DTE和DCE:
    • 数据终端设备(Data Terminal Equipment,DTE): 具有一定数据处理能力的数据收发设备,如路由器、PC。不提供时钟
    • 数据通信设备(Data Communication Equipment,DCE): 在DTE和传输线路之间提供信号转换、编码,并负责建立、保持、释放通信链路的连接的设备,如CSU/DSU、NT1、广域交换机。提供时钟

1.2. 数据链路层

数据链路层(Data Link Layer):

  • 简述:将物理传输转为逻辑传输的传输线路。
  • 概念:将比特封装成,并通过交换机进行MAC寻址转发,具有流量控制的功能。
  • 功能:
    • 链路的建立、拆除和分离:数据传输的介质可以是长期的,但实体之间的连接是有有效期的。在有效期内,两实体间可以进行n次数据通信,但每次通信都需要经历链路的建立、通信和关闭的过程。
    • 帧定界和帧同步:采用的传输协议不同,帧的规格也不通,所以需要这个功能。
    • 顺序控制:对帧的收发顺序进行控制。
    • 差错检测、恢复:多用方阵码校验和循环码校验来检查误码,帧丢失用序号检测,通过反馈重发来恢复。
    • 链路标识、流量/拥塞控制。
  • LLC和MAC
    • 逻辑链路控制(Logical Link Control):只在使用IEEE 802.3格式才使用。
    • 介质访问控制(Media Access Control):以太帧。

1.3. 网络层

网络层(Network Layer):

  • 概念:传输的数据是(IP),根据IP进行路由转发从而找到目标主机。
  • 功能:
    • 路由选择
    • 中继、激活和终止网络连接。
    • 链路复用。
    • 差错检测和恢复。
    • 流量/拥塞控制。

1.4. 传输层

传输层(Transport Layer):

  • 概念:传输的数据是(port),通过端口寻址,实现了服务进程到服务进程之间的消息交流。传输层负责两个节点之间的传输,包括可靠传输(TCP)和不可靠传输(UDP)。
  • 功能:
    • 端到端的数据传输
    • 数据分段、传输和组装。
    • 差错控制、流量/拥塞控制。

1.5. 会话层

会话层(Session Layer):

  • 概念:允许不同主机上的用户建立会话(各种服务:对话控制、令牌控制、同步功能)。
  • 建立和释放会话的步骤:
    • 将会话地址映射为传输层地址。
    • 进行数据传输。
    • 释放链接。

1.6. 表示层

表示层(Presentation Layer):

  • 概念:不同计算机之中的数据表达方式可能不同,表示层则负责统一标准转换(编码、解码、加密、解密、压缩)。比如:完成EBCDIC码(大型计算机)和ASCII码(PC)的转换。
  • 功能:
    • 数据语法转换、语法表示、数据加密解密、数据压缩解压。

1.7. 应用层

应用层(Application Layer):

  • 概念:两个应用进程之间的交互(HTTP、HTTPS),最接近用户的那层,向应用程序提供服务,这些服务按照提供的特性分组,并成为服务元素(CASE、SAFE)。

2. TCP/IP参考模型

OSI/RM与TCP/IP模型的对比:

OSI是标准,但过于复杂,不实用,因此诞生了TCP/IP四层协议,经过实践后发现数据链路层拆分为数据链路层和物理层更为合适,所以出现了五层模型。

应用层(Application Layer): 该层与OSI的应用层、表示层、会话层相对应。

传输层(Transport Layer): 允许两台主机上的对等实体进行对话,该层定义了两个端到端协议——TCP和UDP。

网络层/网际层(Network Layer): 负责为经过逻辑互联网络路径的数据进行路由选择。

数据链路层/网络接口层(Data Link Layer): 在TCP/IP模型中没有明确规定。

3. 理解OSI七层模型

此章节参考B站视频:互联网数据传输原理 |OSI七层网络参考模型,讲得不错。

应用层: 两个应用进程之间的交互(HTTP、HTTPS),最接近用户的那层。但应用层的Http等协议只是逻辑上联通了各个终端设备,物理上进行信息交流(连通)的是——物理层。

物理层: 计算机能发出去的信息只有0和1(比特,bit),而发出这些比特需要一些媒介,比如:光(光纤)、电(电线)、电磁波。信号发出去之后会经过不同的网络拓扑,此刻便需要中继器、集线器之类的设备。但信号跑到哪台设备是需要定向的,因此需要高级一些的网络模型——数据链路层。

数据链路层(跳到跳): 数据到了这层会被封装成(数据 + MAC地址(物理地址,网卡上的48位/64位地址)),而交换机(二级交换机)就可以通过MAC寻址(MAC广播寻址)。但是仅靠MAC寻址并不明智,如一张网卡销售到了中国另外一张网卡销售到了美国,那就很难通过一个个交换机去找到目标网卡,因此需要IP(逻辑地址)+路由来寻址——网络层。

网络层(端到端): 网络层中的数据是包(含有IP)。包在路由器之间根据IP地址进行路由转发,地址管理+路由选择是这一层的核心。通过MAC+IP就可以到达对方的主机,但是还需要找到目标进程,这时候就需要加上端口来寻址了——传输层。

传输层(进程到进程): 传输层中的数据是。通过端口寻址,实现了服务进程到服务进程之间的消息交流。传输层负责两个节点之间的传输,包括可靠传输(TCP)和不可靠传输(UDP)。

会话层: 网站服务会管理和控制登录状态还会负责同步服务——“断电”恢复。

表示层: 不同计算机之中的数据表达方式可能不同,表示层则负责统一标准转换(编码、解码、加密、解密、压缩)。

应用层、表示层、会话层的数据统称为应用数据/应用负载/上层数据/报文

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CH347

动态库封装实例 import ctypes# Load the CH347DLL library ch347dll ctypes.WinDLL(CH347DLLA64.dll) # Update the filename if necessary# Define the argument and return types for CH347OpenDevice ch347dll.CH347OpenDevice.argtypes [ctypes.c_ulong] ch347dll.CH3…

Selinux安全策略文件

在Selinux框架中,安全策略都是写在te文件中,以adb.te 文件为例 allow adbd shell_data_file:dir create_dir_perms;策略的基本格式是: rule_name source_type target_type :object_class perm_setrule_name 规则名。常见的规则名有allow,ne…

无问芯穹 MaaS AI 平台公测免费试用笔记:一

本篇文章聊聊正在公开测试的平台,无问芯穹的 MaaS 服务,包含了平台使用体验和一些小技巧。 因为测试给的免费卡时比较少,估计想完成完整测试或许需要一些时间,额外用一些账号进行。就先记录下常规折腾过程吧,让再次“…

element-ui message 组件源码分享

今日简单分享 message 组件的源码,主要从以下四个方面来分享: 1、message 组件的页面结构 2、message 组件的 options 配置 3、mesage 组件的方法 4、个人总结 一、message 组件的页面结构 二、message 组件的 options 配置 前置说明:m…

Centos7 安装 Oracle19c

下载oracle预安装包 wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 下载19c安装包 https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html#19c 选择…

OpenLayers6实战,OpenLayers实现鼠标拖拽绘制三角形,OpenLayers自定义绘制特殊图形

专栏目录: OpenLayers实战进阶专栏目录 前言 本章讲解使用OpenLayers如何绘制三角形。 OpenLayers本身是可以通过多边形绘制来绘制自行绘制三角形的,但是这种绘制方式是通过鼠标点击每个点来实现线条链接的,不支持固定的三角形这种特殊图形绘制的。 因此本章我们通过自定义…

Express.js项目实战(1)—— 我的藏书馆

首先新建文件夹——myLibrary 在vscode中点击文件>点击 Duplicate Workspace(以工作区的方式打开文件夹myLibrary) 点击duplicate Workspace(打开工作区) 之后,会出现以下界面 点击打开文件夹,选择新建的文件夹,会出…

服务器托管让服务器管理更轻松高效

在信息化飞速发展的今天,服务器作为企业数据处理和信息存储的核心设备,其管理的重要性日益凸显。服务器托管,作为一种高效、专业的服务器管理方式,正逐渐成为众多企业的首选。那么,服务器托管究竟是如何让服务器管理更…

GEE:基于光谱距离方法的变化检测(以滑坡为例)

作者:CSDN @ _养乐多_ 本文将介绍在 Google Earth Engine(GEE)平台上,使用光谱向量距离度量方法进行变化检测的代码。代码中使用哨兵数据的光谱向量,并以检测滑坡为例进行演示。 结果如下图所示, 文章目录 一、参考内容1.1 光谱距离1.2 点积二、代码链接三、完整代码一…

Linux中查看文件内容的命令

文章目录 一、七类常见的Linux的文件二、显示命令三、分页显示四、显示文件前后内容五、压缩、解压缩六、补充 一、七类常见的Linux的文件 字符文件类型-普通文件,包括纯文本文件、二进制文件、各种压缩文件等。在find命令中,type 选项中用 f来表示d目录…

GoogleNet神经网络介绍

一、简介 GoogleNet,也称为GoogLeNet,是谷歌工程师设计的一种深度神经网络结构,它在2014年的ImageNet图像识别挑战赛中取得了冠军。该神经网络的设计特点主要体现在其深度和宽度上,通过引入名为Inception的核心子网络结构&#x…

【Jmeter+Influxdb+Grafana性能监控平台安装与部署】

JmeterInfluxdbGrafana性能监控平台安装与部署 前言Influxdb安装与连接Jmeternfluxdb下载(winodws)Grafana安装与配置 前言 我们在性能测试过程中,在需要较大并发时,为了尽量避免使用GUI界面来节省资源,通常使用命令行…

SAP-怎么查一个帐号访问事务代码的记录或者一个事务代码的被访问记录

起因 上周六,查了某用户对某事务代码的访问记录。今天又要查类似的信息。我发现我居然忘了该怎么查了。于是在处理完事情之后,整理了查询的过程,形成了这篇文章。 经过 热心网友告诉了我一个事务代码:ST03N - 工作负载和性能统…

[Python学习篇] Python解释器

解释器的作用 Python解释器(Interpreter)的作用,通俗理解,就是起到一个翻译的作用,把程序员所编写的代码翻译为计算机能读懂执行的代码。简单地说,Python解释器对输入的Python代码进行解释和执行。Python解…

强!10.6K star,一款开源HTTP测试工具,适合新手,简单、容易上手!

大家好,我是狂师! 今天给大家推荐一款开源的HTTP测试工具:Hurl,相比curl、wget功能更强大,且更容易上手、很适用新手使用。 1、项目介绍 Hurl是一个使用Rust语言开发的命令行工具,它允许用户运行以简单纯…

EasyExcel 复杂表头的导出(动态表头和静态表头)

问题:如图,1部分的表头是动态的根据日期变化,2部分是数据库对应的字段,静态不变的; 解决方案:如果不看1的部分,2部分内容可以根据实体类注解的方式导出,那么我们是不是可以先将动态表…

linux内核网络分析-通用字段“每日读书”

这一节讨论sk_buff的主要字段,而这些字段都与特定的内核功能无关。 struct timeval stamp; 通常只对一个已经接收的封包才有意义,这是一个时间戳,用于避哦啊是封包何时被接收,或者有时候用于表示封包预定传输的时间,此…

护眼台灯哪个牌子最好,护眼台灯五大品牌墙裂分享

近视在儿童中愈发普遍,许多家长开始认识到,除了学业成绩之外,孩子的视力健康同样重要。毕竟,学业的落后可以逐渐弥补,而一旦孩子近视,眼镜便可能成为长期伴随。因此,专业的护眼台灯对于每个家庭…

钉钉服务端API报错 43008 参数需要multipart类型

钉钉服务端API报错 43008 参数需要multipart类型 problem 使用媒体文件上传接口,按照文档输入参数,结果返回报错 # 参数 {"access_token": "xxx""type": "image","media": "/Users/xxx/xxx/s…

上位机图像处理和嵌入式模块部署(qmacvisual之n点标定)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 工业场景中,很多时候图像是用来做测量的。虽然我们很希望载台是平的,摄像头是正对着拍摄物体的,但是运行时间长…