android netd守护进程机制 --- Java层分析

前言:

Netd是Android系统中专门负责网络管理的守护进程。NetD是网络管家,封装了复杂的底层各种类型的网络

(NAT,PLAN,PPP,SOFTAP,TECHER,ETHO,MDNS等),隔离了底层网络接口的差异,给Framework

提供了统一调用接口,简化了网络的使用。主要工作分为2个部分:

1,接收并处理来自Framework层中NetworkManagementService或NsdService的命令。这些命令最终由Netd中

对应的Command对象去处理。

2,接收并解析来自Kernel的UEvent消息,然后再转发给Framework层中对应Service去处理。

Netd位于Framework层和Kernel层之间,它是android系统中网络相关消息和命令转发及处理的中枢。本文基于android 6.0

1,进程启动

Netd进程由init进程启动, 其在init.rc文件的配置如下:

service netd /system/bin/netd
    class main
    socket netd stream 0660 root system
    socket dnsproxyd stream 0660 root inet
    socket mdns stream 0660 root system
    socket fwmarkd stream 0660 root inet

由此可见,有四个socket,具体作用如下,

netd socket: NetworkManagementService和netd进程进行进程间通信;

mdns socket: NsdService和netd进程进行进程间通信;

fwmarkd socket: kernel和netd进程进行通信;

当然,这四个socket之间是相互独立的。

主要代码路径如下,

system\netd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值