做网站哪些公司,线下推广什么意思,livezilla wordpress,如何开发一个小程序在实现IP通信时使用了两个地址#xff1a;IP地址#xff08;网络层地址#xff09;和MAC地址#xff08;数据链路层地址#xff09;
问题#xff1a;已知一个机器#xff08;主机或路由器#xff09;的IP地址#xff0c;如何找到相应的MAC地址#xff1f;
为了解决…在实现IP通信时使用了两个地址IP地址网络层地址和MAC地址数据链路层地址
问题已知一个机器主机或路由器的IP地址如何找到相应的MAC地址
为了解决上述问题提出了地址解析协议ARP用于解决同一个局域网上从IP地址到MAC地址的映射问题 ARP高速缓存ARP cache
主要功能
·存放IP地址到MAC地址的映射表
·映射表动态更新新增或超时删除
作用
①存放最近获得的IP地址到MAC地址的绑定②减少ARP广播的通信量③为了减少ARP通信量主机A在发送其ARP请求分组时就会将自己的IP地址到MAC地址的映射写入ARP请求分组④但主机B收到A的ARP请求分组时将主机A的IP地址及其对应的MAC地址映射写入主机B自己的ARP高速缓存中。不必再发送ARP请求 ARP工作流程
使用ARP的四种典型情况 1.发送方是主机要把IP数据报发送到本网络上的另一个主机此时使用ARP找到目的主机的硬件地址
2.发送方是主机要把IP数据报发送到另一个网络上的一个主机此时使用ARP找到本网络上的一个路由器的硬件地址。其余工作由路由器完成
3.发送方是路由器要把IP数据报发送到本网络上的一个主机使用ARP找到目的主机的硬件地址
4.发送方是路由器要把IP数据报转发到另一个网络上的一个主机使用ARP找到本网络上另一个路由器的硬件地址。其余工作由该路由器完成 ARP工作流程图如下
两台主机不在同一个局域网问题
由于ARP可以实现的是同一个局域网内的IP地址到MAC地址的映射
因此存在问题两台主机不在一个局域网上怎么办 如上图所示如果主机A要想主机B发送数据则需要知道主机B的MAC地址才能在链路层发送数据报。
通信的路径是A-经过R1转发-B
从A-路由器R1
因此主机A必须知道路由器R1的IP地址并通过ARP协议解析出路由器R1的MAC地址然后将IP数据报传送到路由器R1 从路由器R1-B
路由器R1在获取来自主机A的IP数据报后需要知道主机B的MAC地址才能转发IP数据报。因此路由器R1也需要通过ARP协议解析主机B的MAC地址 ARP查找IP地址对应的MAC地址
本局域网上广播发送ARP请求路由器不转发ARP请求
ARP请求分组包含发送方的MAC地址、发送方IP地址、目标方MAC地址未知时填0、目标方IP地址
单播ARP响应分组包含发送方的MAC地址、发送方IP地址、目标方MAC地址、目标方IP地址 ARP分组封装在以太网帧中传输 ARP报文格式