2024年3月11日发(作者:)
RT-Thread进阶之网络框架
展开全文
1、网卡组件(netdev)
netdev 组件主要作用是解决设备多网卡连接时网络连接问题,用
于统一管理各个网卡信息与网络连接状态,并且提供统一的网卡调试
命令接口。其主要功能特点如下所示:
•
抽象网卡概念,每个网络连接设备可注册唯一网卡。
•
提供多种网络连接信息查询,方便用户实时获取当前网卡网络状
态;
•
建立网卡列表和默认网卡,可用于网络连接的切换;
•
提供多种网卡操作接口(设置 IP、DNS 服务器地址,设置网卡
状态等);
•
统一管理网卡调试命令(ping、ifconfig、netstat、dns 等命
令);
网卡概念:
网卡概念介绍之前先了解协议栈相关概念,协议栈是指网络中各
层协议的总和,每种协议栈反映了不同的网络数据交互方式,RT-
Thread 系统中目前支持三种协议栈类型:lwIP 协议栈、AT Socket 协
议栈、WIZnet TCP/IP硬件协议栈。每种协议栈对应一种协议簇类型
(family),上述协议栈分别对应的协议簇类型为:AF_INET、AF_AT、
AF_WIZ。
网卡的初始化和注册建立在协议簇类型上,所以每种网卡对应唯
一的协议簇类型。Socket 套接字描述符的创建建立在 netdev 网卡基
础上,所以每个创建的 Socket 对应唯一的网卡。协议簇、网卡和
socket 之间关系如下图所示:
1.1 netdev数据结构
每个网卡对应唯一的网卡结构体对象,其中包含该网卡的主要信
息和实时状态,用于后面网卡信息的获取和设置。
网卡状态:
•
up/down:底层网卡初始化完成之后置为 up 状态,用于判断网


发布评论