首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第二层协议允许主机在没有网络的情况下进行通信吗?

第二层协议允许主机在没有网络的情况下进行通信吗?
EN

Network Engineering用户
提问于 2021-04-16 17:28:23
回答 4查看 605关注 0票数 1

请对我放松点,因为我只是网络领域中的一个菜鸟。

据我所知,第二层协议使用MAC地址进行通信,这实际上并不取决于您所在的网络或是否在网络中。所以我的问题是,在现实世界中,仅仅是物理上的相邻,两台主机就能以某种形式互相发送数据,即使这意味着通过低层帧进行通信?

编辑:

作为澄清,我想补充一点,我来这里的前提是,无线通信只是电磁波,网卡应该能够解码电磁波。所以,我们就不能“广播”一个像"MAC地址ABCD“这样的帧,我想和EFGH谈谈,然后说'Hello!‘,如果EFGH在附近,它就会解码这个帧,而不是丢弃它,它只需要确认和进行类似的对话。我想说的是,我们能不能让两个承载网络卡的设备在本质上像对讲机,而不使用外部外设,因为网卡似乎已经具备了这种功能?

请不要将其标记为属于superuserunix,因为我想从理论的角度来问这个问题,因为硬件似乎已经存在了,第二层协议是否能够做到这一点?

EN

回答 4

Network Engineering用户

回答已采纳

发布于 2021-04-16 18:05:19

第二层协议使用MAC地址进行通信,这实际上不取决于您所在的网络,也不取决于您是否在网络中。

哦,是的,是的。

通信需要数据链路层(L2)网络,底层物理层网络(L1:接口、端口、布线)也是如此。L2网络不一定需要使用MAC地址,但它仍然是必需的。

给定的L2协议(如以太网)可以使用各种L1协议(例如100 but、1000BASE-SX、10GBASE-CX),但在较低级别上谈论“网络”时通常会提到这两个层。

我不知道您所说的“低级别帧”是什么意思--这正是L2所做的,将字节组织成帧,并确保这些帧到达它们的本地目的地(有或没有寻址)。

对于不使用寻址的L2协议,例如查看PPP。

当然,您可以创建自己的网络协议栈,忽略所有OSI的东西--但是同样的功能仍然需要在某个地方。

当不需要L2或L1功能时,唯一的情况是通信仅限于一台主机:不需要寻址和物理移动数据,进程之间的通信可以保持在L3向上。

重新编辑有关无线网络:这也需要帧和寻址-因此第二层。MAC地址是一个属性的数据链路层。是的,您可以在第二层(=直接在数据链路层上的应用层),无线或有线上进行对话。

如果您询问是否总是需要网络层协议:不,如果您只在本地(在广播域中)进行通信,则不需要。

所以,我们就不能“广播”一个像"MAC地址ABCD“这样的帧,我想和EFGH谈谈,然后说'Hello!‘,如果EFGH在附近,它就会解码这个帧,而不是丢弃它,它只需要确认和进行类似的对话。

这大概就是Wi的工作原理。

我们能不能有两个承载网络卡的设备本质上就像对讲机,而不使用外部外设,因为网卡似乎已经有了这个设备?

是的,这是一个无线自组织网络。

票数 4
EN

Network Engineering用户

发布于 2021-04-17 20:41:16

我来这里的前提是,无线通信只是电磁波,网卡应该能够解码电磁波。

那要看卡了。如果您正在考虑使用两台带有常规有线LAN端口的计算机(1000BASE-T /千兆以太网,或者其他什么),那么不,它实际上并不是那样工作的。在空气中发送信号的物理原理与通过电缆(或光纤)发送信号有一点不同。所以有了有线局域网,你至少需要一根电缆作为外部设备。

另一方面,如果您有无线局域网卡(802.11 / Wifi),那么您不需要电缆,因为硬件是为空中传输。虽然您确实需要设置一些设备,但要么让一个设备充当接入点,要么查看ad网络。

现在,假设您这样做,并且可以在主机(*)之间传递以太网帧,现在怎么办?我们还可以问,这是否仍然算“不存在于网络上”,或者我们是否刚刚创建了一个网络。

即使您不需要在网络( IP和网络层的主要功能之一)之间进行路由,但在上面的层上也有一些有用的东西。TCP提供逻辑连接、多路复用和可靠的传输。或者UDP只用于多路复用。

几乎所有现有的应用程序都假定IP ( IPv4或IPv6),所以您可能无论如何都想要设置一个IP网络,即使它使用的是Zeroconf和mDNS。这或多或少是这样的,或者你构建自己的软件,直接通过低层协议进行对话,最终构建自己的网络堆栈。

(*我假设那里的以太网是一种常见的情况。当然,这可能会有所不同。)

票数 1
EN

Network Engineering用户

发布于 2021-04-17 06:08:59

您可以用以太网电缆连接两台计算机,它们将进行通信(可能只需要手动分配IP地址),或者,如果两台计算机处于wifi范围内,则可以让它们进行通信(这称为ad网络)。通信可能仍然会使用TCP/IP协议栈,因为这是大多数OS所支持的。如果需要,可以绕过操作系统(有一个名为DPDK的项目正是这样做的)。

票数 0
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/73533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档