ICMP Redirect Errors
此錯誤訊息是由 router 所發,目的是用來告知發送 IP datagram 的主機,應該要將封包送到另外一個 router 上。
以下用圖片來說明一下發生 ICMP Redirect Error 的情境:
其中 host 將 IP datagram 送給 R1,因為 R1 是 host 的 default gateway。
R1 收到封包,檢查 routing table 規則後,發現其實 R2 才是正確的路徑,因此將封包導向 R2。
除了將封包導向外,R1 也額外發送了 ICMP Redirect Error 的訊息給 host,通知它要修改自己本身的 routing table。
由這個功能可以瞭解到,若是在複雜一點的 topology 中,要每個 host 都清楚知道封包 routing 的路徑是很難的,但有了這功能後,就可以僅設定 default gateway,接著送封包後就會由 router 通知來改變自身的 routing table 了。
【備註】
此種錯誤訊息僅有 router 能發送,host 是不能發送的。
router 僅能送出 host redirect 而不是 network redirect,理由是因為 router 要掌握 topology 所有的網段資訊不是很容易,而且也有可能覆蓋原本 host 的 routing table 中不需要修改的設定。
沒有留言:
張貼留言