IP地址和MAC地址

  • IP地址(主机和链路的接口)32位,MAC地址·(标识网卡和链路的接口)48位。它们都是唯一的。且分为两部分。
  • 命令控制窗口下输入:arp -a 查看IP地址(Internet地址)和MAC地址(物理地址)
  • IP地址处于网络层,它为网络层及以上层服务的。 MAC地址处于链路层,它为链路层和物理层服务。
  • MAC地址存储再网卡ROM芯片中,IP地址存储再硬盘中
  • MAC地址又称物理地址和硬件地址。IP地址又称逻辑地址或软件地址。

思考:,既然这两种地址均可以唯一标识一个站点,那为什么一个站点要用两个地址?

  • 启发:唯一标识一个人的标识有很多,比如说身份证号,学校+学号等。为什么人会有多个标识呢?因为在学校用学号标识更方便,在社会用身份证标识更方便。也就是说不同的场合用不通的地址来表示个人信息更方便。

一、不同地址在分层协议栈中的位置:

IP地址和MAC地址

二、疑问

  • MAC地址有两个部分,一部分是由专门的管理机构向生产商提供,另一部分又生产商自行提供。因此两个各站点之间的MAC地址很可能完全找不到什么关联。那么问题来了,发送站是如何获取目的站的MAC地址的呢?这个问题在后面将会解答。

转发过程中的地址的变化

  • IP帧在传递中,首部中的中的源地址和目的地址(最终地址)是不变的,每次路由器转发都是通过同一个目的地址来查询路由表获得下一跳的目的地址(中途各个站点)。源地址在很多情况下用不到,但如果数据传输出错等情况需要目的站点向源站点报告这一情况(报告出错)。 MAC帧在传递中每次转发都会改变源地址和目的地址。

IP地址的作用

  • 网络寻址,也就是要根据网络号找到并进入目的网络。那么IP地址怎么在网络内部传输呢?实际上IP地址在宏观层面传递(不同网络之间),而MAC地址在局部层面传递(网络内部)

MAC地址的作用

  • 链路寻址
    IP地址和MAC地址
  • 传递路径就是H1–>R1–>R2–>H2。举一个简单的例子。R1如何把IP帧传递给R2呢?
    • R1与R2之间有许多的主机相连接。
      • 第一步:R1发出广播MAC帧
      • 第二步:各个网卡提取MAC帧中MAC目的地址
      • 第三步:通过网卡的硬件电路(异或)来判断MAC帧是不是发给自己的(这里是默认已经知道R1的MAC地址的,如何获取目的MAC地址的方法还未解决。),若不是则丢弃,若是则保留。
    • 由于是通过网卡的硬件电路来实现判断的,因此节省了R1与R2之间所有主机的CPU的时间。讲到这里应该知道了为什么要用MAC地址来实现传递数据了吧,就因为这样节省CPU资源。其实通过IP地址一样可以准确无误的将数据传递到R2,但IP地址是软件地址,需要CPU来判断,因此花费了R1与R2之间各台主机CPU的时间。

目的地址的获取

如何获取IP地址

  • 应用层的事情,通过DNS协议来获取

如何获取MAC地址

  • 通过地址解析协议ARP
    IP地址和MAC地址
    举例: 假如现在要由R2发送数据至H2,我们先将图展开成如下图所示:IP地址和MAC地址
  1. 现在R2知道H2的IP地址(DNS),但是不知道H2的MAC地址。
  2. 运行ARP
    1. R2广播ARP请求:ARP请求内容包括R2的IP地址,R2的MAC地址,H2的IP地址。请求H2告诉自己MAC地址是多少。
    2. 这次的ARP广播让所有主机都知道了R2的MAC地址,因此下次其它主机就可以直接通过MAC地址向R2发送数据了。虽然所有主机都收到了,但X、Y、Z主机知道R2的这条ARP请求广播不是针对自己的,因此不会回话。只有H2会回话(ARP响应),向R2发送自己MAC地址。

总结:

  • 总结内容前面均有讲到,看不懂就往前看。
    IP地址和MAC地址
    课后思考

伪造IP地址------>IP欺骗
伪造MAC地址------->ARP欺骗

  • 如何实现又如何防范呢?

物联网: 每个事物都可以有地址,因此我们需要非常多的地址,原来32位IP地址和48位MAC地址远远不够。

  • 因此新增了IPV6地址,由IPV4的32位增至128位。可以给地球上所有的物体标注地址,理论上可以精确到每一粒沙子。那么IP地址和MAC地址又有何变化呢?

相关文章: