有ip地址为什么要mac地址,或者说没有mac地址可以吗?

这篇具有很好参考价值的文章主要介绍了有ip地址为什么要mac地址,或者说没有mac地址可以吗?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

       首先明确一个问题:IP地址是IP协议的一个点标识,MAC地址也只是MAC子层的一个链路层标识。IP协议与MAC协议是分属两层的,功能是不冲突的,主要问题是IP地址和MAC地址是否可以统一使用一个标识。此文仅讨论在一般以太网中的场景。

       我们知道IP协议作为网络层协议,实现点到点的数据传输,主要的依赖就是利用IP地址进行路由转发。而mac地址也是一个标识,其一般烧录在网卡中。一般情况下,大家认为mac地址的作用是因为IPv4地址是不充足的,因此有子网,ARP等,需要mac地址作为类似身份证号的唯一标识,以及mac地址不方便进行路由,所以需要具有区域性质的IP地址作为网络层数据标识。我对于IP地址与MAC地址的关系,以及两者的功能重复性问题也很不解,因此在本文中对这两个地址的意义做一个全面的审查和思考,从实践和历史的角度来梳理一遍。

       正如哲学上常说的,一个问题要从理论指导,实践结合,以及历史性因素中去看待,去剖析。为了说明后面的结论,先引出一个历史和实践背景:MAC地址是先于IP地址出现的,(那时还没有分层协议)MAC子层只是数据链路层中的一个子层,且数据链路层不仅仅服务于IP协议。

 计算机之间的通信发展史可以查看低并发大佬的图文,并茂理解: https://mp.weixin.qq.com/s/jiPMUk6zUdOY6eKxAjNDbQ

循着历史发展,再看一遍MAC地址产生和发光发热的时刻:

在最开始的时候,人们发明了计算机,为了能实现计算机之间的通讯,自然的想到用一根线将两台计算机连接起来,若是有多个计算机怎么办呢?可以每个计算机都连接n-1根线,分别连接其他计算机,但是这样会需要很多线,很多物理端口。于是星型、总线、环形等拓扑结构被设计实现:

(图片来源:百度百科)

没有mac地址,计算机网络,计算机基础,tcp/ip,网络

没有mac地址,计算机网络,计算机基础,tcp/ip,网络

没有mac地址,计算机网络,计算机基础,tcp/ip,网络

这个时候,MAC地址这个东西必不可少的出现了,因为涉及到两个地方:
1.在没有独立端口的情况下,需要一个标识识别网络中的数据来源于哪一个设备。

2.更前置的条件,为了避免数据冲突干扰,实现多路访问控制仲裁等,也需要一个标识。

随着网络发展,接入的主机越来越多,上图中的每一个拓扑结构都将大幅增大网络复杂度,和大幅降低网络质量。于是出现了三级结构互联网以及多层次的ISP互联网,计算机网络协议标准也随之产生与确立。在进入这一阶段后,建立了OSI开放式系统互联架构,确立了TCP/IP作为通用协议。此时没有使用"TCP/MAC"而使用单独的IP标识,主要原因应该就是MAC地址的区域无关性,使得若使用MAC地址做个IP标识,将会对路由转发造成很大的困难。

此外,ARP协议中用到了MAC地址,可以用来申请IP地址,作MAC映射等,其实此时使用IP地址代替MAC地址是可行的,虽然IP地址不是网卡本身具有的,但一般以太网交换机网络中,每一台主机分别接入一个独立的中间设备独立端口,是可以使用端口识别的。而在无线Wifi网络中,CSMA/CA协议时分复用的特性,实际上也可以没有固定的MAC地址,直接接入申请也是可以的。

总结下:

       1.受历史以及复杂的网络环境影响,仅使用IP地址是不行的。
       2.仅在以太网TCP/IP协议栈环境下,重新修改设计链路层,可以做到使用IP地址标识代替MAC地址。

       3.若使用MAC地址代替网络层的IP地址标识,最大的问题就是无法高效的路由转发。

参考信息:

有了 IP 地址,为什么还要用 MAC 地址? - 知乎

有了IP地址,为什么还要用MAC地址?_百度知道

【计算机网络】有了ip地址,为什么还要mac地址 - 倒骑驴子 - 博客园

有了IP地址为什么还需要MAC地址_莫名OS的博客-CSDN博客_为什么有了ip地址还要有mac地址文章来源地址https://www.toymoban.com/news/detail-698604.html

