TCP Optimal Window Size Calculator

.calc-header { margin-bottom: 30px; padding: 25px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); color: white; } .calc-header h2 { margin-top: 0; color: white; font-size: 28px; margin-bottom: 10px; } .calc-header p { margin: 10px 0; opacity: 0.95; font-size: 15px; } .input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 20px; } .input-group { display: flex; flex-direction: column; gap: 8px; } .input-group label { font-weight: 600; font-size: 14px; color: rgba(255,255,255,0.95); } .input-group input { padding: 14px; font-size: 16px; border: 2px solid rgba(255,255,255,0.3); border-radius: 6px; font-family: 'Courier New', monospace; background: rgba(255,255,255,0.95); transition: all 0.3s ease; } .input-group input:focus { outline: none; border-color: #4CAF50; background: white; box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1); } .button-group { margin-top: 15px; } .calc-button { padding: 14px 35px; font-size: 16px; background: #4CAF50; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(0,0,0,0.2); } .calc-button:hover { background: #45a049; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,0.3); } .calc-button:active { background: #3d8b40; transform: translateY(0); } .result-section { background: white; border: 1px solid #e0e0e0; border-radius: 8px; margin-bottom: 15px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.05); transition: all 0.3s ease; display: none; } .result-section.show { display: block; } .result-section:hover { box-shadow: 0 4px 8px rgba(0,0,0,0.1); } .section-header { background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%); color: white; padding: 15px 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; user-select: none; transition: background 0.3s ease; } .section-header:hover { background: linear-gradient(135deg, #45a049 0%, #3d8b40 100%); } .section-header h3 { margin: 0; font-size: 18px; display: flex; align-items: center; gap: 10px; } .section-header .icon { font-size: 20px; } .section-toggle { font-size: 24px; transition: transform 0.3s ease; } .section-header.collapsed .section-toggle { transform: rotate(-90deg); } .section-content { padding: 20px; background: #fafafa; max-height: 2000px; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .section-content.collapsed { max-height: 0; padding: 0 20px; } .data-row { display: flex; margin: 12px 0; padding: 10px; background: white; border-radius: 4px; border-left: 3px solid #4CAF50; } .data-label { font-weight: bold; color: #555; min-width: 180px; flex-shrink: 0; } .data-value { color: #333; font-family: 'Courier New', monospace; word-break: break-word; font-size: 18px; } .data-value.highlight { color: #4CAF50; font-weight: bold; font-size: 20px; } .formula-box { background: #e3f2fd; border-left: 4px solid #2196F3; padding: 15px 20px; border-radius: 4px; margin: 15px 0; font-family: 'Courier New', monospace; color: #1565c0; } .info-section { background: white; border: 1px solid #e0e0e0; border-radius: 8px; margin-top: 20px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .info-section h3 { background: #f5f5f5; margin: 0; padding: 15px 20px; border-bottom: 1px solid #e0e0e0; color: #333; } .info-section h4 { color: #4CAF50; margin: 20px 0 10px 0; font-size: 16px; } .info-section p, .info-section ul { margin: 10px 0; line-height: 1.6; color: #555; } .info-section ul { padding-left: 20px; } .info-section li { margin: 8px 0; } .info-section code { background: #f5f5f5; padding: 2px 6px; border-radius: 3px; font-family: 'Courier New', monospace; color: #d32f2f; } .info-content { padding: 20px; } .help-text { margin-top: 15px; font-size: 14px; color: rgba(255,255,255,0.9); background: rgba(0,0,0,0.1); padding: 10px 15px; border-radius: 4px; } /* Responsive design */ @media (max-width: 768px) { .input-grid { grid-template-columns: 1fr; } .data-row { flex-direction: column; } .data-label { margin-bottom: 5px; min-width: auto; } }

TCP 최적 창 크기 계산기

링크 속도와 네트워크 대기 시간을 기반으로 처리량을 최대화하는 데 필요한 최적의 TCP 창 크기를 계산합니다.

팁:일반적인 RTT 값: 로컬 네트워크(0.001초), 지역(0.01초), 크로스컨트리(0.05초), 국제(0.1초)

📊계산 결과

TCP 창 크기:
-
TCP 창 크기:
-
공식:대역폭(bps) × RTT(초) ¼ 8 = TCP 창(바이트)

시스템 구성 변경

각 운영 체제에서는 TCP 수신 창을 조정하기 위해 서로 다른 구성 변경이 필요합니다.

윈도우 XP

  • 열려 있는regedit.exe
  • 찾아보기HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  • 당신은 변경할 수 있습니다TcpWindowSize그리고GlobalMaxTcpWindowSize

전송 성능의 다른 여러 요소도 같은 페이지에서 조정할 수 있습니다. 자세한 내용은 Microsoft를 방문하세요.

윈도우 7, 8, 10

  • 열려 있는regedit.exe
  • 찾아보기HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  • 당신은 변경할 수 있습니다GlobalMaxTcpWindowSize

전송 성능의 다른 여러 요소도 같은 페이지에서 조정할 수 있습니다. 자세한 내용은 Microsoft를 방문하세요.

리눅스

Linux에는 여러 변형이 있으므로 아래에 모든 구성 옵션이 설명되어 있지는 않습니다. 그러나 다음 명령이 도움이 될 수 있습니다. 현재 구성된 네트워크 설정을 보려면 먼저 다음을 사용하십시오.

  • cat /proc/sys/net/ipv4/tcp_mem
  • cat /proc/sys/net/core/rmem_default
  • cat /proc/sys/net/core/rmem_max
  • cat /proc/sys/net/core/wmem_default
  • cat /proc/sys/net/core/wmem_max
  • cat /proc/sys/net/core/optmem_max

구성을 편집하려면:

  • sysctl -p /etc/sysctl.conf
  • sysctl -w net.core.rmem_max=8388608
    • 최대 OS 수신 버퍼 크기를 구성합니다.
  • sysctl -w net.core.wmem_max=8388608
    • 최대 OS 전송 버퍼 크기를 구성합니다.
  • sysctl -w net.core.rmem_default=65536
    • 기본 OS 수신 버퍼 크기를 구성합니다.
  • sysctl -w net.core.wmem_default=65536
    • 기본 OS 전송 버퍼 크기를 구성합니다.

이 값이 반드시 사용하려는 최종 설정은 아니라는 점에 유의하십시오. Redhat 기업 지원이나 Ubuntu 기업 지원이 있는 경우 추가 지원을 받을 수 있습니다.

메모:역사적으로 최대값은 65,535바이트입니다. 그러나 IETF RFC 1323은 더 큰 크기를 수용합니다.