mac地址怎么查(通过mac地址定位手机)

链路层编址

  1. 地址解析协议(ARP),该协议为节点提供了将IP地址转换为链路层地址的机制。
  2. 动态主机配置协议(DHCP)。

MAC地址

并非节点具有链路层地址,而是节点的适配器(网络接口)具有链路层地址(MAC)。MAC地址的作用是标识局域网内一个帧从哪个接口到哪个物理相连的其他接口.因此,拥有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,就像他们也具有多个IP地址一样.需要注意的是,链路层交换机没有MAC地址.MAC地址也被称为LAN地址,物理地址.MAC地址长度为6个字节,,共有2^48个可能的MAC地址.MAC地址空间由IEEE统一管理.当一个公司要生产适配器的时候,他象征性的付一点钱给IEEE,买一个2^24的地址空间.IEEE固定前24位,后24位由各个公司自己生成唯一标识.当适配器收到一个帧时,会先检查这个帧的MAC地址与自己的接口MAC是否一致,如果不匹配就丢弃该帧,如果匹配向上传递.这种适配是使用硬件实现的.

FF-FF-FF-FF-FF-FF是唯一的用来广播的MAC地址

地址解析协议(ARP)

ARP做什么?

ARP:将32位的IP地址转换为48位的物理地址MAC。

ARP的任务是把网络层的IP地址和链路层的MAC进行转换在发送主机的ARP模块将取在相同局域网上的任何IP地址进行输入,然后返回相应的MAC地址DNS和ARP很相似,但是DNS和ARP的区别是DNS为因特网上的任何主机解析主机名,而ARP只为在同一个子网上的主机和路由器接口解析IP地址.ARP如何工作?每台主机或者路由器在它的内存中都有一张ARP表,这张表包含了IP地址到MAC地址的映射关系.ARP表中也有一个寿命(TTL)值,它指示了从表中删除每个映射的时间,一个表项的过期时间一般是20分钟这张表不必为该子网上的每台主机和每个路由器都包含一个表项,某些可能从没进入过表,某些可能已经过期当主机222.222.222.220要发送一个数据报,该数据报要IP寻址到本子网上另一台主机或路由器.发送主机需要拿到MAC地址然后进行发送.如果ARP表中有这一项,那么直接取即可.如果没有,那么就会发送一个ARP分组.一个ARP分组有几个字段,包括发送和接收IP地址和MAC地址.ARP查询分组和ARP响应分组都具有相同格式.222.222.222.220使用MAC广播地址FF-FF-FF-FF-FF-FF向它的接口传递一个ARP查询分组,接口在链路层帧中封装这个ARP分组,用广播地址作为帧的目的地址,并将该帧传输进子网中,子网中的每个结点的接口都能收到该帧,并都把该帧中的ARP分组向上传给ARP模块,ARP检查查询分组中的目的IP地址和自己的IP是否一样,其中匹配的那一个给查询主机送回(不是广播)一个ARP响应,然后222.222.222.220更新它的ARP表并发送IP数据报,该数据报被封装在链路层帧中,且该帧的目的MAC就是对先前ARP请求进行响应的MAC地址。

TIP:

  • ARP查询是广播,ARP响应是标准传输
  • ARP是即插即用的,不需要管理员配置
  • ARP是跨越链路层和网络层边界的协议
  • 当向另一个子网中发送数据时,每次都会使用ARP找到下一跳,然后一跳一次的穿过去.不能用ARP直接解析,因根本不在一个子网中

ARP报文格式如下:

mac地址怎么查(通过mac地址定位手机)

硬件类型(16位):指定物理地址的类型,1表示以太网。

上层协议类型(16位):指定要将MAC地址映射成什么协议的地址。0x0800表示IP地址。

MAC地址长度(8位):指定MAC地址的长度,单位是字节。

协议地址长度(8位):指定协议地址的长度,单位为字节。

操作类型:1表示ARP请求、2表示ARP回应、3表示RARP请求,4表示RARP回应。

接下来为发送源的物理地址和协议地址(由于回应时要知道发送给谁,以此来封装以太帧),目的物理地址和协议地址。

封装ARP请求时,发送源除了目的物理地址外都会填写。

当路由器或主机选择了某条路由时,首先会查找ARP缓存,若缓存中有对应IP地址的物理地址,则以此封装以太帧,否则会广播(为二层广播)ARP报文,每个主机接收到ARP请求报文后,会缓存发送源的IP——MAC对到ARP缓存中,目的主机会发送ARP回应(此时为单播),当发送源接收到回应时,会将目的方的IP——MAC对存放在ARP缓存中。在点到点的物理连接中,是不会用到ARP报文的,在启动时双方都会通告对方自己的IP地址,此时物理层的封装不需要MAC地址。windows上可以使用arp -a查看本机的ARP缓存。ARP缓存中的每个条目的最大存活时间为20分钟(从条目创建时开始计时)。

