RIP基於UDP,BGP基於TCP,OSPF EGP基於IP
在TCP/IP協議棧中定義的路由協議用於發現和維護前往目的地的最短路徑。可以認為它們不屬於網絡層協議(注意,是用based on,而不是實現了,BGP用TCP,所以BGP是應用層的,TCP用IP,所以TCP是傳輸層的,OSPF用IP,所以OSPF更應該是歸類到傳輸層里比較合理。),但它們計算出來的路徑最終為網絡層提供服務。(在TCP/IP協議棧中,Routed Protocol(eg. IP)工作在網絡層,而Routing Protocol(eg.BGP)工作在傳輸層或應用層,他們之間的關系為:Routing Protocol負責學習最佳路徑,而Routed Protocol根據最佳路徑將來自上層的信息封裝在IP包里傳輸。)
TCP/IP的定義本來就比較模糊,另外一種為OSI提供服務的路由協議就不一樣了,IS-IS,它直接封裝在數據幀中,自然是一種網絡層協議了。
一個協議的實現需要依賴協議所在層次的下一層功能。簡單的說,如果TCP需要依賴網際層協議IP,那么它就是傳輸層的協議。同理,如果RIP需要依賴傳輸層的UDP,那至少它應該是被定義在UDP之上的協議,但我認為它並不能算是應用層協議。舉個例子,ICMP是網絡層協議,但它需要依賴IP承載,那么ICMP是傳輸層協議嗎
單純地從層次上講的話,RIP,BGP應該在應用層,OSPF,EGP在傳輸層