今天小编要和大家分享的是模拟技术相关信息,接下来我将从了解协议栈的相关概念,这几个方面来介绍。

模拟技术相关技术文章了解协议栈的相关概念

模拟技术相关技术文章了解协议栈的相关概念

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 状态,用于判断网卡开启还是禁用。

link_up/link_down:用于判断网卡设备是否具有有效的链路连接,连接后可以与其他网络设备进行通信。该状态一般由网卡底层驱动设置。

internet_up/internet_down:用于判断设备是否连接到因特网,接入后可以与外网设备进行通信。

dhcp_enable/dhcp_disable:用于判断当前网卡设备是否开启 DHCP 功能支持。

1.2 网卡列表和默认网卡