电脑mac地址和手机mac地址的区别,mac地址存储在计算机中的什么地方

  

  我们每天都使用互联网。我们电脑上的数据是如何通过互联网传输到另一台电脑上的?写下自己的理解,可能还有很多细节还不清楚!希望以后我们能把它做得更完美!有不对的地方请指正。   

  

  我们知道,今天互联网上使用的TCP/IP协议是基于OSI(开放系统互连)的七层参考模型,该模型(尽管不完全符合它)自上而下如下   

  

  应用层表示层会话层传输层数据链路层物理层。其中,数据链路层可以分为两个子层:逻辑链路控制(LLC)和媒体访问控制(MAC),也称为MAC层。LLC初始化两个节点之间的链路,以防止连接中断并保持可靠的通信。MAC层用于检查每个帧中包含的地址信息。下面会进行分析。还要明白路由器在网络层,而网卡在数据链路层。我们知道,ARP(地址解析协议)被视为底层协议,用来将IP地址翻译成物理地址。在以太网中,所有对IP的访问最终都转化为对网卡MAC地址的访问。如果在主机A的ARP列表中,主机B的IP地址与MAC地址对应不正确,则从A发送到B的数据包将被发送到错误的MAC地址。当然不能顺利到达B。结果A和B根本无法沟通。   

  

  我们先来分析一下同一个网段的情况。假设有两台计算机,分别名为A和B。如果A需要向B发送数据,主机A会首先将目标设备B的IP地址与其子网掩码进行AND运算,以确定目标设备是否与自己处于同一个网段。如果目标设备在同一个网段,A没有得到目标设备B的IP地址对应的MAC地址信息,源设备(A)以二层广播的形式发送ARP请求报文(目标MAC地址全为1),ARP请求报文中包含源设备(A)和目标设备(B)的IP地址。同一网段中的所有其它设备都可以接收并分析此ARP请求消息。如果设备发现消息中的目标IP地址与自己的IP地址相同,它会向源设备发回一个ARP响应消息,使源设备能够获得目标设备的MAC地址信息。为了减少广播量,网络设备通过ARP表将IP和MAC地址的映射信息保存在缓存中。在一个ARP请求和响应的过程中,通信双方将彼此的MAC地址和ip地址的对应关系保存在各自的ARP表中,以备后续通信。ARP表利用老化机制删除一段时间没有使用的ip和MAC地址之间的映射关系。   

  

  如果中间使用交换机,根据交换机的原理,是直接将数据发送到对应的端口,所以需要保存一个数据库,里面包含所有端口连接的网卡的MAC地址。它分析以太网数据包的报头信息(包括原始MAC地址、目标MAC地址、信息长度等。),获取目标B的MAC地址,查找交换机中存储的地址对照表(MAC地址对应的端口),确认具有该MAC地址的网卡连接到哪个端口,然后将数据包发送到这个对应的端口,该端口也相应地发送到目标主机B。这样,即使主机窃取了这个IP地址,也不会收到数据包,因为它没有这个MAC地址。   

  

  现在,我们来讨论两台不在同一个网段的主机。假设数据包PAC将从网络中的主机PC-A发送到PC-C主机,如下图所示:   

  

  路由器a=============路由器b。   

  

  互联网   

  

  | |   

  

  开关b   

  

  | | | |   

  

  | | | |   

  

  PC-A PC-B PC-C PC-D   

  

  PC-A不需要获取远程主机(PC-C)的MAC地址,而是将IP包发送到默认网关,网关完成IP包的转发过程。如果源主机(PC-A)没有默认网关MAC地址的缓存记录,它会通过ARP协议获取网关MAC地址,所以在A的ARP表中只能观察到网关MAC地址记录,而观察不到远程主机MAC地址。在以太网中,当一个网络设备与另一个网络设备直接通信时,它不仅需要知道目标设备的网络层逻辑地址(如IP地址),还需要知道目标设备的第二层物理地址(MAC地址)。ARP协议的基本功能是通过目标设备的IP地址查询目标设备的MAC地址,保证通信的畅通。   

  

  在网络中发送数据包是一个非常复杂的过程。上图只是一个很简单的情况,中间没有太多的中间节点。其实现实中只会比这个复杂,但总的原理是一样的。   

  

  (1)如果PC-A要向PC-C发送一个包,如果PC-A没有PC-C的ip地址,那么PC-A会先发送一个dns请求,路由器A或者dns解析服务器会响应PC-A的ip地址,这样PC-A关于包的第三层的IP地址信息就完整了:源IP地址:PC-A,目的IP地址:   

  

  (2)接下来,PC-A需要知道如何到达PC-C,然后,PC-A会发送一个arp地址解析请求。这个地址解析请求发送不是为了获取目的主机PC-C的MAC地址,而是发送给路由器A,然后路由器A中的MAC地址会发送给源主机PC-A,这样PC-A的数据包第二层信息就完整了。源MAC地址:   

  

  (3)然后数据将到达交换机A,当交换机A看到数据包的第二层目的地的MAC地址时,它的目的地是路由器A,并将数据包发送到路由器A,路由器A接收它。   

到数据包,首先查看数据包的第三层ip目的地址,如果在自己的路由表中有去往PC-C的路由,说明这是一个可路由的数据包。

  

(4)然后路由器进行IP重组和分组的过程。首先更换此数据包的第二层包头信息,路由器PC-A到达PC―C要经过一个广域网,在这里会封装很多广域网相关的协议。其作用也是为了找下一阶段的信息。同时对第二层和第三层的数据包重校验。把数据经过Internet发送出去。最后经过很多的节点发送到目标主机PC_C中。

  

现在我们想一个问题,PC-A和PC-C的MAC地址如果是相同的话,会不会影响正常的通讯呢!答案是不会影响的,因为这两个主机所处的局域网被广域网分隔开了,通过对发包过程的分析可以看出来,不会有任何的问题。而如果在同一个局域网中的话,那么就会产生通讯的混乱。当数据发送到交换机是,这是的端口信息会有两个相同的MAC地址,而这时数据会发送到两个主机上,这样信息就会混乱。因此这也是保证MAC地址唯一性的一个理由。

  

交换机和路由器的主要区别:

(1)、二者的工作层次不同

  

最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在 OSI的第二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可以得到更多的协议信息,路由器可以做出更加智能的转发决策。

  

(2)、二者的据转发所依据的对象不同

  

交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经 固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。

  

(3)、传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域

  

由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。

  

(4)路由器提供了防火墙的服务,而交换机则没有

  

路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。

  

MAC地址的安全问题:

  

我们为了防止IP地址被盗用,就通过简单的交换机端口绑定(端口的MAC表使用静态表项),可以在每个交换机端口只连接一台主机的情况下防止修改MAC地址的盗用,如果是三层设备还可以提供:交换机端口/IP/MAC 三者的绑定,防止修改MAC的IP盗用。一般绑定MAC地址都是在交换机和路由器上配置的。

相关文章