iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >MAC地址与IP地址的实例分析
  • 460
分享到

MAC地址与IP地址的实例分析

2023-06-04 00:06:46 460人浏览 独家记忆
摘要

这篇文章给大家介绍Mac地址与IP地址的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在教计算机网络课程中,经常会碰到这样的问题,为什么需要两个地址:一个是MAC(物理地址),另一个是IP地址。各种解释都有,基

这篇文章给大家介绍Mac地址与IP地址的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在教计算机网络课程中,经常会碰到这样的问题,为什么需要两个地址:一个是MAC(物理地址),另一个是IP地址。各种解释都有,基本上一个观点就是一个是物理地址,一个是逻辑地址。然而,这样的解释太抽象,什么是物理,什么是逻辑。这些抽象的表述会让人无法理解到其本质。下面我就谈谈这个问题。

要想说明这个问题,首先得说说计算机网络的目标是什么。计算机网络的根本目标就是将数据从一点传送到另外一点。听起来很简单,但是里面包含的意思很多。例如,两个点之间是在同一个网络还是跨网络连接的,如何才能将数据正确的传送到对方,如果出现错误怎么办等等。

为了说明问题的本质,我们首先将问题简化:假设两点在一个网络内。在这种情况下,只需要MAC地址就可以了。例如通过交换机将多台电脑组成一个网络,为了找到对方,必须通过一个地址来标识。就像寄快递一样,如果没有地址,快递员是无法将快递送到对方的所在地的。这就是我们所说的MAC地址。当A点要将数据传递给B点时,会在数据的首部添加B的MAC地址,即目标地址。当然在首部中也有源地址,即发送方的MAC地址,还有其它一些信息,例如用于校验的等等。组装好的这个数据称为帧。然后A点就将帧通过网卡发送出去。

此时交换机收到这个帧后,查找自己的转发表。转发表主要有两列,一列是MAC地址,另外一列是该MAC地址对应的端口。查找的结果只有两种情况:找到或没找到。如果找到就将数据从该MAC对应的端口转发出去。如果没找到,很简单,交换机会把帧向所有端口广播(除了该帧进入的端口),因此肯定会有一个合适的端口收到的。这个广播的方法很粗暴,也很奏效。

这就是MAC地址的作用。MAC地址是刻录在网卡这个物理设备上的,一般是无法改变的。

然而,如果两点不在一个网络内。这时就需要IP地址了。因为IP地址含有两个部分,一个是网络地址,一个是主机地址。因此,通过对方的IP地址,是可以判断出对方是否和本机在一个网络内。如果在一个网络内,如上所述,只需要知道对方的MAC地址即可通信。

如果不在一个网络内,本机的网络层就认为数据应该发送给网关。道理是显然的,如果不在一个网络内,首先得把数据发送出网络才可以。如何发出网络,当然是发给网关,因为网关就相当于网络的门卫。要想把数据发给网关,同样需要知道网关的MAC地址,如何知道网关的MAC地址呢?这就涉及到ARP协议。

电脑缓存里有一张ARP表,该表主要有两列:一列是IP地址,另外一列是MAC地址。这张表不是天生就有的,是随着网卡收到网络中的各种通信数据,不断学习增加的。

话说回来,如果ARP表中有网关IP地址对应的MAC地址,则问题就转化为网内数据发送,上面已经讲的很清楚了。如果ARP表中没有网关IP地址对应的MAC地址,则启动ARP协议,即向网内广播,询问该IP地址的MAC地址。广播询问的结果是网关收到广播后,发现是问自己的MAC地址,所以就回复询问方自己的MAC地址。然后数据发给网关的问题,也转化为网内数据发送,上面已经讲的很清楚了。

大家发现没有,在跨网通信时是需要IP地址的。因为需要通过IP地址来判断是网内通信还是网外通信。有人可能会说,让MAC地址也具有能够区分网络的特征不就可以不需要IP了么。事实上这样做是不实际的。每个网卡出厂时就有一个独一无二的MAC地址,出场时是不可能知道你用它时是在哪一个网络里,也就是天生它就不具有能够区分网络的特性。而且也不需要它具有这种特性。因为MAC只负责设备到设备的通信就够了。这层通信是真正的通信,所以称为物理通信。

而跨网络传输数据时,需要考虑传输的路径,即为了到达目的地,下一跳应该去哪儿,从而一跳一跳的传输到目的地。而网内传输,不需要考虑传输路径,只要发出去一定可以到达。最坏情况下就是通过广播传输也能到达。而跨网络传输时,这一招不灵了。因此,跨网传输时需要考虑网络之间的传输,需要使用能够表示网络特征的地址,即IP地址。所以IP地址是负责网络到网络传输的。

至于发给网关后,下一步发给谁,本机就管不着了。本机只能保证在网络内传输,即下一跳的概念。下下一跳,只能由网关来负责了。其实网关就是路由器的一个接口。确定下一跳应该去往哪个网络,然后就将数据从连接那个网络的路由器的接口发送出去。发送出去同样要判断目标IP是和当前路由接口的网络是否同一网络。问题又回到上面讲的过程了。所以周而复始。

可见IP地址和MAC地址的概念并不矛盾。他们之间是不同层次的,就像有了领导还必须有群众才可以,谁也离不开谁。数据从一点传到另外一点,要经过几个网络,网络路线是怎样的,需要使用IP地址来解决。而网内传输需要使用MAC地址来传输。可见没有网内真正的通信传输,何以实现网络之间的通信。而如果没有网络路由的路径的话,数据是不可能到达目的地的,因为方向都没有。

