iT邦幫忙

1

網路封包傳遞與IP的疑問

我有一個網路架構如下圖,其中10.2.1.254與10.1.1.254是防火牆,
10.1.0.240、10.1.0.241、10.1.8.100、10.1.9.100是一般電腦。
有設定路由10.1.0.241能ping到10.1.9.100,但10.1.0.240也可以ping到10.1.9.100。
想請問對於10.1.0.240來說10.1.9.100是同網段,但在實體路線並不是,這之間的封包傳遞是怎麼運作的?
衍生的問題是10.1.0.241 ping不到10.1.8.100,認知中因為不是同個網段,所以會把封包丟給GW:10.1.1.254但10.1.1.254可以連接到10.1.8.100。
那10.1.0.241 ping不到10.1.8.100是因為來跟去的路徑不一樣才有問題?

如果需要補充什麼內容,煩請告知。

https://ithelp.ithome.com.tw/upload/images/20180827/20084571YOvSuzPhvD.jpg

看更多先前的討論...收起先前的討論...
jasonlin268 iT邦研究生 5 級 ‧ 2018-08-27 17:38:52 檢舉
2部防火牆(路由器?)都有2個介面,應該各有2個以上的IP吧,列出來比較容易明白。
vit5015 iT邦新手 3 級 ‧ 2018-08-28 08:47:34 檢舉
是,有兩個介面但那段的連接比較不影響問題,
10.1.1.254/16另外一個介面IP是172.31.69.5
10.2.1.254/16另外一個介面IP是172.31.69.6
vit5015 iT邦新手 3 級 ‧ 2018-08-28 15:14:31 檢舉
再用packet tracer去模擬之後,
對於第一個問題10.1.0.240/16 如何ping到10.1.9.100/24,概略上10.1.0.240 會先由arp封包得到arp table,在這一階段會得知10.1.9.100的位置,ICMP封包再經由得到的資訊傳去10.1.9.100。 為免觀念有錯誤導各位,詳細內容還是請大家自己用packet tracer模擬一次,會比較清楚。
jasonlin268 iT邦研究生 5 級 ‧ 2018-08-28 15:52:51 檢舉
其實我比較好奇的是10.2.1.254/16和10.1.9.100/24不在同一個網段,封包怎麼會過得去?除非有第二組IP,或是圖示有簡略了。
vit5015 iT邦新手 3 級 ‧ 2018-08-28 17:46:44 檢舉
抱歉,圖示簡略了,10.2.1.254/16是防火牆,10.1.9.100/24是連接用防火牆上的子port設定的10.1.9.254/24網段。
jasonlin268 iT邦研究生 5 級 ‧ 2018-08-28 17:53:19 檢舉
喔,那封包就可以路由過去了。
vit5015 iT邦新手 3 級 ‧ 2018-08-30 09:58:46 檢舉
衍生的問題10.1.0.241/21 ping 不到10.1.8.100/16,因為不同網段會先送到gw:10.1.1.254/16,10.1.1.254/16收到封包後,因為是同網段,會將封包直接給10.1.8.100/16。
而10.1.8.100/16收到封包後,會認為10.1.0.241/21是跟他同網段,發出arp封包給10.1.0.241/21要確認位置。
10.1.0.241/21收到arp封包後會丟棄封包,因為對10.1.0.241/21而言,10.1.8.100/16不是同網段的。造成10.1.8.100/16無法得到10.1.0.241/21的正確位置,ping的icmp封包無法正確回應。 還是建議大家用packet tracer實際去跑一次,會更清楚了解自己的盲點。 若是上述有錯也請指正,感謝提供回答的各位。
jasonlin268 iT邦研究生 5 級 ‧ 2018-08-30 10:22:52 檢舉
讚喔!解釋得很清楚。

2 個回答

0
魷魚
iT邦新手 1 級 ‧ 2018-08-28 09:35:11
最佳解答

大網段包小網段這問題,要分別看這兩個網段,對switch而已,如果封包過來時跟她同網段,他會用ARP去找出目的地的IP送出封包,如果跟他不同網段,則會做flood往所有介面丟出封包。對Router而言,就是看路由表,表上寫這網段往哪丟,他就會丟到哪去。
所以你只要考慮預設匝道、路由就可以釐清了。把圖畫出來,想像你是一個封包,就能慢慢找出封包怎麼跑了。

另外你可以使用Packet Tracer的Simulation(在右下角那個Realtime的圖示點一下)的功能,可以讓你看封包跑個路徑,和裡面表頭資訊的變化,對於理解網路行為很有幫助。

vit5015 iT邦新手 3 級 ‧ 2018-08-28 15:02:47 檢舉

感謝大大,用packet tracer後,比較了解封包怎麼走了。

0
補覺鳴詩
iT邦高手 1 級 ‧ 2018-08-27 15:58:27

你的觀念錯了因為遮罩不一樣,所以網段也不一樣

舉個例子
173.172.28.0.0/16 包括所有 172.28.0.0/24 的 IP
但因為遮罩不同,所以是不同網段

所以有幾點先更正你

10.1.0.240/16
10.1.9.100/24
這兩個是不同網段的
所以中間也是透過防火牆做路由

10.1.0.241/21
10.1.1.254/16
這兩個也是不同網段的,要做路由 L2 要先通
不同網段路由也做不起來 所以 ping 不到
你可以建立 secondary ip 解決

看更多先前的回應...收起先前的回應...
vit5015 iT邦新手 3 級 ‧ 2018-08-27 16:15:20 檢舉

感謝回應,那10.2.2.18/24與10.2.2.50/16 這兩個電腦應該無法互相ping到,因為不同網段? 但我測試可以,是因為還有甚麼其他因素嗎?

ky1000 iT邦新手 5 級 ‧ 2018-08-28 08:37:44 檢舉

10.2.2.18/24 後面的/24表示前段IP網段範圍為10.2.2.0-10.2.2.255

10.2.2.50/16 後面的/16表示前段IP網段範圍為10.2.0.0-10.2.255.255

建議提問者先了解IP與subnet mask的關係

vit5015 iT邦新手 3 級 ‧ 2018-08-28 08:58:06 檢舉

感謝回應,網段跟遮罩的關係一般查到的如你所說,但都沒特別說如果大網段包含到小網段的IP,那他們之間的封包傳遞是怎麼進行的? 像10.2.2.18/24與10.2.2.50/16,如果是不同網段,封包會交由default gateway去傳遞,我測試的時候把10.2.2.18/24的default gateway清空,ARP暫存也清除,但還是ping的到10.2.2.50/16。這樣他們之間的封包傳遞是不是由同網段的方式傳遞了? 如果他們是不同網段,為什麼在這個情況下沒有照著不同網段方式運作? 抱歉,可能觀念有誤,再麻煩指正。
我以為是不是同網段只有看本身遮罩完後的網段IP範圍,與目標的IP是否相容在內,有相容就是同網段,沒有就不是。 現在看來我認知有誤,但我想確認封包是怎麼在這種情況下運作的。

roy30514 iT邦新手 5 級 ‧ 2018-08-31 12:08:09 檢舉

對兩台電腦來說,它們都是判斷為對方在同網段不是?

vit5015 iT邦新手 3 級 ‧ 2018-08-31 13:19:56 檢舉

對,這也是我的疑問,依照上面說遮罩不一樣,網段也會不一樣。這兩個遮罩不一樣,那在沒有設default gateway的情況,應該是不能ping到的?

我要發表回答

立即登入回答