ARP代理:

之前说ARP请求是广播的,我们知道路由器是分割广播域的(这部分在CCNA总结中会讲),如果我们要查询的IP地址在外网怎么办?此时就需要ARP代理,当发送源广播ARP请求时,本地网络上不会有主机回应(因为IP地址是外网的),此时路由器将会回应该请求,则发送源误认为路由器就是目的主机,会将报文全部转发给它,再由路由器转发报文,则该路由器就被称为ARP代理。

免费ARP:

在主机开机配置时,会发送一个目的IP地址为自己IP地址的ARP请求报文,该报文称为免费ARP,其作用如下:

1、让主机确认本地网络上是否有与自己IP地址相同的主机,若有,则ICMP错误报文被返回。

2、若接收主机ARP缓存中本身就有发送源主机的IP——MAC对,则会更新,否则,会缓存发送源的IP——MAC对。

局域网中一台主机获取已知一台IP地址的主机的硬件地址过程:(ARP解析过程)

当主机A向本局域网上的主机B发送IP数据报时,先在ARP高速缓存中查找B主机IP所对应的硬件地址,要是找到了,就将此硬件地址写入到MAC帧首部的目的地址中,然后通过局域网发送;要是没有找到,那么主机A会运行ARP,将会按照以下步骤找出主机B的硬件地址。

①主机A想局域网中广播发送一个ARP请求分组,广播的主要内容是:“我的IP地址是IPA,我的硬件地址是MACA,我要知道IP地址为IPB的主机的硬件地址”。

此时局域网中的主机都会收到这样的一个数据帧:

mac地址怎么查(通过mac地址定位手机)

ARP响应报文,操作类型字段应该为2,上图有误,将1改为2

④在主机A收到主机B的ARP响应分组后,就在ARP的高速缓存中写入B主机的IP地址到硬件地址的映射。

以太网

以太网是一种局域网技术.以太网现行的主要结构是星型拓扑,不再使用集线器,而是使用交换机.交换机不仅是无碰撞的,而且是名副其实的存储转发分组交换机.交换机运行在第二层.

以太网帧结构

|前同步码|目的地址|源地址|类型|数据|CRC|

字段 描述 数据字段(46-1500字节) 这个字段承载IP数据报.以太网的最大传输单元(MTU)是1500字节.如果超过就要分片.最小是46字节,如果不足,就要填充.网络层使用IP数据报标记的长度来确定去掉填充的字节. 目的地址(6字节) 目的接口的MAC地址.只有本接口地址和广播地址,帧中的数据字段才会被接收方送到网路层. 源地址(6字节) 发送者的MAC地址 类型字段(2字节) 不一定数据一定是IP数据报.可能是各种不同的网络协议.比如ARP,AppleTalk等.用来标记网络层协议类型,以正确分发给网络层 CRC(4字节) 使接收接口检测帧中是否引入了差错 前同步码(8字节) 前七个字节(10101010)用来”唤醒”接收适配器,并且同步时钟频率(为了支持不同的以太网速率总会产生漂移).第8个字节(10101011)最后两个比特(第一个连续出现的1)用来警告网卡:”数据马上到来”

以太网面向无连接,都向网络层提供不可靠服务.当使用CRC检测到帧错误后,它只是简单的丢掉,不会确认重传

链路层交换机

交换机的任务是接收入链路层帧并将它们转发到出链路。交换机自身对子网中的主机和路由器是透明的。

交换机转发和过滤

过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能.转发是决定一个帧应该被导向哪个接口并且导向这个接口的功能.转发和过滤通过交换机表来完成交换机表项有:

  • MAC地址
  • 通向该MAC地址的接口号
  • 表项放在表中的时间

交换机转发的分组和路由器不一样,交换机转发的分组基于MAC地址当一个目的地址发来时,交换机做这样的处理:

  • 表中没有该表项时,交换机广播(除了来源接口)
  • 查表得来源接口和目的接口一样,交换机丢弃分组(已经在包含目的地的局域网网段广播过了)
  • 查表得有一个表项匹配,且不是来源接口,交换机转发分组过去.

自学习

交换机是这样自学习的:

mac地址怎么查(通过mac地址定位手机)

在发送数据时,数据从高层到低层,然后才到通信链路上传输。使用IP地址的IP数据报一旦交给了数据链路层,就被封装成了MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址。连接在通信链路上的设备(主机或路由器)在接收MAC帧时,根据是MAC帧首部的硬件地址。在数据链路层看不到隐藏在MAC帧中的IP地址。只有在剥去MAC帧的首部和尾部后把MAC层的数据交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。

(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论