본문 바로가기
네트워크

HSRP(Hot Standby Routing Protocol)

by CBROJIN 2024. 11. 19.

 

HSRP 토폴로지

HSRP Configuration
SW1(config)#ip routing 
SW1(config)#int e0/2

SW1(config-if)#no switchport
SW1(config-if)#ip add 1.1.21.3 255.255.255.0
SW1(config-if)#int e0/3
SW1(config-if)#no switchport 
SW1(config-if)#ip add 1.1.31.3 255.255.255.0

SW1(config)#router ospf 1
SW1(config-router)#network 1.1.21.3 0.0.0.0 area 0
SW1(config-router)#network 1.1.31.3 0.0.0.0 area 0
SW2(config)#ip routing 
SW2(config)#vlan 10
SW2(config)#int vlan 10   
SW2(config-if)#ip add 1.1.10.24 255.255.255.0
SW2(config-if)#no shutdown 
SW2(config)#int e0/3
SW2(config-if)#no switchport 
SW2(config-if)#ip add 1.1.21.2 255.255.255.0
SW2(config-if)#no shutdown

SW2(config)#router ospf 1
SW2(config-router)#network 1.1.21.2 0.0.0.0 area 0
SW2(config-router)#network 1.1.10.24 0.0.0.0 area 0
SW2(config-router)#passive-interface vlan 10

SW2(config)#track 21 interface e0/2 line-protocol
SW2(config)#int vlan 10
SW2(config-if)#standby 1 ip 1.1.10.254
SW2(config-if)#standby 1 priority 109
SW2(config-if)#standby 1 preempt delay minimum 120
SW2(config-if)#standby 1 track 21 decrement 10
SW3(config)#ip routing 
SW3(config)#vlan 10
SW3(config)#int vlan 10   
SW3(config-if)#ip add 1.1.10.34 255.255.255.0
SW3(config-if)#no shutdown 
SW3(config)#int e0/3
SW3(config-if)#no switchport 
SW3(config-if)#ip add 1.1.31.2 255.255.255.0
SW3(config-if)#no shutdown

SW3(config)#router ospf 1
SW3(config-router)#network 1.1.31.2 0.0.0.0 area 0
SW3(config-router)#network 1.1.10.34 0.0.0.0 area 0
SW3(config-router)#passive-interface vlan 10

SW3(config)#int vlan 10
SW3(config-if)#standby 1 ip 1.1.10.254
SW3(config-if)#standby preempt
SW4(config)#vlan 10
SW4(config)#int range e0/0-1,e1/0-1
SW4(config-if)#switchport mode access
SW4(config-if)#switchport access vlan 10

VPC1:ip1.1.10.2/24 1.1.10.254
VPC2:ip1.1.10.3/24 1.1.10.254

 

[실습 목표]

1) HSRP가 필요한 이유

2) HSRP 패킷 포맷

3) HSRP 동작방식

 

1) HSRP(Hot Standby Router Protocol)가 필요한 이유

HSRP는 네트워크의 고가용성(High Availability)을 보장하기 위해 설계되었다.


1. 싱글 포인트 장애(Single Point of Failure) 방지

네트워크에서는 클라이언트가 게이트웨이(router)를 통해 외부 네트워크로 트래픽을 전달한다.

하나의 라우터만 사용하면, 해당 라우터에 장애가 발생했을 때 전체 네트워크가 중단될 위험이 있다.

HSRP를 사용하면, 한 라우터가 다운되더라도 다른 백업 라우터가 즉시 역할을 대신하므로 네트워크 중단을 방지할 수 있다.

 

2. 가상 IP를 통한 게이트웨이 이중화

클라이언트 장치는 하나의 기본 게이트웨이(고정 IP)를 설정해야 한다.

라우터가 이중화되더라도 클라이언트가 다른 라우터로 수동으로 변경할 수는 없다.

HSRP는 가상 IP(Virtual IP)를 사용하여, 클라이언트가 단일 게이트웨이를 설정하더라도 실제로는 여러 라우터를 통해 이중화된 네트워크 환경을 제공한다.

 

3. 네트워크 복원력

HSRP를 사용하면 장애가 발생하더라도 백업 라우터가 즉시 Standby 상태에서 Active 상태로 전환되므로 네트워크 서비스가 중단되지 않는다.

 

4. 라우터 간 로드 공유 (제한적 활용)

기본적으로 HSRP는 한 라우터가 Active 역할, 다른 라우터가 Standby 역할을 수행한다.

HSRP를 그룹화하거나 다중 HSRP(Multiple HSRP) 설정을 통해 트래픽을 여러 라우터에 분산할 수도 있다.

 


2) HSRP 패킷 포맷

