一个关于DNS的故事

  前段时间,由于迁移后的服务器不稳定,使用公司WiFi时,数据会出现不稳定的情况,简直go nuts。(原来服务器的环境是稳定的,当时如果想查看数据实际是什么情况,就只能使用非公司WiFi或4G等访问。)

  今天更改了公司WiFi的DNS,就解决了这个问题。

  问题的本质原因:

    公司DNS服务器的Host文件里配置了服务器A的IP和指定域名的映射,当指定域名访问公司的DNS时,公司的DNS就将A的IP发送给客户端,然后客户端就向A的IP地址发起HTTP请求。当将公司WiFi的DNS更改了成了外部的DNS后,指定域名访问外部DNS时,外部DNS会将原来服务器的IP地址传送给客户端,客户端访问的是原来的服务器,所以此时使用公司WiFi访问,和切换成4G等访问,效果是一样的。

DNS:

  DNS有什么作用呢? 它是提供域名到IP地址之间的解析服务。

HTTP、DNS、IP、TCP之间的关系:

  

  

  举个例子:

    首先是,我想访问网站,将域名发送给DNS去解析,DNS解析后将网站的IP地址返回给客户端,然后通过IP地址发起HTTP请求。HTTP此时的作用是 生成针对目标WEB服务器(我们这里指的是网站的服务器)的HTTP请求报文,然后将请求报文传送给传输层,此时为了方便通信,TCP会将HTTP请求报文 分割成报文段,这些报文段会有一个序号,这里的报文段哪一个先发送哪一个先到达,它们是按序传送的。只要建立起TCP连接,客户端与服务器之间的报文交换就不会丢失,不会被破坏,也不会在接收时出现错序。接着到了网络层,此时IP协议的职责是,搜索对方的地址,一边中转一边传送。然后找到了服务器的位置,此时服务器的传输层中 TCP的职责是 接收到对方传送过来的报文段后,对其进行重组,这里的重组是按序号进行重组的。然后到了服务器的应用层,HTTP会对客户端请求的内容进行处理。处理完后,服务器同样会利用TCP/IP通信协议向客户端进行回传响应。最后客户端收到响应后,将内容输出页面显示。即完成了一次HTTP事务。

参考:http://network.51cto.com/art/201510/494459.htm  

时间: 2024-10-24 23:55:42

一个关于DNS的故事的相关文章

给大家分享一个币圈的故事

给大家分享一个币圈的故事: 相信很多人都看过这个故事 币圈曾经流行这样一个段子,"我是凭借1000块压岁钱发家致富的,说出来你们可能不信.2013年,我用1000块压岁钱,以500元的价格买入了比特币,在比特币8000的时候选择卖出,我一下有了16000元,然后我20块钱买了莱特币280抛的,我就有了224000元,接着我在以太坊30的时候全仓买入,2800抛的,成功赚到2000万,然后我就上大学了,只用了一点点钱来泡妹子.17年毕业以后,我再次以4000块的价格重新买入比特币,在比特币12万5

一个update的小故事

偶尔测试了一段小代码,写个循环 if object_id('tempdb..#TB') is not null drop table #TB go create table #TB ( ID int ) insert into #TB (ID) select 1 union all select 2 union all select 3 union all select 4 union all select 5 --代码1 declare @i int set @i = 1 while @i <

【C#进阶系列】01 CLR的执行模型——一个Hello World的故事

好吧,废话少说,先上一章Hello World图: 我们有了一个Hello world程序,如此之简单,再加上我今天没有用汉字编程o(>﹏<)o,所以一切很简单明了. 故事开始: 编译: 一个程序写完肯定要编译,以前什么C啊什么的都是编译成本机的CPU指令,但是我们的C#不是. C#,VB.NET都会把它们编译成托管模块,托管模块在一个标准的可移植的PE文件中.(那些懵懂的少年肯定慌了,这是什么鬼,又是托管模块又是PE文件的.莫慌,所有你听不懂的高大上的术语其实都很简单,你现在不需要懂,听我慢

有一个很浪漫的故事

有一群人,他们积极自律,每天按计划行事,有条不紊:他们不张扬,把自己当成最卑微的小草,等待着人生开出花朵的那天.他们早晨5点多起来健身,你在睡觉:7点开始享受丰盛的早餐,蛋白质维生素淀粉粗纤维样样俱全,为新的一天起了一个好头,当他们收拾妥当准备开始一整天的工作时,你还在睡觉:他们用上午的高效时间完成了一个又一个任务,甚至发现的新的商机,发现了有可能给人生带来改观的机遇,当午餐时间临近,他们伸了伸腰,准备稍作休息,此时你终于起床.他们的午餐不铺张浪费,却营养全面,他们有选择的进食,因为清楚的知道自

一个关于时间的故事(通过历史分析解决程序问题)

 一日在给一个时间转换函数getUTCTimeFromLocal(StringsLocalTime) 做单元测试.作为一个有很多年开发经验的我,用例不能太小家子气吧.于是给了个"1921-1-1 00:00:00"作为输入参数.结果发现,其他的用例执行都是OK,就这个 古老的日子NG了. 用到的函数也很基础: DateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for

一个需求变更的故事

昨天我们的物流部门提了一个需求,希望我能为他们做一张出库明细报表,以便他们统计和核对数据.嗯嗯,这个很简单的说,复制一个类似的模板,替换下数据源,按日期分组,20分钟搞定! 这里简单插一下,介绍下我们系统中的报表的实现.报表是采用的第三方控件FastReport,通过设计报表模板->定义报表(选择模板.分期规则.会计主体.报送对象)->生成报表(即时.按分期规则自动). 物流部的同事用即时报表功能看过后提了个新的需求或者是BUG,没有按仓库分组呀!亲! 汗呀,疏忽了,赶紧加上,5分钟搞定!然后

一个中国农民工的故事

还有一周就是中国农历新年了,向菊正在打点行装.她住在北京东五环路外一间又小又冷的出租屋里.为了取暖,她一边搓手,一边跺着自己那条健康的腿.她伸手去拿拐杖,她将拄着这幅拐杖踏上1500公里的旅程,回到坐落在长江沿岸.邻近三峡大坝的家乡.http://issuu.com/pp18sxdczn http://issuu.com/didv33htbt http://issuu.com/lst45ubzsu http://issuu.com/s2f3amqtio http://issuu.com/vv2b

一个防DNS污染的github项目

https://github.com/googlehosts/hosts 使用方法: 1.找到你需要的网站 2.$ sudo gedit /etc/hosts 3.粘贴到# The following lines are desirable for IPv6 capable hosts之前 4.保存退出gedit,执行$sudo /etc/init.d/networking restart 原文地址:https://www.cnblogs.com/vennchan/p/11563480.html

从DNS基础到在CentOS6.5上&ldquo;玩着&rdquo;搭建一个支持正向、反向解析的&ldquo;

1.什么是DNS? (Domain Name System)域名系统. DNS其实实现的功能很简单也很有效,它能够让用户可以不用记得那些经常要访问服务器的ip地址,直接要你输入类似拼音格式的就可以访问到那些数字串的ip地址.假设以61.120.155.14(举个例子),我们总是用这些数字进行网页服务器的访问岂不是很蛋疼,毕竟很多人还是对文字甚至拼音字母更容易让正常人记忆.这就是DNS的功能. 当然,它不仅能把那些你输入的拼音字母转换成ip地址的数字串,它还支持把那些数字串转换成你想访问的实际的网