app开发者平台在数字化时代的重要性与发展趋势解析
972
2022-11-30
网络层 ARP地址解析协议
网际层的 IP 协议及配套协议
网络层的功能是为数据包选择路径,转发数据包,这主要是IP协议。
ARP协议为IP协议提供服务,ARP协议在网络层但是在靠下方。
ICMP当网络不通的时候,比如数据包转发到路由器,路由器不知道怎么转了,那么这个路由器要返回查差错报告,告诉发送端怎么回事。也可以测试网络通不通,发送一个ICMP请求,对面返回一个ICMP响应。
ICMP是依赖于IP协议,ICMP要封装在ip数据包里面
地址解析协议 ARP 的作用
已经知道了一个机器(主机或路由器)的IP地址,如何找出其相应的硬件地址? 地址解析协议 ARP 就是用来解决这样的问题的。
PC1和PC4通信,可以看到ARP rquest请求转发到了另外一个交换机所有口,在PC4上面抓包可以看到PC4 ARP reply响应了。广播到交换机所有口,其次只有对应的PC4会响应,其他的机器不会响应。
PC5收到之后并不响应ARP请求
PC>arp -aInternet Address Physical Address Type192.168.0.5 54-89-98-09-11-9B dynamic
最后观察一些ARP请求的源IP MAC和目标IP MAC变化
地址解析协议 ARP
通信时使用了两个地址:
IP 地址(网络层地址)MAC 地址(数据链路层地址)
在以太网当中,计算机网卡都有mac地址,在通信的时候网络层写上IP地址,在数据链路层,还需要写上mac地址,但是计算机如何知道目标计算机的mac地址呢?
这个时候就需要ARP协议了。它的作用就是将本网段当中的Ip地址解析出它的mac地址来。
解析就发广播问IP对应的IP地址是什么,一广播,那么都收到了。
ARP协议只在以太网当中使用,在本网段计算机通信的时候直接ARP协议发广播解析目标IP的mac地址。
如果和跨网段计算机通信,那么需要ARP解析网关的mac地址,然后使用网关的mac地址来封装。
当这个路由器D和计算机发数据的时候,也需要使用ARP协议解析到目标主机MAC地址来封装。
路由器和路由器之间是点到点链路用的是ppp协议,ppp协议没有mac地址这一说法,所以ARP协议只在计算机连接交换机网络当中可以使用的到,在ppp链路上使用不到。
IP协议在通信之前,第一件事情是解析mac地址,先用到ARP协议,所以ARP协议为IP协议提供服务。
计算机发广播到所有计算机
收到广播之后
可以看到ARP协议目标MAC地址为全f。
ARP的字段也可以看到
地址解析协议 ARP 要点
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
ARP请求分组:包含发送方硬件地址 / 发送方 IP 地址 / 目标方硬件地址(未知时填ff:ff....... ) / 目标方 IP 地址。
本地广播 ARP 请求(路由器不转发ARP请求)。
ARP 响应分组:包含发送方硬件地址 / 发送方 IP地址 / 目标方硬件地址 / 目标方 IP 地址。
ARP 分组封装在物理网络的帧中传输
ARP 高速缓存的作用
存放最近获得的 IP 地址到 MAC 地址的绑定,以减少 ARP 广播的数量。
为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。
当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。
从 IP 地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。
只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。
应当注意的问题
ARP 用于解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。
所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。目标方硬件地址(未知时填ff:ff....... )
使用 ARP 的四种典型情况
发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址(网关的mac地址)。剩下的工作由这个路由器来完成。发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。
ARP欺骗
H1问网关的MAC地址的时候,其实H2计算机也受到了,H2告诉其网关地址是M2,这样就将缓存里面信息写成M2了,以后通信的时候数据包就给了M2了,然后M2再给网关,那么H2就可以捕获H1上网的流量了。这叫ARP欺骗。
还有一种就是给了错误的mac地址,那么就转不到路由器上面,这样就不能上网了。有些病毒是专门做这种事情的。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~