HSRP(Hot Standby Router Protocol)는 Cisco에서 개발한 라우터 이중화 프로토콜로, 게이트웨이 장애에 대비하여 네트워크 가용성을 높이는 데 사용된다. HSRP 패킷은 UDP(포트 1985)를 사용하여 전달된다.


 

Version 1 HSRP의 프로토콜 버전 (일반적으로 0 또는 1).
Op Code 1 작업 코드로, HSRP 패킷의 종류를 나타냅니다. (예: Hello=0, Coup=1, Resign=2)
State 1 HSRP 상태를 나타냅니다. (예: Init=0, Learn=1, Listen=2, Speak=4, Standby=8, Active=16)
Hello Time 1 Hello 패킷을 보내는 주기 (초 단위).
Hold Time 1 라우터가 Hello 패킷을 수신하지 못했을 때의 타임아웃 (초 단위).
Priority 1 라우터의 우선 순위 값 (0~255, 기본값은 100). 높은 값이 더 우선권을 가집니다.
Group 1 HSRP 그룹 번호 (0~255).
Reserved 1 예약된 필드로, 현재는 사용되지 않습니다.
Authentication Data 8 인증 데이터를 포함하여 HSRP 패킷의 무결성을 보장합니다. (기본적으로 Null 문자열).
Virtual IP Address 4 HSRP 그룹의 가상 IP 주소.

 

1. Version

0: HSRP 초기 버전.

1: HSRP 버전 2.

 

2. Op Code (Operation Code)

Hello (0): 라우터가 자신의 상태를 알리기 위해 주기적으로 전송.

Coup (1): 라우터가 활성(active) 상태를 요청할 때 전송.

Resign (2): 라우터가 활성 상태를 포기할 때 전송.

 

3. State

Init (0): 초기 상태, HSRP가 활성화되었지만 동작하지 않음.

Learn (1): 가상 IP를 배우는 중.

Listen (2): 가상 IP를 알고 있으며 Hello 메시지를 수신 대기.

Speak (4): Hello 메시지를 전송하고 다른 라우터와의 상호작용 시작.

Standby (8): 백업 라우터로 대기 상태.

Active (16): 활성 라우터로 트래픽 전달.

 

4. Hello Time

Hello 패킷을 전송하는 주기를 정의합니다. 기본값은 3초.

 

5. Hold Time

Hello 패킷을 수신하지 못할 경우 라우터가 활성 상태를 중지하는 시간. 기본값은 10초.

 

6. Priority

라우터의 우선순위를 나타낸다.

기본값은 100이며, 높은 숫자가 더 높은 우선권을 가진다.

동일한 우선순위에서는 IP 주소가 높은 라우터가 활성 라우터로 선정된다.

 

7. Group

HSRP 그룹을 구별하는 숫자, 동일한 네트워크에서 여러 HSRP 그룹을 생성할 수 있다.

 

8. Reserved

향후 확장성을 위해 예약된 필드로.

 

9. Authentication Data

기본적으로 Null 문자열로 설정되며, 사용자 정의 키를 통해 인증을 추가할 수 있습니다.

 

10. Virtual IP Address

HSRP 그룹이 사용하는 가상 IP 주소. 이 주소는 클라이언트가 기본 게이트웨이로 설정합니다.

 

SW3 e1/1에서 수신된 HSRP 패킷이다 (아래사진 참조)

HSRP 패킷


3) HSRP 동작방식

이 프로토콜은 여러 라우터가 하나의 가상 IP(Virtual IP)를 공유하며, 활성(Active) 상태와 대기(Standby) 상태를 유지함으로써 기본 게이트웨이의 장애에 대비한다.


1. HSRP 기본 개념

가상 IP 주소

- HSRP 그룹 내의 모든 라우터가 공유하는 IP 주소.

- 이 가상 IP 주소는 호스트 장치의 기본 게이트웨이로 설정된다.

# SW2(config-if)#standby 1 ip 1.1.10.254 설정을 하면 Virtual IP address가 생성된걸 볼 수 있다.(아래사진 참조)

 

HSRP 그룹

- HSRP는 라우터 그룹을 형성하며, 그룹 번호를 기반으로 작동.

- 동일한 HSRP 그룹 내에서 1대의 Active 라우터1대의 Standby 라우터, 그리고 추가 백업 라우터로 구성.

 

우선순위 (Priority)

- 각 라우터는 우선순위 값을 가지고 있으며, 기본값은 100.

- 우선순위 값이 가장 높은 라우터가 Active로 선택된다.

# SW2(config-if)#standby 1 priority 109 설정을 통해 SW2가 Priority 109로 Active router가 된 모습(아래사진 참조)

역할

- Active Router: 트래픽을 처리하며, 가상 MAC 주소와 IP를 네트워크에 광고.

- Standby Router: Active 라우터가 장애가 발생하면 즉시 역할을 대체.

