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

osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)

目录

网络协议如何分层

引入

osi模型

tcp/ip模型 

引入

命名由来

介绍 

物理层

数据链路层

网络层

传输层

应用层

中间设备 


网络协议如何分层

引入

我们已经知道了网络协议是层状结构,接下来就来了解了解下网络协议如何分层

  • 常见的网络协议分层模型是OSI模型 和 TCP/IP模型

osi模型

  • osi模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范
  • 包含七个层次,它提供了一个框架,完善地描述了在网络通信中各层次的逻辑功能

tcp/ip模型 

引入

虽然osi模型很好,但是在实际工程中,我们发现了许多问题

  • 我们本来是要把网络功能直接写在内核里的  (因为我们每台电脑都要联网,并且要保证使用统一的标准,所以干脆将网络协议整合到操作系统中,这样就不会出现因为协议不同而导致无法通信的问题了)
  • 但是在实操中,发现会话层和表示层不好在os中实现
  • 于是这两层并没有实际落地,而是将这两层统一看作应用层,在应用层的协议中实现这两层
  • 所以,在实际实现时只剩下了五层

命名由来

  • 站在os角度,最重要的两层是网络层和运输层(因为最终只有这两层被实际写在了os内)
  • 而他们两个最具有代表性的协议分别是ip协议和tcp协议,所以这五层网络协议栈也被叫做tcp/ip协议栈
  • 由于物理层我们考虑的比较少,因此很多时候也可以称为 tcp/ip四层模型

介绍 

物理层
  • 负责光/电信号的传递方式
  • 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等,这些都属于物理层的概念
  • 物理层的能力决定了最大传输速率、传输距离、抗干扰性等属性
  • 集线器(Hub)工作在物理层
数据链路层
  • 负责设备之间的数据帧的传送和识别(数据帧 -- 在数据链路层传输数据的一种结构化格式)
  • 完成网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作
  • 有以太网、令牌环网, 无线LAN等标准(也就是协议)
  • 交换机(Switch)工作在数据链路层
网络层
  • 负责地址管理和路由选择
  • 例如,在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路
  • 路由器(Router)工作在网路层
传输层
  • 负责两台主机之间的数据传输
  • 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机
  • 没有特定的物理设备与传输层直接对应,传输层主要工作在os中,提供一些协议和机制,以确保应用程序之间的有效通信
应用层
  • 负责应用程序间沟通
  • 如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等
  • 我们的网络编程主要就是针对应用层

中间设备 

随着网络功能的复杂,需要更多的设备来支持,所以会增加一些中间设备,来辅助网络功能的实现

  • 比如路由器,交换机,集线器,网卡等等

这些设备会具备各自层次的功能,但不仅仅只有这个功能

在实际网络中,它们经常需要相互协作以提供综合的网络服务

  • 例如,路由器不仅进行网络层的路由,还可能包括数据链路层的交换功能
  • 交换机虽然主要是数据链路层的设备,但在实现VLAN时可能涉及到网络层的信息

相关文章:

osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)

目录 网络协议如何分层 引入 osi模型 tcp/ip模型 引入 命名由来 介绍 物理层 数据链路层 网络层 传输层 应用层 中间设备 网络协议如何分层 引入 我们已经知道了网络协议是层状结构,接下来就来了解了解下网络协议如何分层 常见的网络协议分层模型是OSI模型 和 …...

ElasticSearch之找到乔丹的空中大灌篮电影

