嵌入式Linux内核和网络协议栈的特点,和代表性产品有哪些

嵌入式Linux内核和网络协议栈的特点,和代表性产品有哪些,第1张

首先,嵌入Linux内核是可定制的内核:

1 Linux内核的配置系统

2 Linux内核的模块机制

3 Linux内核的源代码开放

4 经裁减的 Linux内核最小可达到 150KB以下,尤其适合嵌入式领域中资源受限的实际情况。

其次,它的性能优越:Linux 系统内核精简、高效和稳定,能够充分发挥硬件的功能,因此它比其他 *** 作系统的运行效率更高。

再者,它有良好的网络支持:

1 支持 TCP/IP 协议

2 提供对包括十兆位、百兆位及千兆位的以太网,还有无线网络、Tokenring(令牌环)和光纤甚至卫星的支持

3 对现在依赖于网络的嵌入式设备来说是很好的选择。

至于网络协议的话,有很多种,就目前主流的3种网络协议是:NetBEUI、IPX/SPX及其兼容协议、TCP/IP,而其他的像Lwip、ZigBee、Sip等很多。

1 NetBEUI的前身是NetBIOS,这一协议是IBM1983年开发完成的,早期的微软OS产品中都选择该协议作为通信协议。它是一套用于实现仅仅在小型局域网上PC见相互通信的标准。该网络最大用户数不能超过30个,1985年,微软对其改进,增加了SMB(Server Message Blocks,服务器消息块)的组成部分,以降低网络的通信阻塞,形成了现在的NetBEUI通信协议。

特点:体积小、效率高、速度快、占用内存少。

2 IPX/SPX及其兼容协议:它的全称是“Internwork Packet Exchange/Sequence Packet Exchange”即网际包交换/顺序包交换。

特点:体积较大、能够连接多种网络、具有强大的路由功能,适合大型网络的使用。windows网络中无法直接使用该协议。

3 TCP/IP是国际互联网Internet采用的协议标准,早期用于ARPANet网络,后来开放用于民间。

特点:灵活性,支持任意规模的网络,可以连接所有的计算机,具有路由功能,且TCP/IP的地址是分级的,容易确定并找到网上的用户,提高了网络代换的利用率。

而其他的像Lwip协议栈的特点:

(1)支持多网络接口的IP转发

(2)支持ICMP协议

(3)包括实验性扩展的UDP

(4)包括阻塞控制,RTT估算和快速恢复和快速转发的TCP

(5)提供专门的内部回调接口用于提高应用程序性能

(6)可选择的Berkeley接口API

(7)在最新的版本中支持ppp

不知道这些是不是你想要的。

好吧,我来回答吧,首先是网卡驱动程序捕获到数据包,做检验无误后,和DMA以及CPU交互,然后由DMA和驱动程序创建BD表,然后分配skbuf(LINUX下)数据结构保存获得的数据帧,内核通过协议栈处理这个skbuf,通常是层层剥离每个层的首部,然后传到上一层,细节就是一个变量做偏移量,每次做一个首部偏移读取首部数据,识别本层协议类型以及下一层协议类型,具体过程就是这个网络原理的过程,请参考《TCP/IP详解卷一》《linux设备驱动程序》《understanding linux network internals》《Unix网络编程卷一》等。

姓名:黄婷    学号:19020100410  学院:电子工程学院

转自: https://blog.csdn.net/daqiang012/article/details/103947313?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162848234916780357255732%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162848234916780357255732&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-103947313.first_rank_v2_pc_rank_v29&utm_term=Linux%E7%B3%BB%E7%BB%9F&spm=1018.2226.3001.4449#t7

【嵌牛导读】Linux系统内核的路由转发

【嵌牛鼻子】Linux系统   内核的路由转发

【嵌牛提问】什么是Linux系统内核的路由转发?

【嵌牛正文】

Linux *** 作系统嵌入了 TCP /IP协议栈,协议软件具有路由转发功能。路由转发依赖作为路由器的主机中安装多块 网卡 ,当某一块网卡接收到数据包后,系统内核会根据数据包的目的IP地址,查询 路由表 ,然后根据查询结果将数据包发送到另外一块网卡,最后通过此网卡把数据包发送出去。此主机的处理过程就是路由器完成的核心功能。 [3]

通过修改Linux系统内核参数ip_forward的方式实现路由功能,系统使用sysctl命令配置与显示在/proc/sys目录中的内核参数。首先在命令行输入:cat/proc/sys/net/ipv4/ip_forwad,检查Linux内核是不是开启IP转发功能。如果结果为1,表明路由转发功能已经开启;如果结果为0,表明没有开启。出于安全考虑,Linux内核默认是禁止数据包路由转发的。在linux系统中,有临时和永久两种方法启用转发功能。 [3] 

临时启用:此种方法只对当前会话起作用,系统重启后不再启用。临时开启的命令格式:sysctl–wnet.ipv4.ip_forward=1。 [3] 

永久启用:此种永久性的启用IP转发功能,通过更改配置文件/etc/sysctl.conf中的语句行“net.ipv4.ip_forward=0”,修改为“net.ipv4.ip_forward=1”,保存配置文件后执行命令sysctl–p/etc/sysctl.conf,配置便立即启用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7931203.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存