AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1513845
Accepted
Saurabh Suman
Saurabh Suman
Asked: 2020-01-01 23:38:05 +0800 CST2020-01-01 23:38:05 +0800 CST 2020-01-01 23:38:05 +0800 CST

在不知道 IP 地址的情况下学习下一跳的 MAC 地址

  • 772

假设我们有一个 LAN - 5 台主机连接到一个交换机。我没有为任何主机配置任何 IP 地址。我可以通过发送 L2 流量 - L2 标头和上面的数据与另一台主机通信吗?

如果是,任何主机将如何知道目标主机的 MAC 地址,对于 ARP,我们无论如何都需要一个 IP 地址。

networking mac-address
  • 3 3 个回答
  • 421 Views

3 个回答

  • Voted
  1. Tonny
    2020-01-02T02:36:22+08:002020-01-02T02:36:22+08:00

    如果您只有 L2 连接(在您的情况下为以太网),则除了计算机知道他自己的主机名和 MAC 地址之外,没有主机<-> MAC 地址映射的概念。
    显然,通过监控接收到的数据包上的“源”mac地址(寻址到它自己的mac地址或广播给所有人),它可以了解LAN上存在的其他mac地址(有点像交换机学习的方式哪个 MAC 地址在交换机上的哪个端口后面)。
    但是为了知道计算机 XYZ 的 mac-address 为 00112233445566,某人(用户)需要在某处指定。

    要在 LAN 上动态查询哪个 mac-address 与给定的主机名匹配,需要做更多的工作:您可以编写一些软件,将广播 L2 数据包发送到整个 LAN,并作为有效负载发送主机名。您可以在所有侦听此类数据包的计算机上放置一个软件,并在收到包含其自己主机名的广播数据包时发送响应。
    这或多或少会取代 IP 世界中 ARP 的功能。
    恭喜:您刚刚在 L2 网络之上创建了一个基本功能,这是实现完整 L2-L3 网络堆栈的第一步。

    • 1
  2. harrymc
    2020-01-02T01:57:40+08:002020-01-02T01:57:40+08:00

    在数据链路层(本例中为以太网),没有“IP 地址”的概念,唯一存在的地址是 MAC 地址。发送的帧可以标记为 包含IP 数据包(EtherType 0x0800/0x86DD),但由更高级别的层决定如何处理数据。

    仅从以太网接口的角度来看,这是可能的。但是,从大多数使用该接口的设备的角度来看,他们更愿意从 TCP/IP 或 UDP/IP 层查看网络,而不会看到下面存在的内容。人们需要专门的网络软件来利用这些数据包进行通信。

    瞻博网络技术库文章 第 2 层网络:以太网帧的好处就 这个主题说:

    1. 大多数信息在以太网帧内开始和结束。今天,这适用于数据以及语音(例如,VoIP)和视频(例如,网络摄像头)。
    2. 以太网帧具有联网的所有要素,例如全球唯一的源和目标地址、错误控制等。
    3. 以太网帧可以携带任何类型的数据包。第 2 层的网络是独立于协议的(独立于第 3 层协议)。第 2 层网络适用于 IP 数据包和所有其他第 3 层协议。

    在纯 L2 网络中管理 MAC 地址取决于处理数据包的软件。需要广播地址才能通过网络获知。地址解析协议 (ARP) 是一种用于发现链路层地址的通信协议。

    • 0
  3. Best Answer
    user1686
    2020-01-02T03:20:15+08:002020-01-02T03:20:15+08:00

    假设我们有一个 LAN - 5 台主机连接到一个交换机。我没有为任何主机配置任何 IP 地址。我可以通过发送 L2 流量 - L2 标头和上面的数据与另一台主机通信吗?

    是的。大多数操作系统都会为此提供 API(尽管通常是特权的),并且存在各种直接在以太网之上实现协议的程序。(当然这就是操作系统实现 IP 本身的方式。)

    如果您正在寻找示例,“etherwake”和“open-plc-utils”是您想到的两个项目。

    如果是,任何主机将如何知道目标主机的 MAC 地址,对于 ARP,我们无论如何都需要一个 IP 地址。

    它不会神奇地知道目的地。这是您的程序/协议需要自行处理的事情。例如,您可以简单地要求用户手动指定正确的目标 MAC 地址。

    您还可以实现某种利用 L2 广播的发现协议(即,为您自己的协议制作等效的 ARP)。例如,在 Mikrotik RouterOS 中,“RoMON”基于 L2 的管理协议将广播发现数据包并收集来自附近节点的响应。

    (同时,“MAC-Telnet”协议只是广播所有数据,根本不关心下一跳MAC地址。这当然是一个安全问题,只能接受,因为MAC-Telnet是最后的恢复工具.)

    或者您可以使用多播并让所有节点侦听固定地址上的数据包。例如,Homeplug 管理协议 (open-plc-utils) 默认情况下会将所有帧发送到 00:b0:52:00:00:01 并将从任何Homeplug 设备获得响应。

    • 0

相关问题

  • 三台电脑,没有路由器/交换机怎么组网?

  • 用户使用 FileZilla 连接到 SFTP 服务器拒绝连接

  • NAT 后面的 NAT 如何工作(路由器的 NAT 和 ISP 的 NAT)?

  • Win10 1803:如何让移动热点成为专用网络?

  • nc如何识别服务名称

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve