Linux的协议栈如何理解,作用是什么
Admin 2022-07-21 群英技术资讯 1444 次浏览
这篇文章主要介绍了Linux的协议栈如何理解,作用是什么相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux的协议栈如何理解,作用是什么文章都会有所收获,下面我们一起来看看吧。在linux中,协议栈是计算机网络协议套件的一个具体的软件实现,是网络中各层协议的总和;协议套件中的一个协议通常是只为一个目的而设计的,这样可以使得设计更容易,协议栈反映了一个网络中文件传输的过程。

本教程操作环境:linux7.3系统、Dell G3电脑。
协议栈(英语:Protocol stack),又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。协议套件中的一个协议通常是只为一个目的而设计的,这样可以使得设计更容易。因为每个协议模块通常都要和上下两个其他协议模块通信,它们通常可以想象成是协议栈中的层。最低级的协议总是描述与硬件的物理交互。每个高级的层次增加更多的特性。用户应用程序只是处理最上层的协议。
解释:网络中各层协议的总和,反映了一个网络中文件传输的过程
linux存储协议栈简介:

数据流程:
应用程序通过系统调用发出一个写请求,最终的目的是要把数据写到磁盘上,
应用程序通过系统调用访问文件。比如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/sda mkfs.btrfs /dev/sdb
内核所支持的文件系统类型,可以通过内核目录树 fs 目录中的内容来查看。
这一层的作用,不同的硬盘驱动,会提供不同的IO接口,内核认为这种杂乱的接口,不利于管理,需要把这些接口抽象一下,形成一个统一的对外接口,这样,不管你是什么硬盘,什么驱动,对外而言,它们所提供的IO接口没什么区别,都一视同仁的被看作块设备来处理。
所以,如果在一层做的任何修改,将会直接影响到所有文件系统,不管是ext3,ext4还是其它文件系统,只要在这一层次做了某种修改,对它们都会产生影响。
常见的硬盘类型有PATA, SATA和AHCI等,在Linux系统中,对不同硬盘所提供的驱动模块一般都存放在内核目录树drivers/ata中,而对于一般通用的硬盘驱动,也许会直接被编译到内核中,而不会以模块的方式出现,可以通过查看/boot/config-xxx.xxx文件来确认。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux下创建txt文件的方法:可以使用touch命令来创建txt文件,如【touch qwe.txt】,表示创建一个名为qwe.txt的文件。
基于CentOS下搭建 WordPress 个人博客
使用linux的原因:1、开源,通过开源方式,开发者可以轻松查看用于创建Linux内核的代码,也可以对代码进行修改和再创作,以满足使用要求。2、稳定性好,可以连续运行多年而不发生任何重大问题。3、安全, Linux服务器相较Windows而言不会经常受到攻击,并且被发现的任何漏洞都会在第一时间由大批Linux开发人员修复。4、对硬件的需求则很低,也不需要频繁对硬件进行升级更新。
我们知道,交换机不像集线器那样傻,对一个端口收到的每个字节都传输到其他所有端口。交换机能够通过自主学习能力,认识自己的每一个端口上连接的主机。
阿里云CentOS服务器环境(java环境+mysql+tomcat)和部署 JavaWeb
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008