路由協議屬於哪一層?

2021-07-04 18:36:41 字數 835 閱讀 2333

分層的目的是為了把複雜的功能模組化,易於描述,易於實現和維護。一般認為l3就是負責實現網際互連(internetworking)。比如ip,可以實現全球的ip網路的互連,你只需要乙個ip位址。

這時就有乙個問題。條條大路通羅馬,你怎麼知道走哪條路能到你想去的ip呢?於是發明了動態路由協議,讓它去找路。但是動態路由協議自己的packet也得通過ip packet的封裝發出去。有的選擇是直接用ip包(如ospf;dsr),有的則先用udp或tcp包一層,再用ip包一層(如rip,bgp;aodv, olsr)。當然它們這麼做有自己的需要和理由。

但不管怎麼說,**表(forwarding table)是ip層的。乙個結點如果有**功能,它在**資料報時會且僅會依照這個表。但是這個**表不是隨機生成的,而是動態路由協議學習來的,或者由人工配置的靜態路由生成。所以呢,**表的資料結構在ip層,但內容卻是由路由協議們提供的。

如果按照報文包粽子的順序,rip, bgp因為在有運輸層的報頭,可以算是「應用層」。不過當初分層的目的是為了區分網路上的各種功能(functionality),不是針對粽子葉的層數。所以不少的文獻把路由協議都算在網路層裡。舉個例子,icmp是網路層協議,但它需要依賴ip承載,那麼icmp是傳輸層協議嗎?不夠嚴謹的tcp/ip啊。

有人提出了控制面(control plane)和資料面(data plane)的概念。在原來協議分層的基礎上增加分面的概念。報文表示和打包的過程屬於資料面, 而生成**表和如何**的過程屬於控制面。還有些人把路由協議稱作routing protocol,就是做路由決定的協議;把其它協議稱作routed protocol,被決定的協議,它們只管扛資料,怎麼走路由前者決定。

DLINQ dbml檔案該屬於哪一層

今天嘗試用.net3.5架構 發現乙個問題,使用linq運算元據庫,linq操作屬哪層呢?假如光使用一種資料庫,那麼把linq放在資料層是沒有問題,然後再對linq資料進行包裝,就可以使用了。但是如果使用工廠進行多種資料庫部署的話,問題來了,如果把linq放在資料層,那麼idal將無法得到model...

arp協議屬於哪一層 廣播概念與ARP理論概述

1 廣播域 可以聽到同乙個廣播的pc集合,稱為乙個廣播域。2 ip廣播位址 全域性廣播位址為255.255.255.255。3 mac廣播位址 1 arp的概念 arp address resolution protocol 即位址解析協議,是根據ip位址獲取實體地址的乙個tcp ip協議。arp協...

icmp協議工作在哪一層

icmp是 internet control message protocol internet控制報文協議。它是tcp ip協議族的乙個子協議,用於在ip主機 路由器之間傳遞控制訊息。控制訊息是指網路通不通 主機是否可達 路由是否可用等網路本身的訊息。這些控制訊息雖然並不傳輸使用者資料,但是對於使...