关于MAC地址与IP地址的实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: MAC地址与IP地址的实例分析

本文链接: https://www.lsjlt.com/news/236068.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MAC地址与IP地址的实例分析
    这篇文章给大家介绍MAC地址与IP地址的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在教计算机网络课程中,经常会碰到这样的问题,为什么需要两个地址:一个是MAC(物理地址),另一个是IP地址。各种解释都有,基...
    99+
    2023-06-04
  • 怎么解析IP地址与MAC地址
    怎么解析IP地址与MAC地址,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一:简介在linux系统中,通常使用ifconfig或者ip addr查看服务器的IP...
    99+
    2023-06-03
  • Android获取mac地址、OA地址和外网IP地址
    获取Mac地址: public static String GetMAC(Context context) { String Mac = ""; if (Build.VERSION.SDK_INT >= Build.VERSIO...
    99+
    2023-09-06
    android java
  • 用python获取MAC地址和IP地址
    # ifconfig eth0 eth0      Link encap:Ethernet  HWaddr 50:E5:49:3A:EA:90             inet addr:172.28.10.71  Bcast:172.28...
    99+
    2023-01-31
    地址 python MAC
  • java实现通过IP地址获取mac(物理地址)
    java实现通过IP地址获取mac(物理地址),只能获取到局域网的mac地址,具体代码如下: package com.qcmsa.util;import org.apache.commons.log...
    99+
    2023-09-01
    java tcp/ip macos
  • Linux中MAC地址欺骗的示例分析
    这篇文章主要介绍Linux中MAC地址欺骗的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MAC地址欺骗(或MAC地址盗用)通常用于突破基于MAC地址的局域网访问控制,例如在交换机上限定只转发源MAC地址修改...
    99+
    2023-06-27
  • 有了 IP 地址,为什么还要用 MAC 地址?
    我认为,IP地址和MAC地址可以类比生活中寄快递的过程。 在整个网络中数据被封装成数据报文进行发送,就像我们生活中寄快递时将物品放进包裹中。而数据在路由器之间的跳转也可以看作是不同地区快递小哥对物流的...
    99+
    2023-08-31
    tcp/ip 网络 mac地址
  • 客户端的IP地址与MAC地址怎么利用Java进行获取
    这篇文章将为大家详细讲解有关客户端的IP地址与MAC地址怎么利用Java进行获取,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.获取客户端IP地址public String getIp(H...
    99+
    2023-05-31
    java ip地址 mac地址
  • Linux系统下怎么绑定IP地址和MAC地址
    本篇内容介绍了“Linux系统下怎么绑定IP地址和MAC地址”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、约定1、网关上已经对下面所带的...
    99+
    2023-06-10
  • 怎么用Python获取计算机名/ip地址/mac地址
    这篇文章主要介绍“怎么用Python获取计算机名/ip地址/mac地址”,在日常操作中,相信很多人在怎么用Python获取计算机名/ip地址/mac地址问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Py...
    99+
    2023-06-08
  • 如何用Python获取计算机名,ip地址,mac地址
    目录获取计算机名获取ip地址获取mac地址获取计算机名 # 获取计算机名,常用的方法有三种,但最常用的是第一种 import os import socket # metho...
    99+
    2024-04-02
  • 获取对方IP地址和获取目标MAC地址的方法
    获取对方IP地址的方法: 1,直接知道对方的IP地址 2,通过域名获取对方的IP地址 (本质上还是直接通过IP进行访问,因为通过域名访问时,需要在DNS服务器中查找域名对应的IP地址,知道对方IP地址...
    99+
    2023-09-04
    网络
  • IP地址怎么分类
    这篇文章将为大家详细讲解有关IP地址怎么分类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。IP地址由两部分组成,即网络地址和主机地址;网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一...
    99+
    2023-06-09
  • 华为ensp模拟器实验:端口安全绑定MAC地址ip地址
            端口安全,交换机会通过MAC地址表记录连接到交换机端口的以太网MAC地址,并只允许某个MAC地址通过本端口通信。使用端口安全特性可以防止未经允许的设备访问网络,并增强安全性。另外,端口安全特性也可用于防止MAC地址泛洪造成M...
    99+
    2023-10-26
    华为 安全 macos
  • 使用Python怎么获取计算机名,ip地址,mac地址
    使用Python怎么获取计算机名,ip地址,mac地址?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。获取计算机名# 获取计算机名,常用的方法有三种,但最常用的是第一种...
    99+
    2023-06-15
  • VC实现将网址解析出所有ip地址的实例代码
    通过调用gethostbyname 系统函数进行解析 void GetHostNamebyIp(char* hostName) { if(NULL == hostName) ...
    99+
    2024-04-02
  • 如何分配ip地址
    如何分配ip地址?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、IP地址的分配有两种情况:静态IP地址动态IP地址2、分配说明静态IP地址:需要手工在终端上设置IP地址、掩码...
    99+
    2023-06-15
  • Javascript地址引用的示例分析
    这篇文章将为大家详细讲解有关Javascript地址引用的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下var a = ne...
    99+
    2024-04-02
  • Linux系统监测IP地址冲突的示例分析
    小编今天带大家了解Linux系统监测IP地址冲突的示例分析,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统监测IP地址冲...
    99+
    2023-06-28
  • python获取本机IP、mac地址、计
    在python中获取ip地址和在php中有很大不同,在php中往往比较简单。那再python中怎么做呢?我们先来看一下python 获得本机MAC地址:import... 在python中获取ip地址和在php中有很大不同,在php...
    99+
    2023-01-31
    本机 地址 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作