【问题标题】:How do MAC addresses found in Ethernet packets relate to the TCP/IP Packets?在以太网数据包中找到的 MAC 地址与 TCP/IP 数据包有何关系?
【发布时间】:2018-12-28 09:16:45
【问题描述】:

我正在做一个实验室并编写了一个 C 程序,它读取所有 AF_PACKET SOCK_RAW 数据包 - 意思是 OSI 第 2 层以太网帧。程序记录以太网报头(MAC地址)、IP报头、TCP报头等内容。

这就提出了一个问题——如果以太网层在物理层之前是最低的,那么MAC地址在IP地址层之下的一层是如何解析的?例如,如果我在加利福尼亚的机器向您在纽约的机器发送 TCP/IP 数据包,那么以太网标头中的 MAC 地址是对应于我们的实际 MAC 地址还是只是我们单独的计算机与其各自路由器之间的 MAC 地址?

我知道有一个事务,其中一台机器通过 MAC 地址向路由器识别自己并获得一个 IP 地址,但每个以太网数据包都有一个源 MAC 地址和目标 MAC 地址,我很困惑这些 MAC 地址与哪些机器相关,因为在通过 IP 地址首次联系您的机器之前,我的机器不可能拥有您机器的 MAC 地址。

【问题讨论】:

  • "如果以太网层在物理层之前是最低的,那么MAC地址在IP地址层以下的一层是如何解析的?" ARP(地址解析协议- RFC 826),但您在错误的 SE 网站上提问。
  • 请注意,IP 协议需要 IP 地址才能环游世界,但以太网是一种链路协议,每个设备只知道它的邻居(如果不知道,可以使用广播来发现它)它)。我的机器和无线路由器之间只有一个链接;该路由器和下一个路由器之间的另一条链路,等等。在每条链路上,IP 数据包都会获得一个新的以太网帧。就像接力赛一样,payload 是一样的,但是每个环节只知道接受最后一位选手的接收,并将其传递给下一位选手。
  • @Amadan 因此,每次数据包到达新机器时,都会创建一个具有相同或非常相似有效负载的新以太网标头的新以太网数据包,这可能是我们之间的数十次或更多次?有没有关于这方面的好文献详细介绍?我发现到目前为止我读过的大多数网络教育都非常吸引人,但它往往把重点放在 IP 及以上。
  • @the_endian 两个链接之间甚至不总是有以太网;其他第 2 层标头是可能的(sonet、atm)。但是,以太网是当今最常见的一种。您可以想象,以太网地址被重写,而不是创建一个新的数据包。
  • 不要忘记 SLIP 或 PPP 协议,它们是点对点的,不需要(也不使用)硬件地址来将数据包定向到。

标签: c sockets networking


【解决方案1】:

它们根本不相关。 mac地址一般是硬件设备自带的,IP地址由网络管理员(或网络提供商)选择。

为了将一种转换为另一种,使用了两种网络协议:

  • ARP((A)地址(R)解决方案(P)协议)是几乎所有基于以太网的安装中强制实施的协议。它允许您为高级 IP 本地网络地址获取匹配的 MAC 地址。它基于广播,通常在您不知道连接到本地网络的主机的以太网地址时使用。对于远程主机,您不需要它们的 MAC 地址,而是需要将数据包驱动到这些目标的网关地址。
  • RARP((R)反向 ARP)安装不频繁。它允许从 de MAC 地址获取 IP 地址。它通常在实现自动配置的网络中实现。您通常使用它来获取您自己的 IP 地址(通常有一个简单的方法来获取您的硬件 MAC 地址,但是如果您没有将 IP 地址存储在永久存储中,则没有这种简单的方法来获取它) 该协议的使用率很低,因为它已被 DHCP 或 BOOTP 协议取代,这些协议不仅可以获取 IP 地址,还可以获取更多参数。

R/ARP 通常以相同的方式工作(两种协议):查询主机向本地网络广播一个请求数据包,其中映射的已知部分已填充,未知部分未填充,并且具有请求地址的主机 (或 RARP 情况下的服务器,因为此协议用于配置目的)应答请求。

为了不必使用这种昂贵的协议(广播会在网络中移动大量活动,因为通常所有主机都会收到广播的通知并代表它进行一些处理),ARP 客户端软件通常会维护一个缓存表MAC地址和IP地址的映射关系,避免在entry活着的情况下重播(entry有time to live entry,所以必须刷新,一般为15min)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2011-12-07
    • 2015-12-17
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多