假设我有一个网络浏览器。 尝试连接到www.google.com。
Web浏览器在端口53上向传输层发送DNS请求。 传输层将请求封装到TCP上的一个段中,并将其传输到网络层。
网络层识别出数据包并使用defulte DNS服务器IP地址并将其发送到链路层。
链接层使用ARP等。
得到答复。
链接层转移到网络层,这是我的问题:)。
网络层是否将任何主机名表保存到ip?
从现在开始,响应应该冒泡到应用程序层。 剂量应用层将从dns请求中提取的ip添加到数据包中吗?
从我的理解应用层应该尝试绑定到一个端口,然后传输层应该连接它一些如何通过套接字到主机名/ IP或报告到IP层来做它。
但问题是如何?
感谢。
答案 0 :(得分:2)
DNS响应只是一个UDP数据包,其中包含一个标题,后跟与应用程序相关的数据主体。数据包括请求的域名,但这是为了发出DNS请求的应用程序的好处,而不是网络层。网络层不分析数据主体的内容。
应用层解码DNS响应数据包并存储IP地址,以便在绑定到端口时进行后续使用;绑定对DNS名称一无所知,只知道IP。