1. VRRP Preempt Hold-Time(Delay) 동작 과정
1) 구성도 및 Configuration
더보기
< R1 : OSPF 관련 설정 >
set interfaces ge-0/0/0 unit 0 family inet address 1.1.2.1/24
set interfaces ge-0/0/1 unit 0 family inet address 1.1.3.1/24
set interfaces lo0 unit 0 family inet address 1.1.1.1/32
set protocols ospf area 0.0.0.0 interface lo0.0
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 100
더보기
< R2 : VRRP 관련 설정 >
set bridge-domains VLAN10 vlan-id 10
set bridge-domains VLAN10 routing-interface irb.10
set interfaces ge-0/0/1 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/1 unit 0 family bridge vlan-id-list 10
set interfaces irb unit 10 family inet address 10.0.0.2/24 vrrp-group 10 virtual-address 10.0.0.1
set interfaces irb unit 10 family inet address 10.0.0.2/24 vrrp-group 10 priority 120
set interfaces irb unit 10 family inet address 10.0.0.2/24 vrrp-group 10 accept-data
set interfaces irb unit 10 family inet address 10.0.0.2/24 vrrp-group 10 preempt ## Default 값
< R2 : OSPF 관련 설정 >
set interfaces ge-0/0/0 unit 0 family inet address 1.1.2.2/24
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
set protocols ospf area 0.0.0.0 interface irb.10 passive
더보기
< R3 : VRRP 관련 설정 >
set bridge-domains VLAN10 vlan-id 10
set bridge-domains VLAN10 routing-interface irb.10
set interfaces ge-0/0/1 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/1 unit 0 family bridge vlan-id-list 10
set interfaces irb unit 10 family inet address 10.0.0.3/24 vrrp-group 10 virtual-address 10.0.0.1
set interfaces irb unit 10 family inet address 10.0.0.3/24 vrrp-group 10 priority 100
set interfaces irb unit 10 family inet address 10.0.0.3/24 vrrp-group 10 accept-data
set interfaces irb unit 10 family inet address 10.0.0.3/24 vrrp-group 10 preempt ## Default 값
< R3 : OSPF 관련 설정 >
set interfaces ge-0/0/0 unit 0 family inet address 1.1.3.3/24
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 100
set protocols ospf area 0.0.0.0 interface irb.10 passive
더보기
< SW : 설정 >
set bridge-domains VLAN10 vlan-id 10
set interfaces ge-0/0/0 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/0 unit 0 family bridge vlan-id-list 10
set interfaces ge-0/0/1 unit 0 family bridge interface-mode trunk
set interfaces ge-0/0/1 unit 0 family bridge vlan-id-list 10
set interfaces ge-0/0/2 unit 0 family bridge interface-mode access
set interfaces ge-0/0/2 unit 0 family bridge vlan-id 10
- R1↔PC1 간 Master 장비인 R2를 통해 통신을 하기 위해 Metric을 설정하여 경로 조정
- OSPF Convergence Time을 늘리기 위해 Interface-Type을 Point-to-Point가 아닌 Broadcast로 설정
2) VRRP Preempt Hold-Time(Delay) 필요성
- VRRP 동작 과정 및 VRRP Preempt 동작 과정은 이미 알고 있다는 가정하에 Master 장애 발생한 다음부터 설명 시작
- R1 irb.10을 Disable하면 VRRP 동작을 하지 않으며 ge-0/0/1을 Disable하면 Init 상태로 유지
- R1 irb.10 인터페이스가 아닌 ge-0/0/1 물리적 인터페이스가 Down되었으면 R1 ARP Table에 10.0.0.10 Entry 제거
- 처음에 Master로 동작하던 장비의 장애를 복구하여 VRRP 프로세스가 재시작하고 Backup으로 대기
- 인터페이스 'shutdown/no shutdown'을 하거나 '케이블을 다시 연결'할 경우에도 VRRP 프로세스가 새로 시작
- 일반적으로 Backup 상태에서 Dead Interval 동안 대기(Vendor 또는 장비마다 상이하므로 확인 필요)
- 대기 시간 동안 수신한 VRRP Advertisement의 Priority보다 자신의 Priority 값이 높고 Preempt가 Enable 되어있으므로 VRRP Advertisement를 전송하고 Master로 동작
- Master 장비가 Advertisement Interval마다 VRRP Advertisement를 전송
- R2가 Master로 동작하여 VRRP Advertisement와 GARP Request 패킷을 전송하여 SW의 FDB를 최신화
- PC1에서 'ping 1.1.1.1' 입력 시, 게이트웨이인 V-MAC을 가지고 있는 Master인 R2까지 전송되지만 R2는 R1과 OSPF Neighbor를 맺지 못하여 라우팅 테이블에 D-IP에 대한 정보가 없으므로 R1으로 전송 불가
root@R2> show vrrp
Interface State Group VR state VR Mode Timer Type Address
irb.10 up 10 master Active A 0.300 lcl 10.0.0.2
vip 10.0.0.1
< R2 : OSPF Neighbor >
root@R2> show ospf neighbor
Address Interface State ID Pri Dead
1.1.2.1 ge-0/0/0.0 2Way 1.1.1.1 128 36
< R2 : 라우팅 테이블 >
root@R2> show route table inet.0
inet.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
1.1.2.0/24 *[Direct/0] 00:00:12
> via ge-0/0/0.0
1.1.2.2/32 *[Local/0] 00:00:12
Local via ge-0/0/0.0
10.0.0.0/24 *[Direct/0] 00:00:12
> via irb.10
10.0.0.1/32 *[Local/0] 00:00:07
Local via irb.10
10.0.0.2/32 *[Local/0] 00:00:12
Local via irb.10
224.0.0.5/32 *[OSPF/10] 13:54:21, metric 1
MultiRecv
- R2는 VRRP Master로 동작하지만 R1과 OSPF Neighbor를 맺지 못하여 라우팅 테이블에 1.1.1.1/32 네트워크가 없는 상태
더보기
< PC1 : Ping Test >
VPCS> ping 1.1.1.1 -c 10000
84 bytes from 1.1.1.1 icmp_seq=1 ttl=63 time=5.093 ms
84 bytes from 1.1.1.1 icmp_seq=2 ttl=63 time=6.669 ms
84 bytes from 1.1.1.1 icmp_seq=3 ttl=63 time=6.604 ms
84 bytes from 1.1.1.1 icmp_seq=4 ttl=63 time=6.734 ms
84 bytes from 1.1.1.1 icmp_seq=5 ttl=63 time=7.666 ms
84 bytes from 1.1.1.1 icmp_seq=6 ttl=63 time=5.793 ms
84 bytes from 1.1.1.1 icmp_seq=7 ttl=63 time=5.501 ms
84 bytes from 1.1.1.1 icmp_seq=8 ttl=63 time=2.594 ms
84 bytes from 1.1.1.1 icmp_seq=9 ttl=63 time=4.035 ms
84 bytes from 1.1.1.1 icmp_seq=10 ttl=63 time=4.150 ms
1.1.1.1 icmp_seq=11 timeout
*10.0.0.2 icmp_seq=12 ttl=255 time=3.910 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=13 ttl=255 time=3.714 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=14 ttl=255 time=3.656 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=15 ttl=255 time=3.728 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=16 ttl=255 time=3.389 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=17 ttl=255 time=626.180 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=18 ttl=255 time=232.628 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=19 ttl=255 time=2.706 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=20 ttl=255 time=3.751 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=21 ttl=255 time=3.495 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=22 ttl=255 time=3.154 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=23 ttl=255 time=221.302 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=24 ttl=255 time=677.633 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=25 ttl=255 time=3.737 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=26 ttl=255 time=3.624 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=27 ttl=255 time=2.595 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=28 ttl=255 time=3.542 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=29 ttl=255 time=3.875 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=30 ttl=255 time=564.204 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=31 ttl=255 time=511.212 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=32 ttl=255 time=56.990 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=33 ttl=255 time=4.222 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=34 ttl=255 time=63.951 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=35 ttl=255 time=14.433 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=36 ttl=255 time=96.232 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=37 ttl=255 time=915.559 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=38 ttl=255 time=4.317 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=39 ttl=255 time=4.151 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=40 ttl=255 time=3.731 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=41 ttl=255 time=3.689 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=42 ttl=255 time=3.099 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=43 ttl=255 time=441.627 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=44 ttl=255 time=289.085 ms (ICMP type:3, code:0, Destination network unreachable)
*10.0.0.2 icmp_seq=45 ttl=255 time=4.068 ms (ICMP type:3, code:0, Destination network unreachable)
84 bytes from 1.1.1.1 icmp_seq=46 ttl=63 time=5.080 ms
84 bytes from 1.1.1.1 icmp_seq=47 ttl=63 time=5.077 ms
84 bytes from 1.1.1.1 icmp_seq=48 ttl=63 time=5.644 ms
84 bytes from 1.1.1.1 icmp_seq=49 ttl=63 time=5.103 ms
84 bytes from 1.1.1.1 icmp_seq=50 ttl=63 time=4.734 ms
3) VRRP Preempt Hold-Time(Delay) 동작 과정
< R2 : VRRP Preempt Hold-Time 설정 >
set interfaces irb unit 10 family inet address 10.0.0.2/24 vrrp-group 10 preempt hold-time 45
- R1 irb.10을 Disable하면 VRRP 동작을 하지 않으며 ge-0/0/1을 Disable하면 Init 상태로 유지
- R1 irb.10 인터페이스가 아닌 ge-0/0/1 물리적 인터페이스가 Down되었으면 R1 ARP Table에 10.0.0.10 Entry 제거
- 처음에 Master로 동작하던 장비의 장애를 복구하여 VRRP 프로세스가 재시작하고 Hold-Time(Delay) 동안 Backup으로 대기
- 대기 시간 동안 수신한 VRRP Advertisement의 Priority보다 자신의 Priority 값이 높고 Preempt가 Enable 되어있으므로 VRRP Advertisement를 전송하고 Master로 동작
- Master 장비가 Advertisement Interval마다 VRRP Advertisement를 전송
- R2가 Master로 동작하여 VRRP Advertisement와 GARP Request 패킷을 전송하여 SW의 FDB를 최신화
- Hold-Time은 Master이었던 장비가 VRRP 프로세스가 재실행되었을 때 Hold-Time 동안 Backup 상태로 대기하여 IGP 프로토콜이 Convergence될 때까지 Delay하는 것이 목표
- R2가 Master로 동작하고 VRRP Advertisement와 GARP Request 패킷을 전송하여 SW의 FDB를 최신화할 때는 R1↔R2 OSPF Convergence가 완료되었으므로 Ping Loss가 적게 발생
root@R2# run show vrrp
Interface State Group VR state VR Mode Timer Type Address
irb.10 up 10 backup Active D 2.471 lcl 10.0.0.2
vip 10.0.0.1
mas 10.0.0.3
root@R2> show ospf neighbor
Address Interface State ID Pri Dead
1.1.2.1 ge-0/0/0.0 2Way 1.1.1.1 128 32
Oct 3 23:32:03 R2 mib2d[5931]: SNMP_TRAP_LINK_UP: ifIndex 526, ifAdminStatus up(1), ifOperStatus up(1), ifName ge-0/0/0
Oct 3 23:32:03 R2 mib2d[5931]: SNMP_TRAP_LINK_UP: ifIndex 527, ifAdminStatus up(1), ifOperStatus up(1), ifName ge-0/0/1
Oct 3 23:32:48 R2 vrrpd[5949]: VRRPD_NEW_MASTER: Interface irb.10 (local address 10.0.0.2) became VRRP master for group 10 with master reason priority
- OSPF가 Convergenc될 때까지 Backup 상태로 대기하여 내부 Device들의 많은 Ping Loss를 방지
더보기
< PC1 : Ping Test >
VPCS> ping 1.1.1.1 -c 10000
84 bytes from 1.1.1.1 icmp_seq=1 ttl=63 time=6.148 ms
84 bytes from 1.1.1.1 icmp_seq=2 ttl=63 time=5.165 ms
84 bytes from 1.1.1.1 icmp_seq=3 ttl=63 time=5.429 ms
84 bytes from 1.1.1.1 icmp_seq=4 ttl=63 time=4.828 ms
84 bytes from 1.1.1.1 icmp_seq=5 ttl=63 time=4.124 ms
84 bytes from 1.1.1.1 icmp_seq=6 ttl=63 time=3.677 ms
84 bytes from 1.1.1.1 icmp_seq=7 ttl=63 time=5.686 ms
84 bytes from 1.1.1.1 icmp_seq=8 ttl=63 time=4.292 ms
84 bytes from 1.1.1.1 icmp_seq=9 ttl=63 time=4.201 ms
84 bytes from 1.1.1.1 icmp_seq=10 ttl=63 time=5.217 ms
84 bytes from 1.1.1.1 icmp_seq=11 ttl=63 time=5.792 ms
84 bytes from 1.1.1.1 icmp_seq=12 ttl=63 time=5.204 ms
84 bytes from 1.1.1.1 icmp_seq=13 ttl=63 time=5.683 ms
84 bytes from 1.1.1.1 icmp_seq=14 ttl=63 time=3.890 ms
84 bytes from 1.1.1.1 icmp_seq=15 ttl=63 time=5.125 ms
84 bytes from 1.1.1.1 icmp_seq=16 ttl=63 time=6.217 ms
84 bytes from 1.1.1.1 icmp_seq=17 ttl=63 time=6.146 ms
84 bytes from 1.1.1.1 icmp_seq=18 ttl=63 time=6.641 ms
84 bytes from 1.1.1.1 icmp_seq=19 ttl=63 time=5.235 ms
84 bytes from 1.1.1.1 icmp_seq=20 ttl=63 time=5.293 ms
84 bytes from 1.1.1.1 icmp_seq=21 ttl=63 time=4.662 ms
84 bytes from 1.1.1.1 icmp_seq=22 ttl=63 time=5.111 ms
84 bytes from 1.1.1.1 icmp_seq=23 ttl=63 time=5.731 ms
84 bytes from 1.1.1.1 icmp_seq=24 ttl=63 time=4.198 ms
84 bytes from 1.1.1.1 icmp_seq=25 ttl=63 time=6.721 ms
84 bytes from 1.1.1.1 icmp_seq=26 ttl=63 time=5.826 ms
84 bytes from 1.1.1.1 icmp_seq=27 ttl=63 time=4.609 ms
84 bytes from 1.1.1.1 icmp_seq=28 ttl=63 time=4.493 ms
84 bytes from 1.1.1.1 icmp_seq=29 ttl=63 time=4.315 ms
84 bytes from 1.1.1.1 icmp_seq=30 ttl=63 time=5.127 ms
84 bytes from 1.1.1.1 icmp_seq=31 ttl=63 time=5.720 ms
84 bytes from 1.1.1.1 icmp_seq=32 ttl=63 time=5.188 ms
84 bytes from 1.1.1.1 icmp_seq=33 ttl=63 time=6.653 ms
84 bytes from 1.1.1.1 icmp_seq=34 ttl=63 time=6.577 ms
84 bytes from 1.1.1.1 icmp_seq=35 ttl=63 time=5.376 ms
84 bytes from 1.1.1.1 icmp_seq=36 ttl=63 time=5.247 ms
84 bytes from 1.1.1.1 icmp_seq=37 ttl=63 time=6.674 ms
84 bytes from 1.1.1.1 icmp_seq=38 ttl=63 time=4.395 ms
84 bytes from 1.1.1.1 icmp_seq=39 ttl=63 time=4.102 ms
84 bytes from 1.1.1.1 icmp_seq=40 ttl=63 time=5.190 ms
84 bytes from 1.1.1.1 icmp_seq=41 ttl=63 time=4.629 ms
84 bytes from 1.1.1.1 icmp_seq=42 ttl=63 time=4.431 ms
84 bytes from 1.1.1.1 icmp_seq=43 ttl=63 time=4.082 ms
84 bytes from 1.1.1.1 icmp_seq=44 ttl=63 time=4.521 ms
84 bytes from 1.1.1.1 icmp_seq=45 ttl=63 time=3.590 ms
84 bytes from 1.1.1.1 icmp_seq=46 ttl=63 time=4.759 ms
84 bytes from 1.1.1.1 icmp_seq=47 ttl=63 time=5.063 ms
84 bytes from 1.1.1.1 icmp_seq=48 ttl=63 time=6.606 ms
84 bytes from 1.1.1.1 icmp_seq=49 ttl=63 time=5.746 ms
84 bytes from 1.1.1.1 icmp_seq=50 ttl=63 time=30.529 ms
'Network > VRRP' 카테고리의 다른 글
VRRP Load Balancing Configuration(Juniper vMX) (0) | 2025.03.16 |
---|---|
VRRP Basic Configuration(Juniper vMX) (0) | 2025.03.14 |
VRRP Route Track 동작 과정 (0) | 2025.03.12 |
VRRP Interface Track 동작 과정 (0) | 2025.03.10 |
VRRP Preempt 동작 과정 (0) | 2025.03.04 |
VRRP 동작 과정 (0) | 2025.03.02 |
VRRP Header (0) | 2025.02.28 |
Introduction to VRRP (0) | 2025.02.26 |