В релизе 0.8.12 исправлены несколько ошибок, приводивших к повреждению сообщений, некоторые из которых существовали с 2005 года. В него также входит переработка механизма контроля перегрузки router и дальнейшая оптимизация использования процессора и памяти. Мы надеемся, что эти изменения улучшат производительность сети. Рекомендуется обновиться.
Файлы доступны на странице загрузок.
ПОДРОБНОСТИ РЕЛИЗА
Этот релиз содержит несколько значительных изменений, которые должны повысить надежность и производительность сети.
Первые два изменения — это исправления серьёзных ошибок передачи UDP‑пакетов, описанных ниже. Третье изменение — исправления в декомпрессоре. Исправление этих проблем должно устранить значительный источник сбоев доставки сообщений.
Кроме того, релиз содержит переписанный механизм управления перегрузками участвующего трафика в router. Теперь он должен точнее измерять текущую пропускную способность участвующего трафика, лучше справляться со всплесками, реже сбрасывать сообщения и, если сбрасывание необходимо, сбрасывать именно те сообщения, которые следует.
Кроме того, этот релиз снижает объем обработки, которую routers выполняют для сообщений, которые они передают через tunnel. Эти сообщения не нужно полностью разбирать и проверять, поскольку шлюз просто пропускает их транзитом. Это улучшит производительность всех routers, но улучшение, вероятно, будет заметно только на routers с высоким трафиком.
Мы настроены оптимистично и считаем, что эти изменения помогут; разумеется, устранение источников повреждения сообщений несомненно поможет. Однако степень улучшения станет очевидна лишь после того, как большая часть сети обновится.
Релиз также содержит некоторые обновления светлой темы консоли router. Возможно, вам потребуется выполнить shift-reload или control-reload в вашем браузере, чтобы принудительно перезагрузить CSS.
Основные изменения
- Instead of fully parsing and validating messages received at the inbound gateway, simply pass them down the tunnel
- Don’t verify I2NP checksums in most cases, as message corruption is caught at other layers
- Don’t recalculate I2NP checksums on messages passed through unchanged
- Several NTCP pumper optimizations, to hopefully fix NTCP pumper high CPU usage on fast routers
- Rewrite participating tunnel congestion control, to drop less, more accurately measure traffic, and handle bursts better
Обновление Wrapper
Новые установки включают Wrapper (Java Service Wrapper) версии 3.5.13, который исправляет повреждение кучи при очень длинных строках журнала. См. http://wrapper.tanukisoftware.com/doc/english/release-notes.html для дополнительной информации. Пользователи пакета I2P из PPA должны были получить это обновление в последнюю неделю декабря. Если вы не используете наш пакет из PPA и хотите обновить Wrapper вручную, следуйте инструкциям на http://www.i2p2.de/manualwrapper.
Исправления ошибок
- Fix major SSU MTU bug introduced in 0.8.9. The router sometimes sent UDP packets that exceeded the maximum size that routers would accept on the receive side. This resulted in a lot of dropped packets, tunnel build problems, and connection problems. One thing that contributed to us missing the problem was that 0.8.9 was released in the middle of the huge network expansion in early October, when network performance was already deteriorating rapidly.
- Fix major SSU fragmentation bug present since 2005. UDP corrupted transmit messages when the message size was an exact multiple of the fragmentation size.
- Fix major decompression bugs present since 2005 that caused message corruption and data loss at multiple protocol layers.
- Snark doesn’t always delete directories
- Fix all character case conversion (Turkish four i problem)
- Whitelist more IRC commands
- Remove expired reseed cert
Прочее
- Speed up the inefficient GeoIP lookup
- Optimize several heavily-used utility functions
- Don’t drop the transport connection when receiving an invalid message, it isn’t necessary and could be an attack vector
- Console light theme update
- Move the complex network configuration stuff to a new console page
- Add a link to hide the news in the console
- Allow numerous additional IRC commands through the IRC filter
- Several other cleanups, optimizations, and object caches added
- New Estonian translation (thanks ajutine)
- Spanish, Swedish, Ukrainian translation updates
Контрольные суммы SHA256:
7a05b96c535f565b06aeec3b83fca6245b1159003d4e2da2149374ba0f476847 i2pinstall_0.8.12.exe
019d6018e7093650cf67fd883b0cf0f12aa2f4f0cddc5ef6a08e6147af07f142 i2psource_0.8.12.tar.bz2
a9556998b136d47b124749f426d86514e7128094308f03085b889f34bbdf8dc0 i2pupdate_0.8.12.zip
bb7be1dc9bdcc9b2db2587988325b4ea7c81e9eeb542ebcb17e0d6de29fc98d3 i2pupdate.su2
491722ef1a641512fc3bbaf825d5d1671b701e32b1298572f2820ab7fbf9851d i2pupdate.sud