게임 렉 백서 › L2 클라이언트 OS·기기
와이파이 ↔ LTE·5G 전환 Network switch changes IP
원인 ID co-netswitch · 주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발, 인프라팀·네트워크 인프라
그림과 실험이 있는 원본 카드로 열기 →
집 밖으로 나가며 와이파이가 끊기고 LTE·5G로 바뀌면 내 IP 주소가 바뀌어 기존 연결이 무효가 됩니다.
왜 와이파이 신호가 약해져 모바일망으로 전환 → 그러면 내 IP 주소가 바뀌어 옛 주소로 맺은 연결로는 더 주고받을 수 없음 → 화면에서는 잠깐 멈춘 뒤 접속 끊김 또는 재접속
- 증상
- 멈춤, 접속 끊김
- 요인
- 손실
- 누가 겪나
- 나만
- 언제
- 이동 중·지역 전환 때
- 담당
- 주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발, 인프라팀·네트워크 인프라
- 게임개발팀 할 일
- 서버: 세션 토큰으로 주소가 바뀌어도 같은 플레이어로 이어 받고 옛 주소의 연결은 바로 정리, 주소가 바뀌어도 이어지는 프로토콜(QUIC의 연결 마이그레이션 등) 검토. 클라이언트: 네트워크 전환을 감지하면 하트비트 타임아웃을 기다리지 말고 세션 토큰으로 바로 재접속.
- 인프라팀 할 일
- QUIC 연결 마이그레이션을 쓰면 로드밸런서가 주소·포트 대신 연결 ID로 서버를 고르도록 설정(주소·포트로 고르면 주소가 바뀐 패킷이 다른 서버로 감).
- 그래프에서는
- 연결이 한꺼번에 끊김 · 끊김·재접속 수, 재접속 때 바뀐 IP
- 확인할 곳
- 서버 접속 로그에서 같은 세션 토큰이 다른 IP로 재접속한 기록을 찾고 클라이언트의 기본 네트워크 변경 콜백(registerDefaultNetworkCallback) 시각과 맞춰 봄
- 이러면 맞음
- 끊김 직후 재접속한 IP가 와이파이(집 회선) 대역에서 모바일 통신사 대역으로, 또는 그 반대로 바뀌고 그 직전에 망 전환 콜백이 옴
- 이러면 아님
- IP가 그대로인데 끊겼다면 “기지국 핸드오버 (이동 중)”나 “모바일 신호 약함·음영 지역”
- 확인 수단
- 게임 서버·클라이언트의 로그·지표가 필요
출처
- Read network state Android (Google)
기본 네트워크가 바뀌면 새 연결은 새 네트워크로 가고 이전 네트워크의 연결은 결국 강제로 끊김, registerDefaultNetworkCallback으로 전환 감지 - RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport IETF
연결 ID로 IP 주소·포트가 바뀌어도 연결 유지(9장), 주소·포트로만 분산하는 로드밸런서는 주소가 바뀐 패킷을 다른 서버로 보낼 수 있음(5.2.3절) - RFC 9293: Transmission Control Protocol (TCP) IETF
TCP 연결은 양 끝의 소켓(주소·포트) 쌍으로 식별됨
함께 보면 좋은 원인
같은 층: L2 클라이언트 OS·기기
같은 증상(멈춤)의 다른 층 원인
그림과 실험이 있는 원본 카드 보기