为什么有mac地址还需要有IP地址呢

双面针织机
为什么有mac地址需要IP地址
历史原因:早期的以太⽹只有集线器,没有交换机,所以发出去的包能被以太⽹内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与⾃⼰MAC地址相匹配的包。
梨花护肤品个⼈感觉上⾯的说法并不是太准确。明⽩⼈问了⼀下说:早期的以太⽹的⼚商竞争⼗分激烈,所⽣产的⽹卡的类型也不相同。为了能使不同⽹卡之间的不同设备进⾏通信,所以产⽣了IP地址。
答案⼀:
1. 有了MAC地址为什么还需要IP地址?
由于全世界存在着各式各样的⽹络,它们使⽤不同的硬件地址。要是这些异构⽹络能够互相通信就必须进⾏⾮常复杂的硬件地址转换⼯作,因此由⽤户或⽤户主机来完成这项⼯作⼏乎是不可能的事。但统⼀的IP地址把这个复杂问题解决了。连接到因特⽹的主机只需拥有统⼀的IP地址,它们之间的通信就像连接在同⼀个⽹络(虚拟互连⽹络或者简称IP⽹)上那么简单⽅便,因为调⽤ARP的复杂过程都是由计算机软件⾃动进⾏的,对⽤户来说是看不见这种调⽤过程的。
2. 有了IP地址为什么还需要MAC地址?
a.信息传递时候,需要知道的其实是两个地址:终点地址、下⼀跳的地址。IP地址本质上是终点地址,它在跳过路由器的时候不会改变,⽽MAC地址则是下⼀跳的地址,每跳过⼀次路由器都会改变。这就是为什么还要⽤MAC地址的原因之⼀,它起到了记录下⼀跳的信息的作⽤。
b.⽹络体系结构的分层模型:⽤MAC地址和IP地址两个地址,⽤于分别表⽰物理地址和逻辑地址是有好处的。这样分层可以使⽹络层与数据链路层的协议更灵活地替换。
c.历史原因:早期的以太⽹只有集线器,没有交换机,所以发出去的包能被以太⽹内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与⾃⼰MAC地址相匹配的包。
凝胶珠答案⼆:
⾸先明确⼀点,并不是所有的⽹络之间传输数据都需要mac地址和ip地址,⽐如说点对点线路之间的通信就没有MAC地址,⽹络层使⽤ipx协议时就没有ip地址,但是在当前的主流⽹络中,我们都使⽤ip地址和mac地址
既然mac地址唯⼀,为什么还要有IP地址?
之前我们提到,mac地址是唯⼀的,那理论上,在任何两个设备之间,我应该都可以通过mac地址发送数据,为什么还需要ip 地址?
mac地址就好像个⼈的⾝份证号,⼈的⾝份证号和⼈户⼝所在的城市,出⽣的⽇期有关,但是和⼈所在的位置没有关系,⼈是会移动的,知道⼀个⼈的⾝份证号,并不能到它这个⼈,mac地址类似,它是和设备的⽣产者,批次,⽇期之类的关联起来,知道⼀个设备的mac,并不能在⽹络中将数据发送给它,除⾮它和发送⽅的在同⼀个⽹络内。
去离子水机器
连供系统所以要实现机器之间的通信,我们还需要有ip地址的概念,ip地址表达的是当前机器在⽹络中的位置,类似于城市名+道路号+门牌号的概念。通过ip层的寻址,我们能知道按何种路径在全世界任意两台Internet上的的机器间传输数据。
mac地址通常是不变的,ip地址是可变的,尤其是移动设备,ip地址会经常变更。
mac地址的设计不携带设备在⽹络中的位置信息,想要通过mac地址通信,我们得在所有的设备上维护⼀张很⼤的表,记录所有mac地址路由在当前位置的的下⼀跳,这显然是不合理的。
既然能通过ip地址发送数据,为什么要有mac地址
既然ip地址有位置信息,⽽且在⼀个⽹络中也是唯⼀的,那么我们为什么不完全通过ip地址通信,抛弃mac地址呢?或者说,合并ip层和mac层的功能。
1、历史原因
最初的链路层协议是和ip地址⽆关的,没有⽹络层⽅⾯的设定,只有物理层和链路层,最初也只有集线器,没有交换机路由器,服务器之间传输数据全靠mac地址。在没有ip地址之前,mac地址已经在使⽤了。现在到处都在⽤的⼆层交换机,就是根据mac地址转发数据。flag标签抗体
2、设计的原因
现在这样设计是好的设计,链路层的实现不需要考虑数据之间的转发,⽹络层的实现不需要考虑物层的影响。
也就是说,理论上可⾏,⽬前⽆太⼤意义,反⽽有坏处。
为什么有了IP地址还需要MAC地址
作者:不求东西
长话短说,理由有三点。
⼀. 整体与局部信息传递时候,需要知道的其实是两个地址:终点地址(Final destination address)下⼀跳的地址(Next hop address)IP地址本质上是终点地址,它在跳过路由器(hop)的时候不会改变,⽽MAC地址则是下⼀跳的地址,每跳过⼀次路由器都会改变。这就是为什么还要⽤MAC地址的原
因之⼀,它起到了记录下⼀跳的信息的作⽤。注:⼀般来说IP地址经过路由器是不变的,不过NAT(Network address translation)例外,这也是有些⼈反对NAT⽽⽀持IPV6的原因之⼀。
⼆. 分层实现如果在IP包头(header)中增加了”下⼀跳IP地址“这个字段,在逻辑上来说,如果IP地址够⽤,交换机也⽀持根据IP地址转发(现在的⼆层交换机不⽀持这样做),其实MAC地址并不是必要的。但⽤MAC地址和IP地址两个地址,⽤于分别表⽰物理地址和逻辑地址是有好处的。这样分层可以使⽹络层与链路层的协议更灵活地替换,⽹络层不⼀定⾮要⽤『IP』协议,链路层也不⼀定⾮⽤『以太⽹』协议。这就像OSI七层模型,TCP/IP五层模型其实也不是必要的,⽤双层模型甚⾄单层模型实现⽹络也不是不可以的,只是那样做很蛋疼罢了。
三. 早期的『以太⽹』实现早期的以太⽹只有集线器(hub),没有交换机(switch),所以发出去的包能被以太⽹内的所有机器监听到,因此要附带上MAC地址,每个机器只需要接受与⾃⼰MAC地址相匹配的包。
到此这篇关于为什么有mac地址还需要有IP地址呢的⽂章就介绍到这了,更多相关mac地址与ip地址内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章,希望⼤家以后多多⽀持!

本文发布于:2024-09-21 18:41:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/211109.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地址   需要   IP地址   实现   没有   机器   知道   络层
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议