天天看點

RIP、OSPF等路由協定嚴格意義上講屬哪一層?

<a href="https://s3.51cto.com/oss/201711/13/3c16ad20149def90b5500c7fcb200619.png" target="_blank"></a>

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是傳輸層協定嗎?不夠嚴謹的TCP/IP啊。

3.嚴格意義上說,根本就沒有明确定義過這些協定的位置。學習這些協定關鍵是掌握它們在網絡中的功能和如何應用它們。至于它們到底是哪一層的協定,你覺得重要嗎?

4.如果一定在劃分的話.單純地從層次上講的話,RIP,BGP應該在應用層,OSPF,EIGRP在傳輸層。

本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/1981431,如需轉載請自行聯系原作者

繼續閱讀