当前位置: 代码网 > it编程>操作系统>苹果Mac > arp基本工作原理

arp基本工作原理

2024年08月06日 苹果Mac 我要评论
什么是ARP协议:Address Resolution Protocol,地址解析协议,将一个已知的IP地址解析成MAC地址。

一、网络层协议

1.ip协议及其子协议

网络层主要协议是ip协议,ip协议下还有四个子协议:

  • arp(地址解析协议)
  • icmp(网际控制报文协议)
  • igmp(网际组管理协议)
  • rarp(逆地址解析协议)

2.ip数据包格式及各段含义

在这里插入图片描述

  • 版本(version):该字段包含的是ip 的版本号,4bit。目前工p 的版本为4(即 ipv4)。
  • 首部长度(il.ader length):该字段用于表示1p数据包头长度,4bit。ip数据包头最短为z2o字节,但是其长度是可变的,具体长度取决于可选项字段的长度。
  • 优先级与服务类型(priority & type of service):该字段用于表示数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现qos(服务质量)的要求。
  • 总长度(total length):该字段用以指示整个ip数据包的长度,16bit。最长为65535字节,包括包头和数据。
  • 标识符(identification):该字段用于表示1p数据包的标识符,16bhit。当1e对上层数据进行分片时,它将给所有的分片分配同一组编号,然后将这些编号放入标识符字跌中,保证分片不会被错误地重组。
  • 标志(flags):标志字段,3bit。对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否己发出。
  • 段偏移量(fragment offset):该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。tti(time to live):该字段用于表示tp数据包的生命周期,8bit。一个数据包每经过一个路由器,ttl将减去 1。当ttl的值为0时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去。
  • 协议号(protool):协议字段,bbit。该字段用以指示在 tp数据包中封装的是哪一个协议,是tcp还是udp,tcp的协议号为6,uop的协议号为17.首部校验和(header checksum):该字段用于表示校验和﹐16bit。接收方和网关用来校验数据有没有被改动过。
  • 源工p地址(source ip address):该字段用于表示数据包的源地址,32bit。
  • 目标ip地址(destination ifaddress):该字段用于表示数据包的目的地址,32bit。
  • 可选项(options):可选项字段根据实际情况可变长,可以和tp一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。

二、icmp(网际控制报文协议)

1.icmp协议的封装过程:

在这里插入图片描述

2.icmp常用命令:

ping命令:
windows中
-t 参数会一直不停的执行ping
-a 参数可以显示主机名称
-l 参数可以设定ping包的大小
-n 指定发送包的个数
-s 指定源ip去ping
linux中:
-s 设定ping包的大小
-c 指定发送包的个数
-i 指定源ip去ping

tracert(windows)/traceroute(linux)
总的来说icmp协议(互联网控制报文协议)工作在网络层 ,是一个错误侦测与回馈机制 ,用来发送错误和控制消息来探测网络连通性。

三、arp协议

1.概述

什么是arp协议:address resolution protocol,地址解析协议,将一个已知的ip地址解析成mac地址。

2.工作原理

主机a的ip地址为192.168.1.1,mac地址为0a-11-22-33-44-01;

主机b的ip地址为192.168.1.2,mac地址为0a-11-22-33-44-02;

当主机a要与主机b通信时,地址解析协议可以将主机b的ip地址(192.168.1.2)解析成主机b的mac地址,以下为工作流程:

第1步:根据主机a上的路由表内容,ip确定用于访问主机b的转发ip地址是192.168.1.2。然后a主机在自己的本地arp缓存中检查主机b的匹配mac地址。

第2步:如果主机a在arp缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将arp请求帧广播到本地网络上的所有主机。源主机a的ip地址和mac地址都包括在arp请求中。本地网络上的每台主机都接收到arp请求并且检查是否与自己的ip地址匹配。如果主机发现请求的ip地址与自己的ip地址不匹配,它将丢弃arp请求。

第3步:主机b确定arp请求中的ip地址与自己的ip地址匹配,则将主机a的ip地址和mac地址映射添加到本地arp缓存中。

第4步:主机b将包含其mac地址的arp回复消息直接发送回主机a。

第5步:当主机a收到从主机b发来的arp回复消息时,会用主机b的ip和mac地址映射更新arp缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机b的mac地址一旦确定,主机a就能向主机b发送ip通信了。

3.命令

windows中
arp -a 查看arp缓存表
arp -d 清除arp缓存
arp -s ip mac arp静态绑定
netsh -c 解除静态绑定
华为系统中
[huawei]dis mac-address 查看mac地址信息
[huawei]arp atatic 绑定arp
[huawei]undo arp atatic 解绑定
reset arp all 清除mac地址表

今天就先分享前两个子协议,要看后两个,且看下回分享!!!!
在这里插入图片描述

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com