環境:
src: 10.13.20.127 (位於10.13.20.0 子網域下)
dest: 10.13.18.54 (位於10.13.18.0的子網域下)
subnet mask : 255.255.248.0
NOTE: 如果不記得 subnet設置方式的朋友可以先看 http://www.clyeh.org/ipsubnet/ipsubnet.htm 來複習一下。
主要的Policy:
(ip & subnet mask) ===> network number
network number必須在gateway的ip table上找到對應的interface
對就是上面兩句話就是子網域下傳送的方式
看一個範例好了
(src: 10.13.20.127, dest: 10.13.18.54) ---> gateway1
gateway1上面的routing table若是有
....
10.13.18.0 255.255.248.0 eth?
...
的record
那麼這個封包就會被傳送到 eth1,eth1一般會是10.13.18.0的gateway(gateway2)
因為10.13.18.54是gateway2下的一個node,gateway2自然就會把封包傳送到這一台node上
當然,當封包要回傳的時候就是相反的順序
換言之,gateway1和gateway2上面的routing table上要有互相的record封包發送的來回才不會出問題。
也就是 gateway2上面的routing table也要有
....
10.13.20.0 255.255.248.0 eth?
...
的record
結論: 雖然網域被切開了,但是封包的傳送只要routing table設定正確理論上都要可以正常的收發。
最後附上一張圖來表示這個概念:
NOTE: 也就是說穿就是一個將 dst ip 轉換成 interface的一個系統,當有一個dst ip,利用這樣的轉換就可以知道要送到哪個interface上,不管在 PC 、手機、switch、gateway、router上都會有一個這樣的系統,尤其一個有幾十個以上的interface的switch/gateway/router上這樣的routing table更是龐大。
NOTE: dst ip是input ,而ip mask/network number/interface則是是先先設定好的資訊(如何設定? 在linux/windows上可以查詢 'route' 這個指令)
沒有留言:
張貼留言