Нетсплит

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

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

Причина и следствие

Рассмотрим график справа, который представляет собой компьютерную сеть . Каждая линия представляет собой установленное соединение. Таким образом, сервер C напрямую подключен к A , который также подключен к B и D.

Если произойдет сбой в соединении между C и A , соединение может быть разорвано. Это может произойти либо из-за ошибки сокета , либо из-за чрезмерной задержки , с которой дальний сервер A ожидает этот случай (что называется тайм-аутом).

Когда соединение между A и C разрывается, пользователи, которые были подключены к другим серверам, которые больше не доступны в сети, кажутся выбывшими из сети. Например, если пользователь Сара подключен к серверу A , пользователь Боб подключен к серверу B , а пользователь Джо подключен к C , и C разделяется или отключается от A , Джо будет казаться , что Сара и Боб оба вышли (отключились от сети), и и Саре , и Бобу будет казаться , что Джо вышел из сети. Однако Джо все еще может общаться с любым, кто подключен к тому же серверу (в данном случае к серверу C ). Это происходит потому, что серверы, к которым они подключены, информируются об изменении состояния сети и обновляют свою локальную информацию соответствующим образом, чтобы отобразить изменение.

Позже сервер C может повторно подключиться к серверу (или серверам) в сети, и пользователи, которые, как казалось, вышли из сети, снова присоединятся; процесс отправки этой обновленной информации на все серверы в сети называется netburst ( или sync ).

Проблемы безопасности

Иногда пользователи пытаются использовать netsplit для получения доступа к частным каналам. Атака типа «отказ в обслуживании» может быть использована для создания netsplit путем перегрузки сетевого соединения IRC-сервера или инфраструктуры Интернета между двумя серверами. Если ни один из пользователей канала не находится на сервере C, пользователь может присоединиться к частному каналу и позже получить доступ, когда серверы переподключатся. Это обычно известно как split riding или riding the split .

Другой типичной атакой IRC, ориентированной на netsplit, является Nickname Colliding. В этой атаке пользователь на разделенном сегменте сети меняет псевдонимы на псевдонимы пользователя на другой стороне разделенной сети. При повторном подключении сеть отключает обоих пользователей, поскольку в один момент времени может использоваться только один псевдоним. Современное программное обеспечение IRC-серверов в значительной степени исключило этот метод, но серверы, использующие старое программное обеспечение, все еще могут быть уязвимы.

Появление

Netsplit на freenode, показанный в IRC- клиенте HexChat .
Сетевой взрыв на freenode, показанный в IRC- клиенте HexChat .

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

На клиентах IRC с графическим интерфейсом

* usera вышел из (a.irc.net b.irc.net) * userb вышел из (a.irc.net b.irc.net) * userc вышел из (a.irc.net b.irc.net) * usera присоединился к #каналу * userb присоединился к #каналу * userc присоединился к #каналу

В командной строке клиента IRC

00:00 -!- Netsplit a.irc.net <-> b.irc.net выходит: usera, userb, userc 00:00 -!- Netsplit закончен, присоединяется: usera, userb, userc

Пользователю частной сети

* usera вышел (*.net *.split) * userb вышел (*.net *.split) * userc вышел (*.net *.split) * usera присоединился к #каналу * userb присоединился к #каналу * userc присоединился к #каналу

Ссылки

  • Хоссейн Бидголи: Интернет-энциклопедия. Том 2. Wiley 2004, ISBN  978-0-471-22204-0 , стр. 312-313
  1. ^ Kalt <kalt@stealth.net>, Кристоф (2000). "Internet Relay Chat: Server Protocol". tools.ietf.org . doi :10.17487/RFC2813 . Получено 09.01.2019 .
  • Руководство Netsplit (получено 2009-12-2)
Взято с "https://en.wikipedia.org/w/index.php?title=Netsplit&oldid=1241954839"