iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux的协议栈是什么
  • 843
分享到

linux的协议栈是什么

2023-07-02 17:07:47 843人浏览 泡泡鱼
摘要

这篇“linux的协议栈是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux的协议栈是什么”文章吧。在linux中

这篇“linux的协议栈是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux的协议栈是什么”文章吧。

在linux中,协议栈是计算机网络协议套件的一个具体的软件实现,是网络中各层协议的总和;协议套件中的一个协议通常是只为一个目的而设计的,这样可以使得设计更容易,协议栈反映了一个网络中文件传输的过程。

教程操作环境:linux7.3系统、Dell G3电脑。

linux的协议栈是什么东西

协议栈(英语:Protocol stack),又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。协议套件中的一个协议通常是只为一个目的而设计的,这样可以使得设计更容易。因为每个协议模块通常都要和上下两个其他协议模块通信,它们通常可以想象成是协议栈中的层。最低级的协议总是描述与硬件的物理交互。每个高级的层次增加更多的特性。用户应用程序只是处理最上层的协议。

解释:网络中各层协议的总和,反映了一个网络中文件传输的过程

linux存储协议栈简介:

linux的协议栈是什么

数据流程:
应用程序通过系统调用发出一个写请求,最终的目的是要把数据写到磁盘上,

  1. 文件系统来负责定位这个写请求的位置并将其转换成块设备需要的块,然后把这个请求发送到设备上。

  2. 内存在这个过程中扮演了一个磁盘缓存的角色,把上下两个部分隔离成异步运行的两个过程,对上半部分来说,让数据一直留在内存中是最好的方式,因为没有办法预料到之后还会不会修改,如果需要对同一个位置频繁地进行修改,则与磁盘进行不断的数据同步是没有必要的。至于下半部分,数据从页面缓存(Page Cache)同步到磁盘上,发出的请求被包装成一个request,一个request包含一组bio,每个bio包含需要同步的数据页。

应用层

应用程序通过系统调用访问文件。比如open调用

系统调用

用户应用程序访问并使用内核所提供的各种服务的途径即是系统调用。
内核提供了一组系统调用接口,通过这组接口应用程序可以访问系统硬件及操作系统资源。
应用程序调用系统调用接口->内核->操作硬件->返回内核->应用程序
与存储系统相关的主要就是read、write、open
“mmap()将文件(由文件句柄fd所指定)从偏移offset的位置开始的长度为length的一个块映射到内存区域中,从而把文件的某一段映射到进程的地址空间,这样程序就可以通过访问内存的方式去访问文件了。”
“典型的例子就是利用/dev/mem可以将一些MMU能访问的物理地址映射为应用层虚拟地址,从而可以在应用层直接访问某些物理地址,实现一些简单的驱动开发。”

虚拟文件系统

通过使用一组通用api,linux就可以在多种设备支持多种文件系统。
文件系统是一种对存储设备上的文件,数据,进行存储与组织的机制。
linux支持是多种文件系统

“虚拟文件系统通过在各种具体的文件系统上建立一个抽象层,屏蔽了不同文件系统间的差异,通过虚拟文件系统分层架构),我们在对文件进行操作时,便不需要去关心相关文件所在的具体文件系统细节。”
“正是虚拟文件系统使得这种跨越不同存储设备和不同文件系统的操作成为了可能”
VFS所提供的常用API有:

mount(), umount() … open(),close() … mkdir() …
文件系统

文件系统这一层相信大家都再熟悉不过了,目前大多Linux发行版本默认使用的文件系统一般是ext4,另外,新一代的btrfs也呼之欲出,不管什么样的文件系统,都是由一系列的mkfs.xxx命令来创建,如:

mkfs.ext4 /dev/sdamkfs.btrfs /dev/sdb

内核所支持的文件系统类型,可以通过内核目录树 fs 目录中的内容来查看。

通用块设备层

这一层的作用,不同的硬盘驱动,会提供不同的IO接口,内核认为这种杂乱的接口,不利于管理,需要把这些接口抽象一下,形成一个统一的对外接口,这样,不管你是什么硬盘,什么驱动,对外而言,它们所提供的IO接口没什么区别,都一视同仁的被看作块设备来处理。

所以,如果在一层做的任何修改,将会直接影响到所有文件系统,不管是ext3,ext4还是其它文件系统,只要在这一层次做了某种修改,对它们都会产生影响。

硬盘驱动

常见的硬盘类型有PATA, SATA和AHCI等,在Linux系统中,对不同硬盘所提供的驱动模块一般都存放在内核目录树drivers/ata中,而对于一般通用的硬盘驱动,也许会直接被编译到内核中,而不会以模块的方式出现,可以通过查看/boot/config-xxx.xxx文件来确认。

以上就是关于“linux的协议栈是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网操作系统频道。

--结束END--

本文标题: linux的协议栈是什么

