1.本地实现调用

程序根据data文件目录下的asinfo.json文件(包含自治域网络名和对应的坐标值),调用so文件绘制asn结点图(ASN,AutoSystemNode,自治域结点)

Internetmap.apk实现原理分析-LMLPHPInternetmap.apk实现原理分析-LMLPHPInternetmap.apk实现原理分析-LMLPHP

2.路由查询原理

程序在peer1.internetmap.InternetMap包中实现ip对应asn查询,域名对应asn查询和厂商对应asn查询,在网络可达的情况下,根据用户输入的ip,域名或企业名post到服务器(http://asnl.peer1.com/v1/),服务器返回对应所有连接的asn结点,调用so文件绘制3D网络拓扑图。

1)搜索栏中输入www.cqupt.edu.cn,程序调用peer1.internetmap.InternetMap.findhost—>InetAddress.getByname.getHostAddress获取输入域名对应的全局ip,并作为post参数上传到服务器获取对应的asn名称,抓包分析如下图:Internetmap.apk实现原理分析-LMLPHPInternetmap.apk实现原理分析-LMLPHP

2)通过获取的asn名称,调用peer1.internetmap.InternetMap.NodePopup获取关联的asn结点绘制拓扑图Internetmap.apk实现原理分析-LMLPHP

3.主要函数调用关系:

Internetmap.apk实现原理分析-LMLPHP

4.总结

程序本地维护所有结点的名字、坐标值、连接数及关系的数据,so文件实现绘制拓扑图的功能。服务器端维护ip和对应asn的查询,当用户输入域名,本地网络解析出ip后向服务器请求ip对应的asn名称并返回,然后本地调用so文件查询数据库关联结点并绘制拓扑图。

05-11 19:47