作者 主題: icmp redirect一問  (閱讀 12490 次)

0 會員 與 1 訪客 正在閱讀本文。

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
icmp redirect一問
« 於: 2001-12-31 16:19 »
請問netman大哥:

不知道下面這樣說法對不對:

所謂的icmp  redirect 封包:

若同 一段區域網路上存在兩部或更多部路由器,則可能發生與網外的某部主機 連線時,經由路由器 A 遞送封包的效率會較由用戶預先指定的路由器 B 的效率為優。
此時,當主機的 IP 將封包交由路由器 B 遞送時,此路由器 即可能發出重導遞送路徑訊息告知來源主機將封包轉交由另一部路由器遞送,意即,將封包的遞送路徑重導至較佳的路徑。



假設上述為正確的話,
請教幾個問題:
1.上述是說路由器A,路由器B皆可把封包送到正確位址,只是一個較佳,一個較差而以,
  對嗎?
2.封包為什麼一開始自己會沒走對路呢?(是因為參照本身的路由表,而路由表不正確嗎)
3.假設路由器A和路由器B的前面還有一個路由器C,意思是
  封包有可能是這兩種路徑:
  source ---->路由器C----->路由器A
  source------>路由器c------->路由器B
請問路由器A是把 icmp redirect封包傳給路由器C或source呢?

4.請問icmp redirect封包為何跟網路安全有關呢?
  也就是為什麼有些防火牆要關掉 icmp redirect的弁鄔O

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
icmp redirect一問
« 回覆 #1 於: 2002-01-01 04:46 »
各位好:
     小弟也來插一腳,順便請各位糾正一下錯誤的部分。
     
      小弟記得好像是說,icmp轉向的產生,應該是發生在當host要選擇將封包送到那一部rounter時所產生的(目的地為x);比如說您舉的例子,當host要將封包送到B,預設繞送表是A,先到A後,發現B是下一個行程router,之後轉到B,到B時才發現A、B是在同一個Lan裡面的,也就是說可以不需經由A,可以直接到B,這時A就會發一個icmp redirect給host,告訴host以後要送到x,不用經過A,而是到B就行了。

      問題2小弟覺得就像您所說的,一開始host的繞送表預設路是A,可是當預設的"出槌"時,就會利用收到的icmp redirect為host的更新繞送表,慢慢的學習修正就是了。

      icmp redirectory 應該是針對host,也就是您所說的source,如果我們在host上面用netstat -rn,比較更新前後您就可以發現繞送表的差異了。

     4的話嗎,是不是避免將機密的東東傳出去呢?老實說我真的不知道,還是不要亂猜好了!!

Anonymous

  • 訪客
icmp redirect一問
« 回覆 #2 於: 2002-01-01 21:23 »
謝謝 diego 兄的作答~~

分析得很對啦~~  ^_^

這不是什麼機密事情﹐維護 routing 本來就是 ICMP 要做的工作之一。
只是有時候﹐用在 NAT 的環境下面會有‘意想不到’的問題而已~~

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
icmp redirect一問
« 回覆 #3 於: 2002-01-01 22:15 »
請問為何"預設的"會出槌

Anonymous

  • 訪客
icmp redirect一問
« 回覆 #4 於: 2002-01-01 23:21 »
應該是說 default gateway 事實上並不是該連線的最佳路徑吧﹖