首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第3层(网络层)如何识别IP地址?

第3层(网络层)如何识别IP地址?
EN

Stack Overflow用户
提问于 2012-01-02 17:33:42
回答 3查看 2.3K关注 0票数 1

第2层(以太网层)使用ARP协议识别MAC地址。它会向整个网络发送一个问题:“哪个MAC地址有IP x?”这就是它识别目的MAC地址的方式。

但是,第3层(IP层)如何知道IP地址?它不会从传输层(第4层)传递给它。仅传递端口号。

我希望我是具体的。提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-01-03 00:27:55

有两个IP地址与数据包相关联,即发送IP (也称为源) IP和目的IP。

发送IP -发送IP是微不足道的,它是用于传输数据包的网络接口的配置参数。它是静态配置的,在现代网络中更常见的是通过DHCP配置。

目标IP -目标IP可能会稍微复杂一些,具体取决于目标计算机对于发送计算机是本地还是远程。在这种情况下,remote表示目标计算机与源计算机不在同一子网中。

对于远程目标,DNS服务器用于名称<->IP解析。域名系统是允许人类使用我们的力量,名称,如www.espn.com,而计算机可以使用他们的力量,位表示的IP地址,如10.5.0.1。DNS解析可以通过许多不同的方式进行配置,但基本上归结为检查本地缓存以查看是否存在先前的解析,如果不存在,则查询一个或多个DNS服务器来解析请求。

如果目标机器在同一子网上的本地,则ARP/RARP用于MAC<->IP转换。在创建新的ARP请求(从而使用网络带宽)之前,再次首先检查缓存,在本例中为ARP缓存。

我希望这能帮到你。

票数 3
EN

Stack Overflow用户

发布于 2014-10-20 16:42:44

每一层都为上一层提供了一个接口。layer4正是通过此接口发送目的IP地址layer3。layer5 (应用层)将其想要与之通信的目的IP地址发送到layer4,然后再将其发送到layer3。Layer3将此包含在IP数据包中,并将此数据包传递给layer2 (以及目的地的MAC地址等其他信息)。

这就像在调用函数时给出参数一样。假设layer3提供的接口是send_packet(),layer4称之为它,可能是,像send_packet(srcIP, destIP)

票数 2
EN

Stack Overflow用户

发布于 2014-10-20 17:17:36

但是第3层(IP层)如何知道IP地址?它不会从传输层(第4层)传递给它。仅传递端口号。

这是不正确的。TCP或UDP都有明确的bind()操作,它确实传递了IP地址。TCP还具有显式connect()操作和隐式bind()操作,前者也传递IP地址,后者根据单播IP路由表计算源IP地址。

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

https://stackoverflow.com/questions/8699256

复制
相关文章

相似问题

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