到了这里,关于有ip地址为什么要mac地址,或者说没有mac地址可以吗?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【iPhone】手机上接收短信同步转发到iPad和Mac,为什么没有短信转发解决办法

      当iPad和Mac上登录的都是同一个AppleID时,可以开启短信转发,这样三个设备可以同时收到短信,非常方便。 设置-信息-发送与接收-最下面的 蓝字Apple ID 需要一致   只需要在iPhone的设置- FaceTime通话 - 蓝字Apple ID 重新登入登出一下,就可以在信息里看到短信转发了

    2024年02月07日
    浏览(132)
  • mac 电脑CPU温度怎么看?怎么可以监控Mac CPU温度,为什么我的 MacBook Air 这么热?

    众所周知,电脑温度太高会直接影响到系统运行速度,对硬盘伤害也是很大的。特别是夏天,Mac 笔记本有时候运行起来会比较烫。关于 Mac 笔记本的散热,见仁见智。但是我们也比较好奇 CPU、电池的温度。怎么查看Mac CPU温度呢?由于Mac电脑没有BIOS这种基于硬件底层的软件,

    2024年02月08日
    浏览(48)
  • 有没有好奇过路由器宽带拨号的mtu值为什么是1492呢?了解MTU与IP分片

    MTU与IP分片(可选内容了解) 这里来讲一个比较有趣的内容,相信大家都有设置过家用路由器的经历,不知道有没有发现一个事情,在设置拨号的时候,里面有一个MTU,值通常是1492或者1480,如果接入方式改为DHCP的情况下,MTU就变成了1500,为什么呢? (1)了解MTU的作用 Ma

    2024年02月05日
    浏览(34)
  • 为什么普通路由器在转发IP数据报时,对于源地址和目的地址都是不改变的,而NAT路由器需要改变

    普通路由器在转发IP数据报时,对于源地址和目的地址都是不改变的 。这是因为路由器的主要任务是根据其路由表将数据包从一个网络接口转发到另一个网络接口。当数据包到达路由器时,路由器首先将其目的地址与路由表进行对比,如果目的地址在本地网络内,它会直接转

    2024年02月04日
    浏览(57)
  • 神经网络为什么可以学习

    本资料转载于B站up主:大模型成长之路,仅用于学习和讨论,如有侵权请联系 动画解析神经网络为什么可以学习_哔哩哔哩_bilibilis 1.1 也可以是一层,也可以是多层  2.1 每两个神经元之间有两个参数,我们称之为权重 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 16.1  17.1 18.1

    2024年02月12日
    浏览(111)
  • WebSocket 是什么原理?为什么可以实现持久连接?

    WebSocket 是一种用于实现持久连接的通信协议,它的原理和工作方式相对复杂,但我们可以尝试以尽可能简单和清晰的方式来解释它。 WebSocket 的原理 在理解 WebSocket 的工作原理之前,我们首先要了解 HTTP 协议的短连接性质。在传统的 HTTP 通信中,客户端发送一个请求到服务器

    2024年02月05日
    浏览(54)
  • 前端为什么发请求没有携带cookie?

    在前端发送请求时,如果想要携带 cookie,通常只能携带存储在与请求域名相同路径的 cookie。这是由浏览器的同源策略所决定的。 同源策略要求请求的域名、协议和端口都必须一致,否则浏览器会限制跨域请求的权限。当浏览器发送跨域请求时,默认情况下不会自动携带 co

    2024年02月06日
    浏览(70)
  • 为什么 C 语言没有被 C++ 取代?

    今日话题,为什么 C 语言没有被 C++ 取代?C语言之所以没有被C++完全取代,有几个主要原因。首先,C++的编译器实现相对复杂,这对于一些嵌入式平台来说是一个问题。许多嵌入式系统只支持C语言,因此C++在这些平台上无法使用。即使在支持C++的嵌入式平台上,也常常存在不

    2024年01月19日
    浏览(50)
  • cron 定时任务,启动shell脚本,为什么没有执行

    Cron 定时任务不执行时,可能有多种原因。下面是一些常见的问题及其解决方法: Cron 服务未运行 :首先确认cron服务是否正在运行。在大多数Linux系统中,你可以使用以下命令查看cron服务的状态: Cron 表达式错误 :确保你的cron表达式是正确的。Cron表达式包括五个或六个字段

    2024年04月13日
    浏览(44)
  • 为什么单片机可以直接烧录程序的原因是什么?

    单片机(Microcontroller)可以直接烧录程序的原因主要有以下几点: 集成性:单片机是一种高度集成的芯片,内部包含了处理器核心(CPU)、存储器(如闪存、EEPROM、RAM等)、输入/输出接口(如GPIO、UART、SPI、I2C等)以及时钟电路等功能模块。这种高度集成的设计使得单片机能

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包