소개
이 문서에서는 라우터 소프트웨어 및 플랫폼의 기능에서 로드 밸런싱이 작동하는 방식에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
배경 정보
로드 밸런싱은 Cisco IOS® 라우터 소프트웨어의 표준 기능이며 모든 라우터 플랫폼에서 사용할 수 있습니다. 라우터의 전달 프로세스에 기본적으로 사용되며 라우팅 테이블에 대상에 대한 경로가 여러 개인 경우 자동으로 활성화됩니다. RIP(Routing Information Protocol), RIPv2, EIGRP(Enhanced Interior Gateway Routing Protocol), OSPF(Open Shortest Path First), IGRP(Interior Gateway Routing Protocol)와 같은 표준 라우팅 프로토콜을 기반으로 하거나 고정적으로 구성된 경로 및 패킷 전달 메커니즘에서 파생됩니다. 패킷을 전달할 때 라우터가 대상에 대한 여러 경로를 사용할 수 있도록 합니다.
로드 밸런싱
라우터가 여러 라우팅 프로세스(또는 RIP, RIPv2, IGRP, EIGRP, OSPF와 같은 라우팅 프로토콜)를 통해 특정 네트워크에 대한 여러 경로를 학습하면 라우팅 테이블에서 관리 거리가 가장 낮은 경로가 설치됩니다. 자세한 내용은 Cisco 라우터의 경로 선택을 참조하십시오.
라우터가 동일한 관리 거리를 갖는 동일한 라우팅 프로세스를 통해 학습된 여러 경로 중에서 경로를 선택해야 하는 경우가 있습니다. 이 경우 라우터는 목적지까지의 비용(또는 메트릭)이 가장 낮은 경로를 선택합니다. 각 라우팅 프로세스는 비용을 다르게 계산하며 로드 밸런싱을 위해 비용을 조정해야 하는 경우가 있습니다.
라우터가 동일한 관리 거리와 비용으로 여러 경로를 수신하여 대상에 설치하는 경우 로드 밸런싱이 발생할 수 있습니다. 사용되는 경로 수는 라우팅 프로토콜이 라우팅 테이블에 추가하는 항목 수로 제한됩니다. Cisco IOS에서는 BGP(Border Gateway Protocol)를 제외하고 대부분의 IP 라우팅 프로토콜에 대해 4개의 항목이 기본값이며, 여기서 1개의 항목이 기본값입니다. 구성된 6개의 서로 다른 경로가 최대 개수입니다.
IGRP 및 EIGRP 라우팅 프로세스에서는 또한 불균등한 비용 로드 밸런싱을 지원합니다. IGRP 및 EIGRP와 함께 variance 명령을 사용하여 동일하지 않은 비용 로드 밸런싱을 수행할 수 있습니다. 프로토콜에 대해 구성된 값을 기준으로 설치할 수 있는 경로의 수를 확인하려면 maximum-paths 명령을 실행합니다. 라우팅 테이블을 하나의 엔트리로 설정하면 로드 밸런싱이 비활성화됩니다. 분산에 대한 자세한 내용은 IGRP 및 EIGRP에서 How Unequal Cost Path Load Balancing (Variance) Work in IGRP?를 참조하십시오.
일반적으로 show ip route 명령을 사용하여 동일 비용 경로를 찾을 수 있습니다. 다음 예는 경로가 여러 개인 특정 서브넷에 대한 show ip route 명령 출력입니다. 두 개의 라우팅 설명자 블록이 있습니다. 각 블록은 하나의 경로입니다. 블록 항목 중 하나 옆에는 별표(*)도 있습니다. 이는 새 트래픽에 사용되는 활성 경로에 해당합니다. '새 트래픽'이라는 용어는 구성된 스위칭 유형에 따라 단일 패킷 또는 목적지로의 전체 흐름에 해당합니다.
별표(*)의 위치는 패킷/플로우가 제공될 때마다 동일한 비용 경로 사이에서 계속 회전합니다.
M2515-B#show ip route 10.0.0.0
Routing entry for 10.0.0.0/8
Known via "rip", distance 120, metric 1
Redistributing via rip
Advertised by rip (self originated)
Last update from 192.168.75.7 on Serial1, 00:00:00 ago
Routing Descriptor Blocks:
* 192.168.57.7, from 192.168.57.7, 00:00:18 ago, via Serial0
Route metric is 1, traffic share count is 1
192.168.75.7, from 192.168.75.7, 00:00:00 ago, via Serial1
Route metric is 1, traffic share count is 1
대상별 및 패킷별 로드 밸런싱
로드 밸런싱을 대상별 또는 패킷별로 작동하도록 설정할 수 있습니다. 대상별 로드 밸런싱은 라우터가 대상 주소를 기반으로 패킷을 분산함을 의미합니다. 동일한 네트워크에 대한 두 개의 경로가 제공된 경우 해당 네트워크의 destination1에 대한 모든 패킷은 첫 번째 경로를 거치고, 해당 네트워크의 destination2에 대한 모든 패킷은 두 번째 경로를 거치는 식으로 계속됩니다. 이렇게 하면 링크의 불균등한 사용과 함께 패킷 순서가 유지됩니다. 한 호스트가 트래픽의 대부분을 수신하는 경우 모든 패킷이 하나의 링크를 사용하므로 다른 링크의 대역폭은 사용되지 않습니다. 수신 주소의 수가 많을수록 링크가 더 균등하게 사용됩니다. 더 균등하게 사용되는 링크를 얻기 위해 Cisco IOS 소프트웨어를 사용하여 모든 대상 네트워크 대신 모든 대상 주소에 대한 경로 캐시 항목을 작성합니다(단일 경로만 있는 경우). 따라서 동일한 목적지 네트워크의 서로 다른 호스트에 대한 트래픽은 서로 다른 경로를 사용할 수 있습니다. 이 접근 방식의 단점은 캐시를 유지하기 위해 수천 개의 대상 호스트, 메모리 및 처리 요구 사항에 대한 트래픽을 전달하는 코어 백본 라우터가 문제가 된다는 것입니다.
패킷별 로드 밸런싱은 라우터가 첫 번째 경로를 통해 대상1에 대해 하나의 패킷을 전송하고, 두 번째 경로를 통해 (동일한) 대상1에 대해 두 번째 패킷을 전송하는 것을 의미합니다. 패킷별 로드 밸런싱은 모든 링크에서 동일한 로드를 보장합니다. 그러나 네트워크 내에서 차등 지연이 발생할 수 있으므로 패킷이 대상에 제대로 도착하지 않을 수 있습니다. Cisco IOS 소프트웨어에서는 릴리스 11.1CC를 제외하고 경로 캐시 정보에 발신 인터페이스가 포함되므로 패킷별 로드 밸런싱이 경로 캐시에 의한 전달 가속화를 비활성화합니다. 패킷별 로드 밸런싱의 경우 전달 프로세스는 경로 테이블을 조회하고 가장 적게 사용된 인터페이스를 선택할 때 각 패킷의 발신 인터페이스를 결정합니다. 이는 링크의 균등한 활용을 보장하지만 프로세서 집약적인 작업이며 전체 포워딩 성능에 영향을 미칩니다. 이러한 형태의 패킷별 로드 밸런싱은 고속 인터페이스에 적합하지 않습니다.
대상별 또는 패킷별 로드 밸런싱은 IP 패킷에 사용되는 스위칭 방식의 유형에 따라 달라집니다. 기본적으로 대부분의 Cisco 라우터에서는 인터페이스에서 고속 스위칭이 활성화되어 있습니다. 이는 대상별 로드 밸런싱을 수행하는 수요 캐싱 체계입니다. 패킷별 로드 밸런싱을 설정하고 프로세스 스위칭을 활성화하거나 고속 스위칭을 비활성화하려면 다음 명령을 사용합니다.
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#no ip route-cache
Router(config-if)#^Z
이제 라우터 CPU는 대상에 대한 라우팅 테이블의 경로 수에 대한 모든 단일 패킷 및 로드 밸런싱을 확인합니다. CPU가 모든 처리를 수행해야 하므로 이 경우 로우엔드 라우터가 충돌할 수 있습니다. 빠른 스위칭을 다시 활성화하려면 다음 명령을 사용합니다.
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#ip route-cache
Router(config-if)#^Z
Cisco CEF(Express Forwarding)와 같은 최신 스위칭 방식을 사용하면 패킷별 및 대상별 로드 밸런싱을 더 신속하게 수행할 수 있습니다. 그러나 CEF 항목 및 인접성을 유지 관리하기 위한 추가 리소스가 있음을 의미합니다.
CEF로 작업할 때 다음과 같은 질문을 할 수 있습니다. 로드 밸런싱, CEF 또는 라우팅 프로토콜은 누가 사용합니까? CEF가 작동하는 방식은 EIGRP와 같은 라우팅 프로토콜로 채워지는 라우팅 테이블을 기반으로 패킷의 스위칭을 수행하는 것입니다. 간단히 말해, CEF는 라우팅 프로토콜 테이블이 계산되면 로드 밸런싱을 수행합니다.
CEF 로드 밸런싱에 대한 자세한 내용은 Cisco Express Forwarding과 Load Balancing with CEF를 사용하여 병렬 링크를 통한 로드 밸런싱 문제 해결을 참조하십시오.
다음 문서에서는 다양한 프로토콜에서 최적의 경로를 선택하고, 특정 대상에 대한 비용을 계산하고, 적용된 경우 로드 밸런싱을 수행하는 방법에 대한 자세한 정보를 제공합니다.
관련 정보