目录

MAC地址的认识

MAC地址与IP地址的异同

有了IP地址为什么还需要MAC地址?

有了MAC地址为什么还需要IP地址?

数据链路上只要知道了对方的MAC地址不是就可以发送数据了吗?为什么还要IP地址?

MAC地址的作用之一:防止IP地址盗用

MAC地址和IP地址传输的过程详解


MAC地址的认识

MAC(Media Access Control,介质访问控制)地址,或称为MAC位址、硬件地址,用来定义网络设备的位置。MAC集成在网卡,由48bit的16进制的数字组成,0~23位数字叫作组织唯一标志符(organizationally unique,是识别局域网节点的标识)。24~47位是由厂家自己分配,其中第48位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家写入网卡的EPROM芯片中,芯片中的数据可以通过程序进行擦写,它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。也就是说,在网络底层的物理传输过程中,数据传输是通过物理地址来识别主机的,它一定是全球唯一的。

IP地址就如同一个职位,而MAC地址则像是去应聘这个职位的人。职位既可以由甲担任,也可以由乙担任。同理,一个节点的IP地址对于网卡是不做要求,基本上什么样的厂家都可以用,也就是说IP地址与MAC地址并不存在着绑定关系。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。

无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol,地址解析协议)负责将IP地址映射到MAC地址上来完成的。

MAC地址与IP地址的异同

MAC地址与IP地址相同点是它们都唯一。

MAC地址与IP地址区别:

  1. 对于网络上的某一设备,如一台计算机或一台路由器,其IP地址是基于网络拓扑设计出的,同一台设备或计算机上,改动IP地址是很容易的(但必须唯一),而MAC则是生产厂商烧录好的,一般不能改动。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址不可由本地连接内的配置进行修改。如果一个计算机的网卡坏了,在更换网卡之后,该计算机的MAC地址就变了。

  2. 长度不同。IP地址为32位,MAC地址为48位。

  3. 分配依据不同。IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商。

  4. 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。

在Windows系统中查看本机MAC地址时,需要在“命令提示符”窗口中输入ipconfig /all命令。

有了IP地址为什么还需要MAC地址?

1.信息传递时候,需要知道的其实是两个地址:终点地址、下一跳的地址。IP地址本质上是终点地址,它在跳过路由器的时候不会改变,而MAC地址则是下一跳的地址,每跳过一次路由器都会改变。这就是为什么还要用MAC地址的原因之一,它起到了记录下一跳的信息的作用。

2.网络体系结构的分层模型:用MAC地址和IP地址两个地址,用于分别表示物理地址和逻辑地址是有好处的。这样分层可以使网络层与数据链路层的协议更灵活地替换。

3.历史原因:早期的以太网只有集线器,没有交换机,所以发出去的包能被以太网内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与自己MAC地址相匹配的包

有了MAC地址为什么还需要IP地址?

由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要是这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。

但统一的IP地址把这个复杂问题解决了。连接到因特网的主机只需拥有统一的IP地址,它们之间的通信就像连接在同一个网络(虚拟互连网络或者简称IP网)上那么简单方便,因为调用ARP的复杂过程都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。

数据链路上只要知道了对方的MAC地址不是就可以发送数据了吗?为什么还要IP地址?

1.MAC地址就好比一个人的身份证,有了身份证,你就能知道这个人在哪吗?我们需要利用IP地址来确定这个人的所在区域,在局域网中,可以使用本地的MAC地址进行通信。

2.到达目标机器的局域网之后,ip就没有用了,此时需要利用MAC地址来确定目标机器。因为局域网的IP对应的机器是不固定的 ,所以,在局域网中使用IP寻址是不严谨的。

