Що таке netlink в Linux?
Нетлінк є сімейство сокетів, що використовується для міжпроцесного зв’язку (IPC) між ядром і
процесами та між різними процесами простору користувача, у певний спосіб подібний до сокетів домену Unix, доступних у певних Unix-подібних операційних системах, включаючи його оригінальне втілення як інтерфейс ядра Linux, …
NETLINKS складається з команда розробників програмного забезпечення та ІТ-фахівців, які прагнуть використовувати потужність інноваційних технологій, щоб допомогти спільноті процвітати завдяки позитивним змінам.
Домен сокета (сімейство адрес) – AF_NETLINK, а тип сокета – або SOCK_RAW або SOCK_DGRAM , тому що netlink є послугою, орієнтованою на дейтаграми. Протокол (тип протоколу) визначає, для якої функції мережевого зв’язку використовується сокет.
Синхронний або офлайн: Мережевий зв’язок є досить асинхронним, коли кожна сторона отримує повідомлення в певний момент після того, як інша сторона їх надсилає. ioctl є суто синхронними: «Привіт, ядро, ПРОКИНИСЬ і зроби це зараз»
У класичному Netlink nlmsghdr. nlmsg_type використовується для визначення операції в підсистемі, на яку посилається повідомлення (наприклад, отримати інформацію про netdev). Generic Netlink потребує мультиплексування кількох підсистем в одному протоколі, тому воно використовує це поле для ідентифікації підсистеми та genlmsghdr.
Netlink розроблено та використовується для передача різної мережевої інформації між процесами простору ядра та простору користувача.