Solaris 11 버전으로 업그레이드한 후 TCP 연결에 장애가 발생했습니다.
이벤트
Solaris 10에서 Solaris 11까지.3버전 업그레이드 후 서버 간 (서버 A→서버 B) 연결을 통해connect()
ECONREFUSID가 복원되어 연결할 수 없는 이벤트가 발생했습니다.
접속수가 많을 때 발생했지만 Solaris 10과의 경우 접속수, 통신량에는 변화가 없었다.
또한 연결 포트는 효과 미라 포트를 사용했다.
까닭
인터넷 추적 등을 통해 재현 조사를 한 결과는 다음과 같다.
인터넷 추적 등을 통해 재현 조사를 한 결과는 다음과 같다.
TCP 사양입니다.사용하는 포트 번호도 OS에 저장됩니다.
따라서 TIME-WAIT 상태로 간주되어 connect에서 RST가 복원됩니다.
동작이 바뀌어 Solaris 11에서 실행기 포트를 무작위로 선택하게 되므로 이전에 간혹 사용했던 포트 번호와 같은 번호가 할당됩니다.
(Solaris10 이전에는 +1 계수 방식이었기 때문에 같은 포트 번호를 분배할 가능성이 매우 낮음)
연결 요구 사항이 있으면 RFC 793 규약에 따라 RST로 돌아갑니다.
RFC 793 새로운 RFC 1122에서도 TIME-WAIT는 새로운 연결 요청을 수용할 수 있습니다.
Windows와 Linux는 이를 기준으로 RST가 발생하지 않은 것 같습니다.
대응
TIME-WAIT 시간 변경 등을 고려했지만 다른 영향을 고려했습니다.
결국 RST가 반환되지 않도록 포함을 다시 시도합니다.
실제로 세 번 재시도한 뒤 문제가 발생하지 않았다.
Windows, Linux에서는 이 문제가 발생하지 않지만 Solaris 전환 시 고려해야 합니다.
connect RST가 복귀한 경우 미리 재시험 처리에 편입되어야 한다고 생각합니다.
Reference
이 문제에 관하여(Solaris 11 버전으로 업그레이드한 후 TCP 연결에 장애가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kuribou/items/74252d23fa76857d18a1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Solaris 11 버전으로 업그레이드한 후 TCP 연결에 장애가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kuribou/items/74252d23fa76857d18a1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)