生成数据包时,它会添加源IP地址,目标IP地址,源Mac地址,目标mac地址和其他数据。
由于交换机是第2层设备,并且它使用MAC地址与网络中的其他主机进行交互,那么为什么要在本地网络中使用IP地址?
如果某人不需要连接到外部的任何主机或网络怎么办自己的网络,为什么他仍然需要IP地址,MAC地址还不够吗?
#1 楼
由于Switch是第2层设备,它使用MAC地址与网络中的其他主机进行交互,那么为什么要在本地网络中使用IP地址呢?
让我们开始吧您要发送什么流量。
如果您在自己的LAN内使用严格的第2层协议,而没有HTTP,SSL,NFS,CIFS,iSCSI,H.323,SIP,DNS,ICMP,数据库或Web套接字,那么您的建议就可以了。实际上,FCoE并不依赖于IP层...因此,如果您要这样做,请把自己踢出去:-)
问题是,通过删除这些IP,您破坏了大多数网络的95%实用程序的服务。存在网络来共享信息。通过将服务绑定到IP并封装在IP中,地球上的所有操作系统都共享信息。该信息通常也封装在TCP内。 />
学究的答案:是的,但这是浪费时间和资源以获取微不足道的收益。让我们从基础开始……没有针对以太网mac地址的DNS名称服务。这意味着除非构建它,否则将如何解析没有IP地址的URL?我怀疑有人真的想键入
http://00c0.9b4a.fb2c/
只是为了避免每个数据包中多出20个字节。这只是所需工作的一个示例。如果某人不需要连接到自己网络之外的任何主机或网络,那他为什么还需要IP地址怎么办? ,MAC地址不够吗?
从技术上讲,是的。在现实世界中,这是一个没有IP的无聊网络。
#2 楼
(不再重复)第2层与第3层
IP在第3层工作。它通过以太网(第2层)承载,该以太网使用MAC来标识节点。使用其他第2层(例如ATM),则不会有MAC。 (或者使用另一个第3层,例如IPX,您将没有IP。)
评论
感觉就像一个循环的答案。 “如果我们已经有了MAC,为什么要使用IP?因为您需要IP才能使用IP。”当然,最初的问题是乞求问题“第2层不能为我们做第3层对我们有什么作用?”或者其他的东西。
–史密斯
2014年12月2日19:41
不,这就像问“为什么我有电视时开车”,它们完全不同。以太网(L2)使用MAC。 IP(L3)使用IP地址。 IP可以通过以太网承载,但这只是L2可以使用的一长串列表之一。
–瑞奇
2014年12月2日21:07
#3 楼
MAC标识哪个设备。 IP可以识别该设备的位置。我知道您的名字,但不知道您的住所,因此我无法向您发送我答应使用邮政服务寄给您的那100美元钞票。
您仅在1个LAN中就可以知道每个设备的确切位置。因此,从技术上讲,仅Mac addres表就足以将您的数据包装在整个LAN的框架中。所有联网设备和PC均使用TCP / IP联网模型构建。 1个模型来统治它们。该模型要求您将IP地址包装在框架内。因此,没有IP地址,您将无法发送帧。没有框架,您将无法使用MAC地址来传输数据。
从技术上讲,我们可以构建第二个网络模型,仅用于忽略IP地址要求的LAN中。但这需要很长时间。然后,您需要说服IT业来制造将您的模型作为自己的模型的硬件和软件。这太麻烦了。
您的问题就像在问为什么我们需要汽车在高速公路上行驶?为什么不走,它在附近。好吧,它违反了在高速公路上行走的规则。而你最终入狱。
从技术上讲,您可以推动法律变更。但是您需要制定该法律。考虑与之相关的所有其他法律。同样,整个高速公路网在设计时都考虑到没有行人使用它的想法。你必须说服公众,当选,获得足够多的票数,让您的法案在国会通过和参议院。太麻烦了。
#4 楼
如果没有IP,则您将在世界范围内广播系统中每个未知/老化的MAC地址的流量(未知单播)。IP还可以帮助您合理有效地规划网络(例如:使用IP地址汇总),以便路由器可以使用更少的内存来路由表和转发信息。
#5 楼
互联网具有大量节点。这些节点之间的绝大多数通信都不是您感兴趣的,并且如果您尝试查看所有这些信息,将会不必要地降低计算机的速度。因此,以太网卡具有称为MAC地址过滤的硬件功能,它可以消除您不感兴趣的流量。(您可以使用混杂模式来覆盖此过滤器)。您将看到的唯一数据包将是:
数据包已明确发送到您的MAC地址
广播数据包
组播MAC地址范围
但是这些MAC地址不是全局唯一的,通常在最近的路由器之外看不到。 DHCP服务器的工作是为每个MAC地址分配一个IP地址,并在看到传入的TCP / UDP数据包时将其路由到正确的MAC地址。每个主机和路由器都有一个ARP表,该ARP表相互映射。您可以使用arp命令打印这些表。
这些IP地址最初是全局唯一的,以确保任何计算机都可以与任何其他计算机进行全局对话。这些地址用完后,每个组织分配了一个(最少)地址,外部数据包似乎仅来自一个IP地址。在这种情况下,这迫使从组织内部启动连接。
#6 楼
只需假设我们有2台连接的设备,每台设备都有一张网卡。现在,如果每台设备中只有一项服务(不完全是服务,比如osm软件,...) ,不需要IP,但是请考虑到每个设备中都有许多服务,并且这些服务应该相互通信而不会发生任何冲突。 IP)。
评论
为了区分一台设备上的不同服务,使用了TCP或UDP端口。
–格尔本
17年5月2日,9:44
评论
这个问题会不时出现。一个很好的答案在这里:serverfault.com/questions/410626/…这是类似主题上的另一个链接,具有更多有用的信息-superuser.com/questions/830857/…
我很惊讶您没有找到它:cbt掘金解释了ip和mac