博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《深入理解Android WiFi NFC 和 GPS》读书笔记
阅读量:7232 次
发布时间:2019-06-29

本文共 1497 字,大约阅读时间需要 4 分钟。

WiFi篇

一。Netd

是守护进程;

Netd是Android系统中专门负责网络管理和控制的后台daemon程序;
位于Framework层和Kernel层之间;
是Android系统中网络相关消息和命令转发及处理的中枢模块;

1.三个主要功能:

1)FireWall,NAT,带宽控制,无线网卡软接入(Soft Access Point),网络设备绑定(Tether)等;

2)Android系统中DNS信息的缓存和管理;
3)网络服务搜索(Net Service Discovery,NSD):服务注册,服务搜索,服务名解析等;

2.工作分为两个部分:

1)Netd接收并处理来自Framework层中NetworkManagementService或NsdService

的命令。这些命令最终由Netd中对应的Command对象去处理;
2)Netd接收并解析来自Kernel的Event消息然后再转发给Framework层中对应Service去处理;

3.工作流程

由init进程根据init.rc的对应配置项而启动;

启动时创建三个TCP监听socket,netd,dnsproxyd,mdns;
三个监听:
1)Framework层中的NetworkManagementService和 NsdService分别和netd,mdns监听socket建立连接;
2)每个调用和域名解析相关的socketAPI的进程都会借由dnsproxyd监听socket与netd建立链接;

4.接收并解析来自Kernel的UEvent消息(NetlinkManager)

UEvent消息的三个类型:

1)kobject, 通知内核中某个模块的加载/卸载;
2)route, 网络链路断开/接通;
3)nflog, 带宽控制相关;
图片描述
NetlinkManager分别注册了三个用于接收UEvent的socket,其对应的NetlinkHandler分别是mUeventHandler,mRouteHandler和mQuotaHandler;
Netlink的工作流程:
图片描述
每个NetlinkHandler对象均会单独创建一个线程用于接收socket消息;

5.接收来自于Framework层NetworkManageService的命令 (CommandListener)

图片描述

图片描述
1)Client端发送的命令;
2)CL收到命令,找到命令对象;
3)命令对象执行runCommand函数;

CL命令:

1.iptables 设置一些filter/NAT的规则
图片描述
2.tc 流量控制
图片描述
从建立队列,建立分类,建立过滤器三个方面,进行流量控制:
1)针对网络物理设备绑定一个队列QDisc;
2)在该队列上建立分类class;
3)为每个分类建立基于路由的filter;
4)与filter配合,建立特定的路由表;
3.ip 网络管理工具
1)替代ifconfig命令
2)替代route命令
3)替代arp命令

6.DNS管理相关 (DnsProxyListener)

二。Wifi基础知识

IEEE 802.11

工会名称 802项目第11个工作组

局域网标准 无线局域网MAC层,物理层技术规范

OSI/RM(开放互联参考模型)的七层架构:

应用,表示,会话,传输,网络,数据链路,物理

数据链路层:

1)LLC 逻辑链路控制子层;
2)MAC 媒介访问控制子层;
802.11只涉及MAC层
媒介 不同的媒介 :无线(CSMA/CA)/有线(CSMA/CD)
CD:冲突检测 边发送边监听
CA:冲突避免

转载地址:http://ykvfm.baihongyu.com/

你可能感兴趣的文章
hadoop hive 常见问题解决持续更新
查看>>
如何做不浮躁的人
查看>>
终端服务设施方案共享(Part3)
查看>>
linux的基本指令--第三节
查看>>
设置tomcat为https访问
查看>>
我的友情链接
查看>>
oracle的触发器和应用
查看>>
Docker实践(五):Docker Compose
查看>>
我的友情链接
查看>>
介绍几个jsp页面传对象的方法
查看>>
我的Jakarta+Commons
查看>>
Bootstrap的使用
查看>>
python设置文字输出颜色
查看>>
WARNING:tornado.access:403 GET /websocket (::1) 1.00ms
查看>>
cocos creator游戏适配这事
查看>>
AngularJS - contorller app module
查看>>
CF666E. Forensic Examination
查看>>
apue第16章笔记
查看>>
Nvidia Driver
查看>>
NIO 相关解析
查看>>