路由老是发送ARP,查找自己MAC地址的IP,得到自己确定,又继续发送?这是怎么回事啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了路由老是发送ARP,查找自己MAC地址的IP,得到自己确定,又继续发送?这是怎么回事啊?相关的知识,希望对你有一定的参考价值。

路由老是发送ARP,查找自己MAC地址的IP,得到自己确定,又继续发送?这是怎么回事啊?

这很正常。
arp 的定义我就不超给你了,百度百科啊什么的都有。
在一个局域网内,假如你的IP是 192.168.0.11,你要发送一个数据到 同事电脑 192.168.0.22,那么你的电脑首先看 你的arp缓存中有没有 与 0.22这个IP对应的mac地址,假如没有的话,就发送一个arp包,询问“谁知道192.168.0.22的mac地址,告诉192.168.0.11”,局域网内所有电脑都会收到这个数据包,但是只有 192.168.0.22这个电脑会做出回应。
要知道,在局域网内,是靠mac地址来确定数据的地址与来源的。

那路由发送这个arp包就很正常了,因为路由器要发送给 192.168.0.xx数据,所以要发出 一个arp查询。确定好mac,就把数据包发送了。这表明,路由器查询的mac,正在进行网络通讯。

但是,arp有一个机制,就是“绝对信任”。也就是说,不管发送arp数据包的内容是不是真的假的,都会被当作真的,从而更新自己的arp缓存。arp病毒也就是利用这个机制,来干扰局域网内的数据传送的。
例如:被arp病毒感染的机子是 192.168.0.33(mac:2222-2222-2222-2222),真正的网关是 192.168.1.1(mac:1111-1111-1111-1111)。arp病毒的机子,想要得到所有局域网内的数据包,就要自己充当网关的角色。那他就发送arp回应包,说 192.168.1.1 的mac地址是 2222-2222-2222-2222。因为有绝对信任的机制存在,那所有局域网内的电脑都会根据这个包,把自己的arp缓存表更新。

因为真正的路由也会发送 arp应答包,使得arp缓存更正过来,所以,感染了arp病毒的机器,总是会不断的发送很多假的arp应答包。

所以,局域网内的arp包,是不是正常,还要看数据包的内容,看看对应的ip与mac是否内容正确。

希望你没有感染arp病毒。这种病毒很不好杀的。
讲的不够详细,希望你先看看arp协议,然后再看这个,这样看着就明白了。

祝你好运
参考技术A 路由器在发免费ARP。

IP寻址过程二

,跨三层交换机

 

1,由于 B 的 IP 地址并没有和 A 在一个网段,所以当 A 向 B 发送数据时, A 并不会直接把数据给 B ,而是交给自己的网关,所以 A 首先会 ARP 广播请求 网关 的 MAC 地址 A 得到网关的 MAC 地址后,以它为数据帧的目标 MAC 地址进行封装数据,并发送出去

 

2,Router1 收到该帧后,检查该帧的目标 IP ,并到自己的路由表查找如何到达该网段发现能够到,并且下一跳地址是 routerB 的 s0 端口,于是将数据重新封装,将源地址改为 s0 端口 MAC 地址,目标 MAC 地址改为 router2 的 s0 端口 MAC 地址,并发送给router2

 

3,中间 路由原理一样 。。。。。。

 

4,最后一个路由(routerN )收到该帧,发现目标 IP 就在自己的直连网段,于是查看ARP 缓存,如果找到该 IP 的 MAC 地址,则以该 MAC 地址封装数据发送出去,如果在ARP 缓存没找到,则发出 ARP 广播,请求该 IP 的 MAC 地址,得到对应的 MAC 地址后,再发送给主机 B

 

 

 

在以上数据传递过程中,我们发现,数据帧的源 IP 和目标 IP 始终是不变的,而经过每个路由进行重新封装数据时 MAC 地址则在不断的变化,总是以自己的地址作为源 MAC 地址,下一跳的地址作为目标 MAC 地址

 

上面是因特网上全球唯一的IP 地址的寻找转发过程

 

如果我们现在是在局域网内部发送消息到公网IP 就需要了解net技术 其实是一样的 只不过在net的过程中改变了源端口 并记录下方便返回数据找到地址

 

私有网络三个IP 地址块:

 

A 类:10.0.0.0~10.255.255.255

 

B 类:172.16.0.0~172.31.255.255

 

C 类:192.168.0.0~192.168.255.255

 

随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。

 

借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。

 

NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作。

 

NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。

 

静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

 

是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

 

端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

以上是关于路由老是发送ARP,查找自己MAC地址的IP,得到自己确定,又继续发送?这是怎么回事啊?的主要内容,如果未能解决你的问题,请参考以下文章

三层转发原理

ARP 浅析

ARP与MAC地址

IP协议2

IP地址冲突排查

对于ARP ,若不在同一个网段里,arp请求是如何进行的?有的说给网关就行了,有的要路由器做代理arp怎样的?