服务器是怎么工作的?(二)——arp工作原理详细解析

一、什么是ARP协议(Address Resolution Protocol)

     ARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址的,是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系。

    在TCP/IP分层结构中,把ARP划分为网络层,为什么呢,因为在网络层看来,源主机与目标主机是通过IP地址进行识别的,而所有的数据传输又依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路中都有着自己的一套寻址机制,如在以太网中使用MAC地址进行寻址,以标识不同的主机,那么就需要有一个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所有ARP协议在网络层被应用,它是网络层与链路层连接的重要枢纽,每当有一个数据要发送的时候都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次看来,他们只标识IP地址,从不跟硬件打交道,就像我一样,我做应用层的工作,而不会去写底层驱动,得专门有个同事将驱动写完给我,我只需要知道他提供的API接口就行了,而我就专心处理我的工作,我相信他能把驱动写好,我只需要直接调用即可。

 

二、工作原

    每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。

    当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址。

    如果有,就直接将数据包发送到这个MAC地址;

    如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。

 

三、工作流程

    使用wireshark抓包工具,梳理一下,arp工作流程。

    1、192.168.154.197寻找192.168.154.195地址,197向局域网内所有用户 发出一个ARP请求包;客户端收到这个ARP包会检查自身IP地址,如果不是195就会忽略掉,只有195收到这个包 会 进行响应。

 

2、195收到197的ARP包,做出响应,如下:195把本机的MAC地址回复给195。 

三、相关命令

arp  #本机缓存列表arp -a #查看本机的 IP地址和MAC地址对应关系arp -d #删除arp表中的所有信息arp -d 192.168.154.195 #删除该条记录

猜你喜欢

转载自blog.csdn.net/weixin_42350212/article/details/108116483