建站需要会哪些语言,沈阳微信网站制作价格,最近新出的手机,甘肃省兰州市城乡建设厅网站前言#xff1a;ARP协议是在链路层通讯中#xff0c;已知目标IP地址,但是#xff0c;仅有IP 地址是不够的#xff0c;因为IP数据报必须封装成帧才能通过数据链路进行发送#xff0c;而数据帧必须要有目的MAC地址#xff0c;每一个网络设备在数据封装前都需要获取下一跳的…前言ARP协议是在链路层通讯中已知目标IP地址,但是仅有IP 地址是不够的因为IP数据报必须封装成帧才能通过数据链路进行发送而数据帧必须要有目的MAC地址每一个网络设备在数据封装前都需要获取下一跳的MAC地址。IP地址由网络层提供MAC地址通过ARP协议来获取。ARP协议是TCP/IP协议簇的重要组成部分它能够通过目的IP地址获取目标设置的MAC地址从而实现数据链路层的可达性。一、ARP在同个网段下的工作原理 首先每台主机都会在自己的ARP缓冲区中建立一个 ARP列表以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址如果有就直接将数据包发送到这个MAC地址如果没有就向本地网段发起一个ARP请求的广播包查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包如果相同该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中如果ARP表中已经存在该IP的信息则将其覆盖然后给源主机发送一个 ARP响应数据包告诉对方自己是它需要查找的MAC地址源主机收到这个ARP响应数据包后将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包表示ARP查询失败。例如 A的地址为IP192.168.10.1 MAC: AA-AA-AA-AA-AA-AA B的地址为IP192.168.10.2 MAC: BB-BB-BB-BB-BB-BB 根据上面的所讲的原理我们简单说明这个过程A要和B通讯A就需要知道B的以太网地址于是A发送一个ARP请求广播谁是192.168.10.2 请告诉192.168.10.1当B收到该广播就检查自己结果发现和自己的一致然后就向A发送一个ARP单播应答192.168.10.2 在BB-BB-BB-BB-BB-BB。二、局域网中跨网段主机间通讯 不同网段的主机通信时主机会封装网关通常是路由器的mac地址然后主机将数据发送给路由器后续路由进行路由转发通过arp解析目标地址的mac地址然后将数据包送达目的地。具体过程分析如下如上图主机A、B通过路由器连接属于两个不同的网段子网掩码24255.255.255.01、主机A有数据发往主机B数据封装IP之后发现没有主机B的mac地址然后查询ARPARP回应“我在192.168.3.0/24网段目标地址在192.168.4.0/24,不属于同一网段需要使用默认网关”ARP发现默认网关是192.168.3.2但是没有网关mac地址需要先进行查询2、主机将数据包先放到缓存中然后发送ARP查询报文封装自己的mac地址为源mac目标mac地址写全F的广播地址请求网关192.168.3.2的mac地址。然后以广播方式发送出去3、路由器收到广播数据包首先将原192.168.3.1添加到自己的mac地址表中对应mac地址为0800.0222.2222。路由发现是请求自己的mac地址然后路由回复一个ARP应答封装自己的IP地址为源IP自己的mac地址为源mac主机A的IP为目的IP主机A的mac为目的mac发送一个单播应答“我是192.168.3.2.我的mac地址为0800.0333.2222”4、主机收到应答后将网关mac地址对应192.168.4.2跨网关通信其他网段IP地址的mac地址均为网关mac然后将缓存中的数据包封装网关mac地址进行发送5、路由收到数据包检查目的IP地址发现不是给自己的决定要进行路由然后查询路由表需要发往192.168.4.0网段中的192.168.4.2地址。路由准备从相应接口上发出去然后查询mac地址表发现没有主机B的映射。路由器发送arp请求查询主机B的mac地址原理同2、3步主机B收到请求后首先会添加网关的mac地址然后单播回复arp请求6、路由器收到主机B的mac地址后将其添加到路由mac地址表中然后将缓存中的数据2层帧头去掉封装自己的mac地址为源mac主机B的mac地址为目的mac源和目的IP地址不变加上二层帧头及校验发送给主机B7、主机B收到数据之后进行处理发送过程结束8、如果主机B收到数据后进行回复主机B会进行地址判断不在同一网段然后决定将数据发送给网关主机B查询mac地址表获得网关mac地址将数据封装后发送arp地址解析的过程不再需要了mac地址表条目有一定的有效时间网关收到数据后直接查询mac表将二层帧mac地址更改为A的mac发送出去。如此主机A收到主机B的回复综上在跨网段通信过程中有以下过程1、判断地址是否同一网段2、查询目的IP地址的mac发送arp请求此外需注意点1、ARP请求以广播发送、以单播回应2、路由器隔离广播。每一个网段都是独立的广播域3、跨越网段通信需要使用网关的mac地址ps如想深入分析建议模拟环境进行抓包操作可以看到具体经历了哪些过程有助于深入了解。原文链接——————ARP协议在同网段及跨网段下的工作原理_L.-CSDN博客blog.csdn.net