路由器內部解析

    路由器工做於網絡層,提供主機到主機的傳輸服務,在ATM中路由器採用的是虛電路網絡(僅在網絡層提供主機到主機的鏈接服務),在因特網中採用的是非鏈接服務的數據報網絡。算法

 

虛電路網絡(ATM,幀中繼):依靠路由器中的vc號維持鏈接緩存

數據報網絡(因特網):由傳輸層下來的分組都被分配一個網絡編址(ip),而後被推入網絡中,到第一個網關(路由器的一個端口),進入路由器的交換結構,經路由處理器查找路由表選擇對應的交換出口(路由器將目的地址映射到每個鏈路接口)安全

虛電路中的路由器要維持鏈接狀態信息(每一條鏈接對應的vc號)服務器

數據報網絡中的路由器維持轉發狀態信息(路由表)網絡

 

由來:虛電路比數據報網絡複雜得多,虛電路來源於電話界,它採用了真正的電路,呼叫的創建和呼叫的狀態都在網絡中的路由器維持,因此他比數據報網絡複雜的多(至關於電路交換和分組交換的比較)架構

 

當時因特網架構師選擇使用網絡層服務模型儘量的簡單,將虛電路中的任務交給跟高層的傳輸層處理(在端系統中),而後簡化網絡層服務,更多的服務交給上層傳輸層和應用層去實現,例如WEB應用,電子郵件,dns服務等,這樣的好處是當須要添加新的服務時,只須要加一臺主機並定義一臺新的協議就能夠了。分佈式

 https://blog.csdn.net/wj310298/article/details/50176805編碼

 

路由器由4個部分組成:輸入端口,輸出端口,交換結構,路由選擇處理器。spa

交換結構,輸入端口和輸出端口由硬件來完成(轉發數據平臺):因爲考慮到數據傳輸的速度,交換結構採用硬件結構才能勝任,實現轉發功能操作系統

路由器選擇(管理控制平臺)由軟件來完成:路由器的大腦,路由器的處理器,路由器的轉發表和操做系統,實現交換功能                       最新的sdn(軟件定義網絡)就是實現硬件與軟件分離,一種新的網絡構架,將轉發與交換分離

 

Cisco:1984年Len Bosak與他的妻子Sandy Lerner在斯坦福大學工做時,他們創建並出售因特網路由器非給研究員和學術團體

1986年底cisco月收入達250000美圓,到1987年年底,cisco以1/3的股份爲交換條件得到200w美圓風投,後來Cisco持續增加,同時Len Bosak與Sandy lerner與管理層的矛盾日益尖銳,並於1990年上市後lener和Brsak離開公司

 

多年以來:Cisco在路由器市場以外進行成功的擴張,銷售安全,無線緩存,以太網交換機,數據中心基礎建設,視頻會議和IP語音產品和服務

 

Cisco 華爲  Lucent  Juniper

交換結構:

  

  經內存交換:列如Catalyst 8500系列的交換機就是

  路由器內部結構:早期路由器都是由計算機,輸入輸出之間的交換在cpu的直接控制下完成,輸入輸出端口的功能像在傳統操做系統中的I/O設備同樣。一個分組到達端口,端口會先經過中斷方式向cpu發出信號。因而cpu將該分組複製到內存中,從其首部提取地址編碼與內存中的轉發表對照找出輸出端口。這種狀況下,總轉發吞吐量老是小與B/2(設內存帶寬每秒可寫進內存或從內存讀取B個分組),讀寫是共享系統總線的,因此一次只能轉發一個分組。不存在這個在讀的時候另外一個分組在寫。

  可是如今,目的地址的查找與分組存儲(交換)進內存存儲位置由輸入線路卡來處理。(就像是多核處理共享內存)用一個線路卡上的處理將分組交換寫進適當的輸出端口的內存中

  經總線交換:

 經互聯網絡交換:

 

 

輸出端口:

何處出現排隊:流量負載、交換結構的相對速率和線路速率

 

假定輸入線路速度與輸出線路速度是相同的,均爲每秒 1in 個分組,有 個輸入端口
個輸出端口 爲進一步簡化討論,假設全部分組具備相同的固定民度,分組以同步的
方式到達輸入端口 這就是說,在任何鏈路發送分組的時間等於在任何鏈路接收分組的時
間,在這樣的時間間隔內,在一個輸入鏈路上可以到達 個或 個分組 定義交換結構傳
送速率 WI 爲從輸人端口到輸出端口可以移動分組的速率 若是 尺斟陽陽咐
在輸入端口處僅會出現微不足道的排隊 這是由於即便在最壞狀況下,全部 條輸入線路
都在接收分組,而且全部的分組將被轉發到相同的輸出端口,每批 個分組(每一個輸入端
口一個分組)可以在下一批到達前經過交換結構處理完畢
可是在輸出端口處會發生什麼狀況呢?咱們仍然假設 ..itch J. 一樣,到
個輸入端口的每一個端口的分組都發向相同的輸出端口 在這種狀況下,在向輸出鏈路
發送一個分組的時間內,將有 個分組到達該輸出端口 由於輸出端口在一個單位時間
(分組傳輸時間)內只能發送一個分組,這 個到達的分組必須排隊(等待)傳輸到輸出
鏈路上。因而,又有 個分組可能在它只能發送已排隊的 個分組中的一個的時間內到
這種狀況會不斷持續下去 最終,排隊的分組數量會增加得很快,足以耗盡輸出端口
的可用內存,在這樣的狀況下分組被丟棄

 

假定須要路由器緩存來吸取流量負載的波動,一個天然而然的問題就是須要多少緩
多年以來,對緩存長度的經驗方法是[盯 3439 J ,緩存數量 應當等於平均往
返時延 (RTI ,好比說 250ms) 乘以鏈路的容量( C)

最近的理論和試驗研究[ Appenzeller
2004J 代表,當有大量的 TCP (N) 流過一條鏈路時,緩存所須要的數量是 B=RTT.
CI 怦飢 對於一般有大量流通過的大型主幹路由器鏈路(參見如[陽Fr阻叫山a1址 h2 Oω3 ]η) ,
值可能很是大,這使得所需的緩存長度的減少至關明顯 Appenzeller 4; Wischik
2005; Beheshti 2008 ]從理論、實現和運行的角度提供了可讀性很強的有關緩存氏度問題
的討論

丟棄到達分組(棄尾策略):涉及算法AQM,RED

 

 

路由選擇控制平面:

咱們已經隱含地假設路由選擇控制平面所有駐
留並運行在路由器中的路由選擇處理器上 網絡範圍的路由選擇控制平面所以是分佈式
的,即不一樣部分(例如路由選擇算法)執行在不一樣的路由器上而且經過彼此發送控制報文
進行交互

 新的網絡架構(sdn)

近來, 些研究人員[ Caes81' 2005a; Casado 2009; McKeon 2008 ]已經着手探索新型路由器控制平面體系結構,其中數據平面連同部分控制平面(例如,鏈路狀態的本地測量報告,轉發表的安裝和維護)在路由器中實現,部分控制平面可以在路由器外部實現(例如,在可以執行路由計算的集中式服務器中實現) 。一個定義良好的 API 規定了這兩個部分彼此交互和通訊的方式 這些研究人員爭辯說將軟件控制平面與硬件數據平面(具備最少的路由器駐留控制平面)分離,可以以集中式路由選擇計算代替分佈式路由選擇計算,從而簡化路由選擇,經過容許不一樣的用戶定製的控制平面在快速的硬件數據平面上運行,可以進行網絡創新

相關文章
相關標籤/搜索