应用层如何将IP地址传输到网络层?

时间:2013-01-12 10:04:43

标签: networking tcp ip hostname

假设我有一个网络浏览器。 尝试连接到www.google.com。

Web浏览器在端口53上向传输层发送DNS请求。 传输层将请求封装到TCP上的一个段中,并将其传输到网络层。

网络层识别出数据包并使用defulte DNS服务器IP地址并将其发送到链路层。

链接层使用ARP等。

得到答复。

链接层转移到网络层,这是我的问题:)。

网络层是否将任何主机名表保存到ip?

从现在开始,响应应该冒泡到应用程序层。 剂量应用层将从dns请求中提取的ip添加到数据包中吗?

从我的理解应用层应该尝试绑定到一个端口,然后传输层应该连接它一些如何通过套接字到主机名/ IP或报告到IP层来做它。

但问题是如何?

感谢。

1 个答案:

答案 0 :(得分:2)

DNS响应只是一个UDP数据包,其中包含一个标题,后跟与应用程序相关的数据主体。数据包括请求的域名,但这是为了发出DNS请求的应用程序的好处,而不是网络层。网络层不分析数据主体的内容。

应用层解码DNS响应数据包并存储IP地址,以便在绑定到端口时进行后续使用;绑定对DNS名称一无所知,只知道IP。