2017-07-06 上节主讲了用户层通过netlink和内核交互的详细过程,本节分析下用户层接收数据的过程…… 有了之前基础知识的介绍,用户层接收数据只涉及到一个核心调用readmsg(), 其他的就不多介绍了,不太明白的请参考之前的文章,我们还是重点看下内核究竟在背后做了什么!该函数在内核对应于 Read More
2017-07-05 本节从一个小案例入手,结合源码分析下通过netlink进行内核和用户通信的流程。 内核端 按照传统CS模式,其实内核端可以作为是服务器端,用以接收用户的请求并作出处理,但是从netlink本身的特性,其更像是一个对等实体。双方都可以进行主动数据的传递。 内核中首先调用netli Read More
2017-07-05 上文以一个简单的案例描述了通过Netlink进行用户、内核通信的流程,本节针对流程中的各个要点进行深入分析 sock的创建 sock管理结构 sendmsg源码分析 sock的创建 这点包含用户socket的创建以及内核socket的创建,前者通过socket调用实现,后者通过 Read More
2017-07-04 netlink是一种基于网络的通信机制,一般用于内核内部或者内核与用户层之间的通信。其有一个明显的特点就是异步性,通信的双方不要求同时在线,也就不用阻塞等待。NetLink按照数据包的格式发送/接收消息,提供双向通信,和其他内核与用户层通信机制相比,NetLink有其特有的优势 Read More