写在前面 本文看一个搜索的实际例子,找到篮球之神乔丹的电影Space Jam,即空中大灌篮。 正式开始之前先来看下要查询的目标文档,以及查询的text: 要查询的目标文档 {..."title": "Space Jam",..."ove…...

CSS @符规则(@font-face、@keyframes、@media、@scope等)

随着前端开发的不断发展,CSS 的功能日益强大,其中 规则扮演着举足轻重的角色。它们不仅扩展了 CSS 的功能边界,还为开发者提供了更加灵活和高效的样式定义方式,让我们来一同探索这些强大而实用的 规则吧! font-face …...

uniapp微信小程序解决上方刘海屏遮挡

问题 在有刘海屏的手机上,我们的文字和按钮等可能会被遮挡 应该避免这种情况 解决 const SYSTEM_INFO uni.getSystemInfoSync();export const getStatusBarHeight ()> SYSTEM_INFO.statusBarHeight || 15;export const getTitleBarHeight ()>{if(uni.get…...

项目:shell实现多级菜单脚本编写

目录 1. 提示 2. 演示效果 2.1. 一级菜单 2.2. 二级菜单 2.3. 执行操作 3. 参考代码 1. 提示 本脚本主要实现多级菜单效果,并没有安装LAMP、LNMP环境,如果要用在实际生成环境中部署LNMP、LAMP环境,只需要简单修改一下就可以了。 2. 演…...

Collections常用方法(Java)

Collections常用方法 使用 sort(List<T> list) 对 List 进行排序&#xff1a; List<Integer> numbers new ArrayList<>(Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6)); Collections.sort(numbers); System.out.println("排序后的列表&#xff1a;" …...

Mysql整理-概述

Mysql概述 MySQL是一种流行的开源关系数据库管理系统(RDBMS),它使用结构化查询语言(SQL)来访问、管理和处理数据。它是基于客户端-服务器模型的数据库,意味着数据存储在服务器上,而用户可以通过客户端软件从不同的位置访问这些数据。 MySQL的主要特点包括: 开源软件:M…...

ubuntu+QT+ OpenGL环境搭建和绘图

一&#xff0c;安装OpenGL库 安装OpenGL依赖项&#xff1a;运行sudo apt install libgl1-mesa-glx命令安装OpenGL所需的一些依赖项。 安装OpenGL头文件&#xff1a;运行sudo apt install libgl1-mesa-dev命令来安装OpenGL的头文件。 安装GLUT库&#xff1a;GLUT&#xff08;Ope…...

Vue实现打印功能(vue-print-nb)

1、安装依赖 npm install vue-print-nb --save2、在main.js中引入 import Print from vue-print-nb Vue.use(Print)3、在组件的打印区域标签上加 id“printArea” <div id"printArea"> 打印区域 </div>4、在组件的打印按钮标签上使用指令 v-print“pr…...

【JSON2WEB】06 JSON2WEB前端框架搭建

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 前端技术路线太多了&#xff0c;知识点更多&…...

【蓝桥杯单片机入门记录】动态数码管

目录 一、数码管动态显示概述 二、动态数码管原理图 &#xff08;1&#xff09;原理图 &#xff08;2&#xff09;动态数码管如何与芯片相连 &#xff08;3&#xff09;“此器件” ——>锁存器74HC573 三、动态数码管显示例程 &#xff08;1&#xff09;例程1&#xf…...

12 Redis之Lua脚本

11. Lua脚本 Lua 是一个由标准 C 语言开发的、开源的、可扩展的、轻量级的、弱类型的、解释型脚本语言 常用于Nginx/分布式锁/ 先下载并安装Lua...

网络安全之内容安全

内容安全 攻击可能只是一个点&#xff0c;防御需要全方面进行 IAE引擎 DFI和DPI技术--- 深度检测技术 DPI --- 深度包检测技术--- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09;&#xff0c;之后对 数据包的内容进行识别。&#xff08;应用…...

在CentOS上使用Docker搭建Halo博客并实现远程访问的详细指南

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. Docker部署Halo1.1 检查Docker版本1.2 在Docker中部署Halo 二. Linux安装Cpol…...

数据结构day5

link_stack.c #include "link_stack.h" //申请栈顶指针 top_p create_top() {top_p top (top_p)malloc(sizeof(top_t));if(topNULL){printf("空间申请失败\n");return NULL;}top->len 0;top->ptop NULL; //刚申请栈指针时没有指向元素return to…...

基础!!!吴恩达deeplearning.ai:神经网络中使用softmax

以下内容有任何不理解可以翻看我之前的博客哦&#xff1a;吴恩达deeplearning.ai 文章目录 softmax作为输出层的神经网络Tensorflow的实现softmax的改进实现数值舍入误差(Numerical Roundoff Errors)sigmoid修改修改softmax 在上一篇博客中我们了解了有关softmax的原理相关内容…...

mapbox高德地图与相机

mapbox高德地图与相机 本案例使用Mapbox GL JavaScript库创建高德地图。 演示效果引入 CDN 链接地图显示 创建地图实例定义地图数据源配置地图图层 设置地图样式实现代码 1. 演示效果 2. 引入 CDN 链接 <script src"https://api.mapbox.com/mapbox-gl-js/v2.12.0/mapb…...

Eslint在Vscode中使用技巧的相关技巧

ps :该文章会详细结论构建一个脚手架遇到的问题&#xff0c;会持续更新&#xff0c;请定时查看 Eslint相关​ 在vscode中使用eslint插件 在vscode中用户配置没有开启eslint.enable 在vscode中工作区配置开启eslint.enable settings.json中没有做eslint相关配置 在编写的vue…...

045-WEB攻防-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件

045-WEB攻防-PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件 #知识点&#xff1a; 1、PHP-MYSQL-SQL注入-二次注入&利用条件 2、PHP-MYSQL-SQL注入-堆叠注入&利用条件 3、PHP-MYSQL-SQL注入-带外注入&利用条件 演示案例&#xff1a…...

【蓝牙协议栈】【BR/EDR】【AVRCP】蓝牙音视频远程控制协议

1. AVRCP概念 AVRCP(Audio/Video Remote Control Profile):音视频远程控制协议定义了蓝牙设备和 audio/video控制功能通信的特点和过程,另用于远程控制音视频设备,底层传输基于 AVCTP(音视频控制传输协议)。 ➢该 Profile定义了AV/C数字命令控制集。命令和信息通过 AVCT…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...