MAC地址及ARP协议的深入理解

       今天网络协议部分的阅读搞得自己有点头疼,所以借用一篇博文来巩固学习~

       MAC地址:MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。

       MAC地址的作用:MAC地址与IP地址不可分割,IP地址工作在OSI参考模型的第三层网络层。两者之间分工明确,默契合作,完成通信过程。IP地址专注于网络层,将数据包从一个网络转发到另外一个网络;而MAC地址专注于数据链路层,将一个数据帧从一个节点传送到相同链路的另一个节点。

       在一个稳定的网络中,IP地址和MAC地址是成对出现的。如果一台计算机要和网络中另一外计算机通信,那么要配置这两台计算机的IP地址,MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作;MAC地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC地址来进行操作。IP和MAC地址这种映射关系由ARP(Address Resolution Protocol__地址解析协议)协议完成。

       地址解析协议:即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

       ARP的功能:OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

       ARP的工作过程(工作原理)

       主机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通信了。
       这些问题可以说很多都属于面试重灾区啦,所以建议大家还是反复不断地理解记忆且总结归纳,以便在面试中游刃有余哈~
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络分层指的是将网络通信中的功能模块分成不同的层次,每个层次都各自负责特定的任务。常见的网络分层模型有OSI参考模型和TCP/IP协议栈。网络分层的目的是为了实现通信的分工,简化系统复杂度,提高可扩展性和互操作性。 ARP(地址解析协议)和DNS(域名系统)是网络协议中的两个重要的协议ARP协议运行在网络层网络间通信子层,用于将IP地址解析为物理MAC地址,使得主机能够在局域网中定位到目标主机。当主机需要和其他主机通信时,会首先检查本地ARP缓存,如果找不到目标主机的MAC地址,则会发送ARP请求广播包,请求其他主机回应自己的MAC地址。目标主机接收到ARP请求后会回应ARP响应包,包含自己的MAC地址,从而完成地址解析。 DNS协议运行在应用层,用于将域名解析为IP地址,使得用户能够通过域名访问互联网上的网站。当用户在浏览器中输入一个域名时,首先会向DNS服务器发送查询请求,DNS服务器回应响应包,包含了该域名对应的IP地址。浏览器根据响应包中的IP地址与目标主机建立连接,完成网页的访问。 通过对ARP和DNS协议的分析实训,可以更深入地了解网络通信的细节和工作原理,加深对网络分层的理解。理解网络分层和掌握这些协议对于网络工程师和系统管理员来说是非常重要的,可以帮助他们诊断和解决网络故障,提高网络的性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值