背景:需求介入
最近有一个配置iptable的需求,正好梳理了Android12 ip信息配置(Ethernet -> IpClient -> netd)的流程。
术语解读
EthernetService:网络配置服务,处理有线网络连接、配置和管理的组件。
IpClient:是一个用于配置和管理网络接口(包括以太网接口)的组件。它负责与底层网络协议栈交互,完成IP地址分配、路由设置等工作。
Netd:是Android系统中的网络守护进程(Network Daemon),它是Android内核网络子系统与用户空间之间的桥梁。netd主要负责网络接口的管理、网络路由表的维护、防火墙规则的配置、以及IP隧道、端口转发等功能
启动流程解析
万能的SystemServer(startOtherServices)会拉起EthernetService
如图:
EthernetService内部实现 如图: