赞
踩
当一个应用层的数据在网络中传输时,会被逐步封装成链路层的帧,而帧是通过链路层的MAC地址进行定位传输的,那么一个初次通信的主机如何知道对方的MAC地址呢,这时候就需要ARP地址解析协议来获取对方的MAC地址,ARP是提供网络层地址(IP地址)到相关硬件地址(MAC)的映射。ARP工作在网络层
1.在这个以太网帧的头部中,前两个字段分别是目的和源以太网的MAC地址,对于ARP请求,目的以太网地址为FF:FF:FF:FF:FF:FF的广播地址。在以太网帧中,对于ARP请求或者应答,2个字节的长度或者类型必须为0x0806。如果取值为0x0800的帧代表IP协议帧
2.长度/类型字段之后的前4个字节指定了最后4个字段的类型和大小。这些值由IANA来指定。主语硬件和协议用于描述ARP分组中的字段。例如:一个ARP请求询问协议(一般为IPV4地址)地址对应的硬件地址(一般为以太网MAC地址)。硬件类型字段指出硬件地址类型。对于以太网,该值为1.协议类型字段指出映射的协议地址类型。对于IPV4地址,该值为0x8000。对于下面一个字节的字段,硬件大小和协议大小分别指出硬件地址和协议地址的字节数。对于以太网中使用的IPV4地址的ARP请求或应答,他们的值分别是6和4。op字段指出该操作是ARP请求(值为1),ARP应答(值为2),RARP请求(3),或者RARP应答(4)。因为ARP请求和ARP应答的长度/类型字段是相同的,所以op这个选项是必须的
3.紧跟着的4个字段就是发送放的硬件地址(一般是以太网的MAC地址),发送方的协议地址(一般是IPV4协议地址),目的硬件地址,目的协议地址。需要注意的是这里存在着一些重复的信息:以太网的头部和ARP消息中都存在发送方的硬件地址。对于一个ARP请求,除了需要获取的目的硬件地址为0之外,其他字段都需要填充,当一个系统收到一个ARP请求,它填充自己的硬件地址,将两个发送方地址和两个接收方的地址互换,把op字段设置为2,然后发送生成的应答
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。