05 地址解析协议ARP
地址解析协议(ARP)
ARP(Address Resolution Protocol)地址解析协议:
根据已知的IP地址解析获得其对应的MAC地址

ARP工作流程
1.HOST1 ARP缓存
HOST1通信之前需要封装数据包,其中在封装二层数据链路层时,终端查询自己的ARP缓存表,ARP缓存表维护一个IP和MAC地址的对应关系,根据对端IP地址再查询ARP缓存表可知道对方的MAC地址,然后直接封装就好了,默认ARP缓存表是没有对应关系的(ARP的默认老化时间为180秒,就是原本的ARP记录如果180秒没有被使用,那么此对应关系会被删除)

2.HOST1 ARP请求
终端1发生ARP请求来获取IP和MAC地址的对应关系并存到自己的ARP表中,由于不知道对方的MAC地址因此在封装ARP请求的Ether_II目的MAC为ff:ff:ff:ff:ff:ff(广播地址),在ARP报文中由于不知道对端的MAC地址因此设置目的MAC为00:00:00:00:00:00

3.HOST2 ARP缓存写入
HOST1发送的ARP请求为广播,在同一广播域的主机都会收到,HOST2在收到ARP请求报文后,对比ARP报文中的目的IP,发现和本机的IP匹配,讲ARP请求报文中的源IP和源MAC的对应关系写入到自己的ARP缓存表中

4.HOST2 发送ARP响应
HOST2需要对ARP请求进行回复,由于上一步中已经从ARP请求将HOST1的IP和MAC地址的对应关系写入到了ARP缓存中,在封装ARP回复时目的MAC就可以封装进去了,不用以广播的形式,而是单播,ARP Replay的封装和ARP请求一样,只是ARP类型该成了ARP Replay,在ARP Replay报文中封装了源目IP和MAC地址

5.HOST1写入ARP缓存表
HOST1收到ARP Replay后将ARP报文中的源IP和源MAC记录进ARP缓存表中,之后HOST1和HOST2通信就不需要考虑二层封装目的MAC未知问题

免费ARP报文
在终端获取到了自己的IP地址后,会发送一个免费的ARP报文,免费ARP是一个ARP请求报文,封装ARP时源目IP和源MAC都是自己,Ether_II的源MAC是自己,目的MAC是广播地址,如果有人回ARP Replay,代表此IP已经和其他MAC地址绑定了,免费ARP报文的作用是查询自己的IP是否和其他终端冲突了
抓包

在GE0/0/0上抓
AR1
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys AR1
[AR1]inte gi 0/0/0
[AR1-GigabitEthernet0/0/0]ip addr 192.168.1.1 255.255.255.0
Aug 27 2023 22:47:03-08:00 AR1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP
on the interface GigabitEthernet0/0/0 has entered the UP state.
AR2
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys AR2
[AR2]inte gi 0/0/0
[AR2-GigabitEthernet0/0/0]ip addr 192.168.1.2 255.255.255.0
Aug 27 2023 22:48:50-08:00 AR2 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP
on the interface GigabitEthernet0/0/0 has entered the UP state.
AR1 ping AR2
[AR1]ping 192.168.1.2
PING 192.168.1.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=255 time=90 ms
Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=255 time=20 ms
Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=255 time=20 ms
--- 192.168.1.2 ping statistics ---
3 packet(s) transmitted
3 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/43/90 ms

