计算机网络-----ARP协议

1、基本概念:

        ARP协议名为地址解析协议(Address Resolution Protocol),作用是通过IP地址来得到MAC地址。

2、ARP数据包格式:

计算机网络-----ARP协议_第1张图片

 计算机网络-----ARP协议_第2张图片

Hradware Type:硬件类型,以太网

Protocol Type:表示三层协议的类型,一般是IP

Hradware Length:硬件长度

Protocol Length:协议长度

Operation Code:ARP报文的类型,Request(请求)/Reply(回复)

Source Hardware Address(Sender MAC address):源MAC地址

Source Protocol Address(Sender IP address):源IP地址

Destination Hardware Address(Target MAC address):目的MAC地址

Destination Protocol Address(Target IP  address):目的IP地址

ARP报文不能穿越路由器,不能转发到其他广播域

3、ARP工作原理

        我们知道了目标主机的ip地址,想和它通信,我们就发送一个ARP请求报文,广播给此网段的所有主机,如果某主机IP和目标IP(Target IP address)一样,那么目标主机就会reply一个ARP回复报文,告诉想和它通信的主机自己的MAC地址。然后目标主机的IP地址和MAC地址都会被写入到本机的ARP缓存表里面,后续如果还需要和目标主机通信,那不就不用再去ARP解析了。当然,ARP缓存表的表项是有老化时间的,一般5~20分钟。过了老化时间就需要从新发送arp请求去获取mac地址。

        ARP缓存表存在着静态条目和动态条目,如下图所示:

计算机网络-----ARP协议_第3张图片

        其中,类型列的“动态”表示使用ARP请求广播动态获取到的条目,“静态”表示是手工配置和维护的ARP表。静态条目无老化时间,会一直存在,如果想增加静态条目,可以使用命令arp -s IP地址 MAC地址来添加。

4、ARP协议的工作层

        ARP协议工作在哪一层?在《TCP/IP详解》里面把ARP协议归到网络层。查阅了一些文章,网上大多数是把ARP协议放到网络层。也有人说在OSI七层模型里面ARP协议属于数据链路层;也有人说这个不用太过追究,把它归到哪层(指网络层或数据链路层)都可以。

        我先持保留意见,等我再去研读研读各层的工作原理和流程再来发表发表意见!

        

你可能感兴趣的:(计算机网络,网络协议,网络)