- Other Routers: 대기 상태로 유지하며, Standby 라우터가 장애 시 순차적으로 승격 가능.

 

2. HSRP 동작 과정

1. 초기 상태

라우터가 HSRP 그룹에 가입하면 Hello 메시지를 사용하여 서로 통신하고, 네트워크에 자신의 우선순위를 알린다.

HSRP 그룹 내에서 우선순위가 가장 높은 라우터가 Active 상태가 된다.

동일한 우선순위라면, 인터페이스 IP 주소가 높은 라우터가 Active로 선택된다.

 

2. Hello 메시지 교환

Active 라우터는 Standby 및 대기 중인 라우터들과 주기적으로 Hello 메시지(멀티캐스트, 224.0.0.2)를 교환.

기본 타이머:

Hello Timer: 기본값 3초 (Active가 Standby와 통신).

Hold Timer: 기본값 10초 (Standby가 Active의 응답이 없음을 감지하는 시간).

 

3. Active 라우터의 장애 처리

Standby 라우터는 Active 라우터의 Hello 메시지가 Hold Timer 동안 수신되지 않으면 Active 라우터가 장애 상태로 간주.

Standby 라우터가 Active 역할을 즉시 승격.

다른 라우터 중 하나가 Standby 라우터로 승격.

 

4. 트래픽 처리

Active 라우터는 가상 IP와 가상 MAC 주소를 사용하여 네트워크 트래픽을 처리.

장애 발생 시 Standby 라우터가 동일한 가상 IP와 MAC 주소를 통해 트래픽을 처리하도록 빠르게 전환.

 

3. HSRP 메시지 유형

Hello

라우터 상태를 알리고, 그룹 내 동작을 유지.

멀티캐스트 주소: 224.0.0.2.

#SW3에서 와이어샤크로 패킷을 떠본 사진(아래 참조)

 

Coup

Standby 라우터가 Active로 전환될 때 전송.

#SW2 e0/2 장애 발생 후 SW3이 SW2에게 보내는 패킷이다(아래 참조)

 

Resign

Active 라우터가 자신의 Active 상태를 포기하고 Standby로 전환될 때 전송.

 

4. HSRP의 주요 구성 요소

구성 요소설명

Virtual IP Address 호스트가 기본 게이트웨이로 사용하는 공유 IP 주소.
Virtual MAC Address 그룹 내 가상 MAC 주소. Active 라우터가 트래픽 처리를 위해 사용.
Priority Active 및 Standby 라우터를 결정하는 기준. 기본값은 100.
Preemption 우선순위가 높은 라우터가 Active 상태를 되찾을 수 있도록 허용.
Timers (Hello/Hold) 상태 메시지 교환 주기와 Active 장애를 감지하는 시간 설정.

 

5. HSRP 동작 예시

 

HSRP 그룹: 1

Active 스위치: SW2 (Priority 109)

Standby 스위치:SW3 (Priority 100)

Host 기본 게이트웨이: 1.1.10.254 (가상 IP)

 

1. 정상 상태

SW2 Active 상태

SW2가 Active 역할로 트래픽 처리.

SW3은 Standby 역할로 대기하며, Hello 메시지를 통해 Active 상태를 모니터링.

 

2. Active 라우터 장애 발생

SW2 Standby 상태

SW2 e0/2 에서 장애 발생 → Hello 메시지 누락.

SW3은 Hold Timer가 만료되면 Active 역할로 전환.

네트워크는 가상 IP 1.1.10.254와 가상 MAC을 통해 SW3을 기본 게이트웨이로 사용.

# 장애발생 후 SW3#debug arp 를 통해 받은 알람이다.(아래사진 참조)
Gratuitous ARP 인데 장치가 자신이 사용하는 IP 주소와 MAC 주소를 주변 네트워크에 알리기 위해 전송하는 특별한 ARP(주소 결정 프로토콜) 요청 또는 응답 메시지 이다.

SW3 Gratuitous ARP

 

# 이를 통해 SW4의 MAC address-table이 새로 학습하고 SW3을 통해 통신을 하게 된다.(아래사진 참조)

장애 전 MAC table
장애 후 MAC table

 

3. Active 복구 후 Preemption

SW2가 복구되고, Preemption이 활성화되어 있으면 다시 Active로 전환.

SW3은 Standby 상태로 복귀.

 


 

Key point

가상 IP를 통한 게이트웨이 이중화 프로토콜

 

 

 

 

 

 

'네트워크' 카테고리의 다른 글

라우터 ACL(Access Control List)  (0) 2024.11.22
VRRP(Virtual Router Redundancy Protocol)  (0) 2024.11.20
Etherchannel  (0) 2024.11.17
MST(Multiple Spanning Tree)  (0) 2024.11.09
RSTP(Rapid-Spanning Tree Protocol)  (0) 2024.11.07