ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½Ρ ΠΎΠ±ΠΎΠΈΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ tcp ΠΈ udp
ΠΠ’ ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ
ΠΠΎΠ»Π΅Π·Π½ΠΎ
β ΠΠ½Π»Π°ΠΉΠ½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ
β ΠΠ½Π»Π°ΠΉΠ½ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠ΅ΠΉ
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° FreePBX Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Cisco UCM/CME Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΏΠΎ Linux/Unix
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π’Π΅Π»Π΅ΡΠΎΠ½ΠΈΡ
FreePBX ΠΈ Asterisk
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²
ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΠΈ
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΡ
TCP ΠΈ UDP β Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ°?
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ OSI
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΌΠΈΡ Π½Π΅ΠΌΡΡΠ»ΠΈΠΌ Π±Π΅Π· ΡΡΠ΅Π΄ΡΡΠ² ΡΠ²ΡΠ·ΠΈ. ΠΠ΅ΡΡΡΠΊΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ. Π ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΡΠ΅ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ. ΠΡΠ±ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI, ΠΈΠ»ΠΈ ΠΠ°Π·ΠΎΠ²ΠΎΠΉ ΠΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΠΠΎΠ΄Π΅Π»ΠΈ ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΡΠΊΡΡΡΡΡ Π‘ΠΈΡΡΠ΅ΠΌ. ΠΠ°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° ΡΠ΅ΠΌΠΈ ΡΡΠΎΠ²Π½ΡΡ β Media (ΠΊ Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ, ΠΊΠ°Π½Π°Π»ΡΠ½ΡΠΉ ΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ) ΠΈ Host β (ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ, ΡΠ΅Π°Π½ΡΠΎΠ²ΡΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ). Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ β TCP ΠΈ UDP, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
ΠΠΎΠ»Π½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ Π‘Π΅ΡΠ΅Π²ΡΠΌ Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ
Π ΠΊΡΡΡΠ΅ ΡΠ΅Π±Ρ ΠΆΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°Ρ Π’ΠΠ 15 Π½Π°Π²ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ·Π°Π½ Π·Π½Π°ΡΡ Π²Π΅Π΄ΡΡΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΈΠ»ΠΈ senior Network Operation Engineer
ΠΠΈΠ΄Π΅ΠΎ: TCP ΠΈ UDP | ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ°?
Π ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ°Π·Π½ΠΈΡΠ° TCP ΠΈ UDP?
ΠΠΎΠΎΠ±ΡΠ΅, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡΡ . ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΠ°Π²ΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎ Π°Π΄ΡΠ΅ΡΠ°ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ΄ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΡΠΎΡΠΈΠ»ΡΠ½ΠΎ, Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ Π·Π°Π΄Π°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ.
ΠΡΠΎΡΠΎΠΊΠΎΠ» TCP (Transmission Control Protocol) β ΡΡΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ Β«Π·Π°ΡΠΎΡΠ΅Π½Β» ΠΏΠΎΠ΄ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ, Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Ρ ΠΎΡΡΠ°ΠΌΠΈ. ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠΎΠΊΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΡΠ΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π°. ΠΠΈΠ½ΡΡΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ , Π·Π° ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ Π² Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ UDP.
ΠΡΠΎΡΠΎΠΊΠΎΠ» UDP (User Datagram Protocol), Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡ. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π΅ΠΌΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ β ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ΅ΡΡΡΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π°Π΅ΡΡΡ β Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ. ΠΠ°ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠ½ΠΊΡΠΎΠ²:
ΠΠ½Π»Π°ΠΉΠ½ ΠΊΡΡΡ ΠΏΠΎ ΠΠΈΠ±Π΅ΡΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
ΠΠ·ΡΡΠΈ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠΉ ΠΌΠ°ΠΉΠ½Π΄ΡΠ΅Ρ ΠΈ Π½Π°ΡΡΠΈΡΡ Π·Π°ΡΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ! Π‘Π°ΠΌΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΉΡΠΈ Π² ΠΠ, Π½ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π» Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ
ΠΠ’ ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ
ΠΠΎΠ»Π΅Π·Π½ΠΎ
β ΠΠ½Π»Π°ΠΉΠ½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ
β ΠΠ½Π»Π°ΠΉΠ½ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠ΅ΠΉ
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° FreePBX Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Cisco UCM/CME Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
β Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΏΠΎ Linux/Unix
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π’Π΅Π»Π΅ΡΠΎΠ½ΠΈΡ
FreePBX ΠΈ Asterisk
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²
ΠΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΠΈ
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΡ
ΠΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ: ΠΏΡΠΎ TCP ΠΈ UDP
ΠΠΎΠ»Π½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ Π‘Π΅ΡΠ΅Π²ΡΠΌ Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ
Π ΠΊΡΡΡΠ΅ ΡΠ΅Π±Ρ ΠΆΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°Ρ Π’ΠΠ 15 Π½Π°Π²ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ·Π°Π½ Π·Π½Π°ΡΡ Π²Π΅Π΄ΡΡΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΈΠ»ΠΈ senior Network Operation Engineer
UDP ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ TCP, UDP Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ UDP ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ TCP, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΡΡΠΎΠ², ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ, ΡΠ΅ΠΌ TCP.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ UDP ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ TCP ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ UDP, ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½Ρ ΠΊ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΠΈΠ»ΠΈ Ρ Π½ΠΈΡ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, VoIP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ UDP, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΡΠ΅ΡΡΠ½, ΠΊ ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅ΡΠ΅Π½Π° ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°, ΠΈ Π³ΠΎΠ»ΠΎΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π·Π°ΠΏΡΠΎΡΡ DNS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ UDP, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ DNS Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ΅ΡΠ΅Π²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° (NFS), ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΡΡΠΎΠ²Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ UDP ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ Π΄Π»Ρ NFS.
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 10 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΎΡΠΌΠ°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° UDP. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ»Ρ ΠΏΠΎΡΡΠ° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅Π»ΠΈ, ΡΡΠΎ ΠΈ TCP. ΠΠ΄Π½Π°ΠΊΠΎ UDP ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 8 Π±Π°ΠΉΡΠΎΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ 20-Π±Π°ΠΉΡΠΎΠ²ΡΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ TCP, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1-1. UDP ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΡΠ΅ΠΌ TCP, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ UDP ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ TCP / IP
ΠΡΠ΅ΠΌΠΈΡΠ½Π°Ρ ΠΏΠ°ΡΡΠΈΠ½Π° (WWW) ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² ΠΌΠΈΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ Ρ ΠΎΡΡΠΎΠ² Ρ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ. ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°, Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Ρ ΡΠ°Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (Π² Π²ΠΈΠ΄Π΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π»ΡΠ΄Π΅ΠΉ. ΠΠ΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ, Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π₯ΠΎΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ «Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ» ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ «Π±ΡΠ°ΡΠ·Π΅Ρ«, Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠ»ΡΠ³Ρ Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π§ΡΠΎΠ±Ρ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π», Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΉΡΠΈ IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ DNS. ΠΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠΈΠΈ (ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠΈΠΈ) ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ , Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π£Π½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²
Π§ΡΠΎΠ±Ρ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π» Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° www.cisco.com ΠΈ ΡΠ΅Π»ΠΊΠ°Π΅ΡΠ΅ ΠΏΠΎ ΡΡΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΄ΡΡΠ³ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π·, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΄ΡΡΠ³ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π»ΡΠΎΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄Π΅ΡΠ°Π»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΊΡΡΡΡ ΠΎΡ Π²Π°Ρ. (ΠΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡ Π²Π°Ρ Π½Π° Π΄ΡΡΠ³ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ.)
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΊΡΡΡΠΎΠ³ΠΎ URI, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ°. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Π½Π°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΡΡΡΠ»ΠΊΡ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ «Π‘Π²ΠΎΠΉΡΡΠ²Π°». ΠΠΎ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ URI, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π±ΡΠ°ΡΠ·Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΡΡΡ ΡΡΡΠ»ΠΊΡ.
Π ΠΏΡΠΎΡΡΠΎΡΠ΅ΡΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Ρ Π²Π΅Π±-Π°Π΄ΡΠ΅Ρ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ Universal Resource Locator (ΠΈΠ»ΠΈ Uniform Resource Locator [URL]) Π²ΠΌΠ΅ΡΡΠΎ URI, Π½ΠΎ URI Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, URL-Π°Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ URI, ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ IETF (Π³ΡΡΠΏΠΏΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ TCP / IP) Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌΠΎΠΌ W3C (W3.org, ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π²Π΅Π±-ΡΡΠ°Π½Π΄Π°ΡΡΡ) ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ URI Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°.
Π‘ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, URI, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 11. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ URI. Π§ΡΠΎ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅ΠΊΡΡ ΠΏΠ΅ΡΠ΅Π΄ :// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ, ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ // ΠΈ / ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π° ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠ»Π΅ / ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠΎΠΈΡΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ DNS
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 12 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΎΡΠ΅ΡΡ DNS, ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΡΡΠ³Π°Ρ ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π‘ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ URI (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ http://www.exempel.com/go/learningnetwork), ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΠΌΡ www.exempel.com Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ IP-Π°Π΄ΡΠ΅Ρ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π° Π²Π΅Π± ΡΠ΅ΡΠ²Π΅Ρ.
Π¨Π°Π³ΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 12 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ Ρ ΠΎΡΡ Π½Π΅ Π·Π½Π°Π΅Ρ IP-Π°Π΄ΡΠ΅Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ ΠΎΡΡΠ°, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π·Π½Π°Π΅Ρ Π°Π΄ΡΠ΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΠΎΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ DNS-Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ DNS Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊΠΆΠ΅ DNS-ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ DNS-Π·Π°ΠΏΡΠΎΡΠΎΠ²; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ DNS-ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 12 ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ Ρ ΠΎΡΡΠΎΠ² Π² Π΄ΠΎΠΌΠ΅Π½Π°Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ DNS-ΡΠ΅ΡΠ²Π΅Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π» Π°Π΄ΡΠ΅Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ ΠΎΡΡΠ° www.example.com.
ΠΠΎΠ³Π΄Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ DNS Π½Π΅ Π·Π½Π°Π΅Ρ Π°Π΄ΡΠ΅Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ ΠΎΡΡΠ°, Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 13 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΡΡΠΎ ΠΈ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 12. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ DNS Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ DNS-ΡΠ΅ΡΠ²Π΅Ρ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ DNS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΉ DNS-ΡΠ΅ΡΠ²Π΅Ρ.
Π¨Π°Π³ΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ HTTP
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ (Π±ΡΠ°ΡΠ·Π΅Ρ) ΡΠΎΠ·Π΄Π°Π» TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠ°ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP. ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ HTTP, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² RFC 7230, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ. HTTP Π±ΡΠ» ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ.
HTTP ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ HTTP GET. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ HTTP-Π·Π°ΠΏΡΠΎΡ GET Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ΡΠ°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΉΠ», ΠΎΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ²Π΅Ρ HTTP GET Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° 200 (ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΠ) Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΡΠ°ΠΉΠ»Π°.
ΠΠ»Ρ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π΅Ρ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΠ½ Π²ΡΠ΄Π°Π΅Ρ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° 404, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ «ΡΠ°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½». ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ΄Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° HTTP, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Ρ ΠΎΡΠ²Π΅Ρ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ «ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°», Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° 404.
ΠΠ΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ΅ΠΊΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡΠΊ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (ΡΠ°ΠΉΠ») Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡ Π²ΡΠ΅, Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ». ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ (ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ) Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ URI, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ°ΡΠ·Π΅Ρ Π·Π°ΡΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 14 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΎΠ±ΡΠ°Ρ ΠΈΠ΄Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π° Π·Π°ΡΠ΅ΠΌ Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ .
ΠΠ°ΠΊ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ Ρ ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠ° Π»Π΅ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ ΠΎΡΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Ρ ΠΎΡΡ A, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ»Π΅Π²Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 15. ΠΠ° Ρ ΠΎΡΡΠ΅ ΠΎΡΠΊΡΡΡΠΎ ΡΡΠΈ ΡΠ°Π·Π½ΡΡ ΠΎΠΊΠ½Π° Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ TCP-ΠΏΠΎΡΡ. ΠΠ° Ρ ΠΎΡΡΠ΅ A ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΡΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΠΎΠΊΠ½ΠΎ ΡΠ°ΡΠ°, ΠΎΠ±Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ TCP. Π ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°, ΠΈ ΡΠ°Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ TCP-ΠΏΠΎΡΡΠ° Π½Π° Ρ ΠΎΡΡΠ΅ A, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.
Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠΎΠ»Π΅ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΡΡΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ TCP ΠΈΠ»ΠΈ UDP Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ TCP-ΠΏΠΎΡΡΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 15 ΡΠ°Π²Π½ΠΎ 49124, Ρ ΠΎΡΡ A Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΠΊΠΎΠ½ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ Ρ ΠΎΡΡ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ TCP ΠΈΠ»ΠΈ UDP ΠΈ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ»Π΅ ΠΏΠΎΡΡΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ°Π΄Ρ Ethernet, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅Ρ IPv4, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 16.
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ IPv4 ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»Π΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° IP. ΠΠΎΠ»Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° IPv4 ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ 6, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π΄Π»Ρ TCP, ΠΈ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ 17, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π΄Π»Ρ UDP. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 6 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ TCP, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ IPv4. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ Ρ ΠΎΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ TCP ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ»Π΅ ΠΏΠΎΡΡΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ½Π»Π°ΠΉΠ½ ΠΊΡΡΡ ΠΏΠΎ ΠΠΈΠ±Π΅ΡΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
ΠΠ·ΡΡΠΈ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠΉ ΠΌΠ°ΠΉΠ½Π΄ΡΠ΅Ρ ΠΈ Π½Π°ΡΡΠΈΡΡ Π·Π°ΡΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ! Π‘Π°ΠΌΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΉΡΠΈ Π² ΠΠ, Π½ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π» Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ
TCP ΠΈ UDP: ΡΠ°Π·Π»ΠΈΡΠΈΡ
TCP ΠΈ UDP β Π΄Π²Π° Π²Π°ΠΆΠ½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ. ΠΠ±Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² TCP / IP. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ°Π·Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ TCP ΠΈ UDP, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΡΠ΅ΠΉ OSI ΠΈ TCP / IP.
ΠΠ±Π·ΠΎΡ OSI ΠΈ TCP / IP
Π‘Π΅ΡΠ΅Π²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° OSI ΠΈ TCP / IP β Π΄Π²Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΡΠΈ. ΠΠΎΠ΄Π΅Π»Ρ OSI Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ (ISO). Π 1984 Π³ΠΎΠ΄Ρ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΏΡΠΈΠ½ΡΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠΎΠ΄Π΅Π»Ρ OSI Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΠΌΠΈΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΡΠΈ ΡΡΠΎΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ»ΡΠ³ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½ΠΈΠΆΠ΅:
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π±ΠΈΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ Π½ΠΎΡΠΈΡΠ΅Π»Π΅, ΡΠ°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ ΠΊΠ°Π±Π΅Π»ΠΈ, ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΊΠ°ΡΡΡ, ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΎΡΡ ΠΈ Ρ.Π΄.
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΊΠ°Π½Π°Π»Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ DLL ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ Π±ΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ. ΠΠ°Π½Π½ΡΠ΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π±ΠΈΡΡ Π½Π° ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ΅. ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.Π΄.
Π‘Π΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ IP (ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°). Π£ΡΠΎΠ²Π΅Π½Ρ ΠΊΠ°Π½Π°Π»Π° Π΄Π°Π½Π½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ.
Π’ΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ²ΠΎΠ·Π½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ , ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ββΠ²ΡΡΠ΅Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΌ ΡΡΠΎΠ²Π½ΡΠΌ.
Π‘Π΅Π°Π½ΡΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ β ΠΎΠ½ ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π°Π½ΡΠ°, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ.
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ β ΠΎΠ½ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΌΠΎΠ³Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π°. ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π΄Π΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, β ΡΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ ΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.Π΄.
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ ΡΠ²ΡΠ·ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ², SMTP, SSH, FTP ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°. ΠΠ½ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π±ΡΠ°ΡΠ·Π΅ΡΡ, ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π²Ρ ΠΎΠ΄ ΠΈ Ρ.Π΄.
TCP / IP β ΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΄Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ²: ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. Π¦Π΅Π»ΡΡ TCP ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. TCP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ IP Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ²Π½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ TCP / IP. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ²Π½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΅Π°Π½ΡΠ° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π² Π΅Π³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π² TCP / IP. ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI. ΠΡΠΎΡΠΎΠΊΠΎΠ» IP ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, TCP / IP ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΊΠ°Π½Π°Π» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ OSI ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΡΠΎΠ²Π½Π΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠΈ.
ΠΡΠ»ΠΈΡΠΈΡ TCP ΠΎΡ UDP
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π±ΡΡΡΡΡΠΉ ΠΎΠ±Π·ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI ΠΈ TCP / IP, ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΠΈΠΆΠ΅ ΠΌΡ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ:
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ, Π΄Π»Ρ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ TCP ΠΈ UDP. SCTP ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π° ΡΡΠ΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ
.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ(Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ²) ΡΠ°ΠΊΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ TCP ΠΈ UDP.
ΠΠ°ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ: TCP ΠΈΠ»ΠΈ UDP
ΠΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Ρ Π½Π°Ρ Π² Π³ΠΎΠ»ΠΎΠ²Π΅. ΠΡΠ±ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΡΡΡΡΠΎΠΉ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ , Π½Π΅ Π·Π°Π±ΠΎΡΡΡΡ ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ, ΡΠΎΠ³Π΄Π° Π²ΡΠ±ΠΎΡ Π±ΡΠ΄Π΅Ρ UDP. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° Π½Π°Π΄Π΅ΠΆΠ½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈ Π²Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΠ΅ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ TCP.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, UDP ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π»Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ³ΡΡ, ΠΏΠΎΠΈΡΠΊ DNS, VoIP ΠΈ Ρ.Π΄. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ TCP Π·Π΄Π΅ΡΡ, Π·Π°Π΄Π΅ΡΠΆΠΊΠ°, Π²ΡΠ·Π²Π°Π½Π½Π°Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠΈΡ ΡΠ»ΡΠΆΠ±. TCP ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΡΠ°, SMTP ΠΈ Ρ.Π΄. Π ΡΠ»ΡΡΠ°Π΅ OpenVPN ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Π° ΠΈΠ· Π½ΠΈΡ .
TCP ΠΏΡΠΎΡΠΈΠ² UDP ΠΈΠ»ΠΈ Π±ΡΠ΄ΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ²
ΠΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΌ Ρ ΠΎΡΡ Π±Ρ 1 ΠΠ±ΠΈΡ/ΡΠ΅ΠΊ ΡΡΠ°ΡΠΈΠΊΠ° Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Β«ΠΠ°ΠΊ? ΠΏΠΎ TCP ΠΈΠ»ΠΈ ΠΏΠΎ UDP?Β» Π ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΡΠΆΠ΅ ΡΠ»ΠΎΠΆΠΈΠ»ΠΈΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ΠΠΎ ΠΈΠ΄Π΅Π΅, Π΅ΡΠ»ΠΈ Π±Ρ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΠΎΠ΄ΠΈΠ½ Π»Π΅Π½ΠΈΠ²ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠ²ΠΎΠΉ ML Π½Π° Python (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ ΠΈ Π·Π½Π°Π»), ΠΌΠΈΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΎΠ½ΠΈΠΊΡΡ Π±Ρ ΡΠ°ΠΊΠΎΠΉ Π»ΡΠ±ΠΎΠ²ΡΡ ΠΊ ΠΏΡΠ΅Π·ΡΠ΅Π½Π½ΠΎΠΌΡ Β«ΡΡΠΏΠ΅Ρ-Π΄ΠΆΠ°Π²Π°-ΠΊΠΎΠ΄Π΅ΡΠ°ΠΌΠΈΒ» ΡΠ·ΡΠΊΡ. Π ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ»Π°Π±ΠΎΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΡΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π΅ΠΌΡ ΠΏΠ΅ΡΠ²Π΅Π½ΡΡΠ²ΠΎ Π² ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΌΠ°ΠΉΠ½Π΅ΡΡΠΊΠΈΡ Π/Π.
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅: ARM Ρ Intel, iOS ΠΈ Android, Π° Mortal Kombat Ρ Injustice. Π Π½Π°ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Ρ ΠΎΠ»ΠΈΠ²Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΠ΅ΠΌΠ΅ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² ΡΠ°Π·Π½ΠΎΡΠΎΡΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΠ΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ Π²ΡΠ΅ Π±ΡΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Ρ, UDP β ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎ Π½Π΅Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΠΎΡΡΠ°Π²ΠΊΡ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ΅Π½ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» β ΡΡΠΎ TCP. Π Π²ΠΎΠΏΡΠ΅ΠΊΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΡΠΌ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΆΡΡΠΈΠ΅ΡΡ Π½Π΅ΡΡΠ°Π²Π½ΠΈΠΌΡΠΌΠΈ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ TCP ΠΈ UDP.
ΠΡΡΠΎΡΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ 99 ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΉ ΠΈ ΡΡ
Π΅ΠΌ ΠΈ Π²ΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΠΈΠ΄Π΅ΠΎ ΠΈ ΠΠ΅Π½ΡΠ° Π² OK ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ Π’ΠΎΠ±ΠΎΠ»Ρ (alatobol). Π‘Π΅ΡΠ²ΠΈΡΡ ΠΠΈΠ΄Π΅ΠΎ ΠΈ ΠΠ΅Π½ΡΠ° ΠΠΎΠ²ΠΎΡΡΠ΅ΠΉ Π² ΡΠΎΡΡΠ΅ΡΠΈ ΠΠ β ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΈ Π΅Π³ΠΎ Π΄ΠΎΡΡΠ°Π²ΠΊΡ Π½Π° Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΏΠ»ΠΎΡ ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΠΈ, ΠΈ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ β ΠΏΠΎ TCP ΠΈΠ»ΠΈ ΠΏΠΎ UDP β ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
TCP vs UDP. ΠΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ΅ΠΎΡΠΈΠΈ
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ.
Π§ΡΠΎ ΠΌΡ Π·Π½Π°Π΅ΠΌ ΠΎΠ± IP ΡΠ΅ΡΡΡ ? ΠΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅, ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΡΠ½ΡΠΉ ΡΡΠΈΠΊ Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ»ΠΈΠ΅Π½Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ . ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ ΠΈ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ°ΠΌ Π½Π° Π½ΠΈΠΆΠ½ΠΈΡ ΡΡΠΎΠ²Π½ΡΡ .
ΠΠ° ΡΡ Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ TCP/IP ΠΈ UDP/IP ΡΡΠ΅ΠΊ. ΠΠ½ΠΈΠ·Ρ Π΅ΡΡΡ Ethernet-ΠΏΠ°ΠΊΠ΅ΡΡ, IP-ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΈ Π΄Π°Π»ΡΡΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΠ‘ Π΅ΡΡΡ TCP ΠΈ UDP. TCP ΠΈ UDP Π² ΡΡΠΎΠΌ ΡΡΠ΅ΠΊΠ΅ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠ½ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡΡΡ Π² IP-ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ»ΠΈΡΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π½ΡΡΡΡ TCP- ΠΈ UDP-ΠΏΠ°ΠΊΠ΅ΡΠ°.
Π ΡΠ°ΠΌ, ΠΈ ΡΠ°ΠΌ Π΅ΡΡΡ ΠΏΠΎΡΡΡ. ΠΠΎ Π² UDP Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° β Π΄Π»ΠΈΠ½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΡΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ. Π Π² TCP β ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠΊΠ½ΠΎ, acknowledgement, sequence, ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, TCP Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ.
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΡΠ΅Π½Ρ Π³ΡΡΠ±ΠΎ, ΡΠΎ TCP β ΡΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, Π° UDP β Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ.
Π Π²ΡΡ ΠΆΠ΅, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΡ Π½Π΅Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ UDP, ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΡΡΡΠ΅Π΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅ ΡΠ΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ TCP. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ΅ΡΡ ΠΈΠ·Π½ΡΡΡΠΈ ΠΈ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠΏΡΡΠ½ΠΎ Π·Π°ΡΡΠΎΠ½Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
ΠΠ°ΡΠ΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ TCP ΠΈΠ»ΠΈ ΡΡΠΎ Ρ Π½ΠΈΠΌ Π½Π΅ ΡΠ°ΠΊ
TCP ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ Π² 1974 Π³ΠΎΠ΄Ρ, Π° Π»Π΅Ρ ΡΠ΅ΡΠ΅Π· 20, ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠΎΡΠ΅Π» Π² ΡΠΊΠΎΠ»Ρ, Ρ ΠΏΠΎΠΊΡΠΏΠ°Π» ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΊΠ°ΡΡΡ, ΡΡΠΈΡΠ°Π» ΠΊΠΎΠ΄ ΠΈ ΠΊΡΠ΄Π°-ΡΠΎ Π·Π²ΠΎΠ½ΠΈΠ». ΠΡΠΈΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π·Π²ΠΎΠ½ΠΈΡΡ Ρ 2 Π½ΠΎΡΠΈ Π΄ΠΎ 7 ΡΡΡΠ°, ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π±ΡΠ» Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ, Π½ΠΎ Π΄ΠΎΠ·Π²ΠΎΠ½ΠΈΡΡΡΡ Π±ΡΠ»ΠΎ ΡΡΡΠ΄Π½ΠΎ.
ΠΡΠΎΡΠ»ΠΎ Π΅ΡΠ΅ 20 Π»Π΅Ρ, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΡΠ΅ΡΡΡ ΡΡΠ°Π»ΠΈ ΠΏΡΠ΅Π²Π°Π»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π΄ Β«ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌΠΈΒ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ TCP ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ»ΡΡ.
ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΠΌΠΈΡ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ», ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, Π° TCP Π±ΡΠ» ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ 80% ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Wi-Fi ΠΈΠ»ΠΈ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ 3G-4G ΡΠ΅ΡΡ.
Π Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ:
ΠΠΈΠΆΠ΅ Π½Π° ΠΊΠ°ΡΡΠ΅ ΡΡΠ΅Π΄Π½ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ TCP Π² Π ΠΎΡΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΠ±ΡΠ°ΡΡ Π·Π°ΠΏΠ°Π΄Π½ΡΡ ΡΠ°ΡΡΡ, ΡΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ ΡΠΊΠΎΡΠ΅Π΅ Π² ΠΊΠΈΠ»ΠΎΠ±ΠΈΡΠ°Ρ , ΡΠ΅ΠΌ Π² ΠΌΠ΅Π³Π°Π±ΠΈΡΠ°Ρ .
Π’ΠΎ Π΅ΡΡΡ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Ρ Π½Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π·Π°ΠΏΠ°Π΄Π½ΡΡ ΡΠ°ΡΡΡ Π ΠΎΡΡΠΈΠΈ): ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ 1,1 ΠΠ±ΠΈΡ/ΡΠ΅ΠΊ, 0,6 % packet loss, RTT (round-trip time) ΠΏΠΎΡΡΠ΄ΠΊΠ° 200 ΠΌΡ.
ΠΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ RTT
ΠΠΎΠ³Π΄Π° Ρ ΡΠ²ΠΈΠ΄Π΅Π» ΡΡΠ΅Π΄Π½Π΅Π΅ Π² 200ΠΌΡ, ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΡΡΠΎ Π² ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈ ΡΠ΅ΡΠΈΠ» ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ RTT Π΄ΠΎ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² ΠΠ‘Π Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RIPE Atlas. ΠΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·ΠΎΠ½Π΄ ΠΎΡ RIPE Atlas ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
Π‘ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ Π΅Π΅ ΠΊ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ Β«ΠΊΠ°ΡΠΌΡΒ». ΠΠ½Π° ΡΡΡΠΊΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π»ΡΠ΄ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π° Π½Π΅ΠΉ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ²ΠΎΠΈ Π·Π°ΠΏΡΠΎΡΡ. ΠΠΎΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ: ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²Π·ΡΡΡ 30 ΡΠΎΡΠ΅ΠΊ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ RTT, ΡΠΎ Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ping Π΄ΠΎ ΡΠ°ΠΉΡΠ° ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ.
ΠΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, ΡΡΠ΅Π΄ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΈΡ , Ρ ΠΊΠΎΡΠΎΡΡΡ ping ΠΎΡ 200 Π΄ΠΎ 300 ΠΌΡ.
ΠΡΠΎΠ³ΠΎ, Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΡΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ ΠΈ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½Ρ (Ρ ΠΎΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ TCP):
ΠΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ β Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ . Π― Π²Π·ΡΠ» ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΡΠΎΡΠ°Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π² ΡΡΡΠ°Π½Π΅, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΡΡΡΡ Π²ΠΈΠ΄Π΅ΠΎ.
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ Π² Π ΠΎΡΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΡΠΉ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ Π½Π°ΡΠΈΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ ΡΡΠ΅Π΄Π½ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΈΠΆΠ΅.
Π ΠΏΠΎΠ»ΡΠ·Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½Π°Ρ, Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠΎ, ΡΡΠΎ Π²ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΠΊΡΡΠΏΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ, Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΠΏΠ»ΠΎΡ ΠΎΠΉ ΡΠ΅ΡΠΈ. Π£ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ 10 ΠΠ±Π°ΠΉΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π»Π΅Π½ΡΠ΅, Π° Π½Π° ΡΠΊΠΎΡΠΎΡΡΠΈ 500 ΠΠ±ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠ°ΠΊ ΡΡΠΊΠΎΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΠΈΠ΄Π΅ΠΎ, ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ TCP Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π² Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΡΠ΅ΡΡΡ . ΠΠ°ΠΊ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΠ°ΠΊΠΎΠΌΡ Π²ΡΠ²ΠΎΠ΄Ρ?
ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΡΠΊ.
ΠΡΡΠ·ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠΎ Π΅ΡΡΡ 40 ΠΠ±Π°ΠΉΡ Π΄Π΅Π»ΠΈΠΌ Π½Π° 4 ΡΠ°ΡΡΠΈ ΠΏΠΎ 10 ΠΠ±Π°ΠΉΡ ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ. ΠΠ°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΠΎ Π½Π° Android ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (Π΄Π΅ΠΌΠΎ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π΅). Π‘Π°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠΊΠ°ΡΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½, ΡΠΎ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π³ΠΈΠΎΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΡΠΎΡΠ»Π° Π² 3 ΡΠ°Π·Π°!
ΠΠΎ ΡΠ΅ΡΡΡΠ΅ΠΌ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π² 3 ΡΠ°Π·Π° Π±ΡΡΡΡΠ΅Π΅.
Π’Π°ΠΊ ΠΌΡ ΠΏΠΎΠ²ΡΡΠΈΠ»ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°ΡΡ.
TCP Π² Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ
ΠΠ΅Π²Π΅ΡΠΎΡΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΎΠ³Π°ΡΡ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π·ΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»Ρ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ/ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Speed Test) ΠΈ ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ΠΉΠΏΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ network link Conditioner, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Mac) ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ 1 ΠΠ±ΠΈΡ/ΡΠ΅ΠΊ Π½Π° upload ΠΈ download ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ°ΡΡΠΈΡΡ ΠΏΠΎΡΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
Π ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ RTT ΠΈ ΠΏΠΎΡΠ΅ΡΠΈ. ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ 0% ΠΏΠΎΡΠ΅ΡΡ, ΡΠ΅ΡΡ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π½Π° 100%.
Π‘Π»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ packet loss Π½Π° 5%, ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΡΡ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π° 74%. ΠΡΠΎΠ΄Π΅ Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ β ΠΏΡΠΈ packet loss Π² 5% ΡΠ΅ΡΡΠ΅ΡΡΡ 26% ΡΠ΅ΡΠΈ. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π΅ΡΠ΅ ΠΈ ping, ΡΠΎ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΊΠ°Π½Π°Π»Π°.
ΠΡΠ»ΠΈ ΠΊΠ°Π½Π°Π» Ρ Π²ΡΡΠΎΠΊΠΈΠΌ RTT ΠΈ Π±ΠΎΠ»ΡΡΠΈΠΌ packet loss, ΡΠΎ ΠΎΠ΄Π½ΠΎ TCP ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ΅ΡΡ.
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ ΡΡΡΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ (Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Speed Test-ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ), Π²ΠΈΠ΄Π΅Π½ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠΎΡΡ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°.
Π‘ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΠ»Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΡΡΠΈ ΡΠ°Π²Π½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, Π·Π° Π²ΡΡΠ΅ΡΠΎΠΌ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΏΠΎΡΠ΅ΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ:
TCP vs Π½Π΅ Π’Π‘Π
Π‘ ΡΠ΅ΠΌ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΡΠΏΠ»ΠΎΠ΅? ΠΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°.
ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π½Π° ΡΡΠΎΠ²Π½Π΅ IP Π΅ΡΡΡ TCP ΠΈ UDP, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ΅Π±Π΅ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠ²Π΅ΡΡ Ρ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ TCP ΠΈ UDP Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠΎ ΠΏΡΠΎ Π½Π΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π½Π°ΡΡ Firewall, Brandmauer, ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΡ ΠΈ Π²Π΅ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΈΡ, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠΉ Π² Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². Π ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΆΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡ ΠΈ Π½Π°ΡΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΎΠ²ΡΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ.
ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ UDP. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Linux, Android ΠΈ iOS Π΄ΠΎΠ±Π°Π²ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π² ΡΠ²ΠΎΠ΅ ΡΠ΄ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°Π΄ΠΎ ΠΏΠΈΠ»ΠΈΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π² User Space.
Π’Π°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ, Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ self-made UDP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ». Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ: ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ UDP socket ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅.
ΠΡΠ΄Π΅ΠΌ Π΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ°Ρ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΡ.
TCP vs self-made UDP
Π₯ΠΎΡΠΎΡΠΎ, Π° Π½Π° ΡΠ΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ?
Π‘Π΅ΡΠΈ Π±ΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅:
ΠΡΠΎΠΌΠ΅ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΡΠ΅ΡΠΈ, Π½ΡΠΆΠ½ΠΎ Π΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ Ρ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΌ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ°. ΠΠΎΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΡ:
Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΎΡΠ²Π΅ΡΠ°Ρ Π·Π° ΠΠΈΠ΄Π΅ΠΎ ΠΈ ΠΠ΅Π½ΡΡ, ΡΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅:
HTTP 1.1 ΠΈ HTTP 2.0
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ 2000-Ρ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΠΊΠ°ΠΊ HTTP 1.1 ΠΏΠΎΠ²Π΅ΡΡ SSL. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΊ β ΡΡΠΎ HTTP 2.0, TLS 1.3, ΠΈ Π²ΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΡ TCP.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π² ΡΠΎΠΌ, ΡΡΠΎ HTTP 1.1 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠ» ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄ΠΎΠΌΠ΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½ Π΄Π»Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. HTTP 2.0 ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π²ΡΠ΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅.
HTTP 1.1 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ: Π΄Π΅Π»Π°Π΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π΄Π΅Π»Π°Π΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ±ΡΡΠ½ΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΠ»ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ»ΠΈΡ, ΡΠΎ Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, Π΄Π°Π½Π½ΡΡ ΠΏΠΎ API, ΠΈ Π²Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π·Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ, Π·Π° API, Π·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡ. ΠΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ. ΠΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΏΡΠΎΠ»ΠΈΡΡΠ°Π», Π½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ.
Π‘ HTTP 1.1 Π²Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠΎ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡΠΈΠ»ΠΈ, ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΡΡΠ΄Π½ΠΎ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°Π½Ρ β socket close β ΡΡΠΎ Π·Π°ΠΊΡΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΠ°Π»ΡΡΠ΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ.
ΠΡΠ»ΠΈΡΠΈΡ HTTP 2.0
HTTP 2.0 ΡΠ΅ΡΠ°Π΅Ρ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈ API. ΠΠ°ΡΡΠΈΠ½ΠΊΠ° ΡΡΠ°Π·Ρ ΠΎΡΠ΄Π°Π΅ΡΡΡ, API ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠ΄Π°Π»ΡΡ API β ΠΎΡΠ΄Π°Π»Π°ΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°. ΠΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ. ΠΡΡΠΎΠΊΠΎΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΠ°Π½ΡΡΠ΅.
Server push β ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΊΠ°, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΠΏΠ° API, Π½ΠΎ Π΅ΡΠ΅ Π² Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π·Π°ΠΊΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»Π΅Π½ΡΡ.
ΠΡΠ΅ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Reset stream, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΈ Ρ.Π΄. ΠΠ»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΠ°Π·ΡΡΠ²Π°Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ TCP Π½Π° ΡΠ°Π·Π½ΡΡ :
ΠΠΎΠ΄Π΅Π»Ρ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ
ΠΠ°ΡΠ½Π΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: round-trip time ΠΈ bandwidth.
RTT β ΡΡΠΎ ping, Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΠΎΡΠΎΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ acknowledgement ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΡΡ Π° Π½Π° response.
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ bandwidth β ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ΅ΡΠΈ β ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΡΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, ΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΡΡ acknowledgement β ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ.
ΠΠ°Π΄Π°ΡΠ° ΠΏΡΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ
ΠΠ° Π·Π°ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π² 2013 Π³ΠΎΠ΄Ρ ΠΌΠΎΠΉ Π΄ΡΡΠ³ ΠΏΠΎΠ΅Ρ Π°Π» Π² ΠΠ°Π»ΠΈΡΠΎΡΠ½ΠΈΡ ΠΈ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π° ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ . Π£ Π½Π΅Π³ΠΎ Π±ΡΠ» RTT Π² 250 ΠΌΡ, ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Wi-Fi 400 ΠΠ±ΠΈΡ/Ρ Π² ΠΊΠ°ΠΌΠΏΡΡΠ΅ Google, ΠΎΠ½ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π² FullHD.
ΠΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΠΌΠΎΠ³ Π»ΠΈ ΠΎΠ½ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ? ΠΡΠ²Π΅Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ send/recv buffer Π½Π° Π½Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ .
Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ Π½Π°Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Ρ acknowledgement, ΡΠΎ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅, Ρ ΡΠ°Π½ΡΡΡΡ Π² Π±ΡΡΠ΅ΡΠ΅. ΠΡΠ»ΠΈ send buffer ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ 128 ΠΠ±, ΡΠΎ ΡΡΠΈ 128 ΠΠ± ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π·Π° RTT, ΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΡ Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ Π² 400 ΠΠ±ΠΈΡ/Ρ ΠΎΡΡΠ°Π»ΠΎΡΡ 4 ΠΠ±ΠΈΡ/Ρ. ΠΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π² FullHD.
Π’ΠΎΠ³Π΄Π° Ρ ΠΏΠΎΡΡΠ½ΠΈΠ» ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π», ΠΊΠ°ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ΄Π°ΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π²ΠΈΠ΄Π΅ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΡΠ΅ΡΠ°. Π‘ΡΠ°Π·Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΡΡΡ, ΡΡΠΎ recv buffer ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π»ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Ρ.Π΅. ΡΠΎ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ» ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠ³ ΠΏΡΠΈΠ½ΡΡΡ.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠ΅ΡΠ΅ΠΏΡ TCP: Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠ΅ Π²ΡΡΠΎΠΊΠΎΡΠΊΠΎΡΠΎΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π±ΡΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.
ΠΠ°ΠΆΠ΅ΡΡΡ, Π²ΡΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ fast.com, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠ΅ΡΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Netflix. ΠΠ· ΠΎΡΠΈΡΠ° Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠΊΠΎΡΠΎΡΡΡ 210 ΠΠ±ΠΈΡ/Ρ. Π ΠΏΠΎΡΠΎΠΌ ΡΠ΅ΡΠ΅Π· net shaper Π½Π°ΡΡΡΠΎΠΈΠ» ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ Π·Π°ΡΠ΅Π» Π½Π° ΡΡΠΎΡ ΡΠ°ΠΉΡ Π΅ΡΠ΅ ΡΠ°Π·. ΠΠ°Π³ΠΈΡ β Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» 4 ΠΠ±ΠΈΡ/Ρ ΡΠΎΠ²Π½ΠΎ.
ΠΠ°ΠΊ Ρ Π½ΠΈ ΠΊΡΡΡΠΈΠ», Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΎΡ Netflix Π΄ΠΎΠ±ΠΈΡΡΡΡ Π±ΡΡΠ΅ΡΠ° Π±ΠΎΠ»ΡΡΠ΅ 128 ΠΠ±Π°ΠΉΡ.
Π Π°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±ΡΡΠ΅ΡΠ°, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ On-the-fly packets.
ΠΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠΈ:
ΠΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² On-the-fly ΡΠ°Π²Π½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±ΡΡΠ΅ΡΠ°, ΡΠΎ ΠΎΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΡ Π³ΠΎΠ»ΠΎΠ΄Π°Π΅Ρ, Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ β ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΡΠ΅Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΡΡ Π°Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°. Π§Π΅ΠΌ ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ?
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² ΡΡΠΎ ΠΆΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ API, ΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½Π°Ρ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π²Π»Π΅Π·Π»Π° Π² Π±ΡΡΠ΅Ρ, Π° ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ Π·Π°ΠΏΠΈΡ Π½ΡΡΡ Π΅ΡΠ΅ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΉ API, ΡΠΎ Π±ΡΡΠ΅Ρ ΡΠ°ΡΠΏΡΡ Π°Π΅Ρ. ΠΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ ΠΆΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΡΠΉΠ΄Π΅Ρ.
ΠΡΠΎΡΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΡΠ΅ΡΠ°. Π‘Π΅ΠΉΡΠ°Ρ ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ.
ΠΡΠ»ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π±ΡΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΡΠΊΠΎΡΡΠ΅ΡΡΡ, ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° ΡΠ°ΡΡΠ΅Ρ, Π²ΡΠΎΠ΄Π΅ Π±Ρ Π²ΡΠ΅ Π·Π΄ΠΎΡΠΎΠ²ΠΎ.
ΠΠΎ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡΠ»ΠΈ Π±ΡΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΡΡ, Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ. ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°. ΠΡΠ»ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄Π°Π΅Ρ, ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎ ΡΠ°ΠΌΠΎΠ΅ ΡΠ°ΡΠΏΡΡ Π°Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°. ΠΡΡΠ΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ Π²Π΅ΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΡΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ.
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΡΠ²ΠΎΠΉ UDP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ β Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±ΡΡΠ΅ΡΡ.
ΠΡΠ»ΠΈ TCP Π² ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ, ΠΈ Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎ Π² self-made ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΏΠ΅ΡΠ΅Π΄, ΡΡΠ°Π·Ρ ΠΆΠ΅ Π·Π° On-the-fly packets.
Π Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ΄Π΅Ρ cancel, ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΡΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Π°, Π΅ΠΌΡ Π½ΡΠΆΠ½Ρ API Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ½ ΠΏΡΠΎΠ»ΠΈΡΡΠ°Π» ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π°Π»ΡΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΅ ΡΡΠΎ Π²ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½ΡΠΆΠ½ΠΎΠ΅.
ΠΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ? ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΎΠΉ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ acknowledgements, Π½ΡΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ sequence_id ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². Sequence_id ΠΌΡ Π²ΡΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ on-the-fly packets, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ΄Π°Π΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π² Π±ΡΡΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°ΡΡ ΠΊΠ°ΠΊ Ρ ΠΎΡΠΈΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π΅ ΡΡΠ»ΠΈ.
ΠΡΠ²ΠΎΠ΄: Π² TCP Π±ΡΡΠ΅Ρ Π½Π°Π΄ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΠΏΠΎΠΉΠΌΠ°ΡΡ Π±Π°Π»Π°Π½Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΏΠΈΡΠ°ΡΡΡΡ Π² ΡΠ΅ΡΡ ΠΈ Π½Π΅ ΡΠ°Π·Π΄ΡΠ²Π°ΡΡ Π±ΡΡΠ΅Ρ. ΠΠ»Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ UDP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ β ΡΡΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ.
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ΅ΡΠΈ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ
ΠΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, ΡΠ΅ΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΡ-ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, Π² Π½Π΅ΠΉ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ packet loss. ΠΠ»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ. Π§Π°ΡΡΡ ΠΈΠ· ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π΅ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ retransmit ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ, Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ acknowledgement. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π· Retransmit timeout (RTO) ΡΠ°Π²Π½ΠΎΠΌΡ RTT ΠΏΠ»ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π½Π΅Ρ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ.
ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ TCP, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ 5% ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π° ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠΈ ΡΠ°Π²Π½Π° 50%.
ΠΡΠΈ retransmit, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΡΡΠ»Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΏΡΠΈΡΠΈΠ½Π°Ρ , Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Congestion control.
Congestion control
ΠΠ³ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΏΡΡΠ°ΡΡ Ρ flow control, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ ΠΎΠ±Π°.
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΡΡ, ΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π²Π΅ΡΠΎΡΡΠ½Π° ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ: ΠΏΠΎΡΡΠ»Π°Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π΅ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ, ΠΏΠΎΡΡΠ»Π°Π΅ΡΠ΅ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΈ Π²ΡΠ΅ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΡΡΡ ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ. ΠΠ° ΡΠΎ ΡΡΠΎΠ±Ρ Π»ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΎΡΡΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ congestion control.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ TCP window.
ΠΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ· flow control ΠΈ congestion control, ΡΠΎ Π΅ΡΡΡ ΡΠ²Π½ΠΎ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΠΈ, ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠΎ ΠΎΠΊΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΡΠΆΠ°Π΅ΡΡΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π·Π³ΠΎΠ½ΡΡΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΠ°ΠΊ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅ΡΡ?
ΠΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΡΠΌΠ½ΡΠΉ, ΠΎΠ½ Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ, ΠΈ ΡΡΠ°Π·Ρ Π΄ΡΠΎΠΏΠ°Π΅Ρ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΠΊΠ΅ΡΠΎΠ²: ΠΎΠ½ Π²ΡΠ΄Π°Π΅Ρ ΡΠΈΠΊΠ΅Ρ Π½Π° ΠΎΡΠΏΡΠ°Π²ΠΊΡ, Π΅ΡΠ»ΠΈ ΠΊΠ°Π½Π°Π» ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡΡ ΠΈ Ρ.Π΄. Π‘ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π΄ΡΠΎΠΏΠ°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΡΡΡ ΡΠ°Π½ΡΡΠ΅. Π’ΠΎΠ³Π΄Π° ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ congestion control, ΡΡ Π»ΠΎΠΏΡΠ²Π°Π΅Ρ TCP window, Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ ΠΏΠ°Π΄Π°Π΅Ρ, ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π’Π°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΡΠ°ΡΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ congestion control, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΠ΅ΡΡ β ΡΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΡΠ²Π΅ΡΡ Ρ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ Π»ΡΠ±ΠΎΠΉ packet loss β ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π°. Π£ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠΈ ΠΊΠ°ΠΊ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π² Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠ΅ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½Π°Ρ.
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ TCP ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΡΡ, Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π»ΡΡ, ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ congestion control ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°Π» ΡΠΎΠ»ΡΠΊΠΎ loss-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ congestion control Π½Π° loss delay, ΡΠΎ Π΅ΡΡΡ ΠΈ Π½Π° ΠΏΠΎΡΠ΅ΡΠΈ, ΠΈ Π½Π° Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ.
BBR Congestion Control
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Cubic ΠΈ BBR ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ feedback.
ΠΠ° ΡΡ Π΅ΠΌΠ΅ ΡΠ²Π΅ΡΡ Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΊΠΎΠΏΠΈΡΡΡΡ β ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ acknowledgement ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π²ΡΡ Π΄ΠΎΠ»ΡΡΠ΅ ΠΈ Π΄ΠΎΠ»ΡΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅:
BBR Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΡΡΠΏΡΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ round-trip, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Π±ΡΡΠ΅Ρ Π·Π°Π±ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ.
Cubic ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎ β ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π±ΡΡΠ΅Ρ, ΠΈ, ΠΊΠΎΠ³Π΄Π° Π±ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈ ΡΠ»ΡΡΠ°Π΅ΡΡΡ packet loss, ΡΠΎ cubic ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΎΠΊΠ½ΠΎ.
ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ BBR ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΅ΡΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½ΠΎ Π² ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ jitter β ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ, ΠΈΠ½ΠΎΠ³Π΄Π° Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ ΠΏΠ°ΡΠΊΠ°ΠΌΠΈ. ΠΡ ΠΈΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ, Π° ΠΎΠ½ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ. ΠΡΠ΅ Ρ ΡΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ acknowledgements ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΈ ΠΎΠ½ΠΈ ΡΠΎΠΆΠ΅ ΠΊΠ°ΠΊ-ΡΠΎ Β«jitterβΡΡΡΡΒ».
Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΎΠ±Π΅ΡΠ°Π», ΡΡΠΎ Π²ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠΎΠ³Π°ΡΡ ΡΡΠΊΠ°ΠΌΠΈ, ΡΠΎ ΠΏΠΈΠ½Π³ΡΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΡ HighLoad++, ΡΠΌΠΎΡΡΠΈΠΌ ping ΠΈ ΡΡΠΈΡΠ°Π΅ΠΌ jitter ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ.
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ, ΡΡΠ΅Π΄Π½ΠΈΠΉ jitter ΠΏΠΎΡΡΠ΄ΠΊΠ° 50 ΠΌΡ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, BBR ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠΈΠ±ΠΈΡΡΡΡ.
BBR Ρ ΠΎΡΠΎΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ°Π΅Ρ: ΡΠ΅Π°Π»ΡΠ½ΡΠΉ congestion loss, ΠΏΠΎΡΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² Π²ΠΈΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ², ΠΈ random loss ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ ΠΎΠΉ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ jitter. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΅ΠΌΡ ΠΏΠΎΠΌΠΎΡΡ?
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Congestion control Π»ΡΡΡΠ΅
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ TCP Π² acknowledgement Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π² Π½Π΅ΠΉ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΎΠ½ Π²ΠΈΠ΄Π΅Π». ΠΡΡΡ Π΅ΡΠ΅ selective acknowledgement, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΡΠ»ΠΈ. ΠΠΎ ΠΈ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π΄ΡΡΡ acknowledgement, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π° β Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½ΠΎ ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΈΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ. Π’ΠΎ Π΅ΡΡΡ, ΠΏΠΎ ΡΡΡΠΈ, Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠΎΠ±ΡΠ°ΡΡ jitter ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΠΎΡΠ΅ΠΌΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π΄ΡΠ²Π°ΡΡ acknowledgement? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ½ΠΎ Ρ 3G ΠΈΠ»ΠΈ LTE 70% ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ 30% β Π½Π° upload. ΠΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ: upload β download, upload β download, ΠΈ Π²Ρ Π½Π° ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΠ΅ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ³ΡΡΠΆΠ°Π΅ΡΠ΅, ΡΠΎ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΡΡΠ°ΠΈΠ²Π°Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ acknowledgement, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ acknowledgement ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ jitter Π½Π° ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΈ jitter Π½Π° ΠΏΡΠΈΠ΅ΠΌ, ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π’ΠΎΠ³Π΄Π° ΠΌΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ, ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» congestion loss, Π° ΠΊΠΎΠ³Π΄Π° random loss. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ jitter Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΠΊΠ½ΠΎ.
ΠΠ°ΠΊΠΎΠΉ Congestion control Π²ΡΠ±ΡΠ°ΡΡ
ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ β Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°: Π²ΠΈΠ΄Π΅ΠΎ, API, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. Π Π΅ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, ΠΊΠ°ΠΊΠΈΠ΅ congestion control Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ.
BBR Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ. Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Cubic β ΠΎΠ½ Ρ ΠΎΡΠΎΡ Π΄Π»Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ. ΠΠΎ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ.
ΠΡΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π·Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² congestion control. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΡΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ congestion control.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΡΡΡΠ΅ΠΊΡ ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ° BBR Π½Π° Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠ°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°. Google Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Ρ Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 10% ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΏΠ»Π΅Π΅ΡΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ BBR.
ΠΠ΄ΠΎΡΠΎΠ²ΠΎ, Π½ΠΎ ΡΡΠΎ Ρ Π½Π°Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ ?
ΠΠ»ΠΈΠ΅Π½ΡΡ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π·Π°ΡΠΎΡΠΌΠΎΠΆΠ΅Π½Π½ΡΠ΅, Ρ Π½ΠΈΡ Ρ Π²ΡΠ΅Ρ Cubic, ΠΈ Π²Ρ Π½Π° ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΡΡ. ΠΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ.
ΠΡΠ²ΠΎΠ΄Ρ ΠΏΡΠΎ congestion control:
ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ UDP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Ρ Π²Π°Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ congestion control.
ΠΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·Π°ΡΠΈΡ
ΠΡΠΎ Π½ΠΎΠ²ΡΠΉ ΡΡΠ΅Π½Π΄, Π²ΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΈΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ. ΠΠ°ΠΊΠΈΠ΅ Π·Π΄Π΅ΡΡ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? ΠΡΠ»ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ TCP, Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π²ΡΠ΅ (ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅) Π·Π½Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ head-of-line blocking.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ΄Π½ΠΎ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΡ ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π² ΡΠ΅ΡΡ, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠΏΠ°Π». TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡΠΈΡΡ, ΠΎΠ½ Π·Π°ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡΠΈΡΡΡ Π·Π° Π²ΡΠ΅ΠΌΡ, Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΠΊ RTT ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅. Π ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ, Ρ ΠΎΡΡ Π² TCP-Π±ΡΡΠ΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°Π±ΡΠ°ΡΡ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅ΡΡ TCP, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ HTTP 2.0, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π² ΠΏΠ»ΠΎΡ ΠΈΡ ΡΠ΅ΡΡΡ .
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΡΡΠΎ ΡΠ°ΡΠΏΡΡ Π°Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°.
ΠΠΎΠ³Π΄Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π±ΡΡΠ΅Ρ. ΠΡ Π΅Π³ΠΎ Π΄ΠΎΠ»Π³ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ API-Π·Π°ΠΏΡΠΎΡ, ΠΈ ΠΎΠ½ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ TCP-ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·Π°ΡΠΈΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π΅ΡΡΡ head-of-Line blocking, Π° ΠΊΠΎΠ³Π΄Π° Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π±ΠΈΡΡΠ΅ΠΉΡ (Π° Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΎ), ΡΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΠΊΡ bufferbloat. Π ΠΈΡΠΎΠ³Π΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΈ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·Π°ΡΠΈΡ, Π½ΠΈ server push, Π½ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π°Ρ ΠΈΠ»ΠΈ Π·Π°Π±ΠΈΡΡ Π±ΡΡΠ΅ΡΡ, ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΡΠΎ-ΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ.
ΠΡΠ»ΠΈ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ²ΠΎΠ΅ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ΄Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΡΠΎ Π½Π΅ΡΡΡΠ΄Π½ΠΎ, ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π² Π±ΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ. On-the-fly β ΡΠΎ, ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ, Π½Π΅ ΡΡΠΎΠ³Π°Π΅ΠΌ, Π° ΡΠΎ, ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π²Π»ΡΡΡ. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ ΡΠ°ΠΊ.
ΠΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΡΠ°Π·Π±ΠΈΠ»ΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΏΡΠΈΡΠ΅Π» ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΉ API-Π·Π°ΠΏΡΠΎΡ: Π΅Π³ΠΎ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈ, Π΄ΠΎΡΠ»Π°Π»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠ°Π» ΠΏΠ°ΠΊΠ΅Ρ, ΠΌΡ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ API-Π·Π°ΠΏΡΠΎΡ, ΠΎΠ½ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΉ ΠΈ Π±ΡΡΡΡΠΎ Π΄ΠΎΠΉΠ΄Π΅Ρ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π TCP ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΡΡΠΈΠΌΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΊΠΎΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΡ ΠΏΡΠΎΡΡΠ°ΠΈΠ²Π°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄ΠΎ API, ΠΏΠΎΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΡΠΎΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Ρ.Π΄. Π’Π°ΠΊ Π²ΡΠ΅Π³Π΄Π° ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ β ΡΠ΅ΡΡ ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΈΠΊΠ°ΠΌΠΈ.
Π§ΡΠΎΠ±Ρ Ρ ΡΡΠΈΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
ΠΠ΅ΡΠ²ΠΎΠ΅ β ΡΡΠΎ resolve DNS β Ρ ΡΡΠΈΠΌ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ. ΠΠ°Π»ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°. Π‘Π°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅, ΡΡΠΎ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅Ρ, ΠΎΡΠ²Π΅ΡΠ°Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ, ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
Π‘Π΅ΠΉΡΠ°Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ latency numbers Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ, Π΄Π»Ρ Π΄ΠΈΡΠΊΠΎΠ², Π΅ΡΠ΅ Π΄Π»Ρ ΡΠ΅Π³ΠΎ-ΡΠΎ. ΠΠΎΠΆΠ½ΠΎ ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠΈ 3G, 4G ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΉΠΌΠ΅Ρ Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎ TCP Ρ TLS.
Π ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ! ΠΠ°ΠΆΠ΅ Π½Π° 4G Π΄ΠΎ 700 ΠΌΡ βΡΠΎΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎ TCP Π½Π΅ ΠΌΠΎΠ³ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΡΡ.
Π ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ TCP 3-way handshake. ΠΠ΅Π»Π°Π΅ΡΠ΅ syn, syn + ack, ΠΏΠΎΠ΄ΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡ (ΡΠ»Π΅Π²Π° Π½Π° ΡΡ Π΅ΠΌΠ΅).
ΠΡΡΡ TCP Fast Open (ΡΠΏΡΠ°Π²Π°). ΠΡΠ»ΠΈ Π²Ρ Ρ ΡΡΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠΆΠ΅ Ρ ΡΠ½Π΄ΡΠ΅ΠΉΠΊΠΈΠ»ΠΈΡΡ, Π΅ΡΡΡ cookie, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ Π·Π° zero-RTT ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ Π·Π°ΠΏΡΠΎΡ. Π§ΡΠΎΠ±Ρ ΡΡΠΈΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ socket, ΡΠ΄Π΅Π»Π°ΡΡ sendto() ΠΏΠ΅ΡΠ²ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ FASTOPEN.
Nginx Π²ΡΠ΅ ΡΡΠΎ ΡΠΌΠ΅Π΅Ρ β ΠΏΡΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠΈΡΠ΅, Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ (ΠΈΠ»ΠΈ Π² ΡΠ΄ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΠ΅).
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ TLS β ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ.
Π― ΠΎΠΏΡΡΡ Π½Π°ΡΡΡΠΎΠΈΠ» net shaper Π½Π° 200 ΠΌΡ, ΠΏΠΎΠΏΠΈΠ½Π³ΠΎΠ²Π°Π» google.com ΠΈ ΡΠ²ΠΈΠ΄Π΅Π», ΡΡΠΎ RTT = 220 β ΠΌΠΎΠΉ RTT + RTT shaper. ΠΠΎΡΠΎΠΌ ΡΠ΄Π΅Π»Π°Π» Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ HTTP ΠΈ HTTPS. ΠΡΡΡΠ½ΠΈΠ», ΡΡΠΎ ΠΏΠΎ HTTP ΠΌΠΎΠΆΠ½ΠΎ Π·Π° Π²ΡΠ΅ΠΌΡ RTT ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ, ΡΠΎ Π΅ΡΡΡ TFO ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Google Ρ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ»Ρ HTTPS ΡΡΠΎ Π·Π°Π½ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ TLS, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π° Π½Π°Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ TLS 1.3. ΠΠ³ΠΎ ΡΠΎΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² nginx.
ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΌ Π½Π° Π½Π°ΡΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
Π§ΡΠΎ ΡΠ°ΠΌ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²
TCP Fast Open β ΠΊΠ»Π°ΡΡΠ½Π°Ρ ΡΡΡΠΊΠ°. ΠΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅.
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡΠΎΠΉΠ΄Π΅Ρ Π±ΡΡΡΡΠ΅Π΅ Π½Π° 10%. ΠΠΎ Π½Π° Android 8.1.0 (Ρ ΡΠΌΠΎΡΡΠ΅Π» ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°) Π½ΠΈ Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ TFO. ΠΠ° Android 9 Ρ Π²ΠΈΠ΄Π΅Π» TFO Π½Π° ΡΠΌΡΠ»ΡΡΠΎΡΠ΅, Π½ΠΎ Π½Π΅ Π½Π΅ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ . Π‘ iOS ΡΡΡΡ ΠΏΠΎΠ»ΡΡΡΠ΅. ΠΠΎΡ ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ:
ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ? TCP Fast Open ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π΅ΡΠ΅ Π² 2014 Π³ΠΎΠ΄Ρ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΡΠΆΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Linux ΠΈ Π²ΡΠ΅ Π·Π΄ΠΎΡΠΎΠ²ΠΎ. ΠΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΡΠΎ TFO handshake ΡΡΠ°Π»ΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΡΡ ΡΠ°Π·Π²Π°Π»ΠΈΠ²Π°ΡΡΡΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ (ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°) ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ TCP, Π΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΈ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ TFO handshake. ΠΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΡΠ»ΠΎ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π΅Π³ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΌΠ΅ΡΠ΅, Android.
Π‘ TLS 1.3, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΌ ΠΎΠ±Π΅ΡΠ°Π΅Ρ zero-RTT ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π΅ΡΠ΅ Π»ΡΡΡΠ΅. Π― Π½Π΅ Π½Π°ΡΠ΅Π» ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° Android, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±Ρ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π». ΠΠΎΡΡΠΎΠΌΡ Facebook ΡΠ΄Π΅Π»Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Fizz. ΠΠ°ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄ ΠΎΠ½Π° ΡΡΠ°Π»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ΅, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ°ΡΠΈΡΡ Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TLS 1.3. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΈΡΡ Ρ ΡΠΎΠ±ΠΎΠΉ, Π² ΡΠ΄ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ.
ΠΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠΈΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ Android. V 9.x ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ β ΡΠ°ΠΌ, Π³Π΄Π΅ TFO ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ, Π° TLS1.3 ΠΏΠΎΠΊΠ° Π½Π΅Ρ Π½ΠΈΠ³Π΄Π΅.
ΠΡΠ²ΠΎΠ΄Ρ ΠΏΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ:
ΠΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ 97% ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΠΊΠ»ΡΡ, ΡΠΎ Π΅ΡΡΡ 97% ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π·Π° zero RTT, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ 3% Π½ΠΎΠ²ΡΡ . ΠΠ»ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
TCP ΡΡΠΈΠΌ ΠΏΠΎΡ Π²Π°ΡΡΠ°ΡΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ Π² 5% ΡΠ»ΡΡΠ°Π΅Π², Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π²Π°ΠΌ ΡΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ zero-RTT, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΠ΅ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠΈΠ²Π°ΡΡ.
Π‘ΠΌΠ΅Π½Π° IP-Π°Π΄ΡΠ΅ΡΠ°
Π§Π°ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΡ ΠΎΠ΄ΠΈΡΠ΅ ΠΈΠ· Π΄ΠΎΠΌΠ°, Π²Π°Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Ρ Wi-Fi Π½Π° 4G.
TCP ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ: ΡΠΌΠ΅Π½ΠΈΠ»ΡΡ IP-Π°Π΄ΡΠ΅Ρ β ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π²Π°Π»ΠΈΠ»ΠΎΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ UDP ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π²Π½Π΅Π΄ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ connection ID (CUID), Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠΈΡΠ΅Π» Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ IP-Π°Π΄ΡΠ΅ΡΠ°.
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, Π²ΡΠ΅ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ, ΠΈ Ρ.Π΄. ΠΠΎ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° ΡΡΠΎΡ Π°Π΄ΡΠ΅Ρ, ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΡΠΈΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
Π TCP IP Migration β ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ Π²Π΅ΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ UDP, ΠΈ ΠΏΡΠΈΡΠ»ΠΈ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΏΠΎΠΊΠΎΠ»Π΄ΠΎΠ²Π°ΡΡ, Π²ΠΊΠ»ΡΡΠΈΡΡ CID Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΠΈ Π²Π°ΠΌ ΡΠ΄Π°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ IP Π°Π΄ΡΠ΅ΡΠ°.
Connection reuse
ΠΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ β ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΠ³Π°Ρ Π²Π΅ΡΡ.
ΠΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΅ΡΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ.
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠΌΠ½ΡΡ (Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΡΠΌ. ΡΡΠ΄Π°), ΡΡΠΎ Π½Π΅ Ρ Π²ΡΠ΅Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°, Π° Π΅ΡΡΡ NAT, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌ ΡΠΎΡΡΠ΅ΡΠ΅ Ρ ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ mapping. ΠΠ»Ρ TCP ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ°Π½ΠΈΡΡ, Π° Π΄Π»Ρ UDP β Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ. NAT ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ timeout, Π΅ΡΠ»ΠΈ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎΡ timeout, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π·Π° 15-30 ΡΠ΅ΠΊΡΠ½Π΄ Π±ΠΎΠ»Π΅Π΅ 50% ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π½Π°ΡΠ½ΡΡ ΡΠ°Π·ΡΡΡΠ°ΡΡΡΡ.
ΠΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ β ΡΠ΄Π΅Π»Π°Π΅ΠΌ ping-pong ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎ 15 Ρ. ΠΠ»Ρ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈ ΡΠ°Π·ΡΡΡΠΈΠ»ΠΎΡΡ, Π΅ΡΡΡ IP Migration, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡ Π½Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ΅.
Packet pacing
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ Π²Π΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ UDP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ».
ΠΡΠ»ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, ΡΠΎ ΡΠ΅ΠΌ Π΄ΠΎΠ»ΡΡΠ΅ Π²Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΠΏΠΎΡΡΠ»Π°Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΡΠ΅ΡΡ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ packet loss. ΠΡΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΠΈΡΡ, ΡΠΎ packet loss Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΆΠ΅.
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠ΅ΠΎΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΠΌΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠ°.
ΠΡΡΡ 3 ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ initial window β 10 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Ρ Π²Π°ΡΠΈΡΡ bandwidth. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΈΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ, ΡΠΎ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠ°Π²ΠΎΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΡΠ΅ΠΌΠΏ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ , ΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠΎΠ², ΡΡΠ°Π½Π΅Ρ Π½ΠΈΠΆΠ΅. ΠΡΠΎ Π½Π΅ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ, Π½ΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊ.
ΠΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΠΆΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ (Π΄Π΅Π»Π°ΡΡ pacing):
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ UDP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΎ MTU. MTU β ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΡΠ°Π²ΠΈΡΡ.
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 1500. ΠΡΠ»ΠΈ Π½Π° ΠΏΡΡΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ MTU, ΠΎΠ½ Π΅Π³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ, ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ ΠΎΠ±Π°, ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠ΅ ΡΡΠΎ ΡΠ΅ΡΡΠ°ΡΠΌΠΈΡΠΈΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π² TCP Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ MTU β PMTU.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ ΡΠΌΠΎΡΡΠΈΡ MTU ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π΄ΡΡΠ³ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, Π²ΡΠ΅ Π·Π½Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π½ΠΈΡ MTU Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. ΠΠΎΡΠΎΠΌ ΡΠ»Π°Π³ΠΎΠΌ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ MTU. ΠΡΠ»ΠΈ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΡΠΎ-ΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΠΈ ΠΏΠΎΠΉΠΌΠ΅Ρ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ MTU ΠΌΠ΅Π½ΡΡΠ΅, ΡΠΎ ΠΏΠΎ ICMP ΡΠΎΠΎΠ±ΡΠΈΡ: Β«ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠΏΠ°Π», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½ΡΠΆΠ½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ» ΠΈ ΡΠΊΠ°ΠΆΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ MTU. ΠΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΎΡΠΏΡΠ°Π²ΠΊΡ. Π Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ overhead β ΡΡΠΎ RTT/2. ΠΡΠΎ Π² TCP.
ΠΡΠ»ΠΈ Π² UDP Π²Π°ΠΌ Π½Π΅ ΠΎΡ ΠΎΡΠ° Π·Π°ΠΌΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Ρ ICMP, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π’ΠΎ Π΅ΡΡΡ ΠΏΠΎΡΡΠ»Π°ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ β ΠΏΡΡΡΡ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΠ΅ΡΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π±ΠΈΠ½Π°ΡΠ½ΡΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ΄Π±Π΅ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ MTU, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΏΠΎΡΠΎΠΌ Π²ΡΠΉΠ΄Π΅ΠΌ. ΠΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Π½Π°ΡΠ°Π»Π΅ MTU Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊ Π±Ρ ΠΏΡΠΎΠ³ΡΠ΅Π²Π°ΡΡΡΡ.
ΠΠΎΠ»Π΅Π΅ Ρ ΠΈΡΡΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ MTU ΠΏΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ.
Π‘ΠΎ Π²ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Ρ Π·Π°ΠΏΡΠ΅ΡΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅Ρ, ΠΎΠ½ Π΄ΡΠΎΠΏΠ½Π΅ΡΡΡ, Π° ΡΠ°ΠΌΡΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ MTU Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡΡ ΡΡΠΎΠΏΡΠΎΡΠ΅Π½ΡΠ½ΠΎ. ΠΠΎ Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ packet loss, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ΅ Π΅ΡΡΡ Π΄Π²Π΅ Π³ΠΎΡΠΊΠΈ:
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°ΠΊ: ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΠΆΠ΅ΠΌ 1-2% Π½Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΏΡΡΡΡ ΠΎΠ½ΠΈ ΠΆΠΈΠ²ΡΡ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ . ΠΠ°ΡΠΎ ΠΌΡ ΡΡΠ°Π·Ρ Π±ΡΠ΄Π΅ΠΌ ΡΡΠ°ΡΡΠΎΠ²Π°ΡΡ Ρ ΡΠΎΠ³ΠΎ, Ρ ΡΠ΅Π³ΠΎ Π½Π°Π΄ΠΎ β ΡΡΠΎ Ρ 1350.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ (SACK, NACK, FEC)
ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠΏΠ°Π» (Π΄Π»Ρ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ), Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ.
Π ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡ), Π΅ΡΡΡ ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡ ΡΠ΅ΡΠ΅Π· Retransmit Time Out (RTO). ΠΡΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠΏΠ°Π», ΠΆΠ΄Π΅ΠΌ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ Fast retransmit. ΠΡΠΎ Π²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ TCP, Π½ΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² UDP.
ΠΠΎΠ³Π΄Π° ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠΏΠ°Π», ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΎΡΡΠ»Π°ΡΡ β Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄ΡΡΠ³ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². Π ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ Ρ ΠΈΡΡΡΠΉ acknowledgement, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π²Π΅Π½ Π½ΠΎΠΌΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° + 1, ΠΈ Π²ΡΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π°Π³ duplicate ack. ΠΠ½ ΡΠ°ΠΊ ΡΡΠΈ dup ack ΠΏΠΎΡΡΠ»Π°Π΅Ρ, ΠΈ Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠΏΠ°Π» ΠΈ ΠΏΠΎΡΡΠ»Π°Π΅ΠΌ Π΅Π³ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ.
Π§ΡΠΎ Π΅ΡΠ΅ Ρ ΠΎΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠ΅Π³ΠΎ Π½Π΅Ρ Π² TCP ΠΈ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π΄Π΅Π»Π°ΡΡ Π² UDP β ΡΡΠΎ Forward Error Correction.
ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΏΠ°ΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡΡ Π½Π°Π±ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ XOR-ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΠΏΠΎΡΠΈΠ½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡΠΎΠ² ΡΡΠ°Π·Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠΎ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠ°Π΄Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· parity protection, Reed-Solomon ΠΈ Ρ.Π΄.
ΠΡ ΡΠ°ΠΊ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ, Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ ΠΏΠ°ΡΠΊΠ°ΠΌΠΈ.
Π‘ΡΠ΅Π΄Π½ΠΈΠΉ packet gap ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ 6. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΉ packet gap β Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΈ ΡΡΠΎΠΌ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠΈΠΊ Π½Π° 11 β Π½Π΅ Π·Π½Π°Ρ ΠΏΠΎΡΠ΅ΠΌΡ, Π½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠ°ΡΠΊΠ°ΠΌΠΈ ΠΏΠΎ 11 ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ packet gap ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Google ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΆΠ΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π», Π²ΡΠ΅ Π³ΡΠ΅Π·ΡΡ FEC, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½ΠΈ Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
ΠΡΡΡ Π΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΠ³Π΄Π° FEC ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠ΅ΡΡΠ°Π½ΡΠΌΠΈΡΠ° ΡΠ΅ΡΠ΅Π· Retransmit Time Out, Fast Retransmit, Π΅ΡΡΡ Π΅ΡΠ΅ tail loss probe. ΠΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΊΠ°, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ»Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΈ Ρ Π²ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠΏΠ°Π». Π’ΠΎ Π΅ΡΡΡ Π²Ρ ΠΏΠΎΡΠ»Π°Π»ΠΈ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΡΠ»Π°Π»ΠΈ ΠΏΡΡΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ β ΠΎΠ½ Π΄ΠΎΡΠ΅Π». ΠΠΎΡΠΎΠΌ Π½Π°ΡΠ°Π»ΠΈ ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ»Π°ΡΡ. ΠΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ, ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ, ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ acknowledgement ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΡΡΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, Π΄ΠΎΡΠ»ΠΈ Π»ΠΈ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅, Π²Ρ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ TLP (tail loss probe), ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ Π»ΠΈ ΠΊΠΎΠ½Π΅Ρ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»Π°ΡΡ, ΠΈ Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ»Π΅ΡΠ΅, ΡΠΎ Fast Retransmit Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΠΏΠΎΡΠΈΠ½ΠΈΡΡ, Π΄Π΅Π»Π°ΠΉΡΠ΅ TLP.
Π TLP ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ FEC. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΈ, ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΠΎ Π½ΠΈΠΌ parity ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ TLP Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ parity-ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ.
ΠΡΠΎ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΠ½ΠΎ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
ΠΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ, ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ 98% ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΈΠ½ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· Fast Retransmit. ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΠ½ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· Retransmit Time Out, ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ 1% β ΡΠ΅ΡΠ΅Π· TLP. ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠΈΠ½ΠΈΡΠ΅ FEC, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ 0,5%.
TCP Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ FEC. Π UDP Π½Π΅ ΡΡΡΠ΄Π½ΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π½ΠΎ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ TCP Ρ Π²Π°ΡΠ°Π΅Ρ.
Performance
ΠΠ΅Π»ΡΠ·Ρ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ Π·Π°Π΄Π΅ΡΡ performance, ΡΡΠ°Π²Π½ΠΈΠ²Π°Ρ TCP Ρ UDP.
TCP β ΠΎΡΠ΅Π½Ρ ΡΡΠ°ΡΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, LSO (large segment offload) ΠΈ zerocopy. Π‘Π΅ΠΉΡΠ°Ρ Π΄Π»Ρ UDP ΡΡΠΎ Π²ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ UDP Π²ΡΠ΅Π³ΠΎ 20% ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ TCP Ρ ΡΠ΅Ρ ΠΆΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΠΎ ΡΠΆΠ΅ Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ (UDP GSO, zerocopy), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π² Linux ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ zerocopy ΠΈ LSO Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΡΠ΅ΡΡΡ pacing.
Time to market ΠΈΠ»ΠΈ ΡΡΠΎ ΡΠ±ΠΈΠ»ΠΎ TCP
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΡΠΈ, ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² TCP: TLP, TFO, Π½ΠΎΠ²ΡΠ΅ Congestion control, RACK, BBR ΠΈ ΠΏΡΠΎΡΠ΅Π΅.
ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ Π½Π΅ Π²Π½Π΅Π΄ΡΡΡΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ TCP, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΡΡ, ΠΎΠΊΠΎΡΡΠ΅Π½Π΅Π». ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π·Π°Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ Π² TCP ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ ΠΌΠ΅Π½ΡΡΡ.
Π ΡΠΎΠΌΡ ΠΆΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π΄ΠΎΠ»Π³ΠΎ, ΠΈ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ²Π΅ΠΆΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅, Π° ΡΡΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΏΠΎΡΡΠΈ Π½ΠΈΡΠ΅Π³ΠΎ.
ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π² user space, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ° Π²Ρ Π²ΡΠ΅ ΡΡΠΈ ΡΠΈΡΠΈ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΡΠ΅, ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅ ΡΠ°ΠΊΠΈΠΌ ΠΏΠ»ΠΎΡ ΠΈΠΌ.
Π‘ TCP ΡΠΈΡΠΈ ΡΠ°ΡΠΊΠ°ΡΡΠ²Π°ΡΡΡΡ Π³ΠΎΠ΄Π°ΠΌΠΈ. ΠΠ»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ UDP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π΅ΡΡΠΈΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π·Π° ΠΎΠ΄ΠΈΠ½ Π°ΠΏΠ΄Π΅ΠΉΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ version negotiation.
TCP vs self-made UDP. Final fighting
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ self-made UDP Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ
ΠΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΡΠ΅Π½Π΄.
ΠΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π° TCP ΠΈ Π½Π° UDP. ΠΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ΡΠ΅Π· net shaper, ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ REST API, Π²ΡΠΎΡΠΎΠΉ Ρ UDP. ΠΡΠΈΡΡΠΌ UDP Ρ ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΎΡ ΠΆΠ΅ REST API Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅. Π‘ΠΎΠ±ΡΠ°Π»ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π°ΡΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΠ΅ΡΡ.
ΠΠ·ΠΌΠ΅ΡΠΈΠ² ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ°Π»Ρ, ΠΌΡ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ ΠΌΡ ΡΠΌΠΎΠ³Π»ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Π° API Π½Π° 10%, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π½Π° 7%. User activity Π²ΡΡΠΎΡΠ»Π° Π²ΡΠ΅Π³ΠΎ-Π½Π°Π²ΡΠ΅Π³ΠΎ Π½Π° 1 %, Π½ΠΎ ΠΌΡ Π½Π΅ ΡΠ΄Π°Π΅ΠΌΡΡ, Π΄ΡΠΌΠ°Π΅ΠΌ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅.
ΠΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠ°ΠΌ Ρ Π½Π°Ρ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ° 10 ΠΌΠ»Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π½Π°ΡΠ΅ΠΌ self-made UDP, ΡΡΠ°ΡΠΈΠΊ Π΄ΠΎ 80 ΠΠ±ΠΈΡ/c, 6 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ 20 ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π²ΡΠ΅ ΡΡΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ.
UDP checklist
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ΅ΠΊ Π»ΠΈΡΡ:
ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ Google ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π».
ΠΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» QUIC, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Google ΠΏΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ HTTP 2.0, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅.
ΠΠΎΡΠ΅ΠΌΡ QUIC Π½Π΅ ΡΠ°ΠΊ quick
ΠΠΎΠ³Π΄Π° Π²ΡΡΠ΅Π» QUIC, ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Ρ Π΅ΠΉΡΠΈΠ½Π³Π° ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Google Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅, Π° Β«Ρ ΠΏΠΎΠΌΠ΅ΡΡΠ» Ρ ΡΠ΅Π±Ρ Π΄ΠΎΠΌΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅Β».
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΊΡΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ.
Π§ΡΠΎ ΠΆΠ΅, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΌΡ Π²ΡΠ΅ ΡΡΠΎ Π·ΡΡ Π΄Π΅Π»Π°Π»ΠΈ, Π»ΡΠ΄ΠΈ ΠΏΠΎΠΌΠ΅ΡΠΈΠ»ΠΈ Π·Π° Π½Π°Ρ? ΠΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ , ΠΈ ΠΏΠΎΠΊΠ° ΠΏΠΎΡΠ΅ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π΅ Π±ΡΠ΄ΡΡ Π΄Π΅Π»ΠΈΡΡΡΡ Π½Π° congestion loss ΠΈ random loss. ΠΡΠΆΠ½Π° ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΡΠΌΡΠ»ΡΡΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
ΠΠΎ Π΅ΡΡΡ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠ², Π³ΠΎΠ²ΠΎΡΡΡ, QUIC Π½Π΅ Π»ΡΡΡΠ΅ ΠΈ Π½Π΅ Ρ ΡΠΆΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π² ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ QUIC ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ.
ΠΡΠ΄ΡΡΠ΅Π΅
ΠΠ΅Π΄Π°Π²Π½ΠΎ Google Π½Π°Π·Π²Π°Π» Π²Π΅ΡΡΠΈΡ HTTP 2.0 ΠΏΠΎΠ²Π΅ΡΡ QUIC HTTP 3, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΡΠ°ΡΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ HTTP 2.0 ΠΌΠΎΠ³ Π±ΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ TCP ΠΈ ΠΏΠΎΠ²Π΅ΡΡ QUIC. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ½ HTTP 3.
ΠΡΠ» Π΅ΡΠ΅ Google QUIC β ΡΡΠΎ QUIC, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Chrome, ΠΈ iQUIC β ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ QUIC. Π‘ΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ QUIC ΠΏΠΎ ΡΠ°ΠΊΡΡ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΡΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ iQUIC Π½Π΅ Ρ ΡΠ½Π΄ΡΠ΅ΠΉΠΊΠ°Π»ΠΈΡΡ Ρ Google QUIC. Π‘Π΅ΠΉΡΠ°Ρ ΠΎΠ½ΠΈ ΠΎΠ±Π΅ΡΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅ΡΠΈΡΡ, ΠΈ ΡΠΊΠΎΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ.
QUIC ΠΏΠΎΠ²ΡΡΠ΄Ρ
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ Π²Π΅ΡΠΈΡΠ΅, ΡΡΠΎ TCP ΡΠΌΠ΅Ρ, ΡΠΎ Ρ Π²Π°ΠΌ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Chrome, Android, Π° ΡΠΊΠΎΡΠΎ ΠΈ iOS, ΠΈ Ρ ΠΎΠ΄ΠΈΡΠ΅ Π² google, youtube ΠΈ ΠΏΡΠΎΡΠ΅Π΅, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ QUIC ΠΈ UDP (ΠΏΡΡΡΠ»ΠΈΠ½ΠΊ).
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΡΠ΅ΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ ΡΠΎΠΆΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΌ Π΅ΡΡΡ GQUIC.
ΠΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ
Π‘ΠΊΠΎΡΠΎ Π½Π°Ρ ΠΆΠ΄ΡΡ multipath.
ΠΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΈ Wi-Fi, ΠΈ 3G, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Π° ΠΊΠ°Π½Π°Π»Π°. Multipath TCP ΡΠ΅ΠΉΡΠ°Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠΊΠΎΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ΄ΡΠ΅ Linux. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΎΠ½ Π΄ΠΎΠΉΠ΄Π΅Ρ Π½Π΅ΡΠΊΠΎΡΠΎ, Π΄ΡΠΌΠ°Ρ, Π½Π° UDP Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΡΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΏΠΎ 3 Π’Π±, ΠΌΡ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠ°ΠΊ CDN ΠΈ p2p ΡΠ°Π·Π΄Π°ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ.
Π IPv6 Π΅ΡΡΡ multicast Ρ UDP, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π²ΡΠΈΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CDN ΠΈ p2p Π² ΡΠΊΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ Π±ΡΠ΄ΡΡ Π½Π΅ Π½ΡΠΆΠ½Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π΅ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ multicast Π½Π° IPv6.
ΠΡΠ²ΠΎΠ΄Ρ
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π²Π°ΠΌ ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅:
ΠΡ Ρ Π²Π°ΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅Π΅. Π’ΠΎ, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΠ΅ΡΠ°Π΅ΠΌ ΠΌΡ ΡΠ°ΠΌΠΈ. Π₯ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QUIC β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅, Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΎΠ΅ UDP ΠΈΠ»ΠΈ ΠΎΡΡΠ°ΡΡΡΡ Π½Π° TCP β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠΉΡΠ΅ Π±ΡΠ΄ΡΡΠ΅Π΅ ΡΠ°ΠΌΠΈ.
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
ΠΠΎ 7 ΡΠ΅Π½ΡΡΠ±ΡΡ Π½Π° ΠΌΠΎΡΠΊΠΎΠ²ΡΠΊΠΈΠΉ HighLoad++ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°ΡΡ Π·Π°ΡΠ²ΠΊΡ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ, Π° ΠΊΠ°ΠΊ Π²Ρ Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΈΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ. ΠΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΆΠ΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π½Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΎΡ ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠΈΠ½ΡΡΡ Π΄ΠΎΠΊΠ»Π°Π΄Ρ ΠΎ Π½ΠΎΠ²ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π³ΡΠ°ΡΠ° Π΄ΡΡΠ·Π΅ΠΉ, ΠΎΠ± ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΊΠΎΠ² ΠΏΠΎΠ΄ Π²ΡΡΠΎΠΊΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ, Π° Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΡ ΠΎΠ΄ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ.