linux下netlink的使用简介
Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC),也是网络应用程序与内核通信的最常用的接口。
在Linux内核中,使用nertlink进行应用与内核通信的应用有很多,如
(1)路由damon(NETLINK_ROUTE)
(2)用户态socket协议(NETLINK_USERSOCK)
(3)防火墙(NETLINK_FIREWALL)
(4)netfilter子系统(NETLINK_NETFILTER)
(5)内核事件向用户态通知(NETLINK_KOBJECT_UEVENT)
(6)通用netlink(NETLINK_GENERIC)
内核态需要使用专门的的内核API来使用netlink;
异步通信:netlink是一种异步通信机制,在内核和用户态之间传递的消息保存在socket缓存队列中,发送消息只是把消息保存在接收者的socket的接受队列中,而不需要等待接收者收到消息。
netlink支持多播,内核模块或者应用可以把消息多播给一个netlink组,属于该netlink组的任何模块或应用都能接受到该消息。
内核可以使用netlink首先发起会话。
linux下netlink的使用
于 2022-08-19 17:54:45 首次发布