首页 > 其他分享 >职场小白必备知识点-ARP协议

职场小白必备知识点-ARP协议

时间:2023-11-08 14:32:40浏览次数:30  
标签:ARP 知识点 请求 IP PC MAC FF 职场

ARP协议介绍

ARP-地址解析协议,可以利用ip地址找到网卡的物理地址。相反也可以通过MAC(网卡物理地址名称)找到IP地地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。

ARP 请求建立本地ARP表项的过程是怎样的呢?
先来回忆一下IP包到MAC帧封装的过程,MAC帧封装是根据路由下一跳的IP地址,进行本地ARP查表,然后封装MAC帧的。如果ARP表项中没有对应的ARP表项,这时数据包的发送设备会发送ARP请求(广播).
广播这里提一下:之前讲到过二层的通信过程,收到MAC帧后会把MAC帧头的目的MAC与本机比较,相同则留下校队后交付上层,不同则丢弃;问题就来了,ARP是三层协议,发送ARP请求就是希望得到目的IP的MAC地址,所以这个目的MAC地址怎么填写呢?答:TCP/IP规定,目的IP为FF-FF-FF-FF-FF-FF为广播地址,所有设备接收到以该地址为目的地址的MAC帧,都需要接收处理后交付上层;
ARP请求的格式是这样的:
职场小白必备知识点-ARP协议_IP


简单介绍:
硬件类型指的是网络的类型,这里的讲解都是以以太网为例的,此标志位1
协议类型:如IPV4时此字段为0080;
硬件长度:8位字段,单位:字节,以太网为6,即6字节,6*8=48bit
协议长度:例如IPV4时,此处定义为4
操作:这个地方需要注意,ARP请求和ARP应答的区别之一;1:请求;2:应答。
发送发的IP,MAC;
目的放得源IP,MAC;(注意ARP请求时,由于不知道目的MAC地址,此处为全0)
由于ARP请求的目的地址是FF-FF-FF-FF-FF-FF,同一个广播域内的所有设备都会接收到这个请求,二层对于FF-FF-FF-FF-FF-FF为目的 的MAC帧的处理方式是接收并交付三层处理。三层接收到二层交付的IP包后会对数据段进行分析比较,这时分两种情况:
数据段的目的IP地址是本机:
1.把ARP请求方得IP与MAC对应关系存入本地ARP表(这一点很重要,安全部分还会讲到);
2.发送ARP响应,格式见ARP响应图;

数据段的目的IP地址不是本机:
丢弃该ARP请求;
ARP请求过程(二)
上节介绍了ARP请求的帧格式,和ARP请求发送接收和应答过程;为了大家更好的理解ARP请求,这里举例来介绍一下:
职场小白必备知识点-ARP协议_物理地址_02


如图:
PC A IP:192.168.1.A MAC: AA-AA-AA-AA-AA-AA
PC B IP:192.168.1.B MAC: BB-BB-BB-BB-BB-BB
PC C IP:192.168.1.C MAC CC-CC-CC-CC-CC-CC
PC D IP: 192.168.1.D MAC DD-DD-DD-DD-DD-DD
PC A与PC B通信,但是由于 PC A的ARP表中没有 PC B的表项,于是进行ARP请求,根据上一节 ARP请求格式应该为:
职场小白必备知识点-ARP协议_IP_03

其中协议字段的0X0806代表ARP协议报文
目的MAC为广播MAC,源MAC为IP A的mac
交换机在接收到此MAC帧后会根据MAC帧的目的地址转发,由于使用全F的广播地址,交换机进行广播域内的广播:PC B PC C PC D 三台PC接收到ARP请求报文后,接收报文,交付三层处理,其中PC C PC D丢弃报文,而由于报文中的目的IP与PC B IP相同,PC B将报文中的源IP MAC对应存入ARP表项(已有则覆盖,这步很关键),并发出ARP响应报文格式为:
职场小白必备知识点-ARP协议_物理地址_04
区别大家自己观察;
结论,ARP请求是以广播形式发出,而ARP响应则是单播形式。



标签:ARP,知识点,请求,IP,PC,MAC,FF,职场
From: https://blog.51cto.com/lifulin/8253635

相关文章

  • WPF中的Binding的常见知识点与技巧
    在XAML中,可以绑定到许多不同类型的数据源和属性。以下是一些可以绑定的常见数据源和属性:属性:可以绑定到对象的属性,例如控件的Text、Visibility、IsEnabled等属性。集合:可以绑定到集合数据,如List、ObservableCollection、Array等。在绑定到集合时,还可以使用索引器绑定到特定项。静态......
  • C# 一款免费且离线的.NET使用的OCR,PaddleOCRSharp
    本项目是一个基于百度飞桨[PaddleOCR](https://github.com/paddlepaddle/PaddleOCR)的C++代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能,同时针对小图识别不准的情况下,做了优化,提高识别准确率。包含总模型仅8.6M的超轻量级中......
  • 不得不学的“职场高手秘籍”,有这3张表,做工作进度管理必备!
    在职场中,进度管理是非常重要的一环,无论是完成自己的工作还是协调团队的工作,都需要对进度进行有效的管理,以确保工作能够顺利进行,达成既定目标。工作进度表工作管理/自动统计/图表分析/可编辑修改 在制定工作计划进度时,需要对工作计划内容进行细致的分析,确定工作计划的目标和时间节......
  • 21.6 Python 构建ARP中间人数据包
    ARP中间人攻击(ARPspoofing)是一种利用本地网络的ARP协议漏洞进行欺骗的攻击方式,攻击者会向目标主机发送虚假ARP响应包,使得目标主机的ARP缓存中的IP地址和MAC地址映射关系被篡改,从而使得目标主机将网络流量发送到攻击者指定的虚假MAC地址。攻击者可以在不被发现的情况下窃取目标主......
  • 《MySQL》复习必刷知识点
    1.数据库SQL语言的缩写DDL:数据定义语言DataDefinitionLanguage,定义语言就是定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象,比如表、聚簇、索引、视图、函数、存储过程和触发器关键字包括:Create,Alter,Drop,TruncateDML:数据操纵语言全称是DataManipulationLa......
  • PostSharp使用步骤
    使用postsharp的意图:详细log记录,异常处理,鉴权验证。 步骤:1、下载postsharp的vs插件安装,并重启vs2、选中某项目,右键属性,有postsharp选项卡,点击‘add postsharp to this project’。 3、在以上项目写新建的日志异常处理类,并继承postsharp[Serializable][Attrib......
  • 在Winform中通过LibVLCSharp回调函数获取视频帧
    参考资料:VlcVideoSourceProvider优点:实现视频流的动态处理。缺点:视频解码(CPU/GPU)后图像处理CPU占用率高。在Winform中通过LibVLCSharp组件获取视频流中的每一帧图像,需要设置回调函数,主要是SetVideoFormatCallbacks和SetVideoCallbacks,其定义如下所示:///<summary>///Setde......
  • 职场小白必备知识点-DHCP协议介绍
    1.DHCP协议简介DHCP,全称是DynamicHostConfigurationProtocolo中文名为动态主机配置协议,它的前身是BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议。DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做D......
  • nodejs 基于sharp + smartcrop 实现图片的智能提取排版
    属于一个简单的demo示例,主要是学习下sharp包对于图片的处理,以及基于smartcrop.js实现智能图片抠图结合sharp提供的图片组合能力,实现一个基于模版的图片组合,代码很简单简单任务描述就是有一个图片,我们需要智能的提取核心信息,并生成一个确定大小的图片,然后基于将生成的图片填......
  • 网络知识点
    知识点补充 is-is   vlan        ......