Subject
Client ARP Auto-Refresh
APPLIES TO:
Windows 2003, 2008
MCCS 3.1
SYMPTOMS
IP 페일오버 후 클라이언트에서 ARP cache를 삭제하거나, 자동 갱신 주기에 의해 갱신되기 전에는 가상 IP 연결이 안된다.
MSCS에서는 된다고하므로 MSCS를 분석하여 동일하기 기능하도록 구현해야 한다.
CAUSE
이더넷 카드를 변경했다면 해당 IP에 대한 MAC주소가 변경되었는데. 라우터에서는 이전의 정보를 캐시하고 있는 것 때문에 네트워크가 작동하지 않을때가 있다.
gratuitous arp는 로컬 랜상의 arp 캐시 정보를 업데이트하는 arp로서 이를 실행하면 모든 캐시 정보를 바로 업데이트 할 수 있다.
한 서버가 다운시 다른 서버가 대신 서비스하는 클러스트링의 용도로도 사용된다.
접속 할 때마다 IP가 변하는 ADSL등의 DHCP의 경우는 접속을 끊을때 Unarp를 Broadcasting하고 IP를 할당받아 네트워크를 시작할 때에는 Gratuitous arp를 실행하면 arp캐시로 인하여 접속이 되지 않는 문제는 해결 할 수 있다.
WinPcap 라이브러리를 이용하여 send_arp_packet() 을 수행해본 결과 arp 갱신이 이루어 지는 것을 확인.
코드 보강하여 사용할 수 있는 실행화일로 만드는 일에 착수
라우터의 arp 테이블을 갱신할 수 있는 명령을 실행파일 형태로 만들었습니다. (RefreshArpRoute.exe)
platform 의존적인 면이 있어서 이것만 있으면 안되고 약간의 설치가 필요합니다.
설치 방법
WinPcap_4_1_1.exe 파일을 설치한다.
RefreshArpRoute.exe 를 복사한다.
실행 방법
RefreshArpRoute 10.10.60.13 public
RefreshArpRoute 10.10.60.13 AE-99-23-53-0F-42
설명
문법 : RefreshArpRoute virtual ip [MAC or interface 이름]
arp에 갱신 시켜야할 virtual ip와 매칭 시킬 MAC 어드레스를 직접 입력하든지 혹은 friendly name을 입력하시면 됩니다.
WinPCap의 모듈들이 별도의 설치과정없이 MCCS가 install 될 때 설치되도록 구현됨. (MCCSKEY-306 참조)
그리고 RefreshArp.exe가 %MCCS_PATH%\bin 경로에 copy 시킨 후
virtual ip를 온라인 할 경우 windows 2008 이면, RefreshArp.exe 을 실행시키도록 구현.
RefreshArp의 인자로는 vip 와 interface 명을 주었다.
SOLUTION
위의 코멘트내용으로 수정적용하였고 신규 버전 발행때 적용함.
Fixed MCCS 3.2