728x90
🔧 MAC Aging이란?
MAC 주소 aging은 스위치나 소프트웨어 브리지 내에 저장된 MAC 주소가 일정 시간 동안 사용되지 않으면 제거되는 과정을 말합니다. 이는 브리지가 오래된 정보를 기반으로 잘못된 포트로 프레임을 전달하지 않도록 하기 위한 중요한 기능입니다.
- 일반적으로 브리지는 프레임을 수신하면 그 프레임의 송신 MAC 주소와 들어온 포트를 MAC 테이블에 등록합니다.
- 해당 MAC 주소로부터 추가적인 프레임이 수신되지 않으면, 일정 시간이 지나 MAC 테이블에서 자동으로 삭제됩니다.
🧱 Linux에서의 적용 사례
Linux에서는 bridge 서브시스템을 사용해 가상 브리지를 구성할 수 있으며, 이때 MAC 주소 테이블은 다음 경로에 저장됩니다:
/sys/class/net/br0/bridge/ageing_time
- 단위: 밀리초
- 기본값: 300000 ms (300초, 즉 5분)
📌 관련 명령어
1. 현재 Aging Time 확인
cat /sys/class/net/br0/bridge/ageing_time
출력값: 300000 (300초)
2. Aging Time 변경
echo 60000 > /sys/class/net/br0/bridge/ageing_time
이렇게 하면 aging time을 60초로 설정합니다.
⚠️ 이 설정은 재부팅 시 초기화되므로 영구 반영하려면 systemd 서비스나 /etc/sysctl.conf, /etc/rc.local 등을 이용해 설정이 필요합니다.
3. 현재 MAC 주소 테이블 확인
bridge fdb show
결과 예시:
00:11:22:33:44:55 dev br0 master br0
66:77:88:99:aa:bb dev veth0 master br0
💡 MAC Aging의 활용 목적
- 동적 네트워크 대응: 장비가 물리적으로 이동하거나 포트가 바뀌는 경우에도 MAC 주소가 자동으로 갱신될 수 있게 해 줍니다.
- 보안 및 안정성: 오래된 MAC 정보가 계속 남아 네트워크 트래픽을 잘못 전달하는 것을 방지합니다.
- ARP spoofing 완화: 잘못된 MAC이 장시간 유지되지 않도록 제한하는 데 도움이 됩니다.
⚙️ 시스템 커널 코드 내 Aging 로직 개요
Linux 커널 소스에서 net/bridge/br_fdb.c 내 br_fdb_cleanup() 함수가 aging 관련 처리를 담당합니다. aging time이 초과된 FDB 항목은 해당 함수에서 삭제됩니다.
🧩 관련 개념: ARP 캐시 Aging
브리지 MAC 테이블 외에도 ARP 캐시는 IP ↔ MAC 매핑 정보를 유지합니다.
- 기본 stale_time: 60초
- 설정 경로:
/proc/sys/net/ipv4/neigh/default/gc_stale_time
✅ 정리 요약
항목 설명 기본값 설정 위치
| Bridge MAC Aging | 브리지 FDB의 MAC 주소 보존 시간 | 300초 | /sys/class/net/brX/bridge/ageing_time |
| ARP 캐시 Aging | IP-MAC 매핑 정보 보존 시간 | 60초 | /proc/sys/net/ipv4/neigh/default/gc_stale_time |
필요하다면 브리지 환경이나 보안 요구사항에 맞춰 적절히 조정할 수 있으며, 네트워크 환경 변화가 잦은 경우 aging time을 줄이는 것이 좋습니다.
728x90