自学网络安全day5

一、概述

①ARP(Address Resolution Protocol)即协议解析协议,用于实现从IP地址到MAC地址的映射,即询问目标IP对应的MAC地址。

②在网络通信中,主机和主机通信的数据包需要依据封装完整后,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目MAC的封装。

③一般情况下,上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装。

二、原理

同一个局域网里面,当PC1需要跟PC2进行通信时,此时PC1是如何处理的?

根据OSI数据封装顺序,发送方会自顶向下(从应用层到物理层)封装数据,然后送出去

PC  ping  PC2

PC1封装数据并且对外发送数据时,上图中出现了“failed”,即数据封装失败了,为什么?我们给PC1指令“ping  ip2”,这就告知了目的ip,此时PC1便有了通信需要的源目IP地址,但是PC1仍然没有通信需要的目的MAC地址。这就好比我们要寄一个快递,如果在快递单上仅仅写了收件人的姓名(IP),却没有写收件人的地址(MAC),那么这个快递就没法寄出,因为信息不完整。

那么,现在PC1已经有了PC2的IP地址信息,如何获取到PC2的MAC地址呢?此时,ARP协议就派上用场了。

通过第三和第四步骤,我们看到PC1和PC2进行了一次ARP请求和回复过程,通过这个交互过程,PC1具备了PC2的MAC地址信息。接下来PC1会怎么做呢?在真正进行通信之前,PC1还会将PC2的MAC信息放入本地的【ARP缓存表】,表里面放置了IP和MAC地址的映射信息。例如IP2←→MAC2.接下来,PC1再次进行数据封装,正式进入ping通信。

小结:经过上面六个步骤的处理,PC1终于把数据包发送出去了,之后便可以进行正常的通信了。看到了吧,ARP的功能和实现过程是如此的简单:它在发送方需要目标MAC地址时及时出手,通过“一问一答”的方式获取到特定IP对应的MAC地址,然后存储到本地【ARP缓存表】,后续需要的话,就到这里查找。既然是“缓存”表,意味着它有时效性,并且如果电脑或者通信设备重启的话,这张表就会清空;也就是说,如果下次需要通信,又需要进行ARP请求。

在我们的windows/macos系统下,可以通过命令行“arp -a”查看具体信息。

“arp -d”清空ARP表项。

三、ARP原理之广播请求单播回应

实际网络中的LAN可能有几十上百的主机,那么PC1如何将这个【ARP请求包】顺利交给PC2,而PC2又如何顺利把【ARP回应包】返回给PC1?

广播包:全F,ff:ff:ff:ff:ff:ff

PC1发送的请求广播同时被其他主机收到,然后PC3和PC4收到之后(发现不是问自己)则丢弃。而PC2收到之后,根据请求包里面的信息(有自己的IP地址),判断是给自己的,所以不会做丢弃动作,而是返回ARP回应包。

ARP回应包如何处理的?

ARP请求包的完整信息是:我的IP地址是IP1,MAC地址MAC1,请问谁是PC2,你的IP2对应的MAC地址是多少?

ARP请求首先有“自我介绍”,然后才是询问。PC2在收到请求之后,就可以将PC1的IP和MAC映射存储在本地的【ARP缓存表】,既然知道PC1在哪里,就可以返回ARP单播回应包。

小结:ARP协议通过“一问一答”实现交互,但是“问”和“答”都有讲究,“问”是通过广播形式实现,“答”是通过单播形式。

四、ARP协议字段解读

Hardware type:硬件类型,标识链路层协议

Protocol type:协议类型,标识网络层协议

Hardware size:硬件地址大小,标识MAC地址长度,这里是6个字节(48bit)

Protocol size:协议地址大小,标识IP地址长度,这里是4个字节(32bit)

Opcode:操作代码,标识ARP数据包类型,1表示请求,2表示回应

Sender MAC address:发送者MAC

Sender IP address:发送者IP

Target MAC address:目标MAC,此处全0表示在请求

Target IP address:目标IP

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值