Введение

Феномен, особенно в IRC, когда один сервер отключается от остальных.

В компьютерных сетях, в частности в Internet Relay Chat (IRC), netsplit – это разрыв соединения между двумя серверами. Разрыв соединения между любыми двумя серверами разделяет всю сеть на две изолированные части.

Причины и последствия

Рассмотрим график справа, который представляет компьютерную сеть. Каждая линия обозначает установленное соединение. Таким образом, сервер C подключен напрямую к A, который также подключен к B и D. Если произойдет разрыв соединения между C и A, соединение может быть разорвано. Это может произойти либо из-за ошибки сокета, либо из-за чрезмерной задержки, при которой удаленный сервер A предвидит эту ситуацию (это называется тайм-аутом). Когда соединение между A и C прерывается, пользователи, подключенные к другим серверам, которые становятся недоступными в сети, кажутся отключившимися. Например, если пользователь Sara подключена к серверу A, пользователь Bob подключен к серверу B, а пользователь Joe подключен к серверу C, и C отключается от A, то Joe покажется, что Sara и Bob отключились, а Sara и Bob, в свою очередь, увидят, что отключился Joe. Однако Joe все еще может общаться с теми, кто подключен к тому же серверу (в данном случае сервер C). Это происходит потому, что серверы, к которым они подключены, получают информацию об изменении статуса сети и соответствующим образом обновляют свои локальные данные, чтобы отразить это изменение. Впоследствии сервер C может восстановить соединение (переподключиться) к серверу (или серверам) в сети, и пользователи, которые казались отключившимися, снова подключатся; процесс отправки этой обновленной информации всем серверам в сети называется netburst (или синхронизацией).

Вопросы безопасности

Иногда пользователи пытаются использовать сетевые разделения для получения доступа к приватным каналам. Атака типа "отказ в обслуживании" может быть использована для создания сетевого разделения путем перегрузки сетевого подключения IRC-сервера или интернет-инфраструктуры между двумя серверами. Если ни одного из пользователей канала не было на сервере C, пользователь мог присоединиться к приватному каналу и получить доступ к нему после повторного соединения серверов. Это обычно известно как "split riding" или "riding the split" (езда на разделении). Другая распространенная атака, связанная с сетевыми разделениями в IRC, – это коллизия никнеймов. В этой атаке пользователь в разделенном сегменте сети меняет свой никнейм на никнейм пользователя, находящегося в другом сегменте разделенной сети. При повторном подключении сеть отключает обоих пользователей, поскольку одновременно может использоваться только один никнейм. Современное программное обеспечение для IRC-серверов в значительной степени устранило этот метод, но серверы, использующие устаревшее программное обеспечение, все еще могут быть уязвимы.

Внешний вид

Ниже приведены примеры типичного разделения сети. Когда два сервера разделяются, пользователь видит массовый выход игроков. После повторного соединения серверов пользователь видит, как другие игроки снова подключаются.