詳細介紹ADO.NET設置數據
首先,寬帶路由器是一種NAT的原理,分為LAN、WAN口,就有2個IP,LAN提供局域網網關IP,WAN口提供來連接Internet,當路由器撥上號后,會從電信或者網通、鐵通上獲取2個DNS,這個和本機自己ADO.NET設置的IP沒有什么關系,這個DNS基本上都是電信或者網通、鐵通認為能夠正常解析的DNS IP。
接下來講講當使用寬帶路由器的PCADO.NET設置DNS IP為LAN IP的時候,DNS的工作原理:DNS請求包--->LAN IP--->真正的DNS IP(WAN口得到的主DNS IP);
而當PC設置為當地的公網DNS IP的時候,DNS的工作原理:DNS請求包--->真正的DNS IP(PC上設置的主DNS IP)。
從以上可以看出區別:使用代理的時候,要多出一個步驟,ADO.NET設置數據包先被發送到了寬帶路由上,再有路由器將請求包發到目的DNS IP(這里有封包和解包的過程);而不使用代理的時候,DNS數據包被直接發送到目的DNS IP進行解析。#t#
下圖的客戶端配置中,服務端為ADSL接入,申請的動態域名為server.iplink.com.cn,此時客戶端如果沒有配置DNS,則VPN撥號鏈接會因無法解析服務端的ADO.NET設置動態域名而造成鏈接異常,如下圖的test鏈接中會話狀態始終為關閉狀態。
內網實行DHCP分配IP地址,每臺PC的TCP/IP屬性均設為自動獲取IP,此時由于PC本身并未設置自身的公網DNS,其自動獲取時所分的一定是路由器上預先設置的公網DNS,如果此時HiPER上未設DNS則內網PC即便能ADO.NET設置夠分得地址也是無法打開網頁的,就是因為在封包解包的時候由于代理的原理使得實現域名解析的工作不是很穩定,才會造成有時能夠解析有時候不能解析的問題,所以我們建議用戶為了網絡的穩定性和快速最好直接在PC和路由器上設置公網DNS,不建議使用路由器的DNS代理功能。