• 芒果
    2018-05-18
    个人发表一下对这个问题的看法,抛砖引玉,希望老师指正:1.局域网内IP地址是动态分配的,假如我是192.168.2.100,如果我下线了,可能IP就分配给了另一台电脑。IP和设备并不总是对应的,这对通信就产生了问题,但是MAC地址不同,MAC地址和设备是一一对应且全球唯一的。所以局域网使用MAC地址通信没有问题。2.历史遗留问题:早期的以太网只有交换机,没有路由器,以太网内通过MAC地址通信。后来才有了互联网,为了兼容原本的模式,采用了IP+MAC地址通信的方式。为啥不推到了重来呢?看看IPv6的处境你就知道了。所以是先有MAC地址后有的IP,IP的提出主要还是因为MAC地址本身的缺陷,这个问题换成有了MAC为何还要IP地址也很有意思。3.我这里简单说一下第一:MAC地址本身的缺陷:因为MAC地址是硬件提供商写在网卡中的,MAC地址虽然唯一但是不能表明用户在整个互联网中的位置,除非维护一个超级大MAC地址对应表,那寻址效率肯定爆炸。但是IP地址解决了这个问题,因为IP地址是网络提供商给你的,所以你在哪里整个网络都是知道的。第二:安全问题:获取MAC地址是通过ARP协议来完成的,如果只用MAC地址通信,那么广播风暴是个难题。4.那么我觉得如果哪天每人一个固定的IPv6地址,那么我觉得MAC地址+IPv4的模式是不是可以被替换了?
    展开
     9
     670
  • 陶家顺
    2018-08-23
    1. mac地址是唯一的,为什么可以修改?想想身份证,身份证号是唯一的,不能改变的,但是可以造价。mac地址全球唯一,它是固化在网卡里的。网卡毕竟是个硬件,需要软件支持,既操作系统识别。重点来了,操作系统识别出来的mac地址是可以更改的,它只不过是一个字符串。我们常说的修改mac指的是修改电脑中记录的既注册表中的记录。
    2. 有了mac地址为什么还要有ip地址。举个例子,身份证号是你的唯一标识,不会重复,一落户就有(网卡一出厂就有mac)。现在我要和你通信(写信给你),地址用你的姓名+身份证,信能送到你手上吗?明显不能!身份证号前六位能定位你出生的县。mac地址前几位也可以定位生产厂家。但是你出生后会离开这个县(哪怕在这个县,也不能具体找到你)。所以一般写个人信息就要有出生地和现居地址了。
    展开

    作者回复: 这个解释太详细了

     9
     546
  • 尼古拉
    2018-05-23
    mac好比人的身份id,ip好比他的住址,住址可以变,人的身份🆔不会变。
    
     137
  • 党
    2018-05-29
    ip是网络层使用的 mac是链路层使用的 ip包最终还是要通过物理链接和mac地址进行交互的

    作者回复: 对的

    
     109
  • 执笔书生
    2018-05-18
    因为mac地址是全世界唯一的,不会找错人!而ip地址会是发生改变的!有可能现在ip地址A是这里的地址!在下一刻就是B的地址了!
    综上所述:所以要有mac地址!
    
     83
  • 初学者
    2018-05-18
    看到这篇文章,让我想起了一本书:网络是怎样连接的。我看到有小伙伴问推荐的书籍,可惜我无法直接在这里回复它
     1
     50
  • 小田
    2018-06-04
    摘要
    # 协议三要素
    语法、语义、顺序
    # 网络数据包结构
    Mac头 Ip头 Tcp头 Http头 数据体
    # 网络五层模型
    1. 物理层:连接
    2. 链路层:定位
    3. 传输层:路由
    4. 会话层:会话连接机制
    5. 应用层:数据封装格式
    展开
     1
     43
  • iceco1a
    2018-05-31
    网卡MAC码是由全球惟一的一个固定组织来分配的,未经认证和授权的厂家无权生产网卡。每块网卡都有一个固定的卡号,并且任何正规厂家生产的网卡上都直接标明了卡号,一般为一组12位的16进制数。其中前6位代表网卡的生产厂商。后面的位数是设备号。当然在操作系统级别改Mac地址又是一种说法。

    作者回复: 赞

     1
     43
  • zwfec
    2018-05-18
    很多人都说mac地址是唯一的,不变的,网络老师也这么说,
    1. 但记得大学时为了能上网,在windows XP下自己改了mac地铁就可以了, 可能只是操作系统级别的修改,但理解起来好矛盾
    2. 如果是全球唯一的,那么意思是这些网卡厂商都要维护自己的mac列表?以保证和其它厂商绝对不重复,有这样的机构吗

    真是困惑,自己猜想mac唯一应该也只是保证局域网内保证唯一吧
     5
     35
  • Rimin
    2018-05-18
    假如有MAC地址没有ip地址可以吗?答案是不行,因为全世界存在各种网络,它们使用不同硬件地址。要使这些网络能互相通信就必须进行非常复杂的硬件地址转换工作。但可以用抽象的ip地址把这个问题解决。
          那么假如没有MAC地址而只有ip呢?同样不行,ip地址只是一种抽象的逻辑地址用于标记唯一性,而传输的数据是要从网络层到数据链路层或由数据链路层到网络层的,ip数据报并不能和下层硬件“沟通”,所以还要被封装MAC帧。即将IP地址解析为链路层所需硬件地址。
       目前是这么理解的,欢迎交流指正。
    
     31
  • Geek-Leon
    2018-05-18
    有既不走UDP又不走TCP的应用层协议吗?

    作者回复: 有的,传输层大部分情况下是tcp和udp,但是也有其他的协议比如sctp

    
     25
  • 橙子
    2018-05-18
    没有MAC地址,靠IP也是可以做MAC地址的事情,但是由于分层,IP负责网络层传输,MAC负责链路层传输,IP和MAC通过ARP协议映射,比如任何人沟通,可以通过电话,短信,微信,或者邮件,但是不同场合用的工具不一样
    
     24
  • hansc
    2018-05-18
    对于服务器来说,源地址一般是路由器的外网地址,内网机器没有外网地址,目标地址会把报文发给路由器,路由器根据mac地址,在arp缓存找到内网地址。
    
     18
  • 罗格
    2018-12-04
    十分感谢作者大大的回复,今天才看到不好意思,我自己后来发现还是有些疑问在纠结,查了许多相关资料还是没解决,又厚着脸皮来请教……
    一、文中说”每个城关都连着两个国家,”,又说“城关与城关之间是一个国家”,因为“城关是路由器,国家是局域网”,那关系就是“局域网—路由器—局域网—路由器—局域网”这样子吗?
    二、"当网络包知道了下一步去哪个城关,还是要使用国家内部的mac地址",是因为上面路由器和局域网关系中的两个路由器都处于中间那个局域网中的原因所以可以使用arp协议获取对方的mac地址吗?还是上面说的OSPF协议呢(我查的资料里说OSPF获取的是链路状态,具体没说mac地址还是ip地址)?
    三、“本地通讯基本kao吼”,ARP协议只在本地作用么?这个“本地”是指局域网还是什么?
    四、我查阅的资料里说自治系统中是包含多个路由器的,而且通常一个自治系统也包含多个局域网,那一个局域网里会包含多个路由器吗?如果我第一个问题里的图成立的话那意味着每个局域网都有两个路由器?
    上述四个问题困扰我许久,对我原来的认知产生了一些颠覆,还望作者大大不吝赐教,万分感谢……
    展开

    作者回复: 问题一,你的理解正确。问题二,去哪个网段应该怎么走,用ospf,也就是城关管理员直接交换信息用ospf,一旦一个包来到城关,就根据已知信息选择下一个城关,一旦选择了城关,就通过arp得到地址发送。问题三,本地是指局域网。问题四,一个局域网不会有多个路由器,局域网边界上是路由器

     1
     17
  • lujg
    2018-05-18
    在公网中通信只能用公网ip,而对于公网ip是按照区域分配的,路由器是可以知道目标ip的大范围的区域,然后从大区域慢慢向小区域传送的。可以类比我们去某地的一个过程,比如你从北京到深圳某公司,你需要先去飞机场,然后坐飞机去深圳,再通过市内交通到达目的地。
    而对于Mac地址,这是标识机器的一个地址,在出厂时就确定的,但是单mac所在的区域不是固定的,而是会移动的。即你从北京到深圳后,你的IP是会变的,但mac是不会变的。所以是无法通过mac地址寻找到你所在位置的。
    理论上是可以通过一个大查找表知道每一个mac所在的位置,然后通过查表知道你所在的位置然后根据mac做一个转发,但是查找的代价是很高的。
    其实手机通过数据上网就是一个通过类似mac寻址的一个网络。在移动网络中是允许你移动的,这是由于基站会记录你的位置信息。并且核心网与公网的通信是通过ip来实现的,而在手机和基站间的通信是通过类似mac的一个唯一码实现的。并且移动网络整体建设成本比互联网的成本高很多,消费也高很多。
    展开
    
     16
  • clean
    2018-08-11
    先有mac 后有ip,以前的网络并没有统一,很多地方有自己的网络结构,导致资源互联很难。ip是统一异构网络的。ip是全球范围内的,mac是一跳范围内的。如果真的只用mac来寻址,维护mac的成本很高,而且如果在路由表中记录mac 很容易出现广播风暴 网络就瘫痪了。所以设计者考虑了很多才在mac层上面加一层IP 这样能更好的解决网络异构问题 和 传输效率问题。
    
     11
  • 行者
    2018-05-19
    写的真好。
    另外老师是不是订阅了薛兆丰老师的经济课,一只铅笔的故事。^ _ ^
    
     10
  • 石头
    2018-05-18
    刘师,你好,请问有什么通俗易懂的教材可以推荐下吗?
    
     10
  • 糖小宝
    2019-05-15
    感觉Mac地址是手机号码,IP地址是省市区加街道详情
    点外卖的话,只有手机号码是找不到订餐人的
    只有按照省市区加街道详情,找到对应办公室
    大吼一声:“尾号XXXX是哪位?您的外卖到了!!!”
    订餐人:“这儿呐~我哒~~~”
    END
    展开

    作者回复: 赞

    
     9
  • 蔡波
    2018-05-18
    IP是负责三层通信通过查找路由表,层层传递,最终到达目的设备,Mac负责二层通信,设备上的ARP表是IP和Mac的对应关系,通过ARP表找到目的IP的Mac地址。
    
     9
我们在线,来聊聊吧