首页 > 其他分享 >OSI七层模型-网络层 ARP协议

OSI七层模型-网络层 ARP协议

时间:2023-01-02 12:04:59浏览次数:35  
标签:ARP 主机 网络层 地址 OSI MAC IP地址 数据包

ARP 地址解析协议

作用:通过IP地址来解析MAC地址,完成数据封装。

ARP报文格式

OSI七层模型-网络层 ARP协议_缓存


工作原理

假设主机A跟主机B在同一网段进行通信。

1、主机A封装数据包时发现没有主机B的MAC地址。主机A 查看ARP缓存发现没有主机B的MAC地址。

2、主机A发送数据包源IP,源MAC都是自己的IP地址,目标IP是主机B的IP地址,目标MAC为全广播。

3、交换机收到该数据包后进行解析,将主机A的源MAC地址与入端口形成对应关系 放入到MAC地址表中。查找目的MAC为全广播,于是进行泛洪,除了入端口以外的其他端口都发送一遍。

4、主机B收到该广播帧后,进行解析发现目标IP地址是自己的IP地址,于是将主机A的源IP地址跟源MAC地址放入到ARP缓存表中。并发送ARP回应,将自己主机B的源IP地址、源MAC地址,目标主机A的IP地址,主机A的MAC地址,进行回应。

5、交换机收到主机B发送的数据包后,将主机B的源MAC地址跟入端口形成对应关系放入到MAC地址表中,在查找目标MAC为主机A,于是将数据包发送到主机A所在的端口

6、主机A收到ARP回应后,将主机B的IP地址和MAC地址放入到ARP缓存中,发送数据时进行封装。


假设主机A和主机B不在同一个网段进行通信。

1、主机A查找ARP缓存,发现没有主机B的MAC地址信息,于是将主机B的IP地址和掩码作以运算,发现不是一个子网的。

2、于是主机A在ARP缓存表查找网关的MAC地址。源IP地址为主机A,源MA C地址也是主机A,目标IP地址为主机B,目标MAC地址为网关的MAC地址。

3、交换机收到后,将源MAC和入端口形成对应关系放入到MAC地址表中,继续解析发现目标MAC地址为自己,继续解封装发现目标IP地址为主机B,交换机查找路由表主机B的路由条目,找到后,重新封装数据包,源IP和目标IP地址不变,源MAC地址为网关的MAC地址,目标MAC地址为主机B路由条目下一跳的MAC地址。

4、沿途设备继续查找路由表进行数据包的重封装。直到将数据包交给主机B。






标签:ARP,主机,网络层,地址,OSI,MAC,IP地址,数据包
From: https://blog.51cto.com/u_13703746/5983536

相关文章

  • OSI七层模型之网络层
    网络层作用:对设备进行数据编址和路由查询协议:IPARP 产品:路由器,多层交换机等(带有三层功能的设备)路由器工作原理:一、形成路由表:路由器通过直连,静态,动态等路由条目选出最优......
  • C. On Number of Decompositions into Multipliers -- Codeforces
    C.OnNumberofDecompositionsintoMultipliershttps://codeforces.com/problemset/problem/397/C 思路  Codehttps://codeforces.com/contest/397/submissi......
  • OSI 二层技术之STP生成树协议
    STP生成树协议 作用:在二层网络中有链路备份的情况下可能存在网络环路,STP生成树协议就是为了破除这个环路工作原理:一、选择根桥交换机启动时,每个交换机都认为自己是根桥,发送......
  • 免费ARP
      (1)用于检测网络上是否存在与自己相同的ip地址,对自己的ip进行arp请求(2)用于更改MAC时通知刷新其它机器更改arp表项里缓存的条目信息(否则如果对方arp没有老化,保存的......
  • CentOS7 执行yum 命令出错 One of the configured repositories
    新安装的一台物理服务器,执行yum命令出现了错误,[root@localhostdata]#yum-yinstallbc已加载插件:fastestmirrorLoadingmirrorspeedsfromcachedhostfileOn......
  • POSIX多编程编程实例
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<unistd.h>#include<pthread.h>#include<string.h>#defineNUM3pthread_mutex_tmutex;pth......
  • OSI七层模型 - 数据链路层
    OSI七层模型之数据链路层作用:负责逻辑链路的建立与拆除,负责帧的形成产品:二层交换机二层数据帧的格式帧格式D.MAC、S.MAC Type FCS都是固定字节加起来为18个字节。Data......
  • MySQL slave upgrade: Slave failed to initialize relay log info structure from th
    MySQL slaveafterupgradefrom 5.6.x to 5.7.x maythrowthefollowingerror:12mysql>STARTSLAVE;ERROR1872(HY000):Slavefailedtoinitiali......
  • 详解网络层-网络层协议【王道计算机网络笔记】
    地址解析协议ARP由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址ARP协议:完成主机或路由器IP地址到MAC地址的映射。解决下一跳走哪的问题ARP协议使用过程:检查ARP......
  • 一、传输层协议与网络层协议的区别
    一、传输层协议的功能1.分段及封装应用层送来的数据2.提供端到端的传输服务3.在发送主机与接收主机之间构建逻辑通信二、两台主机进程间通信2.1通信条件两台主......