Windows/Linux, tcpip 포트 고갈에 대한 참고용
- Windows/Linux OS에서 포트 고갈에 대한 이해와 확인에 대한 참고용 메모 (Update: Mar 30, 2021)
1. 포트 고갈
동일한 브라우저가 여러 웹 사이트에 대한 많은 연결을 생성하는 시나리오에서는 브라우저가 시도 중인 모든 새 연결에 대해 사용 후 임시 포트가 사용됩니다. 시간이 지나면 연결이 실패하기 시작하고 브라우저가 사용 가능한 모든 포트를 사용하여 외부 연결을 설정한 후 더 이상 사용할 수 있는 포트가 없으므로 연결을 설정하려는 시도가 실패할 수 있습니다. 시스템에 있는 모든 포트가 사용되면 이를 포트 소모라고 합니다.
참고 글: MS - 포트 소모 문제 해결
2. 동적 포트 범위 확인
; Windows OS
C:\Users\USER1> netsh int ipv4 show dynamicport tcp
프로토콜 tcp 동적 포트 범위
---------------------------------
시작 포트: 49152
포트 수: 16384
C:\Users\USER1> netsh int ipv4 show dynamicport udp
프로토콜 udp 동적 포트 범위
---------------------------------
시작 포트: 49152
포트 수: 16384
; Linux OS
USER1@SVR1 ~]$ sudo sysctl -A |grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 60999
USER1@SVR1 ~]$ sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 60999
USER1@SVR1 ~]$ ss -s
Total: 1149 (kernel 1367)
TCP: 2582 (estab 608, closed 1952, orphaned 1, synrecv 0, timewait 1946/0), ports 1080
Transport Total IP IPv6
* 1367 - -
RAW 1 1 0
UDP 37 26 11
TCP 630 385 245
INET 668 412 256
FRAG 0 0 0
참고 글: Linux Increase TCP Port Range with net.ipv4.ip_local_port_range Kernel Parameter