1.RIP 基於 UDP,BGP 基於 TCP,OSPF 和 EIGRP 基於 IP 。這些在 TCP/IP 協議棧中定義的路由協議用於發現和維護前往目的地的最短路徑。你可以認為它們不屬於互聯網層協議 (注意,是用,based on,而不是實現了,BGP 用 TCP,所以 BGP 是應用層的,TCP 用 IP,所以 TCP 是傳輸層的,OSPF 用 IP,所以 OSPF 更應該是歸類到傳輸層裏比較合理。與書<<計算機互聯網自頂向下方法與Internet特色>>意思基本一致),但它們計算出來的路徑最終為互聯網層提供服務。 (在 TCP/IP 協議棧中,Routed Protocol(eg. IP)工作在互聯網層,而 Routing Protocol(eg.BGP)工作在傳輸層或應用層,他們之間的關係為:Routing Protocol 負責學習最佳路徑,而 Routed Protocol 根據最佳路徑將來自上層的資訊封裝在 IP 包裏傳輸。)
當然,你也要理解,TCP/IP 的定義本來就比較模糊。另外一種為 OSI 提供服務的路由協議就不一樣了,IS-IS 。它直接封裝在資料幀中,自然是一種互聯網層協議了。這也可以看出 OSI 的定義比 TCP/IP 嚴謹許多。
2. 一個協議的實現需要依賴協議所在層次的下一層功能。簡單的説,如果 TCP 需要依賴網際層協議 IP,那麼它就是傳輸層的協議。同理,如果 RIP 需要依賴傳輸層的 UDP,那至少它應該是被定義在 UDP 之上的協議,但我認為它並不能算是應用層協議。舉個例子,ICMP 是互聯網層協議,但它需要依賴 IP 承載,那麼 ICMP 是傳輸層協議嗎?
3. 嚴格意義上説,根本就沒有明確定義過這些協議的位置。學習這些協議關鍵是掌握它們在互聯網中的功能和如何應用它們。至於它們到底是哪一層的協議,你覺得重要嗎?
4. 如果一定在劃分的話. 單純地從層次上講的話,RIP,BGP 應該在應用層,OSPF,EIGRP 在傳輸層