.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;
}
}
формула:Пропускна здатність (біт/с) × RTT (секунди) ÷ 8 = вікно TCP (байти)
Зміни конфігурації системи
Кожна операційна система потребує різних змін у конфігурації для налаштування вікна отримання TCP.
Windows XP
- ВІДЧИНЕНО
regedit.exe
- Перейдіть до
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- Ви можете змінити
TcpWindowSizeіGlobalMaxTcpWindowSize
Зауважте, що кілька інших факторів продуктивності передачі можна налаштувати на тій же сторінці. Відвідайте корпорацію Майкрософт, щоб отримати додаткові відомості.
Windows 7, 8 і 10
- ВІДЧИНЕНО
regedit.exe
- Перейдіть до
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- Ви можете змінити
GlobalMaxTcpWindowSize
Зауважте, що кілька інших факторів продуктивності передачі можна налаштувати на тій же сторінці. Відвідайте корпорацію Майкрософт, щоб отримати додаткові відомості.
Linux
Оскільки існує кілька варіантів 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
- Налаштовує максимальний розмір буфера отримання ОС
-
sysctl -w net.core.wmem_max=8388608
- Налаштовує максимальний розмір буфера надсилання ОС
-
sysctl -w net.core.rmem_default=65536
- Налаштовує стандартний розмір буфера отримання ОС
-
sysctl -w net.core.wmem_default=65536
- Налаштовує стандартний розмір буфера надсилання ОС
Зауважте, що ці значення не обов’язково є остаточними параметрами, які ви хочете використовувати. Якщо у вас є корпоративна підтримка Redhat або Ubuntu, вони можуть допомогти.
Примітка:65 535 байт є історично максимальним значенням. Однак IETF RFC 1323 передбачає більші розміри.