05 地址解析协议ARP的更多相关文章
- 2016.7.8 计算机网络复习要点第四章之地址解析协议ARP
1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把A ...
- 【RL-TCPnet网络教程】第23章 RL-TCPnet之地址解析协议ARP
第23章 RL-TCPnet之地址解析协议ARP 本章节为大家讲解ARP(Address Resolution Protocol,地址解析协议),通过前面章节对TCP和UDP的学习,需要大家 ...
- TCP/IP具体解释学习笔记——地址解析协议ARP
一 概述 我们知道,IP协议是用来在不同的物理网络之间数据传输的.要在不同的网络之间数据传输,至少须要将IP协议所用的地址转换成特定网络所使用的物理地址. 一般来说.就是将IPv4地址转换为mac地址 ...
- TCP/IP的排头兵――地址解析协议(ARP) (转载)
转自:http://blog.csdn.net/wangxg_7520/article/details/2488442 一.引言 古人行军打仗,都要有一个可以引领队伍前进方向的排头兵,在TCP/IP网 ...
- 地址解析协议ARP与逆地址解析协议RARP
IP地址是用来通信的,但是和硬件地址是有区别的.物理地址是数据链路层和物理层使用的地址,IP地址是网络层及以上各层使用的地址. 发送数据时,数据从高层向下层传输,使用IP地址的IP数据报交给下层的数据 ...
- TCP/IP协议(4): 地址解析协议(ARP) —— 网络地址转换为物理地址的方式
TCP/IP协议(4): 地址解析协议(ARP)--网络地址转换为物理地址的方式 关于地址解析协议(Address Resolution Protocol, ARP) 关于 ARP 地址解析协议(Ad ...
- <TCP/IP>地址解析协议ARP
从前两章中有学到,网络层地址和链路层地址是由不同的,一个是物理地址,一个是IP地址.物理地址固定存储在网卡中,不会改变,而IP地址是可以网络管理员和用户自己分配的 在传统的IPv4网络中,一台A主机要 ...
- 地址解析协议(ARP) 分析
什么是ARP协议 ARP(A ddress R esolution P rotocol)- 地址解析协议 ,用于将IP地址解析为MAC地址.复杂来说,ARP用于32位IPv4地址和以太网的48位MAC ...
- 地址解析协议ARP,网络层协议IP、ICMP协议
分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析并且应用ARP协议 2.分析IP协议 3.分析ICMP协议 1.分析arp报文的格式与内容 (1)ping ...
- 地址解析协议ARP(Address Resolution Protocol)
1.引言 说明: ARP的作用,解决了什么问题: 以太网中的链路层,可能会采用不同的网络技术,而且不以ip作为路由依据. 链路层以mac地址作为路由依据. ARP的功能是在32 bit的IP地址和采用 ...
随机推荐
- Django 与 Vue 语法冲突问题完美解决方法
Django 与 Vue 语法冲突问题完美解决方法 当我们在 django web 框架中,使用 vue 的时候,会遇到语法冲突. 因为 vue 使用 {{}}, 而 django 也使用 {{}}, ...
- 从前后端的角度分析options预检请求
摘要:options预检请求是干嘛的?options请求一定会在post请求之前发送吗?前端或者后端开发需要手动干预这个预检请求吗?不用文档定义堆砌名词,从前后端角度单独分析,大白话带你了解! 本文分 ...
- 汉字编码新尝试:字理组字编码方案v0.0
↑对,这就是正片↑(同步自敝知乎专栏,不定期更新) 高清(确信)版:http://farter.cn/zzdm/latest.png 不用任何教程,试试对着表解码一下: 43 295 817 146 ...
- 记一次618军演压测TPS上不去排查及优化
本文内容主要介绍,618医药供应链质量组一次军演压测发现的问题及排查优化过程.旨在给大家借鉴参考. 背景 本次军演压测背景是,2B业务线及多个业务侧共同和B中台联合军演. 现象 当压测商品卡片接口的时 ...
- 常量接口 vs 常量类 vs 枚举区别
把常量定义在接口里与类里都能通过编译,那2者到底有什么区别呢? 那个更合理? 常量接口 public interface ConstInterfaceA { public static final S ...
- 体验了一把 MiniGPT-4,一言难尽
最近看到一个好玩的开源项目:MiniGPT-4. 看名字像 GPT-4 的小老弟,其实没啥关系. 简单说,它可以识别图像,基于图像你可以和它对话,它能生成图片描述.网站.诗歌. 先看看官方给出的例子截 ...
- 关于进程、线程、协程的概念以及Java中的应用
进程.线程.协程 本文将从"操作系统"."Java应用"上两个角度来探究这三者的区别. 一.进程 在我本人的疑惑中,我有以下3个问题. 1.1为什么要引入进程? ...
- 国标GB28181协议客户端开发(一)整体流程和技术选型
国标GB28181协议客户端开发(一)整体流程和技术选型 本系列文章将介绍国标GB28181协议设备端的开发过程.本文旨在探讨整体设计和技术选型方面的考虑,为开发人员提供指导和参考.文章将从设备端开发 ...
- maven报错:不再支持源选项 5。请使用 6 或更高版本
问题描述 在执行命令 mvn compile 发生错误 D:\Github_NOTES\JavaWeb_Learning\02Java\JavaWeb\Code\Maven1>mvn clean ...
- Linux相关概念及操作
目录 linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录"/",然后在此目录下再创建其他的目录. 1./bin 是Binary的缩写,这个目录存放着最经常使 ...