暗夜公爵 <ilkitty.bbs@cis.nctu.edu.tw> wrote in message
news:3cVbCB$XDb@bbs.cis.nctu.edu.tw...
> ==> 在 kunfu.bbs@bbs.kimo.com.tw (愛情逃兵) 的文章中提到:
> >   1.甲:10.1.1.1 255.255.255.0
> >     乙:10.1.2.1 255.255.255.0
> >     兩部電腦互相是看不到的   除非中間有router來做layer3的轉換
>                                                            ^^^^ 轉換什麼?
>     講「轉送」可能會比較恰當。router雖然會將TTL減1和重算CheckSum,但是
>     router的重點還是在轉送封包。
>
> >     乙可能看的到甲  但找尋時間要很久  但甲一定找不到乙(在沒有router的情
況下)
>                       ^^^^^^^^^^^^^^^^
>                       Why? 請說明清楚。
>
> >   子網路遮罩是要讓你的電腦知道對方是否為同一區段
> >   10.1.1.1 與 10.2.1.1 都屬於 10.0.0.0 的 A Class 網段
>
> 簡單的說是這樣的:(以最常見的情形而論)
>
>     假設電腦只插一片網路卡好了。IP module會把packet目的IP位址的和netmask
> 做AND運算,並跟網路卡的IP位址和netmask做AND運算的結果做比較。?
>
> 如果相等,那麼表示目的位址是在同一個subnet上,那麼在出去的frame的目的MAC
> address欄位就會填入目的IP位址對應的MAC address(經由ARP獲得)。
>
> 如果不等,表示目的位址不在同一個subnet上,那就去自己的routing table查尋
> 要經由哪個router轉送(大部分的情形是全都經由同一個router送,也就是default
> router),然後在出去的frame的目的MAC address欄位填入那台router中與自己同
> 一個subnet的那塊卡的MAC address,這樣就可以把frame交給router。


不管是否同一個 subnet﹐都要找 route table 啦。就算沒有 ip forward 功能﹐或只
有一張網路卡﹐都必需有自己的 route table 就是了。
然後在 route table 中往往是 first match 原則﹐而通常是 sort by the value of
mask bit﹐找到了就不再找。 dst 全部為 0 的為 default gw﹐最遲加入的 default
gw 會排在其它 default gw 之前。