为什么需要IP到MAC地址的转换?


9

在使用TCP / IP协议的网络上,为什么将IP地址转换为MAC地址?

我的意思是,当每个设备都知道其IP时,为什么还要进一步使用MAC地址而不直接使用IP地址作为地址?

Answers:


18

主要区别在于IP地址由作为网络协议的IP使用,而MAC地址由以太网通过链路层(2)协议使用。IP可以在不同的第2层协议上运行,因此它不包含“媒体访问”功能。您可以在串行线路,以太网,DSl,ISDN等上运行IP。

例如,DHCP通过以太网提供动态IP地址。DHCP服务器需要MAC地址,以便可以为PC分配IP地址。


2
+1这确实是关键问题。IP可以在不同的物理层上运行。不同的物理层需要不同的物理寻址。MAC是以太网使用的地址。还有其他一些不使用IP的基于以太网的协议,包括BootP,DUX和IPX。同一物理以太网也可以同时处理IPv4和IPv6。但最后,一切都传递到了以太网上的MAC。
罗布·纳皮尔

了解不同的时间也会看到不同的片段,这一点也很重要。您的计算机可能从需要响应但尚未知道其MAC的某个人那里收到了一个数据包(它所看到的Mac可能来自最近的连接设备,但这并不重要),并且需要arp或反向和rarp。或拥有主机名,但需要mac或.....任意数量的不同配置和协议组合
PsychoData 2014年


4

解决此问题的另一种方法是问一个相反的问题:为什么我们已经为硬件分配了MAC地址后又需要IP地址?

在“ 立即安全性”播客(HTML脚本)的第29集中对此进行了讨论。

使用MAC地址,我们的计算机可以直接与单台计算机通信。但是,为了知道如何到达那里,我们需要将数据包路由到它。在我们的每台计算机上都具有全局MAC地址查找表是不切实际的。

另一方面,IP地址是按层次组织的。我们的计算机可以确定LAN上的IP地址,其余的发送到LAN的网关(例如家用路由器)。离开LAN后,连续的路由器查看IP地址并将数据包路由到另一台路由器。最终,在其LAN上具有目标IP地址的路由器可以识别MAC地址并将数据包发送到目标计算机。


为什么MAC地址不能像IP一样聪明,并且以分层组织的方式实现?他们只是粗心大意还是有限制使其不可能?
Pacerier,2011年

2
MAC地址是由硬件制造商分配的,他们不知道将在哪里部署网络设备,也不知道采用哪种配置。有很多站点(例如站点),这些站点使您可以通过MAC地址识别网卡的制造商。
Doug Harris

很好的论点(和解释!)
Pacerier

3

它们用于网络堆栈中的不同层。MAC地址与以太网网络层有关,而IP地址与IP层有关。您可以在不同的传输方式(例如SLIP)上使用IP,因为没有以太网,因此没有MAC,因此没有MAC。如果需要,您也可以使用不同于IP的协议。

如果您考虑一下,如果我通过SLIP连接拨号,那么一个IP数据包可能以没有MAC关联的方式开始,然后有不同的MAC,因为它从一个路由器跳到另一个路由器,并通过互联网转发到最终IP目的地。


3

确保MAC地址对于计算机而言是唯一的(网卡通常包含MAC地址)并且不会更改,而您可以在任何给定的计算机上重新定义IP地址。

另外,整个公司可以使用网络地址转换来共享公共IP地址,因此不能保证公共IP地址与机器或人一一对应。


3

我可以用另一个问题回答您的问题:您有一个电话号码,那么为什么需要社会安全号码/身份证号码?

换句话说,它们有不同的用途。一种用于识别您的身份(SSN,MAC),另一种用于定义联系方式(电话号码,IP地址)。

此外,如果他们没有SSN(例如,不同的国家/地区),就可以通过电话联系到某人,就像他们没有MAC(不同类型的链路层)则可以在Internet上联系到某人一样。 。不同的链路层具有识别数据分组的目的地和来源的不同方法。


1

IP是在操作系统或为您的网卡驱动程序软件或者定义,或者通过网络提供给你,并且可以动态改变。该MAC是网络卡的标识符,即,硬件。它们之间没有一对一的关系。


0

您不知道stackoverflow.com的MAC地址,因为它不在您的本地网络中。MAC地址用作链中下一跳的标识符。“ IP”仅用于一种协议,该协议暗示应向哪个方向发送数据包(下一个使用哪个网关)。


0

因为在链路层上进行通信需要MAC地址(IP地址在IP层的上一层使用)。


0

让我们举个例子

如果您申请公司的工作..他们会在您不知道您的身份的情况下给您吗?当然不是....所以您的实际身份证明是Mac地址

当您加入公司时,他们将给另一个雇员ID,以在该公司雇员之间进行通信。这是IP地址。

如果您更改公司,则可以修改您的员工ID,但是您的实际信息永远不会更改(年龄,姓名等)...。


可以更改我的真实身份吗?:P但这并不是一个真正的答案,只是一个比喻奇怪而又错误的比喻
PsychoData 2014年

0

您的问题是非常合法的!事实是,从理论上讲,无需MAC寻址系统,就可以创建一个仅IP的系统并正常运行。可以使数据链路层忽略任何MAC过滤,而将此功能留给网络层,以根据其自己的IP地址过滤掉。过去存在这样的系统,例如基于通过其UART(例如RS232)端口链接设备的网络。显然,这些网络接口没有携带MAC地址或任何其他形式的唯一物理身份。但是,由于无法确保设备不会比每个设备允许的预定数量的IP地址更多,因此它可能使集中分配IP地址(例如通过DHCP服务器)成为一场噩梦。也,因此,很难明确,单独地识别每个设备。至少在子网内唯一的MAC地址用作唯一的标识令牌。当然,为设备单独分配IP地址可以解决此问题,但是在网络上存在大量设备的情况下,建立和维护这种方案变得不切实际。


-3

IP地址就像邮政编码或国家代码或ISD代码一样,它会简化位置地址,否则很难对所有MAC地址进行排序或确定确切位置,否则计算机会费时费力地确定该地址或保留该地址本地计算机上巨大的MAC地址数据库。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.