首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拥塞负载平衡,基于MPLS的OSPF协议

拥塞负载平衡,基于MPLS的OSPF协议
EN

Network Engineering用户
提问于 2014-03-20 02:51:07
回答 1查看 4.6K关注 0票数 4

我有一个路由器网络,两端有两个客户端,如下图所示。所有路由器都使用基于IP的OSPF路由协议,而在"MPLS主干“子网中的三个路由器都使用基于IP的MPLS协议OSPF,并被认为是负载均衡从jperf-c到jperf-s的流量。客户端配置为正常的ip路由(只是最近路由器的默认网关)。

我知道在实践中,负载平衡在这种情况下是无用的。但这只是一个练习,而不是一个真正的网络。当我用ATM交换机代替MPLS时,负载平衡就起作用了。然而,在MPLS路由器中,所有的TCP和UDP流量都通过R3和R5,即使存在拥塞,因此R4和R6也从未被使用过。最奇怪的是,当我从R7从R1跟踪时,数据包会通过R4和R6。

当交通拥堵的风险发生时,我如何负载平衡交通?我读过OSPF在默认情况下应该这么做,但在我的例子中它没有吗?

所有链接的成本为64,我对路由器2的配置(应该通过负载平衡重定向到R2和R4 )是:

代码语言:javascript
复制
config t
!
ip cef
!
interface Serial2/0
 ip address 192.168.0.2 255.255.255.252
 no shutdown
!
interface Serial2/1
 ip address 192.168.0.5 255.255.255.252
 no shutdown
 mpls label protocol ldp
 mpls ip
 mpls mtu 1512
 ip route-cache cef
!
interface Serial2/2
 ip address 192.168.0.9 255.255.255.252
 no shutdown
 mpls label protocol ldp
 mpls ip
 mpls mtu 1512
 ip route-cache cef
!
router ospf 1
 network 192.168.0.0 0.0.0.3 area 0
 network 192.168.0.4 0.0.0.3 area 0
 network 192.168.0.8 0.0.0.3 area 0
EN

回答 1

Network Engineering用户

回答已采纳

发布于 2014-03-20 10:31:17

..。当我用ATM交换机代替MPLS时,负载平衡就起作用了。

这听起来不像一个平行的比较,因为路由器不关心你是通过ATM还是MPLS LSP转发,它们将以同样的方式负载平衡,假设路由器具有相同的配置。也许你在ATM上做了一些不寻常的事情,但这不是这个问题的焦点。

然而,在MPLS路由器中,所有的TCP和UDP流量都通过R3和R5,即使存在拥塞,因此R4和R6也从未被使用过。最重要的是,当我从R7的R1跟踪时,数据包经过R4和R6。

这其实并不奇怪,这就是路由的工作原理。路由是在每跳的基础上进行的;路由器没有前瞻性的智慧来预测特定路径的后续跳数的拥塞。路由协议在度量计算中不携带关于负载的信息(除了如果你用K值玩游戏,EIGRP,但是这样做会导致路径不稳定)。

尽管如此,在这种情况下,您可以使用不同的算法和强制负载平衡,使用ip load-sharing per-packet on R2 (序列化2/1和串行2/2)以及R7 (串行2/0和2/1):

代码语言:javascript
复制
interface Serial2/1
 ip address 192.168.0.5 255.255.255.252
 no shutdown
 mpls label protocol ldp
 mpls ip
 mpls mtu 1512
 ip route-cache cef
 ip load-sharing per-packet
!
interface Serial2/2
 ip address 192.168.0.9 255.255.255.252
 no shutdown
 mpls label protocol ldp
 mpls ip
 mpls mtu 1512
 ip route-cache cef
 ip load-sharing per-packet

每包负载平衡强制路由器在目的地之间循环通信.您不应该在不考虑后果的情况下使用这是一个生产网络(通常,重新排序数据包.这会使VoIP /视频,有时也会让TCP不开心)。

每包负载平衡在实验室是很棒的,在生产中通常也是不明智的,除非您处于非常特殊的情况下,并且知道您在做什么。每个包的负载平衡也有非常不稳定的平台支持.一些思科路由器(如催化剂6500 Sup720)根本不使用每包负载平衡。

