Linux Tech

Network Time_wait 스크립트

로빈09 2021. 12. 7. 13:08

서버 단에서 

 

1) 빠른 TW reuse 발생을 위해 local port 의 범위를 줄입니다. 

   # sysctl -w net.ipv4.tcp_tw_reuse=1 net.ipv4.ip_local_port_range="10000 10100"

2) listner 를 시작합니다.

   # nc -nl4k 0.0.0.0 9001

 

 

Client 에서 

 

아래의 스크립트 실행. 

 

#!/bin/bash

 

RES=0

COUNT=0

 

while [ $RES -eq 0 ]; do

  if [ $((COUNT % 10)) -eq 0 ]; then

    echo "Connections made: $COUNT"

  fi

  nc -n4 -c 'echo -en "\0"' 192.168.60.171 9001

  RES=$?

  ((COUNT++))

done

 

time_wait  관련 테스트 임. 

 

수정 됨 

--------------------------------------------------------------

#!/bin/bash

SERVER_IP="127.0.0.1"
SERVER_PORT="9001"

RES=0
COUNT=0

while [[ $RES -eq 0 ]]; do
  if [[ $((COUNT % 10)) -eq 0 ]]; then
    echo "Connections made: $COUNT"
  fi
  nc -n4 -c 'echo -en "\0"' "$SERVER_IP" "$SERVER_PORT"
  RES=$?
  ((COUNT++))
  if [[ $(($COUNT % 100)) -eq 0 ]]; then
    sleep 2
   fi
done

위 스크립트로 테스트 진행