Re: [問題] 網路遮罩問題

看板Network作者 (wst2080)時間15年前 (2010/05/09 23:34), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串4/5 (看更多)
※ 引述《EvilBrave (今天的我沒有極限)》之銘言: : : 若對方超出範圍~ 封包送到閘道轉送~ 這部份就沒問題... : : 假設 10.0.0.0/255.0.0.0 : : 而你要連線的是 11.11.11.11 的話,那麼這部份就沒問題.... 因為超出範圍... : : 若是10.0.0.10 /255.0.0.0 : : 一台機器是這樣的設定~ 另一台的機器是 10.0.20.10 / 255.255.255.0 : : 則這樣就會發生你所謂的連線問題~ : : 假設從 10.0.0.10 它會拿 10.0.20.10 這個IP來跟自己的 255.0.0.0 這個遮罩做比對 : : 比對下來的結果判定是同一個網段~ 則會將封包直接丟出去而並不會丟給閘道... : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ : 首先感謝您的回答~~~~~~ : 不過我想再請教這一點 請問"封包送的出去"嗎? 應該是說 Frame 的部份... L2 通常是叫做 Frame ~ 這樣看起來你的基礎還不夠穩~ 我看應該是要來說個清楚 我先回答好了~ 發是一定發的出去!!! 這沒有什麼特別的... 只不過對方能不能接收到就是另一回事了... XD : 因為 10.0.20.10這台 不在此網段內 : 因此我的想法是 : 封包在 Data-link layer 這層 arp table 找不到 10.0.20.10 這台的 mac address : 所以封包發不出去? : 還是 arp table找不到會有其他處理方式 ? 應該是說~ 由於剛剛的案例已經說到 10.0.0.10/255.0.0.0 發送封包給 10.0.20.10/255.255.255.0 這時候封包一比較~ 屬於同網段~ 所以這個封包並不會丟給閘道來進行轉遞 而是直接在區網廣播的方式~ 然而 10.0.20.10/255.255.255.0 當然不會收到這個封包~ 因為沒有交給閘道來幫忙轉遞 OK~ 這樣說或許蠻模糊的~ 我說一下電腦網路轉發的方法好了~ 稍微解釋一下~ 我想你再回頭看就應該知道怎麼去 思考了~ 這樣也比較實際啊... OK 就用192.168.1.0/255.255.255.0 這個舉例好了... 192.168.1.0/255.255.255.0 這個網路範圍為 192.168.1.0~255 假設 192.168.1.100 要傳送資料給 192.168.1.200 (而各自的遮罩均為255.255.255.0) 那麼 192.168.1.100這台機器會拿 192.168.1.200 這個IP 來跟 自己的 255.255.255.0 的遮罩進行比對~ 發現是屬於同網段~ 於是封包不會轉遞給閘道(路由器) 所以會在區網內進行廣播~ 封包表頭如下: 目的MAC: ff:ff:ff:ff:ff:ff (廣播) 來源MAC: 11:22:33:44:55:66 (192.168.1.100自己的 MAC Address) 目的IP : 192.168.1.200 來源IP : 192.168.1.100 於是有廣播的部份,當192.168.1.200收到192.168.1.100的來源封包之後,就會接收該封包 並且添加於自己的 ARP Table 的 MAC 清單當中 標記為 192.168.1.100 的 MAC 為 11:22:33:44:55:66 然後回送一個封包給 192.168.1.100 封包表圖如下: 目的MAC: 11:22:33:44:55:66 (192.168.1.100 的 MAC) 來源MAC: 22:33:44:55:66:77 (192.168.1.200 自己的 MAC Address) 目的IP : 192.168.1.100 來源IP : 192.168.1.200 當 192.168.1.100 收到 192.168.1.200 的封包後~ 就會在自己的 ARP Table 添加 192.168.1.200 的 MAC Address 而ARP Table當中就會有一筆紀錄為 192.168.1.200 的 MAC Address 為 22:33:44:55:66:77 之後 192.168.1.100 要傳遞資料給 192.168.1.200 就不需要進行ARP廣播了... 透過ARP Table當中的紀錄~ 於是這樣就構成了區網構連~~~ -------------------> OK 上頭融會貫通之後~ 接下來再舉一個簡單的案例~ 假設環境跟上面一樣~ 不過添加了閘道與不屬於該區網的設備~ 而區網內的設備要對 外部網路的設備進行連線~ 那麼~ 就會透過閘道~ 那怎麼運行的呢? 其實跟上頭差不多. (這個部分我就不說明路由協定~假設路由協定是已經設定好或者運行正常) 假設區網的電腦為 192.168.1.50 處在 255.255.255.0 這個遮罩的網段範圍內 而該網段的閘道為~ 192.168.1.254 而有個外部網路的電腦為 172.16.1.100 / 255.255.255.0 假設架構為: 192.168.1.50 ---- 192.168.1.254 (閘道) 172.16.1.254 ---- 172.16.1.100 ^ 66:66:66:66:66:66 ^11:11:11:11:11:11 ^ 33:33:33:33:33:33 ^ 77:77:77:77:77:77 那麼就是區網電腦 192.168.1.50 要連線到 172.16.1.100 這個部份~ 開始講解流程 當192.168.1.50這台電腦會拿 172.16.1.100 來比對自己的網路遮罩 255.255.255.0 比對下來 發現並不是相同的區網~ 所以 192.168.1.50 會將目標為172.16.1.100的封包丟給閘道進行處理~ 首次連線為... 找出閘道所對應的MAC 位置~ 目的MAC: ff:ff:ff:ff:ff:ff (廣播) 來源MAC: 33:33:33:33:33:33 (192.168.1.50 自己的 MAC Address) 目的IP : 192.168.1.254 來源IP : 192.168.1.50 192.168.1.254收到後 會回應給192.168.1.50 同時會將 192.168.1.50 的 MAC 紀錄在 閘道的ARP 表當中 目的MAC: 33:33:33:33:33:33 (192.168.1.50 的 MAC) 來源MAC: 66:66:66:66:66:66 (192.168.1.254 自己與192.168.1.50界面的MAC Address) 目的IP : 192.168.1.50 來源IP : 192.168.1.254 這樣就構成閘道與192.168.1.50之間的構聯了(當然 192.168.1.50的ARP表會有閘道的MAC) 然後就 192.168.1.50 開始把封包傳遞給 172.16.1.100 (經過閘道) 目的MAC: 66:66:66:66:66:66 (192.168.1.254 與192.168.1.50 的介面 MAC) 來源MAC: 33:33:33:33:33:33 (192.168.1.50 自己的 MAC Address) 目的IP : 172.16.1.100 來源IP : 192.168.1.50 當閘道收到這個封包的時候~ 就會比對自己的路由表~來進行封包的轉發~ 這時候~ 閘道的另一個接口 就會發出ARP廣播的封包 目的MAC: FF:FF:FF:FF:FF:FF (廣播) 來源MAC: 77:77:77:77:77:77 (172.16.1.254 自己與172.16.1.100的介面 MAC Address) 目的IP : 172.16.1.100 來源IP : 172.16.1.254 這時候另一端 172.16.1.100 也收到封包後 回應給 172.16.1.254 並且把閘道的MAC記錄在ARP Table裡頭 (172.16.1.254 → 77:77:77:77:77:77) 目的MAC: 77:77:77:77:77:77 (172.16.1.254 的 MAC) 來源MAC: 11:11:11:11:11:11 (172.16.1.100 自己的 MAC Address) 目的IP : 172.16.1.254 來源IP : 172.16.1.100 然後閘道再將 192.168.1.50的封包送給 172.16.1.100 目的MAC: 77:77:77:77:77:77 (172.16.1.254 的 MAC) 來源MAC: 11:11:11:11:11:11 (172.16.1.100 自己的 MAC Address) 目的IP : 172.16.1.100 來源IP : 192.168.1.50 然後 172.16.1.100 收到封包後~ 就會返回給 192.168.1.50 (途中經過閘道) 目的MAC: 11:11:11:11:11:11 (172.16.1.100 的 MAC) 來源MAC: 77:77:77:77:77:77 (172.16.1.254 自己的 MAC Address) 目的IP : 192.168.1.50 來源IP : 172.16.1.100 這時候路由器收到後~ 會進行轉發~ 目的MAC: 33:33:33:33:33:33 (192.168.1.50 的 MAC) 來源MAC: 66:66:66:66:66:66 (192.168.1.254 自己的 MAC Address) 目的IP : 192.168.1.50 來源IP : 172.16.1.100 這樣就達到構聯的狀況了!!! 以上就是ARP與封包轉發的過程簡介.... (還沒有說到路由協定~不過這是基礎篇的部份) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.248.253

05/09 23:35, , 1F
忘記說了若ARP沒有回應~ 則封包會區網流竄到TTL(存活時間)
05/09 23:35, 1F

05/09 23:35, , 2F
時間結束為止... 然後就會被捨棄掉...
05/09 23:35, 2F

05/09 23:57, , 3F
專業推
05/09 23:57, 3F

05/10 00:18, , 4F
發送封包前會先廣播ARP~可是因為以為目的在相同區段內
05/10 00:18, 4F

05/10 00:18, , 5F
所以ARP沒有人回應,這樣的話原本要發送的封包會送出嗎?
05/10 00:18, 5F

05/10 05:18, , 6F
一樣會發送啊...不管怎麼樣 都會發送啊...
05/10 05:18, 6F

05/10 05:19, , 7F
若ARP沒有機器回應,通常就是到了封包存活時間就會捨棄掉了
05/10 05:19, 7F

05/10 22:44, , 8F
我也來推WST大。很專業
05/10 22:44, 8F

05/10 23:46, , 9F
封包會發出去,但對方收不收得到是另外一回事 ,是吧XD
05/10 23:46, 9F
文章代碼(AID): #1BvjOGSM (Network)
文章代碼(AID): #1BvjOGSM (Network)