我的"什么是?" -eRicSone

知识转贴汇聚(网络工程、通信技术、业界新闻、C#、ASP.NET)

eric ID:ericsone
111890次访问,排名765好友0人,关注者1
ericsone的文章
原创 27 篇
翻译 0 篇
转载 65 篇
评论 11 篇
最近评论
liqy17:对概念了解,比较适用
Icewolf:当然不是了!
这个程序是97年的Mekka ’97 4K Intro比赛的一等奖作品。整个程序全长4095字节,其中包含133字节的自解压程序(类RAR压缩),未解压的程序长4782字节。三维场景包含144个立方体,367个面,362个点,15个不同的64*64 的纹理……
mypabx:我们网站上有一些什么是[url=http://www.mypabx.cn/KN/pbx-knbb7aa1.htm]E1[/url]的资料,可参考
NYY:NND,是不是想放病毒啊?鬼才相信你!
曲仲鹏:文章写的很好,证明了中国正在迅速发展,我相信总有一天中国能够超过美国成为世界强国,我相信作者也有同感吧!我们是中国人,我们要证明给美国看中国不是好欺负的,祖国统一是每个中国子民的心愿,希望美国不要参予台湾事情不然会负出很大的代价的我相信今后祖国还能给强给富能够走的更远,为世界和平做出自己的努力让世界充满温暖。
文章分类
收藏
    相册
    Favourite Links
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky

    转载 仔细分析ARP经典问题收藏

     | 旧一篇: Ajax程序设计入门

    今天复习TCP/IP路由技术卷一,再次看到代理ARP那提到的那个透明子网问题,联想到那个经典的网关问题,于是决定仔细分析和整理一下各种情况到该怎么去理解.

    环境:一台中文XP,一台英文XP,双机用交叉线直连.起Sniffer抓包观察.
    A:IP 10.1.1.1/8

    B:IP 11.1.1.1/8

    From:http://www.mycisco.cn

    1.无网关,A ping B,报Destination host unreachable.显然,A机器发现对方与自己不是同一网段,试图寻找网关,但网关不存在,所以报主机不可达,B上的Sniffer未抓到任何包,观察网卡也是只发不收.显然数据没有出去,也没有发生卷一上所说的ARP广播过程.

    2.网关设成对方IP,能正常PING通.为什么能通?从A计算机Sniffer上抓到的包可以看出,A在PING对方过程中,A首先进行了ARP广播,它广播询问11.1.1.1的MAC是什么!但这里有个问题,这个11.1.1.1到底指的是PING中指定的11.1.1.1还是网关中的11.1.1.1呢?先不管它,一会实验就明白了.反正此时的结果是A问11.1.1.1的MAC,显然这个ARP广播是可以被B收到的(为什么就不用说了吧),而11.1.1.1正好就是B的IP地址,理所当然B要回应这个ARP请求.下图是A上的SNIFFER,A首先进行了ARP广播,然后收到了B的应答.

    这样A就有了B的MAC,而B在接到A的ARP广播时候就学到A的MAC,所以双方可以PING通.

    3.网关设成自己,A PING 对方一样是通的,A上抓包如下:

    (抓到的结果与第2种情况一样,所以借用第2种情况的图),A依然是先广播询问11.1.1.1的MAC,这个ARP广播被B接到后,B有义务应答,于是双方知道对方MAC,所以能PING通.与第2种情况不同的是,这里可以明确知道ARP中的11.1.1.1指的是PING中所指定的IP地址而不是网关(此时A网关是10.1.1.1了),那么第2种情况中的11.1.1.1也指的是PING中所指定的IP ?做个实验4看看!

    4.网关设成自己,PING 3个不存在的IP,一个是和自己在同一网段的,一个是和网关在同一网段的,一个是和谁都不在同一网段的:
       4.1:PING和自己同一网段的IP,PING返回超时,在B上抓包结果如下:
             
             可以看出,A发出了询问10.1.1.2的ARP广播而不是询问网关(10.1.1.1)的广播,由于这个IP不存在,所以没有机器做出回应.

       4.2:PING和网关同一网段的IP,超时,B上接到的是A发出的关于11.1.1.2的ARP广播,由于不存在11.1.1.2这个地址,所以没有机器回应.图略.

       4.3:PING和谁都不在一个网段的IP,超时,B上接到是A发出的关于100.1.1.1的ARP广播,由于不存在100.1.1.1这个地址,所以没有机器回应.图略.

    从上面的3个付实验来看,当网关设置成自己的时候,不管PING的地址是什么,计算机发出的ARP广播都是直接询问PING中所指定IP对应的MAC,没有询问网关的MAC,这符合卷一上的描述,其实计算机在广播询问PING命令指定的IP之前还是会先问网关的MAC的,只是这里由于网关是自己所以这一步就被跳过了,到底是不是这样,继续做下面的实验来测试.

    5.A计算机网关设成B的IP地址,但B的网关设置成一个不存在的IP(且与A/B都不在同一网络),PING实验4中的三种情况,
          5.1:PING与自己同一网段IP,抓包可以看到B上接到询问10.1.1.2的ARP广播,但10.1.1.2是不存在的IP,所以没有得到回应.
          5.2:PING与网关同一网段IP,在A上抓包,可以看到A首先发出了关于网关11.1.1.1的ARP广播请求(对应B接到这个广播请求,图略),B对这个11.1.1.1进行了ARP应答.但这个IP是不存在的所以PING结果超时.

       5.3:PING与谁都不在同一网段,超时,结果类似5.2结果,A发出了关于网关11.1.1.1的请求,B做了应答.但PING是超时的.
       5.4:PING计算机B的地址,结果超时,为什么这个也不通呢?按说按照上面的测试,AB计算机都能获得对方MAC,以太网下,有MAC应该就有通信的可能,可这个时候却不通,查看Sniffer抓到的包可以发现:

    A发出了关于11.1.1.1的ARP广播请求,B对11.1.1.1做出应答,但是下面接到了多个B发来的关于100.1.1.1的ARP广播请求,且100.1.1.1的回显请求没有得到B的应答.看来B是一直在试图查询B的网关(100.1.1.1)所对应的MAC,在网关的MAC没有获得应答之前,B不会对PING产生回应.

    从上面的所有实验看出,计算机在与非本网段的地址通信时,计算机首先查找网关的MAC,如果网关MAC得不到回应,是不会对PING作出响应的.因此,实现1和2的情况是属于特殊情况,正好利用了网关与主机IP相同,骗过了计算机.如果AB的网关都设置的与ABip毫不相干的话,相互肯定不通.

    在两台主机之间接上交换机,效果一样.

    对于卷一上提到的,路由器可以通过代理ARP实现网关与主机不在同一网段通信,在2514/12.3IOS上测试不成功,路由器确实可以接到对网关的ARP广播,但是路由器会过滤
    *Mar  1 00:24:45.063: IP ARP req filtered src 21.1.1.2 0016.d30d.1906, dst 10.0.4.5 0000.0000.0000 wrong cable, interface Ethernet0.实验没有成功.

    发表于 @ 2007年12月16日 18:38:00|评论(loading...)|编辑

     | 旧一篇: Ajax程序设计入门

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © eRicSone