Android network
文章平均质量分 92
Android network(网络模块)相关知识
ʚ兔子的先森ɞ
一只立志于养老婆的程序猿。
展开
-
Android network — iptables四表五链
我们先来看一下netfilter官网iptablesiptablesTheiptablesip6tablesip6tables也就是说iptables实际上只是位于用户空间的一个面向系统管理员的Linux防火墙的管理工具而已,而真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内核模块,iptables对应在内核中的模块应该是ip_tables,我们查看系统内核中ip_tables的信息的时候可以看到这个模块是在netfilter这个目录下的。实际上除了iptables。原创 2023-08-05 16:13:08 · 1321 阅读 · 0 评论 -
Android network — ipv6邻居发现协议
邻居发现协议NDP(Neighbor Discovery Protocol)是IPv6协议体系中一个重要的基础协议。邻居发现协议替代了IPv4的ARP(Address Resolution Protocol)和ICMP路由器发现(Router Discovery),它定义了使用ICMPv6报文实现地址解析,跟踪邻居状态,重复地址检测,路由器发现以及重定向等功能。原创 2023-03-22 15:51:49 · 948 阅读 · 0 评论 -
linux内核中修改TCP MSS值
最近在解决一些网络相关的问题的时候,我发现许多客户的需求可以不用费劲周折在代码中找到修改的位置,可以直接修改内核中一些网络相关的参数,在大部分情况下即可满足需求,减少时间和精力的消耗(俗称偷懒)。 MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segment Size 最大分段大小 MSS最大传输大小的缩写,是TCP协议里面的一个概念。 MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通原创 2022-06-22 16:07:20 · 2301 阅读 · 5 评论 -
Android network基础知识 — IPv4和IPv6的区别
Internet协议(IP)是为连接到Internet网络的每个设备分配的数字地址。它类似于电话号码,是一种独特的数字组合,允许用户与他人通信。IP地址主要有两个主要功能。首先,有了IP,用户能够在Internet上被识别。第二,IP地址允许计算机通过Internet发送和接收数据,也就是我们经常说的通信。在本文中,我们将深入研究两种类型的IP地址:IPv4与IPv6。我们将从以下几个方面来给大家介绍这两种类型的IP地址,让大家了解到两类IP的必备知识: IPv4和IPv6是不同类型的IP地址。它们的原创 2022-06-09 14:37:06 · 2011 阅读 · 3 评论 -
Android network — DHCP协议详解
DHCP协议详解0. 前言1. DHCP协议1.1 DHCP报文种类1.2 DHCP报文格式2. DHCP工作流程2.1 IP地址分配方式2.2 租约表2.3 工作流程2.4 服务器处理流程0. 前言 前言主要给大家介绍下什么是DHCP?以及为什么使用DHCP? DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DH原创 2022-04-30 21:30:32 · 2579 阅读 · 1 评论 -
Android network — StateMachine机制
StateMachine与State模式1. State模式1.1 意图1.2 适用性1.3 结构1.4 Context与State交互1.5 理解2. Android中StateMachine机制2.1 StateMachine类作用3. Android 中StateMachine模块分析3.1 State Machine各个模块作用3.2 建立树形层次结构存储State5.3 状态机的StateStack建立和状态切换3.4 消息处理与派发4. Android中StateMachine实例应用5. 后记原创 2022-04-29 19:32:13 · 388 阅读 · 0 评论 -
Android 9.0(P) 适配以太网功能
Android P 适配以太网功能0. 引言1. 需求及成果展示1.1 需求分析1.2 成果展示2. 实施流程2.1 Android P 以太网部分更新变化2.1.1 源码文件的增加2.1.2 接口参数的变动2.2 App层Settings修改2.3 Framework的适配2.3.1 EthernetService加入SystemServiceManager并启动2.3.2 EthernetService介绍2.3.3 EthernetServiceImpl 介绍2.3.4 EthernetTracker原创 2021-12-24 14:53:38 · 4640 阅读 · 8 评论 -
Android network框架分析之EthernetService启动流程
Android network框架分析之EthernetService启动流程0. 引言1. 开篇2. 前期准备知识2.1 Android Framework中网络相关的4大Service2.1.1 ConnectivityService2.1.2 NetworkPolicyManagerService2.1.3 NetworkManagementService2.1.4 NetworkStatsService2.2 Netd守护进程3. 以太网服务(EthernetService)启动流程3.1 Syst原创 2021-12-24 19:52:15 · 2679 阅读 · 0 评论 -
Android network框架分析之AsyncChannel原理分析
Android network框架分析之AsyncChannel原理分析以及实操演练0. 引言1. AsyncChannel功能概括1.1 AsyncChannel概括1.2 AsyncChannel的特点1.3 AsyncChannel工作模式2. Messenger概括2.1 Messenger的成员变量和构造函数2.2 Messenger.send发送函数2.3 IMessenger2.4 以Handler为参数初始化Messenger并通信流程2.5 以Service IBinder为参数初始化Me原创 2021-12-29 14:16:00 · 911 阅读 · 0 评论 -
Android network框架分析之NetworkFactory与NetworkAgent深入分析
Android network框架分析之NetworkFactory与NetworkAgent深入分析0. 引言1. EthernetNetworkFactory的初始化1.1 EthernetNetworkFactory.EthernetNetworkFactory1.2 EthernetNetworkFactory.start2. NetworkFactory网络工厂类详解及注册流程分析2.1 NetworkFactory类简介2.2 NetworkFactory注册到ConnectivityServi原创 2022-01-04 18:39:28 · 1592 阅读 · 0 评论 -
Android network框架分析之NetworkManagementService和netd交互深入分析(一)
Android network框架分析之NetworkManagementService和netd交互深入分析(一)0. 引言1. Netd深入分析1.1 Netd概述以及前期知识准备1.2 Netd的启动1.3 Netd进程main函数分析1.4 NetlinkManager1.5 NetlinkHandler1.5.1 NetlinkHandler::start1.5.2 SocketListener::threadStart1.5.3 NetlinkListener::onDataAvailable1原创 2022-01-06 17:28:25 · 2396 阅读 · 2 评论 -
Android network框架分析之NetworkManagementService和netd交互深入分析(二)
Android network框架分析之NetworkManagementService和netd交互深入分析(二)0. 引言1. NetworkManagementService和Netd交互深入分析1.1 NetworkManagementService的启动1.2 NetworkManagementService如何接收Netd传递的消息1.3 NativeDaemonConnector处理Netd的消息1.3.1 NativeDaemonConnector.listenToSocket1.3.2 N原创 2022-01-10 14:28:54 · 1212 阅读 · 0 评论 -
Android network框架分析之EthernetServiceImpl和NetworkManagementService交互深入分析
Android network框架分析之EthernetServiceImpl和NetworkManagementService交互深入分析0. 引言1. EthernetServiceImpl通过NetworkManagementService监听网络状态的变化1.1 EthernetNetworkFactory.start1.2 InterfaceObserver1.3 BaseNetworkObserver1.4 INetworkManagementEventObserver1.5 NetworkMa原创 2022-01-10 16:47:57 · 2985 阅读 · 0 评论 -
EthernetMornitor 与 EthernetStateTracker
EthernetMornitor 与 EthernetStateTracker1. EthernetMonitor1.1 startMonitoring()1.2 handleEvent(String ifname,int event)1.3 EthernetStateTraker.notifyStateChange()1.4 EthernetStateTraker.notifyPhyConnected()2. 发送消息之后,EthernetStateTraker 会handleMessage()3. se原创 2022-02-16 19:27:25 · 312 阅读 · 0 评论 -
Android KK(4.4) 以太网和DHCP启动过程介绍
Android KK(4.4) 以太网和DHCP启动过程介绍1. ethernet启动流程2. DHCP启动过程2.1 JNI层接口2.2 DHCP客户端(libnetutils) 常做Android的大佬们可能知道,Android 5.0是一个历史分水岭一样的版本,其前后改动应该是所有版本中最大的了,而目前我的工作主要就围绕着Android P(9.0)和Android KK(4.4)两个版本进行支持,再了解熟悉了9.0的网络流程后,乘胜追击熟悉下Android 4.4 的网络模块,在源码基础上对以太原创 2022-02-25 17:25:14 · 913 阅读 · 0 评论 -
Android wifi信号强度显示流程
Android wifi信号强度显示流程1. RSSI2. 从wpa_supplicant获取RSSI3. framework层对wifi信号强度的处理4. StatusBar 更新wifi信号强度5. Settings中的wifi列表更新wifi信号强度1. RSSI wifi的信号强度使用RSSI表示, 在Android的Framework中会中会转换为对应的格数在状态栏来显示 RSSI(Received Signal Strength Indication) 代表接收的信号强度指示, 它与模原创 2022-03-01 16:56:45 · 7711 阅读 · 0 评论 -
Android NativeDaemonConnector源码解析
NativeDaemonConnector源码解析1. NativeDaemonConnector2. 初始化3. 向netd发送指令4. 响应码5. netd 主动上报的消息处理6. 原理总结7. 打开有线网1. NativeDaemonConnector NetworkManagerService 和 netd 之间的桥梁public class NetworkManagementService extends INetworkManagementService.Stub imp原创 2022-03-04 18:45:55 · 2512 阅读 · 4 评论