2013年6月13日 星期四

子網路遮罩 與 預設閘道 的功用

子網路遮罩主要是用來辨識某部主機所處的子網路。
( subnet mask )

電腦傳送封包時, 必須判斷目的電腦是否位於相同的子網路
若不是在同一個子網路, 則必須先將封包送至路由器, 由路由器轉送至目的子網路

而判斷的方法就是靠子網路遮罩:
當傳送端要傳送時,他的網哪會將來源位址及目的位址分別與子網路遮罩做二進位的 AND 運算,如此就可以判斷該封包的目的地是否是在與傳送端同一個子網路中

(子網路遮罩表示法跟網段很像,都是後面用/標示兩個數字,但意義不同喔!)



------------------------------------------------------------------------------------------------------------

預設閘道 主要是用在一個子網路中,定位 router 位址用的
( default gateway )

一個子網路會由一個 router 的介面做分割,根據資料鏈結層學到的 ARP 觀念
ARP 是在同一個子網路中,用來做 IP 與 MAC 對照轉換的協定

當一個子網路中的主機要傳封包給其他子網路的主機
它的 ARP table 勢必不會有目的地主機的MAC address
因此他必須將 ARP 詢問封包傳送到router去得到routerMAC

ARP 的運作是廣播要找的接收端 IP
每個子網路中的主機(包含 router ) 會檢查 ARP 封包,比對其中的接收端 IP 與自己的是否相同
唯一相同的那台主機會回傳包含自己 MAC 的 ARP 封包至傳送端
(by IP address in received ARP pkt.)

根據 ARP 的原理,傳送端在同子網路中是用廣播方式詢問MAC Address
但現在目的端的 MAC 不會在子網路中(這個可以由上面的子網路遮罩判斷)
所以傳送端的 ARP 模組就會直接丟給 router
(所以課本中會說指定的 MAC 會是 router 的 MAC,在廣播時就只有 router 會回應)

而指定預設閘道就是為了讓傳送端的 ARP 知道router的 IP 是哪一個
在經過一次的 request 後,就可以更新 ARP table
然後就永久知道 router 的 MAC address
如此一來下一次就不用再傳送 ARP 詢問了 

沒有留言:

張貼留言