technorati 標籤:
路由,ospf,
nssa,
metric,
route
1, 問題拓撲:
2, 環境描述:
r1,r2,r3作為ospf的nssa區域,建立ospf鄰居.
r2作為nssa區域的abr, 將外部路由4.4.4.0 重分發到ospf nssa area 1裡面去。讓內部r1和r3都可以學習到到外部4.4.4.0的路由通過ospf.
路由器2的配置為:
router ospf 1
log-adjacency-changes
area 1 nssa no-summary
redistribute connected metric-type 1 subnets
network 192.168.1.0 0.0.0.255 area 1
network 192.168.100.0 0.0.0.255 area 1
3, 問題描述:
r3路由器,在r3上面show ip route 會發現,到達4.4.4.0網段有兩個下一跳:192.168.1.1和192.168.2.2,竟然變成負載均衡了. 而客戶不想要負載均衡的方式.
下面是在r3上面show 的到4.4.4.0的路由。
而客戶也不能理解為什麼r3上面到4.4.4.0為什麼會變成負載均衡, 客戶理解應該是:
r3: 到4.4.4.0 , 只有一條路由,下一跳是192.168.1.1.
4,問題原因以及原理:
問題出在r2配置上面. 首先,在r2這個abr上面。
具體原理如下:
對於r3來說,nssa區域計算metric的特性如下:
5, 要實現非負載均衡的解決方案是將abr r2上面的loopback介面network進ospf區域.
即可解決這個問題.最後實現的效果就是r3到4.4.4.0這個外部路由的路由條目只有一條,並且是最優秀路由,原理如下:
r2上面配置修改:
router ospf 1
log-adjacency-changes
area 1 nssa no-summary
redistribute connected metric-type 1 subnets
network 2.2.2.2 0.0.0.0 area 1
network 192.168.1.0 0.0.0.255 area 1
network 192.168.100.0 0.0.0.255 area 1
!最後在r3上面,show ip route 4.4.4.0可以發現,只有一條路由到4.4.4.0,並且是最優路由,
另外一條因為metric大,根本就不會裝到路由表中去:
圖中可以看到,r3上面show ip route 4.4.4.0的metric是22.
實際上就是下面圖中20+2的結果:
那麼看看另外一條路徑的metric到底是多少?
這裡可以看到是23.
20+(r3到r1的metric=1)+(r1到r2的metric=1)+(r2 loopback本身還有一跳1)=23.
最終達到了不進行負載均衡的目的.
關於靜態儲存區域,堆,棧
有關動態物件建立 一般來說,編譯器將記憶體分為三部分 靜態儲存區域 棧 堆。靜態儲存區主要儲存 全域性變數和靜態變數,棧儲存呼叫函式相關的變數 位址等,堆儲存動態生成的變數,在c中是指由malloc,free運算產生釋放的儲存空間,在c 中 就是指new和delete運算子作用的儲存區域。1 靜態儲...
關於變數儲存區域問題
在變數的生存作用域時,不妨這裡以c語言為所用語言吧 乙個函式內的區域性變數在函式執行完畢後會被銷毀。比如 不太會在csdn上排版 見諒 1 int func int main 如果main函式中沒有使用到func函式的返回值,那麼func中的a變數應該在func右 時就被銷毀,而main中使用到了,...
關於靜態儲存區域 棧 堆
有關動態物件建立 一般來說,編譯器將記憶體分為三部分 靜態儲存區域 棧 堆。靜態儲存區主要儲存全域性變數和靜態變數,棧儲存呼叫函式相關的變數 位址等,堆儲存動態生成的變數,在c中是指由malloc,free運算產生釋放的儲存空間,在c 中就是指new和delete運算子作用的儲存區域。昨天才看ppt...