IT System Management/Network

NIC을 교체했을 때 호스트 OS와 L2 스위치에서 일어나는 일

iseop 2022. 2. 24. 14:34   인쇄용 버전

발단

 얼마 전에 서버의 고장난 NIC을 교체했었습니다. 그러면 당연히 해당 IPv4/6 주소에 대한 MAC 주소도 새로 설치한 NIC의 MAC 주소로 바뀌므로 다른 서버들은 자연스럽게 해당 서버의 MAC 주소를 알기 전까지는 통신할 수 없게 됩니다. 여기에 더해 L2 스위치의 Port Security 설정과 다른 호스트들의 운영체제도 고려해야 합니다.

그래서 오늘은 다시 통신이 가능해지기까지 걸리는 시간과 그 과정에 대해 정리해 보았습니다.

 

Unsolicited Neighbor Advertisement(Gratuitous ARP Request)가 가능한 경우

➡️ 수 초 이내에 통신이 가능합니다.

 

  1. 자신의 NIC에 변경사항이 생김을 인식한 OS가 NA 혹은 GARP를 보냅니다. 전자는 멀티캐스트(All-nodes address), 후자는 브로드캐스트입니다. OS가 스스로 NA를 보내지 않는 경우에는 써드파티 앱을 사용하거나 IP 주소를 임시로 변경하는 등의 트릭이 필요합니다.
  2. 중간에 위치한 L2 스위치가 프레임을 수신하면서 해당 포트의 새 MAC 주소를 학습합니다.
  3. NA 혹은 GARP를 수신한 다른 서버들이 각각 자신의 캐시를 업데이트합니다.
  4. 만약 NA나 GARP를 제대로 처리하지 않는 호스트가 있으면 찾아서 캐시를 지워주어야 합니다.

 

Unsolicited Neighbor Advertisement(Gratuitous ARP Request)가 불가능한 경우

➡️ 1분 정도의 시간이 소요됩니다.

 

  1. 우선 다른 서버들의 OS가 Windows 서버인 경우, Neighbor Cache(ARP Cache)에 학습된 주소를 사용해서 15초에서 45초 사이의 임의의 시간(Reachable Time)동안 기존의 MAC 주소로 통신을 시도하게 됩니다. 리눅스인 경우 기본값이 60초입니다. 이 시간을 보내고 해당 캐시 정보가 만료되면 다시 Neighbor Solicitation(ARP Request)를 보냅니다.
  2. 이를 수신한 L2 스위치는 멀티캐스트 혹은 브로드캐스트합니다.
  3. 이를 수신한 문제의 서버가 이에 Neighbor Advertisement(ARP Response)로 응답합니다.
  4. 이를 수신한 L2 스위치는 새 MAC 주소를 학습합니다.
  5. NA를 수신한 서버들이 각각 자신의 캐시를 업데이트합니다.

Reachable Time - Windows 11
Neighbor Cache (ARP Cache) - Windows 11

 

참고