【问题标题】:How IP resolves a hostname? [closed]IP如何解析主机名? [关闭]
【发布时间】:2015-10-18 21:08:30
【问题描述】:

我了解 TCP 堆栈中 IP 的工作是在处理传出消息时从主机名解析 IP 地址并将此地址添加为标头。

IP 经历的这个过程是否等同于对给定主机名使用 nslookup 之类的工具?

【问题讨论】:

    标签: networking ip


    【解决方案1】:

    你的理解不正确。 IP 对设备名称一无所知,它只处理 IP 地址。

    应用程序可以查询 DNS 服务器或主机文件以将名称解析为 IP 地址。这必须在使用 IP 转发数据包之前完成,因为 IP 只能使用 IP 地址。您提到的工具和其他应用程序(例如浏览器)查询 DNS 服务器(要求您配置 DNS 服务器的 IP 地址)或使用主机文件将名称解析为 IP 地址。

    【讨论】:

    • 感谢 Ron 的回答,只是为了澄清您是说应用程序(例如浏览器)负责解析 IP 地址(通过查询 DNS 服务器),并且这发生在浏览器之前与 TCP/IP 堆栈的应用层中的 HTTP 协议对话?
    • HTTP 是另一种应用程序协议,而不是 TCP/IP 堆栈的一部分。 HTTP、DNS、DHCP 等都是不属于 TCP/IP 堆栈的应用协议。 TCP、UDP 等在传输层(OSI 模型的第 4 层),而 IP 是网络层(OSI 模型的第 3 层),因此 TCP/IP 堆栈包含 OSI 的第 3 层和第 4 层模型。应用层是 OSI 模型的 Session(第 5 层)、Presentation(第 6 层)和 Application(第 7 层)。
    • 感谢罗恩的进一步解释。据我了解,“TCP/IP 堆栈”通常被认为是指四层的堆栈,其中一个是应用程序层(映射到 OSI 模型的第 5、6、7 层)。但是回到我最初的问题,当程序(浏览器)请求发送消息时,我仍然不清楚 IP 地址在什么阶段被解析?谢谢
    • 在您的模型中,它将位于应用程序(浏览器、HTTP 等)所在的应用程序层(OSI 第 5 至 7 层)。解析必须在请求到达第四层的 TCP 之前完成,因为 TCP 需要与服务器建立端到端的连接,并且它使用第三层的 IP 发送和接收消息到 IP 地址服务器。
    • 感谢罗恩的解释,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2013-03-25
    • 2016-07-05
    • 2014-02-26
    • 1970-01-01
    相关资源
    最近更新 更多