delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
【高难度】如何用代码判断本电脑所在的网络是否处于交换机的环境?? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123141119272.html
如题

route   print.

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/dfc5383f-5ec0-4a0f-96da-acee2da3ac2f.mspx?mfr=true  
   
   
  例子  
  本机地址:202.256.257.258      
  掩码:255.255.255.0      
  操作系统:w2k   server      
   
  T:\>route   print      
  ===========================================================================    
  Interface   List      
  0x1   ...........................   MS   TCP   Loopback   interface      
  0x1000003   ...44   e0   4c   10   43   1d   ......   Realtek   RTL8139/810x   Family   Fast   Ethernet   NIC      
  ===========================================================================    
  ==========================================================================      
  Active   Routes:      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                      0.0.0.0                     0.0.0.0         202.256.257.1     202.256.257.258             1      
                  127.0.0.0                 255.0.0.0                 127.0.0.1               127.0.0.1               1      
          202.256.257.0         255.255.255.0     202.256.257.258     202.256.257.258             1      
      202.256.257.258     255.255.255.255                 127.0.0.1               127.0.0.1               1      
      202.256.257.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
                  224.0.0.0                 224.0.0.0     202.256.257.258     202.256.257.258             1      
      255.255.255.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
  Default   Gateway:           202.256.257.1      
  ===========================================================================    
   
  这是route命令的第一个参数的输出,首先是最上方给出了接口列表,一个本地循环,一个网卡接口,网卡结构给出了网卡的mac地址。再说说每一列的内容吧,从做到右依次是:Network   Destination(目的地址),Netmask(掩码),Gateway(网关),Interface(接口),Metric(也不知道是什么,姑且认为是一个度量值或是管理距离)。      
            下面说说每一行内容代表的内容,首先是      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                      0.0.0.0                     0.0.0.0         202.256.257.1     202.256.257.258             1      
  这表示发向任意网段的数据通过本机接口202.256.257.258被送往一个默认的网关:202.256.257.1,它的管理距离是1,这里对管理距离说说,管理距离指的是在路径选择的过程中信息的可信度,管理距离越小的,可信度越高。      
              再看看第二行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                  127.0.0.0                 255.0.0.0                 127.0.0.1               127.0.0.1               1      
  A类地址中127.0.0.0留住本地调试使用,所以路由表中所以发向127.0.0.0网络的数据通过本地回环127.0.0.1发送给指定的网关:127.0.0.1,也就是从自己的回环接口发到自己的回环接口,这将不会占用局域网带宽。      
            第三行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
          202.256.257.0         255.255.255.0     202.256.257.258     202.256.257.258             1      
  这里的目的网络与本机处于一个局域网,所以发向网络202.256.257.0(也就是发向局域网的数据)使用本机:202.256.257.258作为网关,这便不再需要路由器路由或不需要交换机交换,增加了传输效率。      
            第四行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
      202.256.257.258     255.255.255.255                 127.0.0.1               127.0.0.1               1      
  表示从自己的主机发送到自己主机的数据包,如果使用的是自己主机的IP地址,跟使用回环地址效果相同,通过同样的途径被路由,也就是如果我有自己的站点,我要浏览自己的站点,在IE地质栏里面输入localhost与202.256.257.258是一样的,尽管localhost被解析为127.0.0.1。      
            第五行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
      202.256.257.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
  这里的目的地址是一个局域广播地址,系统对这样的数据包的处理方法是把本机202.256.257.258作为网关,发送局域广播帧,这个帧将被路由器过滤。      
            第六行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                  224.0.0.0                 224.0.0.0     202.256.257.258     202.256.257.258             1      
  这里的目的地址是一个组播(muticast)网络,组播指的是数据包同时发向几个指定的IP地址,其他的地址不会受到影响。系统的处理依然是适用本机作为网关,进行路由。这里有一点要说明的组播可被路由器转发,如果路由器不支持组播,则采用广播方式转发。      
            最后一行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
      255.255.255.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
  目的地址是一个广域广播,同样适用本机为网关,广播广播帧,这样的包到达路由器之后被转发还是丢弃根据路由器的配置决定。      
   
  还有个半行没有解释      
  Default   Gateway:           202.256.257.1      
  这是一个缺省的网关,要是发送的数据的目的地址根前面例举的都不匹配的时候,就将数据发送到这个缺省网关,由其决定路由。      
 

其他网络方面的   IpHlpApi   里的api..  
   
  参考例子  
  http://www.delphibox.com/article.asp?articleid=3664

老兄,如果你对所转的贴有一定研究的话   能把实现判断是否处于交换机环境的具体方法写出来吗?   我是个新手,照顾一下吧  
  谢谢

windows能查到的就是这些  
  如何   判断   交换机环境   你还要查下   相关网络书籍..资料   比较复杂..  
   
   
  一般是所在网段的   xxx.xxxx.x.1是交换机   地址   可以telnet   等方式登陆.

xxx.xxxx.x.1也有可能是HUB啊!

我上面都说了。。。

如何   判断   交换机环境   你还要查下   相关网络书籍..资料   比较复杂..  
  ---------------------------------------------------------------  
  大哥     弄了半天转的贴都和我所问的问题没什么关系啊,还不如直接告诉我去查书籍资料了  
  但是还是感谢你的回帖

写程序也是用windows   api   ..  
  也和用   windows系统命令   一样  
  就这些  
  如何判断.   比较复杂了    
  比如   一个网络   用到了   多个   cisco   3550堆叠  
  我只能用   cisco的   命令得到网络   结构..   (telnet.   ..)  
   
  windows系统是不行的...  
 

朋友   不要着急说不行哦,再听听其他朋友的建议

顶一下哦

顶一下哦

posted on 2009-05-26 17:28 delphi2007 阅读(165) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。