大家都知道在我们的日常工作与生活中会遇到很多的与java有关的小知识,它已经普遍应用到我们生活的方方面面了。其实java中有很多的知识还是比较繁琐的,一起来看看吧。
首先说一下,dns是什么?
将主机域名转换为ip地址,属于应用层协议,使用UDP传输。如下图所示:
它的工作原理是什么呢?
浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。
一、主机向本地域名服务器的查询一般都是采用递归查询。
二、本地域名服务器向根域名服务器的查询的迭代查询。
1.当用户输入域名时,浏览器先检查自己的缓存中是否 这个域名映射的ip地址,有解析结束。
2.若没命中,则检查操作系统缓存(如Windows的hosts)中有没有解析过的结果,有解析结束。
3.若无命中,则请求本地域名服务器解析(LDNS)。
4.若LDNS没有命中就直接跳到根域名服务器请求解析。根域名服务器返回给LDNS一个 主域名服务器地址。
5.此时LDNS再发送请求给上一步返回的gTLD(通用顶级域), 接受请求的gTLD查找并返回这个域名对应的Name Server的地址。
6.Name Server根据映射关系表找到目标ip,返回给LDNS
7.LDNS缓存这个域名和对应的ip, 把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束。
接下来再来看一下OSPF协议和它的工作原理
OSPF(Open Shortest Pass First,开放最短路径优先协议),是一个最常用的内部网管协议,是一个链路状态协议。(网络层协议,)
它的原理如下:
OSPF组播的方式在所有开启OSPF的接口发送Hello包,用来确定是否有OSPF邻居,若发现了,则建立OSPF邻居关系,形成邻居表,之后互相发送LSA(链路状态通告)相互通告路由,形成LSDB(链路状态数据库)。再通过SPF算法,计算最佳路径(cost最小)后放入路由表。
总体上来说,它们的工作原理还是比较复杂的,这也就需要我们花费一定的时间去理解了。如果你想要了解更多java常见问题,敬请关注奇Q工具网。
推荐阅读: