您的位置:首页 > 其它

解决adb server is out of date. killing。。。 问题

2016-04-13 20:19 260 查看


预置条件:
1,pc和路由器端口的ip地址配置如上图,掩码均为24比特
2,pc上没有arp表,没有到其他网段的路由表
3,路由器没有配置任何路由协议
pc1能够ping通pc2的过程:
1,pc1上配置缺省路由route add 0.0.0.0 mask 0.0.0.0 192.168.1.2,即默认网关为192.168.1.2此时pc1发出arp请求报文,目的MAC广播,源MAC为pc1的MAC,内容为 who has 192.168.1.2;
p1回应该报文并发送arp应答给pc1,目的MAC为pc1的MAC,源mac为p1的MAC,内容为192.168.1.2 at p1的MAC
此过程中pc1上和路由器上生成相应的arp表
2,pc2上配置缺省路由route add 0.0.0.0 mask 0.0.0.0 192.168.2.2,即默认网关为192.168.2.2
与第一步相似需要配置缺省路由,有arp请求和应答的过程
此过程中pc2上合路由器上生成相应的arp表
3,路由器上配置静态路由192.168.1.1的下一跳是192.168.1.2;192.168.2.1的下一跳是192.168.2.2----粗心大意导致这一步是错误的。路由器的作用就是桥接不同网段,所以路由器上不应该再配置路由了;只需要PC上生成相应的路由即可。
4,pc1上执行命令ping 192.168.2.1
pc1上的过程:
首先生成icmp请求报文协议栈的内容
然后生成ip协议栈的内容,目的ip是192.168.2.1,源ip是192.168.1.1
然后查路由表没有表项匹配,按照缺省路由转发,即需要发给默认网关192.168.1.2;
再查arp表项,获得默认网关的MAC,于是封装报文链路层目的MAC为p1的MAC,源MAC为pc1的MAC
路由器上的过程:
收到该icmp请求报文后解析,目的MAC为自己的MAC,则进一步解析
目的ip不是自己的ip,于是查路由表获得下一跳的端口和ip地址
Ip层信息不做修改
查arp表得到下一跳的MAC信息
修改报文的链路层信息,将目的MAC修改为pc2的MAC,源MAC不变
pc2上的过程:
收到该icmp请求报文后解析,目的MAC为自己的MAC,则进一步解析
目的ip是自己的ip,则进一步解析
识别是icmp request报文,于是构造icmp reply报文
首先生成icmp应答报文协议栈的内容
然后生成ip协议栈的内容,目的ip是192.168.1.1,源ip是192.168.2.1
然后查路由表没有表项匹配,按照缺省路由转发,即需要发给默认网关192.168.2.2;
再查arp表项,获得默认网关的MAC,于是封装报文链路层目的MAC为p2的MAC,源MAC为pc2的MAC
路由器上的过程:
与icmp请求报文类似,是反向转发
pc1上的过程:
pc1收到icmp reply报文后解析,识别目的MAC为自己的MAC,则进一步解析
目的ip是自己的ip,则进一步解析
识别是icmp reply报文,接下来是icmp协议栈的工作了

显示在pc1上的结果就是ping通了。本文出自 “小菜鸟” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: