Windows DNS 设置问题

学校的网速是电信的千兆网络,所以一般来说网速很快,但是最近常有师兄和同门同学感觉网速很慢,又碰到论坛的朋友设置DNS时候的问题

在这个背景下产生了彻底研究DNS的兴趣。

按照1->2->3的顺序逐步理清思路,解决问题。

1.清空浏览器的缓存(注意不是cookies),缓存是个好东西,它可以提高访问某个网址的速度(不用重复请求相同的数据)

但是有时候缓存里的内容太多,反而影响浏览器的相应速度。

关于缓存的原理可以参考这篇博文http://www.cnblogs.com/skynet/archive/2012/11/28/2792503.html

测试清空缓存后,访问网页的速度仍然没有起色。


2.排除网速问题

由于下载具体的资源时候网速还是很快的所以排除网速问题。所以我往DNS的角度去考虑。


3.DNS原理和设置

3.1DNS基本原理

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

简单的说,DNS上存的是一张大表,每次输入一个网址,就到这张大表去查一下对应的ip地址,然后访问具体的ip,返回给用户。

所以查找到这张表的速度越快,访问的速度也会越快(当然直接输入ip地址访问是另一码事)。

访问网址的简单流程:
输入网址——》查询DNS服务器得到ip——》访问ip返回具体页面


3.2查询本地DNS

(1)在windows上查看DNS最快捷的方式是打开命令行工具输入ipconfig /all

一般来说本地连接和无线网络连接的信息是我们需要关心的。


图1:本地网络DNS使用情况实例

我本地的有线网络的DNS是我手动指派的,无线网络的是自动获取的。

(2)当然也可以打开本地连接-属性查询,不赘述。


3.3设置DNS之手动篇

手动配置DNS最重要是DNS源的选择。一般都用工具找到最快响应的DNS服务器作为自己的DNS。

DNS工具推荐DNSBenchmark,我有线网络的DNS的218.2.135.1就是根据测试结果修改的,这是中国电信的DNS,至于8.8.8.8是Google公司提供的,感觉访问英文网页会快些。


随着地理距离网络拓扑结构的变化都可能影响实际DNS响应速度。所以实际测试快,才是真的快

在这个软件的TabularData选项卡下还可以看到具体的测试参数,这个软件的Sort Fastest First是把3种参数加权后进行的排名,以  218. 2.135. 1为例:

  218.  2.135.  1 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  - Cached Name   | 0.001 | 0.002 | 0.002 | 0.000 | 100.0 |
  - Uncached Name | 0.010 | 0.156 | 0.423 | 0.127 | 100.0 |
  - DotCom Lookup | 0.034 | 0.294 | 0.837 | 0.140 |  98.0 |
  ---<-------->---+-------+-------+-------+-------+-------+
                 a.center-dns.jsinfo.net
         CHINANET-BACKBONE No.31,Jin-rong Street

DNSBenchmark下载:https://www.grc.com/dns/benchmark.htm

具体使用可以参考 http://www.techbang.com/posts/13552-choose-the-right-dns-n-times-faster


3.4设置DNS之自动篇

公司等等大型局域网里,自动获取IP和DNS方法很难实行。一般都需要自己填写IP和DNS。

但一般在路由器的局域网里,可以自动获取IP和DNS。


3.5设置DNS之程序篇

windows下的设置IP和DNS可以通过简单的cmd命令完成,但是每次输入太麻烦了,整个程序呗!

关键代码示例:


//设置静态IP 网关和子网掩码
netsh interface IP set address "本地连接" static 10.10.216.123 255.255.255.0 gateway=10.10.216.20
//设置DNS地址
netsh interface IP set dns "本地连接" static addr=202.119.230.8
//设置备用DNS地址
netsh interface IP add dns "本地连接" addr=8.8.8.8
//设置DHCP自动分配IP
netsh interface IP set address "本地连接" source=dhcp
//设置DHCP自动分配DNS
netsh interface IP set dns "本地连接" source=dhcp


一个完整的实例,我在学校的不同地点工作使用不同的IP,并且连路由器时候自动获取就可以了。
因此上述代码进行了不同的修改,并且加上了简单的用户输入读取功能。
可以将以下代码复制到记事本,根据实际情况对ip和dns信息做些修改,然后直接另存为“设置IP和DNS.bat”名字即可。


@echo ####################################
@echo #      Config  IP	  Tool     #
@echo ####################################

@echo.
@echo off
title 设置IP.bat
color 0A

:menu
@echo 输入 1 设置本地IP地址为图科楼IP
@echo 输入 2 设置本地IP地址为学二IP
@echo 输入 3 设置本地IP地址为科技楼IP
@echo 输入 4 自动获取ip
set /p input=请输入操作数:

if "%input%" == "1" goto LibraryIP
if "%input%" == "2" goto StudentDormIP
if "%input%" == "3" goto ScienceBdIP
if "%input%" == "4" goto AutoAllocateIP
@echo 输入有误
@echo.
goto menu

:LibraryIP
netsh interface IP set address "本地连接" static 10.10.201.112 255.255.255.0 gateway=10.10.201.20
@echo 设置IP成功
netsh interface IP set dns "本地连接" static addr=202.119.230.8
@echo 设置主DNS成功
netsh interface IP add dns "本地连接" addr=218.2.135.1
@echo 设置备用DNS成功
goto end

:StudentDormIP
netsh interface IP set address "本地连接" static 10.10.216.123 255.255.255.0 gateway=10.10.216.20
@echo 设置IP成功
netsh interface IP set dns "本地连接" static addr=202.119.230.8
@echo 设置主DNS成功
netsh interface IP add dns "本地连接" addr=8.8.8.8
@echo 设置备用DNS成功
goto end 

:ScienceBdIP
netsh interface IP set address "本地连接" static 10.10.144.112 255.255.255.0 gateway=10.10.144.20
@echo 设置IP成功
netsh interface IP set dns "本地连接" static addr=218.2.135.1
@echo 设置主DNS成功
netsh interface IP add dns "本地连接" addr=8.8.8.8
@echo 设置备用DNS成功
goto end 

:AutoAllocateIP
@echo setting ip address of dhcp
netsh interface IP set address "本地连接" source=dhcp
netsh interface IP set dns "本地连接" source=dhcp
@echo ip has been set successfully

:end
@echo 设置完成
pause
@echo Exiting...



-------------------------------------
最后补充一些DNS和IP方面的知识:
第一个是DNS服务器的问题:
windows平台和linux平台均可搭建DNS服务器。搭建的时候有选项,设置DNS服务器的类型,三选一:
DNS主服务器,这是主要的服务器,它在内存和磁盘上都保持有整个数据库的拷贝。如果系统崩溃,该数据库能重载到内存中。
DNS辅服务器,起辅助的作用,它获得一份来自主DNS服务器的数据库备份。当主服务器作修改时,辅服务器也要求作相应修改。
DNS缓存服务器,用来存储网络上用户需要的网页和内容的网络服务器。
以上在百度上找的,比较准确。


第二是关于ip租约的问题:
就像租房子按月租,使用一个ip地址会有租约问题,就是到一个时间要续租。
一般这个过程都是自动完成的,如果在DHCP的时候需要手动重新获取(Releasing and Renewing a DHCP Lease),可以用:
 ipconfig /release 释放DHCP获取的地址信息。
 ipconfig /renew 重新获得DHCP分配的地址信息。


第三个是DHCP服务的问题
只有在DHCP服务开启的时候,才可以得到自动分配的ip和dns。一般系统中是默认开启DHCP服务的,
如果要停止使用命令:net stop dhcp;如果重新开启使用命令:net start dhcp。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值