写在前面:现在是大三暑假了,正在复习以前的知识,准备面试,尝试自己写一些博客,来复习总结
一。DNS域名解析的过程
当你打开一个浏览器,输入一个网址(即域名),域名解析过程如下:
1.首先检查两个缓存:先检查浏览器是否有对应域名与ip地址的缓存,有的话解析结束;没有检查本地操作系统是否有对应域名和ip地址的缓存,有的话解析结束,没有进行下面正式的解析
2.主机向本地DNS服务器(LDNS)发起递归查询,如果LDNS中有对应域名的ip地址缓存,LDNS把结果返回给主机,解析结束,否则继续下面
3.本地DNS服务器向根域名服务器发起迭代查询。
1)根域名服务器告诉本地域名服务器,下一次应该查询的*域名服务器的IP地址
2)本地DNS服务器向*域名服务器(如.com .cn)进行查询,*域名服务器告诉本地域名服务器 ,下一步应该查询权限服务器的IP地址
3)本地DNS服务器向权限服务器(如baidu等网站注册的域名服务器 二级域名)进行查询,权限服务器告诉本地域名服务器所查询的主机的IP地址(即一开始查询域名对应的ip地址)
4)本地DNS服务器缓存这个域名和对应的ip,然后把解析的结果发给用户主机。主机的浏览器与操作系统也会缓存这个结果
注(本地DNS服务器指的是你所在城市或离你最近的域名服务器,一般到这里大部分域名都已经可以解析成功)
下面附上递归查询与迭代查询的图
简单来说,递归查询就是主机向本地DNS服务器发起了查询,DNS服务器要自己包办所有事,最后不多比比,直接把结果给到主机;
迭代查询是,本地DNS服务器向对方发起查询,对方只是告诉你下一步你该去哪查,不是直接给你结果,你还得自己接着找。
二。DHCP自动获取地址的过程
1.DHCPDISCOVER:客户机第一次登录网络时,先广播发送一个DHCPdiscover信息,发起ip地址申请
2.DHCPOFFER:DHCP服务器收到上面客户机发出的DHCPdiscover请求,会从自己尚未分配出去的ip地址池中挑选一个发给客户机,这个消息叫做DHCPoffer,有可能广播范围内不止一个DHCP服务器,那么客户机只接受自己收到的第一个DHCPoffer
3.DHCPREQUEST:客户机收到DHCPoffer后会再次广播发送一个DHCPrequest消息,通知提供给自己offer的DHCP服务器自己收到了offer,同时通知其他DHCP服务器,自己没有采用它们的offer,它们可以收回自己的offer了。同时,客户机还会发送一个测试的广播包,看看自己offer提供的ip地址是否是可用的,是不是已经被其他工作站使用了。如果是这样,就只好重新发送DHCPdiscover重新请求了
4.DHCPACK:DHCP服务器收到刚才的request消息后,做出最后的确认,向客户机发送DHCPack消息,这个消息包括地址租借时长期限等消息
经过上述4步,客户机已经成功获取了ip地址并可以使用了
当客户机以后启动时,不需要每次都重新发送DHCPdiscover请求,而是直接发送DHCPrequset消息来尝试继续使用之前分配的ip地址,DHCP服务器收到这个消息后,会尝试让其继续使用原来的ip,并且回答一个DHCPack。
如果之前的地址无法再提供给客户机,那么客户机就重新发送DHCPdiscover消息来重新请求。