不知道有多少人可以说清楚这两个问题的原因1.可能很多人都知道这个一个事实:IP不再同一个网段的机器,即使通过Switch相连,也是不能相互通信的。但是,不知道有多少人可以说清楚其中的原因?举一个例子来说明:
A机和B机通过Switch相连,但是其IP不在同一个网段,IP具体如下:
A机:10.76.100.1/24
B机:192.168.16.1/24
我们以A机FTP B机为例,A机ftp 192.168.16.11)首先,A机发一个ARP请求包,请求IP地址是192.168.16.1的机器告知MAC地址。由于这个包是以广播的形式发出的,所以,对于连接在同一个Switch上的B机,应该是可以收到这个请求包的。
2)由于A机发ARP请求包的同时,也会把A机的IP地址和MAC地址的映射关系发给各个节点,所以B机在收到ARP请求包的同时也就得到A记得MAC地址,这样,也就意味着B机是可以将ARP的相应包送给A机的。
3)在A机收到B机的ARP相应包后,就知道了B机的MAC地址。由于Switch是根据MAC地址和端口的映射关系转发消息包的,那么A机应该是可以将FTP信息包发给B机的。但是,为什么事实上A机FTP B机是不成功的呢?这可能是因为高层的上的处理,但是由于水平有限,一直没能够想明白这个问题。2.当我把A机的设置一个默认网关,默认网关就是A机本身的地址10.76.100.1。同样B机设置一个默认网关,默认网关就是A机本身的地址192.168.16.1。这样,就可以相互之间可以ping通了,哪位高手大侠能给一个详细的解释?
先谢了!!! 

解决方案 »

  1.   

    本帖最后由 wenxy1 于 2008-11-26 17:27:24 编辑
      

  2.   

    I P路由选择是逐跳地( h o p - b y - h o p)进行的。从这个路由表信息可以看出, I P并不知道到
    达任何目的的完整路径(当然,除了那些与主机直接相连的目的)。所有的I P路由选择只为数
    据报传输提供下一站路由器的I P地址。它假定下一站路由器比发送数据报的主机更接近目的,
    而且下一站路由器与该主机是直接相连的。
    I P路由选择主要完成以下这些功能:
    1) 搜索路由表,寻找能与目的I P地址完全匹配的表目(网络号和主机号都要匹配)。如果
    找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口(取决于标
    志字段的值)。
    2) 搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目
    指定的下一站路由器或直接连接的网络接口(取决于标志字段的值)。目的网络上的所
    有主机都可以通过这个表目来处置。例如,一个以太网上的所有主机都是通过这种表
    目进行寻径的。
    这种搜索网络的匹配方法必须考虑可能的子网掩码。关于这一点我们在下一节中进行
    讨论。
    3) 搜索路由表,寻找标为“默认( d e f a u l t)”的表目。如果找到,则把报文发送给该表目
    指定的下一站路由器。
    如果上面这些步骤都没有成功,那么该数据报就不能被传送。如果不能传送的数据报来自
    本机,那么一般会向生成数据报的应用程序返回一个“主机不可达”或“网络不可达”的错误。
    完整主机地址匹配在网络号匹配之前执行。只有当它们都失败后才选择默认路由。默认
    路由,以及下一站路由器发送的I C M P间接报文(如果我们为数据报选择了错误的默认路由),
    是I P路由选择机制中功能强大的特性。我们在第9章对它们进行讨论。
    为一个网络指定一个路由器,而不必为每个主机指定一个路由器,这是I P路由选择机制
    的另一个基本特性。这样做可以极大地缩小路由表的规模,比如I n t e r n e t上的路由器有只有几
    千个表目,而不会是超过1 0 0万个表目。摘自《TCP/IP详争》卷一。