我们假设主机第一次连接到此网络,并且路由器作为DHCP服务器
准备:DHCP、UDP、IP和以太网
当一台机器连接到一个网络时,主机会将自身的MAC地址等其他自身信息,通过网络进行传播,目的地址使用的是广播ip地址,目的mac地址也是广播地址。
路由器接收到DHCP请求之后,DHCP服务器生成包含ip分配的ip地址以及dns服务器的ip地址默认网关路由器的ip地址和子网块的一个报文,进行回传,注意,回传时,目的mac地址为请求的源mac地址,并不是广播地址。
主机接收到DHCP的响应之后,会发送一个广播数据报,公布自己的ip和mac地址等自身信息,同时路由器接收到之后,会保存该主机的数据报。
仍在准备:DNS和ARP
当用户键入目的url时,需要将url转化为ip地址,但是现在并不知道所对应的ip地址,所以需要请求DNS服务器进行查询。主机知道DNS服务器的ip地址,请求报文需要到网关的路由器进行转发,但是主机不知道网关路由器的物理地址。所以需要ARP的请求查询,主机生成查询报文,目的地址是广播地址,当路由器接收到该查询报文,发现查询的ip地址是自身的ip地址,所以将会返回自身的mac地址。
主机接收到ARP响应报文之后,将mac地址封装到帧中,进行发送。路由器接收到请求之后,进行转发,根据转发表选择ip地址所对应的接口地址,转发到相应的接口。
DNS服务器接收到请求之后,进行返回所对应的ip地址。主机接收到之后,将ip地址封装到数据报之后,主机进行发送数据报。
Web客户——服务器交互:TCP和HTTP
主机请求服务器时,获得web页面,使用tcp协议,所以需要先建立连接。
经过三次握手,建立tcp连接,进行发送数据。
|