如果我们已经有了MAC地址,为什么要使用IP?


17

我正在为ICND1考试做准备,最近开始学习其他Cisco设备。我刚刚知道如何生成数据包以通过网络或在网络外部传输。

例如,生成数据包时,它将添加源IP地址,目标IP地址,源Mac地址,目标mac地址和其他数据。

由于Switch是第2层设备,并且它使用MAC地址与网络中的其他主机进行交互,那么为什么在本地网络中使用IP地址呢?

如果某人不需要连接到其自身网络之外的任何主机或网络,该怎么办?为什么他仍然需要IP地址,MAC地址还不够吗?


这个问题会不时出现。一个很好的答案在这里:serverfault.com/questions/410626/…–
注销

这里是有一些更有用的信息,类似的话题另一个链接- superuser.com/questions/830857/...
KARTHIK Balaguru

即时消息感到惊讶,您怎么找不到它:ip和mac由cbt掘金解释
allwynmasc 2015年

Answers:


21

由于Switch是第2层设备,并且它使用MAC地址与网络中的其他主机进行交互,那么为什么在本地网络中使用IP地址呢?

好吧,让我们从您发送的流量开始。

如果您在自己的局域网中使用严格的第2层协议,而没有HTTP,SSL,NFSCIFSiSCSIH.323SIPDNSICMP,数据库或Web套接字,那么您的建议就可以了。实际上,FCoE并不依赖IP层...因此,如果您要这样做,请把自己踢出去:-)

问题是,通过删除那些基于IP的服务,您使大多数网络的实用性降低了95%。存在网络来共享信息。通过将服务绑定到IP并将其封装在IP中,地球上的所有操作系统都共享信息。该信息通常也包含在TCP中。

  • 修辞性问题:在所有主要操作系统中,一群坚定的人能否在以太网之上直接实现TCP和UDP服务?
  • Pedantic回答:是的,但这是浪费时间和资源以获取微不足道的收益。让我们从基础开始……没有针对以太网mac地址的DNS名称服务。这意味着除非您构建它,否则将如何解析没有IP地址的URL?我怀疑有人是否真的想键入http://00c0.9b4a.fb2c/,以便避免每个数据包中多出20个字节。这只是所需工作的一个示例。

如果某人不需要连接到其自身网络之外的任何主机或网络该怎么办?为什么他仍然需要IP地址,MAC地址还不够吗?

从技术上讲,是的。在现实世界中……这是一个没有IP的无聊网络。


8

(不再是这个)

第2层与第3层

IP在第3层起作用。它通过以太网(第2层)承载,该以太网使用MAC识别节点。使用不同的第2层(例如ATM),您将没有MAC。(或者使用另一个第3层,例如IPX,您将没有IP。)


1
感觉就像一个循环的答案。“如果我们已经有了MAC,为什么要使用IP?因为您需要IP才能使用IP。” 当然,最初的问题是乞求问题“第3层对我们有什么作用,而第2层不能做到?” 或者其他的东西。
Smithers 2014年

不,这就像问“为什么我有电视时开车”,它们完全不同。以太网(L2)使用MAC。IP(L3)使用IP地址。IP可以通过以太网承载,但这只是L2 可以使用的一长串列表之一。
Ricky Beam

0

如果没有IP,您将在世界范围内广播系统中每个未知/老化的MAC地址的流量(未知单播)。

IP还可以帮助您高效地进行逻辑规划(例如:使用IP地址汇总),从而使路由器可以减少用于路由表和转发信息的内存。


-3

简单地假设我们有2个连接的设备,每个设备都有一个网卡。现在,如果每个设备中只有一项服务(不完全是服务,诸如osm软件之类的东西,...),那是正确的,不需要IP,但是请考虑到每台设备中都有许多服务,并且这些服务应该进行通信彼此之间没有任何冲突。因此,除了用于识别设备的mac地址之外,我们还需要为每个服务使用其他名称(我们称为IP)。


1
为了区分一台设备上的不同服务,使用了TCP或UDP端口。
Gerben
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.