ΠΠ±ΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅ I2P Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° 1.9.0 ΠΈ C++ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ i2pd 2.43.0. I2P Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠ»ΠΎΡΠ½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π° ΠΌΡΠ΅ΠΆΠ° ΠΊΠΎΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π½ΠΈΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΊΡΠ°Ρ Π΄ΠΎ ΠΊΡΠ°Ρ Π·Π° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡ ΠΈ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΠ°. ΠΡΠ΅ΠΆΠ°ΡΠ° Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ P2P ΠΈ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ (ΠΏΡΠΎΠΏΡΡΠ΅Π½ ΠΎΠΏΡΠ΅Π³) ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π±Π΅Π· ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΠ΅Π½ΡΡΠ°Π»Π½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ (ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π²ΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π°Ρ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΠΈΡΡΠΈΡΠ°Π½ΠΈ Π΅Π΄Π½ΠΎΠ½Π°ΡΠΎΡΠ½ΠΈ ΡΡΠ½Π΅Π»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΡΡΠ΅ΡΠ½ΠΈΠΊΠΎΡ ΠΈ Π²ΡΡΠ½ΠΈΡΠΈΡΠ΅).
ΠΠ° ΠΌΡΠ΅ΠΆΠ°ΡΠ° I2P, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π²Π΅Π±-Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΠΈ Π±Π»ΠΎΠ³ΠΎΠ²ΠΈ, Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ Π΅-ΠΏΠΎΡΡΠ°, Π΄Π° ΡΠ°Π·ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ P2P ΠΌΡΠ΅ΠΆΠΈ. ΠΠ° ΠΈΠ·Π³ΡΠ°Π΄Π±Π° ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΈ Π·Π° ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ (Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠΈ, ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΈ) ΠΈ P2P (ΡΠ°Π·ΠΌΠ΅Π½Π° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡΠΈ) Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ I2P. ΠΡΠ½ΠΎΠ²Π½ΠΈΠΎΡ ΠΊΠ»ΠΈΠ΅Π½Ρ I2P Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Java ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΡΠΈΡΠΎΠΊ ΠΎΠΏΡΠ΅Π³ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Windows, Linux, macOS, Solaris ΠΈΡΠ½. I2pd Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° C++ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ I2P ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅ΡΠ° BSD Π»ΠΈΡΠ΅Π½ΡΠ°.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° I2P Π³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΈΡΠ° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» βSSU2β Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° UDP ΠΈ ΠΏΠΎΠ·Π½Π°Ρ ΠΏΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ°. Π‘ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° SSU2 Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Π²ΡΡΠ½ΠΈΡΠΈΡΠ΅ ΠΈ ΡΠ΅Π»Π΅ΠΈΡΠ΅. ΠΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ βSSU2β Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ° Π·Π° Android ΠΈ ARM, ΠΊΠ°ΠΊΠΎ ΠΈ Π½Π° ΠΌΠ°Π» ΠΏΡΠΎΡΠ΅Π½Ρ Π½Π° ΡΡΡΠ΅ΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΠΎΠ΅ΠΌΠ²ΡΠΈΡΠΊΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ βSSU2β Π·Π° ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. ΠΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° SSU2 ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠ΅ Π³ΠΎ Π°ΠΆΡΡΠΈΡΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈΠΎΡ ΡΡΠ΅ΠΊ, ΡΠ΅ ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈ ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρ Π±Π°Π²Π½ΠΈΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ ElGamal (ECIES-X25519-AEAD-Ratchet ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΊΡΠ°Ρ Π΄ΠΎ ΠΊΡΠ°Ρ Π½Π°ΠΌΠ΅ΡΡΠΎ ElGamal / AES + SessionTag), ΡΠ΅ Π³ΠΈ Π½Π°ΠΌΠ°Π»ΠΈ ΡΡΠΎΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΡΠΎ SSU ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ.
ΠΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ Π·Π° ΡΠΎΡ-ΡΠΎΠΊΠ°ΠΊ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΡΠΈ Π΄Π΅ΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΡΡΠ΅ΡΠΎΡ (RI, RouterInfo) ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ Π΄ΠΎ ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ MTU/PMTU Π²ΠΎ ΡΡΠ°ΡΠΈΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» SSU. ΠΠΎ i2pd, ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΡ SSU2, ΠΊΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π·Π° Π½ΠΎΠ²ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ, Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ Π²ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½Π° ΡΠΎΡΠΌΠ°, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ°ΡΠΎΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru