2017年2月11日 星期六

從使用者觀點看 DNS 運作


1-從使用者觀點看 DNS 運作。
  你打開電腦, 開了瀏覽器, 點下書籤中的 yahoo , 到畫面資料出來, 這個過程中電腦/網路發生下列過程, 以下圖數據為例


電腦先檢查自己有沒有 yahoo IP (存於記憶體快取 hosts檔案中), 如果沒有, 它就準備向 IPv4 DNS 伺服器查詢, 因為 DNS 伺服器的 IP 與自己的 IP 不是在同一網段,

*插花1*電腦判斷是否同網段的作法是,
先把自己的IP 與子網路遮罩作 and 運算, 這時會得到代表整個網路的 net id, 以此例而言, 會得到 192.168.11.0
再將對方IP 與子網路遮罩作 and, 168.95.1.1為例, 得到另一組 168.95.1.0
因為兩者不相同, 所以就不是同一網段
*結束插花**

於是向預設閘道器 192.168.11.1 要求連線至 168.95.1.1 查問 yahoo IP

168.95.1.1 回答 yahoo IP (116.214.12.74) , 電腦會再一次檢查自己的 IP 與對方 IP 是否在同一網段, 如果是, 就直接連線, 如果不是, 就由 預設閘道再出去.
!!! 所以 預設閘道器很重要!要是它當了,這些同網段的就成了孤島.!!!

第二次又要再連線到 yahoo , 因為電腦已經_記得_yahoo IP, 所以, 電腦不會再一次向 DNS 查詢, 而是用剛才查到的 IP 作後續連線.

問題來了, 萬一 yahoo 的電腦當了, 換成另一台, 用另一個IP服務, 和剛才查到的結果不一樣怎麼辦? 那電腦要_記得_查到的結果多久呢?
為了解決可能這樣的問題, DNS 的設定中, 會記錄著_你查到的IP只有在若干時間內有效, 超過有效時間, 就會重新向 DNS IP查詢.

至於 DNS 伺服器的實際運作, 就請參考


2-簡易指令檢測網路是否斷線。

windows7 , 要用
[-開始 - 所有程式 - 附屬應用程式 - 命令提示字元]
進入類似 dos 的視窗, 才執行下列指令.
以下指令, 可以在後面加上 -? , 系統會回應使用方法.

Ping
ping 是用來測查某 IP 是否有回應, 就像 乒乓球, 你乒過去, 對方要乓回來.
用法是 ping 對方IP ping 對方網路名稱
例如: ping 10.241.64.254
如果有回應, 就會出現些資料, 其中最後幾行, 顯示去回的時間有多少, 通常都是數個 ms (微秒= 千分之一秒)
有一種情形是 ping 去回的 封包 , 一般是沒有丟失的. 如果有丟失, 那可能是(硬體)網路線有問題 (尤其是剛拉好測試), 或是網路太多人使用設備忙不過來.
另外, 現在軟統大多內建防火牆, 萬一防火牆的設定, ping 視為攻擊的一種而不開放, 那也會出現, 明明機器正常, 但是 ping 不到.

tracert
ping 只能對一個點作檢查, tracert 算是加強型的, 會從閘道器一路追蹤到目的地. 用法是tracert對方IP tracert對方網路名稱
例如: tracert tw.yahoo.com
它會列出所經過的 閘道器IP, 所回應的時間

Arp
網路卡在出廠時, 有已經燒錄固定的 mac , 但在 tcp/ip 網路中, 則是用 IP 來連絡. 在同一網段中, 電腦會記住連線過的對方 IP 及網卡 mac.
windows , arp a 指令查詢.

Nslookup
這個指令是用來查詢 dns . 用法很多種.
指令
功能 1 由名稱查 IP (稱為正解)
nslookup  tw.yahoo.com
用網卡內定的 DNS IP查詢 tw.yahoo.com IP

功能 2 IP查機器名稱(稱為反解)
nslookup 163.20.254.254
用網卡內定的 DNS IP 163.20.254.254 的網路名稱

nslookup tw.yahoo.com   8.8.8.8
指定向 8.8.8.8 查詢 tw.yahoo.com IP


沒有留言:

張貼留言