今天是来公司的第二个周一,早上收到Boss抄送的邮件说网段之间无法通信,心想现在还不太懂这个原理,于是就在网络上搜罗了一下资料,作此整理(大部分文字内容来自网络

1. 同网段和不同网段设备通信原理详解

链接地址(http://blog.csdn.net/tao546377318/article/details/50313441),

2. 在阅读上面链接地址给出的文章时,遇到了不懂的问题诸如【ARP,地址解析协议】,已给出链接。

3. 下面是对地址解析协议的相关知识摘录:

  在每台安装有TCP/IP协议的电脑或路由器裡都有一个ARP缓存表,表里的IP地址与MAC地址是一对应的,如下表所示。

主机名稱IP地址MAC地址
A 192.168.38.10 00-AA-00-62-D2-02
B 192.168.38.11 00-BB-00-62-C2-02
C 192.168.38.12 00-CC-00-62-C2-02
D 192.168.38.13 00-DD-00-62-C2-02
E 192.168.38.14 00-EE-00-62-C2-02
... ... ...

  以主机A(192.168.38.10)向主机B(192.168.38.11)发送数据为例。
  1.当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到就知道目标MAC地址為(00-BB-00-62-C2-02),直接把目标MAC地址写入里面发送就可。
  2.如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播(ARP request),目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.38.11的MAC地址是什么?”

  3.网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应(ARP response):“192.168.38.11的MAC地址是00-BB-00-62-C2-02”,此回应以单播方式。这样,主机A就知道主机B的MAC地址,它就可以向主机B发送信息。同时它还更新自己的ARP高速缓存(ARP cache),下次再向主机B发送信息时,直接从ARP缓存表里查找就可。


  ARP缓存表采用老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。