HTTP获取目的网站的ip地址

HTTP获取目的网站的ip地址

Tcp/Ip communication细节
案例: 从因特网下载一个包
1.进入浏览器网站PC
在这里插入图片描述

2.DNS 服务器产生一条信息
PC中的HTTP客户端尝试生成一条消息,要求从www.website.com请求HTML文件。
它需要在生成的消息中提供目标IP地址,但没有目标IP地址。
因此它使用PC的DNS(本地)客户端来获取它。
DNS客户端向传输层发送一条消息,请求website.com的IP地址
在这里插入图片描述

3.创建一个数据报
传输层将包含源端口和目标端口的UDP头部添加到消息中,创建源端口号并将其分配给请求IP地址的DNS进程。 “Well-Known” DNS服务(不是本地的是DNS serve)端口号用作目标端口。 然后将结果数据报发送到网络层.
在这里插入图片描述
4.创建一个包
网络层将包含源IP地址和目标IP地址(DNS serve de IP)的IP标头添加到数据报中。 它添加自己的IP地址作为源,DNS(DNS serve)将IP地址作为目的地。 PC知道DNS serve的IP地址,因为路由在分配其本地IP地址时向PC提供了它。包被发送到链路层
在这里插入图片描述
5,确定目的MAC地址
确定此数据包的目标IP地址的链路层不在此网络上,因此它需要将数据包发送到其默认网关,在本示例中为路由器。现在我们遇到了问题。链路层无法创建该帧,因为它不知道默认网关的MAC地址。需要ARP 来解决这个问题。
在这里插入图片描述
6.创建并传输帧
通过ARP 得到默认网关的MAC地址(就是路由的 33:12:14…),链路层可以完成这个帧,它添加源和目的MAC地址在这个包上,源MAC地址是它自己,目的MAC地址是默认网关的MAC地址,然后将该帧发送到物理层以传输该帧的比特.
在这里插入图片描述
7.NAT和转发帧到互联网
路由从PC接受到帧,打开包检测目的IP地址是否是在本地网络,打开数据包并确定目标IP地址是否在本地网络上,因此它必须将此帧转发到Internet。
路由器会创建一个新的NAT条目,并将本地网络私有IP地址更改为其公网 IP地址,还使用了相同的NAT表条目来更改源端口,以便路由器可以确定主机和主机进程以传递到数据包,路由也要改变源MAC改成WAN 或者Internet MAC,目的MAC改成路由默认网关。这个例子是ISP的MAC地址。在这里插入图片描述

8.转发帧到DNS服务
路由在ISP接受和打开包发现目的IP地址,检测目的IP地址属于DNS serve,
路由的网络层发送包给链路层产生一个新的帧头部,
源MAC是属于她自己和目的MAC地址属于DNS serve,这个新的帧发送给DNS serve
在这里插入图片描述
9.DNS serve接受帧
这个DNS的PHY接受接收比特和帧到链路层,链路层发现目的MAC地址所以转发这个包到网络层,网络层打开包发现目的IP地址,所以把他传递给传输层,传输层打开数据流和发现它的端口号是53,DNS serve具有正在运行的进程,正在侦听此端口上的流量,因此将message转发给它
在这里插入图片描述

10.DNS 翻译并回复
DNS检测网站的ip地址,产生回复信息,这个信息被返回给传输层
传输层添加端口信息和创建数据流,
网络层添加IP信息和创建包,
链路层添加MAC信息创建帧,
物理层传递帧给路由
在这里插入图片描述
11.转发帧给本地路由
ISP的路由接受帧,发现MAC地址传递给网络层去检测IP地址,如果发现这个包属于本地路由IP地址,传递给链路层,链路层改变新的MAC给这个包,并发送帧到本地路由
在这里插入图片描述
12.NAT解析在本地路由

当本地路由接收到包从ISP路由。它查询其NAT表以确定将其转发到哪个本地主机,并在转换表中找到Internet目标端口号为1的条目。将相应的本地IP地址和端口号替换为将发送到本地网络的数据包
在这里插入图片描述
13.帧转发到本地PC
新的包送到路由的链路层,源和目的的MAC地址被添加到帧中,路由通过APR表知道目的MAC地址和目的IP地址,这个帧然后被送到物理层传输给网络。在这里插入图片描述
14.DNS服务器传递IP地址
当帧到达PC端,message传递给DNS的服务器,DNS然后提供IP地址给HTTP服务器在这里插入图片描述
15.HTTP服务器产生信息
现在Http 服务器有目的网站的IP在这里插入图片描述
地址,可以产生信息去下载HTML文件

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值