当出现拥塞的风险时,如何使MPLS主干网负载均衡流量?我读过OSPF在默认情况下应该这么做,但在我的例子中它没有吗?

正如我上面提到的,你误解了路由是如何工作的.这是个很大的话题,但我要总结一下这里最相关的信息.

默认情况下Cisco负载平衡的工作方式

默认情况下,入口标签边缘路由器(LER)处的思科路由器使用每源/每个地址列地址散列可决定采用哪条路径。你可以通过执行show ip cef exact-route [src-ip] [dst-ip].注意下面的label [FOO] TAG adj输出,它指示LDP分配的MPLS标签。

代码语言:javascript
复制
PE4#sh ip cef exact-route 192.168.4.1 192.168.0.5

192.168.4.1 -> 192.168.0.5 => label 154 TAG adj out of GigabitEthernet1/0/0, 
 addr 10.10.1.189

如果我选择了不同的源地址或目的地地址,就有可能看到选择了不同的路径.

代码语言:javascript
复制
PE4#sh ip cef exact-route 192.168.4.1 192.168.0.12

192.168.4.1 -> 192.168.0.12 => label 152 TAG adj out of GigabitEthernet1/0/1, 
 addr 10.10.1.193

如果您想看到路由器上的一般负载平衡配置,请使用show ip cef [dst] internal (借用这个博客的输出).还请注意所选的负载平衡算法(per-destination sharing)。

代码语言:javascript
复制
R2#show ip cef 10.200.4.1 internal 
10.200.4.1/32, epoch 0, flags rib only nolabel, rib defined all labels, RIB[B], refcount 5, 
 per-destination sharing
  sources: RIB 
  feature space:
   IPRM: 0x00018000
  ifnums:
   FastEthernet1/1(5): 192.168.23.3
   FastEthernet2/0(6): 172.16.23.3
  path 6896722C, path list 68991DF0, share 1/1, type recursive, for IPv4
  recursive via 10.4.4.4[IPv4:Default], fib 6894F9B0, 1 terminal fib, v4:Default:10.4.4.4/32
    path 689672A4, path list 68991E3C, share 0/1, type attached nexthop, for IPv4
      MPLS short path extensions: MOI flags = 0x0 label 19
    nexthop 172.16.23.3 FastEthernet2/0 label 19, adjacency IP adj out of FastEthernet2/0, 
     addr 172.16.23.3 686FC0A0
    path 6896731C, path list 68991E3C, share 1/1, type attached nexthop, for IPv4
      MPLS short path extensions: MOI flags = 0x0 label 19
    nexthop 192.168.23.3 FastEthernet1/1 label 19, adjacency IP adj out of FastEthernet1/1, 
     addr 192.168.23.3 686FC360
  output chain:
    loadinfo 689C4DA0, per-session, 2 choices, flags 0003, 6 locks
    flags: Per-session, for-rx-IPv4
    16 hash buckets
      < 0 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      < 1 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
      < 2 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      < 3 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
      < 4 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      < 5 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
      < 6 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      < 7 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
      < 8 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      < 9 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
      <10 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      <11 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
      <12 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      <13 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
      <14 > label 19 TAG adj out of FastEthernet2/0, addr 172.16.23.3 686FBF40
      <15 > label 19 TAG adj out of FastEthernet1/1, addr 192.168.23.3 686FC200
    Subblocks:
     None

Cisco与CEF负载平衡,散列在L4端口上.

在IOS 12.4中,思科向基于L4端口的负载均衡通信量引入了另一种算法。在全局配置级别使用ip cef load-sharing algorithm include-ports source destination

负载平衡与MPLS TE

MPLS TE引入了负载平衡的另一个转折,包括路径离线优化的可能性;通常您购买一个应用程序来在网络中的各种MPLS TE隧道中执行离线负载优化。这也是一个很深的话题..。我之所以提到它,只是因为你问的是如何“自动”使用MPLS进行负载平衡。

票数 11
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/6918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档