3.假定MAC地址就是广播地址,那么所有接受过MAC包的路由器都会把这个消息进行转发,因此目标机器会收到很多重复的包(因为各个接受过该包的路由器都将其转发)。(为了防止上述现象的发生,目前路由器可以做到不转发那些将MAC地址作为广播地址IP数据包

4.如果不使用IP地址,那么就需要维护一个极其庞大的MAC地址表,在查找目的机器的时候,就需要向全世界发送数据包,可想而知会造成多大的网络流量。

MAC地址的作用之一:防止IP地址盗用

接入Internet的方式是把主机通过局域网组织在一起,然后再通过交换机和 Internet相连接。这样一来就出现了如何区分具体用户,防止盗用的问题。由于IP只是逻辑上标识,任何人都随意修改,因此不能用来标识用户;而 MAC地址则不然,它是固化在网卡里面的。从理论上讲,除非盗来硬件(网卡),否则是没有办法冒名顶替的(注意:其实也可以盗用)。

基于MAC地址的这种特点,局域网采用了用MAC地址来标识具体用户的方法。

具体实现:在交换机内部通过“表”的方式把MAC地址和IP地址一一对应,也就是所说的IP、MAC绑定。

具体的通信方式:接收过程,当有发给本地局域网内一台主机的数据包时,交换机接收下来,然后把数据包中的IP地址按照“表”中的对应关系映射成MAC地址,转发到对应的MAC地址的主机上,这样一来,即使某台主机盗用了这个IP地址,但由于他没有这个MAC地址,因此也不会收到数据包。发送过程和接收过程类似,限于篇幅不叙述。 于是解决了IP盗用问题。

MAC地址和IP地址传输的过程详解

带图带例子很清晰:https://blog.csdn.net/kenjianqi1647/article/details/81636898

对于MAC地址的认识,以及MAC地址和IP地址的区别,MAC地址和IP地址各起到什么作用?相关推荐

  1. mac 查ip linux,如何通过mac地址查ip,手把手教你Mac怎么查看ip地址

    为了工作需要,有时候我们需要查看我们电脑的IP地址和MAC地址,在windows系统中与Mac系统中查看本机ip地址有些不同,想要知道在mac系统怎么查看ip地址以及MAC地址?下面,小编跟大家讲解M ...

  2. 单播、广播和多播地址以及组播ip与组播mac间的换算

    转自:https://www.cnblogs.com/songdada/articles/4039468.html 除地址类外,还可根据传输的消息特征将IP地址分为单播.广播或多播.主机使用IP地址进 ...

  3. MAC地址是独一无二的,互联网上主机为什么不直接使用MAC地址通信,还需要IP地址?

    一.有MAC地址为什么还需要IP地址呢? MAC地址用来唯一地标识一个网络接口,但它没有寻址功能.不同的网络使用不同的硬件地址,要使这些网络能够互相通信,就必须进行非常复杂的硬件地址转化工作,由用户或 ...

  4. 组播IP转换为组播MAC地址【转载】

    链接:https://www.zhihu.com/question/36730567/answer/83083851 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. ...

  5. 计算机网络基础(一)通信的基础——IP、DNS、MAC地址

    1.网络--以太网.局域网.互连网.因特网 要形成互联就要用到网络,下面讲一下以太网与互联网的区别. 先讲一下计算机网络(network),就是将一台以上的计算机互连起来,互连的计算机之间可以实现通信 ...

  6. 飞凌linux ip修改,[新手指导]imx6开发板 IP及MAC地址修改

    imx6开发板如何设置IP地址: imx6开发板网络相关配置声明: 每位imx6开发板用户的网络使用环境未必相同,本次操作基于飞凌嵌入式imx6开发板,网络环境如下.实际使用中,请按照实际网络环境自行 ...

  7. 微信 for Mac 3.0.0.1来袭 可以在电脑上刷朋友圈,附下载地址

    微信 for Mac 3.0.0.1 现已面向部分内测用户发布,支持浏览朋友圈. 点击下载 微信 for Mac 3.0.0.1 (访问密码:1112) 微信 for Mac 3.0.0.1 更新日志 ...

  8. TCP/IP协议--ARP协议(有了IP地址为什么还需要ARP协议)

    首先我们需要先大致了解一下MAC地址,MAC(Media Access Control, 介质访问控制)地址是烧录在Network Interface Card(网卡,NIC)里的,也叫硬件地址,是由 ...

  9. 组播IP 映射 组播MAC

    组播IP地址与组播MAC地址之间的换算方法与例子 1.在IP分类中,D类IP地址用于组播MAC. 2.在TCP/IP中,最常用的v4组播MAC地址的前24位固定为01005e,第25位固定为0,后23 ...

最新文章

  1. Android各大热补丁方案分析和比较
  2. linux mysql ibd_MySQL:如何从ibd文件中恢复数据
  3. linux vim下删除一行和多行
  4. SharePoint 站点出现Http 503 错误
  5. System.getProperty
  6. 利用破解dll来获取到一个软件的注册码
  7. 钉钉主要是用来打卡的,为什么打卡不能放在首页?
  8. sigmoid和tanh激活函数与其导数的绘图详解
  9. python实现DBSCAN(密度聚类)算法
  10. 如何学习计算机网络——学习方法
  11. Hbase meta表介绍
  12. 3D数学 - 三角函数
  13. 【附证明】用ArcGIS中Band Collection Statistics做相关性分析可能存在错误
  14. java秃顶_【本人秃顶程序员】在Java中使用函数范式提高代码质量
  15. RabbitMQ学习笔记:惰性队列(Lazy Queues)
  16. 《零基础入门学习Python》第031讲:永久存储:腌制一缸美味的泡菜
  17. SQLSERVER 查询指定日期是对应月份的第几周
  18. win10共享打印机怎么设置_关于win10网络共享,选择“启用文件和打印机共享”之后,无法保存设置的解决办法...
  19. conda安装jupyter notebook,解决无法远程
  20. “摄像头用不了”+win8.1+DELL+外置摄像头+USB免驱的解决办法

热门文章

  1. android 海拔高度_gps-Android:如何获取准确的海拔高度?
  2. Python爬取网页的所有内外链
  3. 【SEO教程网】网站内部链接优化的四大技巧
  4. 水平分表、分库和垂直分表、分库和公共表的代码实现和讲解
  5. Spark 基本知识介绍
  6. SharePoint 2013 开发——开发并部署第一个APP
  7. 手机与基站如何互相识别?
  8. 腾讯QQ到底有多强大?
  9. github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url,添加RSS)...
  10. 高中毕业接触计算机,写LOL外挂1年狂赚500万,最终落网!