本文链接: https://www.lsjlt.com/news/343469.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux的协议栈是什么
    这篇“linux的协议栈是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux的协议栈是什么”文章吧。在linux中...
    99+
    2023-07-02
  • Linux Tcp内核协议栈Packet Drill基本原理是什么
    本篇内容介绍了“Linux Tcp内核协议栈Packet Drill基本原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux ...
    99+
    2023-06-15
  • linux的网络协议是什么
    本篇内容介绍了“linux的网络协议是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  网络协议有很多,但大多是针对windows的,那...
    99+
    2023-06-13
  • Linux TCP/IP协议栈的示例分析
    这篇文章将为大家详细讲解有关Linux TCP/IP协议栈的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。TCP特点我们都非常清楚TCP协议设计的初衷,就是保证数据传输的快速,有序,...
    99+
    2023-06-05
  • 如何分析Linux TCP/IP协议栈
    这期内容当中小编将会给大家带来有关如何分析Linux TCP/IP协议栈,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TCP/IP是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是...
    99+
    2023-06-28
  • Linux内核网络协议栈源码剖析
    Linux内核网络协议栈是一个非常庞大和复杂的软件系统,涉及到很多不同的模块和功能。以下是一个大致的剖析步骤:1. 网络协议栈的初始...
    99+
    2023-09-23
    Linux
  • 什么是ip协议
    这篇文章主要讲解了“什么是ip协议”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是ip协议”吧!IP协议是TCP/IP网际层的核心协议,也是整个TCP/...
    99+
    2022-10-18
  • bootstrap指的是什么协议
    这篇文章主要介绍bootstrap指的是什么协议,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!bootstrap协议全称“Bootstrap Protocol”,中文意思为“引导协议”,是一种基于“UDP/IP”的协...
    99+
    2023-06-22
  • redis协议指的是什么
    这篇文章主要介绍redis协议指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Redis客户端通过使用一种叫RESP(REdis Serialization Protocol...
    99+
    2022-10-18
  • udp指的是什么协议
    小编给大家分享一下udp指的是什么协议,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!udp是用户数据包协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务...
    99+
    2023-06-08
  • 云服务器技术协议是什么类型的协议
    数据格式和访问控制:云服务器提供商应当制定和维护适当的数据格式和访问控制机制,以确保不同云服务器提供商之间的数据传输和处理是一致的。这包括对不同云服务器提供商之间数据格式和传输的兼容性、对数据的访问权限和限制等方面的规定。 数据存储和处理...
    99+
    2023-10-27
    协议 类型 服务器
  • Linux之UDP协议及编程流程是什么
    这篇文章主要讲解了“Linux之UDP协议及编程流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux之UDP协议及编程流程是什么”吧!UDP协议的特点UDP 不提供可靠性的传输...
    99+
    2023-07-05
  • linux栈指的是什么
    今天小编给大家分享一下linux栈指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在linux中,栈是一种串列形式的...
    99+
    2023-07-02
  • HTTP协议的含义是什么
    这篇文章主要介绍了HTTP协议的含义是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 1. 使用谷歌/火狐浏览器分析 在Web应用中...
    99+
    2022-10-19
  • Linux有什么远程管理协议
    这篇文章主要介绍了Linux有什么远程管理协议的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux有什么远程管理协议文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-02-13
    linux
  • pip协议是什么意思
    pip协议是指Pip工具与PyPI服务器之间的通信协议,用于实现Python包的安装、升级和管理。本教程操作系统:windows10系统、Python3.11.4版本、Dell G3电脑。在计算机科学中,“PIP"可以指代多个概念,其中之一...
    99+
    2023-11-23
    pip协议 pip
  • IPAD协议是什么意思
    这篇文章主要介绍了IPAD协议是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信协议就是基于微信IPad协议的智能控制系统,利用人工智能AI技术、云计算技术、虚拟技...
    99+
    2023-06-03
  • 什么是UDS诊断协议
    UDS (Unified Diagnostic Services) 是一种用于在汽车电子控制单元(ECU)之间进行诊断和通信的标准协议。它是一种底层协议,主要用于诊断和编程各种汽车系统,例如发动机、变...
    99+
    2023-10-20
    网络 服务器 uds 汽车 诊断协议
  • UDP协议是什么意思
    UDP是一种无连接的传输层协议,提供了一种将数据包发送到网络上的方式,但并不保证数据包的可靠性、顺序性和完整性,也不提供拥塞控制和流量控制等功能。UDP的特点:1、无连接性,不需要在发送数据之前建立连接,数据包可以直接发送到目标主机;2、高...
    99+
    2023-08-08
  • SOCKS代理协议是什么
    本篇内容主要讲解“SOCKS代理协议是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SOCKS代理协议是什么”吧!  SOCKS代表Socket Secure,是一种网络协议,它通过代表客户...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作