RahPhone, 6 edition
<DmitryTurin.narod.ru>
2011-11-23 16:35:14 GMT
<html><head>
<title>RahPhone: работа сотовых телефонов без вышек, или бизнес-идея стоимостью миллиард евро</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<style type="text/css">
dfn { color: gray }
em { color: green }
i { color: red }
span { color: brown }
a.b { color: gray }
body { text-align: justify }
span { font: italic }
</style>
<body>
<h1>RahPhone: работа сотовых телефонов без вышек, или бизнес-идея стоимостью миллиард евро</h1>
Необходимы перепосты и переводы на другие языки
(there exists
<a href="rah-en.doc">draft translation to english</a>).
Журнал "PC Magazine"
<a href="http://pcmag.ru/library/detail.php?ID=44304">pcmag.ru/library/detail.php?ID=44304</a>
Издание <b>6-е</b>, исправленное и дополненное.
Процессы выделены красным,
переменные программного кода - коречневым,
прочие определения - серым,
иные важные замечания - зеленым.
<a href="articles-ru.htm">Другие статьи (оглавление)</a>
<br><br><br>
<h2>Основопологающие концепции</h2>
<h3>Незанятая ниша</h3>
<p>В городах живут настолько плотно,
что сигнал сотового телефона, улавливаемый соседней мобилой,
оказывается мощнее того, который достигает ретрансляционной вышки
(площади антен учтены).
Это открыло второй канал передачи пакетов -
не через вышку, а непосредственно с телефона на телефон.
Такие сети еще не реализованы, но уже получили название MANet, Mobile Ad-hoc Net
(вместе с VANet, Vechicle Ad-hoc Net, имеющим меньшее броуновское движение аппаратов и
не использующим рукописные сервисы - электроную почту, SMS, чаты -
они составляют mesh-сети, т.е. работающие без базовых станций;
соответственно общение в таких сетях называется meshworking).
Емкость ниши - более 3 млрд. эксплуатируемых на планете сотовых телефонов.
Если в каждом городе несколько из них подключить к интернету для междугородней связи
(назовем её <dfn>intercity</dfn>,
она может быть развернута студентом или сотрудником университета
на халявном интернете в ночное время;
местным фондом, собирающим на intercity пожертвования;
индивидом, платящим не за трафик, а за полосу пропускания,
которая у него не полностью оказывается задействованной),
если протянуть провод между деревнями
(подключив по одному телефону к Pentium I, взятым с барахолки),
то вкупе имеем следующие уникальные свойства:</p>
<ul>
<li>бесплатность:
вышки, принадлежащие частному капиталу, наносят гражданам прямой экономический урон
(сравнивали доходы от продажи трафика и наркотиков?),
кроме того, сотовые провайдеры воруют деньги со счетов;
базовые станции ставят страну в зависимость
от поставок и ремонта иностранного оборудования</li>
<li>безвóзрастность:
не нужна SIM-карта -
беспризорникам не потребуется паспорт для ее приобретения</li>
<li>внетерриториальность:
не нужен роуминг - который в какой-то регион сотовые провайдеры могут и не предоставлять</li>
<li>безлимитность, т.е. бесконечность трафика</li>
<li>безсерверность:
телефоны используются для хранения коллективной информации
(что делает ненужным покупку сотен серверов как в случае с Википедией)
и личной информации (например,
почтовых ящиков на телефонах владельцев ящиков,
а не всех вместе на одном устройстве,
что превращает таким образом всю систему в <em>распределенный чат</em>)</li>
<li>бесперебойность:
система функционирует в течение войны,
когда "телефоны" непрерывно погибают под бомбежками</li>
<li>скрытность:
противник не может подслушать и подглядеть своих граждан,
когда они не ведут разговор
(во время ведения без шифрования подслушать с вышки по-прежнему можно);
не может получить конфиденциальную информацию,
начиная с IMEI и кончая паролем разблокировки клавиатуры;
не может заставлять телефон регистрироваться в соте, пока не нужно звонить,
и использовать его как маяк для обнаружения пользователя -
всё это поддерживает своих разведчиков,
а также чужих революционеров, бандитов и неплатящих налоги</li>
<li>неуловимость: противник не может арестовать во время звонка,
т.к. публичный номер телефона указывает на промежуточного пересыльщика,
который меняется чаще, чем норматив выезда группы захвата</li>
<li>шифрованность: чтобы противник не подслушал и не подглядел сам разговор -
цели те же, что и в предыдущем пункте</li>
<li>"новомед" для психологических операций:
новая медиа для вброса слухов, вещания, альтернативных выборов
(делигитимации президента, губернатора, мэра, управляющего, директора)
в целях расхождений элит,
поддержки контрэлит,
усиления друзей и ослабления врагов среди лидеров,
обоснования своей политики за рубежом,
подготовки населения (у солдат мобильники отбирают) к вводу войск.
Эта медиа оставляет далеко позади все остальные в оперативности достижения аудитории
(та после терактов не телевизор смотрит в авто и на тротуарах, а по телефонам общается),
что позволяет тему, которая вот-вот будет поднята противником,
<em>в последний момент</em>
переинтерпретировать,
или дать опровержение,
или понизить достоверность,
или акцентировать на положительных аспектах (spin-технология),
пока не проявился разрушительный эффект сообщения.
Это одновременно и средство нападения, и средство защиты,
и, как уже было сказано, механизм не просто опережающий все остальные,
а делающий это с большим отрывом</li>
</ul>
<p>Становится дешевле и неподнадзорнее гражданам враждебных государств</p>
<ul>
<li>радио-управляемое оружие:
беспилотники с видеокамерой (мобильником) и
стационарные камеры-"липучки" на зданиях
для наблюдения полицейских действий на улицах,
мчашиеся по асфальту мото-тележки с миной или кумулятивным зарядом
для взрыва под автомобилем прямо на ходу,
стационарные детонируемые звонком мины,
пулеметы и винтовки без стрелка (уничтожаемого пушкой или гранатометом)</li>
</ul>
<p>Несмотря на интенсивное развитие соответствующих протоколов - см.
<a href="http://en.wikipedia.org/wiki/Ad_hoc_routing_protocol_list">
en.wikipedia.org/wiki/Ad_hoc_routing_protocol_list</a> -
на самом деле они не применимы для мобильников.
Во-первых, во всех них заложены структурные ограничения
(случай является наглядным подтверждением слов Фейнмана,
что большинство ученых являются каргопоклонниками),
которые быстро остановят развитие сетей на основе этих протоколов.
Во-вторых, все они используют distant-vector алгоритмы маршрутизации,
требующие большого количества записей в таблицах маршрутизации,
а потому неразместимых в телефонах.</p>
<p>Разрабатываемое ПО
(пока под WiFi, а вообще может быть применена любая из частот
<a href="http://en.wikipedia.org/wiki/Comparison_of_wireless_data_standards">
en.wikipedia.org/wiki/Comparison_of_wireless_data_standards</a>)
не переносимо на мобильники, т.к. использует выше упомянутые протоколы.
Однако для полноты картины перечислим программы, отметив,
что все, кроме одной, идентифицируют узлы IP-адресом
(чтобы не пересечься с адресами в интернете, в последний нужно выходить через прокси).
В одном упомянутом случае адресом устройства является обычный номер телефона,
что носит название Distributed Numbering Architecture и
привязывает пользователя к институту раздачи телефонных номеров.</p>
<p>
<a href="http://FreiFunk.net">FreiFunk.net</a>
развернут на ноутбуках и применяется во многих странах.
Базируется на библиотеке марштуризации
<a href="http://OpenWrt.org">OpenWrt.org</a>
и на одном из протоколов
BATMAN
<a href="http://open-mesh.org">open-mesh.org</a> ,
Babel
<a href="http://pps.jussieu.fr/~jch/software/babel">pps.jussieu.fr/~jch/software/babel</a> ,
OLSR
<a href="http://OLSR.org">OLSR.org</a> ,
порочность которых раскрыта, например на
<a href="lists.alioth.debian.org/pipermail/babel-users/2008-August/000151.html">
lists.alioth.debian.org/pipermail/babel-users/2008-August/000151.html</a>
Кроме того, это ПО не допускает хаотических мобильных перемещений,
и высока цена ноутбуков.</p>
<p>
<a href="http://VillageTelco.org">VillageTelco.org</a>
состоит из комплектов MeshPotato и
является комбинацией стационарной mesh-сети
с обычным аналоговым телефоном, т.е. POTS-телефоном,
и преобразователем между ними ATA
(вместе MeshPotsAta,
в котором увидели испанское Patata и перевели на английский - Potato).
От FreiFunk унаследовал алгоритм маршрутизации.
Комплекты доступны по 119$ за штуку, обещается снижение до 89$.
Итого начинание характеризуется
отсутствием мобильности и необходимостью специального оборудования.</p>
<p>
<a href="http://Ninux.org">Ninux.org</a> предполагает использовать OLSR для смартфонов.
Проект не развивается.</p>
<p>
<a href="http://ServalProject.org">ServalProject.org</a>
будет применять для смартфонов прошивку VillageTelco и идентифицировать их по DNA,
а как при этом разделяются
звонки сотовому провайдеру и звонки в Serval-сеть - НЕизвестно.
Проект НЕ предоставляет ни бинарных, ни исходных кодов;
обещает выйти на рынок через год, НЕ сообщая под какой лицензией.</p>
<p>Единственный проект, в котором упомянут "резиновый" адрес
(этот и другие используемые термины определены в следующем разделе)
- Netsukuku для ноутбуков.
Резюме документации находится на
<a href="http://permalink.gmane.org/gmane.network.peer-to-peer.netsukuku/1693">
permalink.gmane.org/gmane.network.peer-to-peer.netsukuku/1693</a> ,
на практике адрес только четырехбайтный.
Инструкция по установке доступна на
<a href="http://permalink.gmane.org/gmane.network.peer-to-peer.netsukuku/1688">
permalink.gmane.org/gmane.network.peer-to-peer.netsukuku/1688</a>
Программа разрабатывается очень вяло, судя по списку рассылки
<a href="http://lists.dyne.org/mailman/listinfo/netsukuku">
lists.dyne.org/mailman/listinfo/netsukuku</a> ,
и имеет следующие ограничения
(кроме того, что высока цена ноутбуков):</p>
<ul>
<li>копии пары "имя - адрес" хранятся во всех ноутбуках одной дистальной группы и
копируются на каждый компьютер, переходящий в неё -
по всей видимости, все копии становятся недоступны после перестроения групп
(которые даже не описаны)</li>
<li>S-, O-, R-DHT отсутствуют</li>
<li>T-DHT отсутствует,
пара "имя - адрес" пересохраняется хозяином раз месяц
(как описано в Netsukuku-вской документации - в файле "andna.pdf", пункт 3.7)</li>
<li>при слиянии деревьев за меньшее считается то, в котором меньше ноутбуков,
что выясняется не опросом (ибо может быть легко подделано хакером),
а замером совокупной вычислительной мощности СВМ
(которую подделать чуть труднее,
т.к. нужно присоединить к ноутбуку кластер) -
однако вычислительная задача для СВМ еще не придумана</li>
<li>волна обновлений таблиц маршрутизации идет не от
присоединяемого/ отсоединяемого/ переходящего ноутбука, а от всех;
причем в какие моменты это делается или с какой периодичностью - неизвестно</li>
</ul>
<h3>Структурная парадигма</h3>
<p>Назовем ее <dfn>RaH (Rubber-and-Hash)</dfn>,
она является суммой технологий, которые будем именовать
<dfn>резиновый <span>адрес</span></dfn> и
<dfn>SORT-DHT (sham-open-rubber-transfer DHT)</dfn>.</p>
<p>Адрес состоит из произвольного количества байт.
Объединим близлежащие телефоны в <dfn>группы</dfn> по 254 штуки и
присвоим устройствам <dfn>идентификаторы</dfn> от 1 до 254
(255 используется как "звездочка", а 0 - как "конец строки" адреса).
Каждые близко расположенные 254 группы объединим в надгруппу,
внутри которой перенумеруем аналогично.
Продолжим этот процесс, пока весь город не предстанет как единое дерево.
Тогда перечень идентификаторов от его корня до самого телефона
будет адресом этого аппарата.
Последний из них принадлежит самому телефону,
поэтому в любой группе могут находиться либо под-группы, либо телефоны.
Далее группу-корень дерева будем называть <dfn>проксимальной</dfn>,
группы-концы ветвей - <dfn>дистальными</dfn>.</p>
<p>Забегая вперед отметим,
что в каждой группе выделяется специальный телефон - <span>координатор</span>.
Он выдает в ней идентификаторы
(таким образом под-группы и телефоны
добавляются в группу по одному, последовательно);
сообщает идентификатор, ближайший к данному
(это нужно для
<a class="b" href="#r-dht">R-DHT</a>);
принимает решение о <i>перестроении</i> группы и
сообщает её элементам выбранные параметры перестроения
(через все <dfn>дерево координаторов</dfn> проходит также
служебный вопрос о максимальной длине адреса -
см. <i>слияние</i> в конце статьи).
Координаторы групп разного уровня иерархии не совпадают,
т.к. память телефонов мала.
Координаторы являются уязвимыми звеньями,
поэтому каждые <span>4 часа</span> происходят их <span>перевыборы</span>
(но не синфазно для разных уровней).</p>
<p>Для некоторой группы процесс происходит следующим образом.
Координаторы под-групп выбирают одного между собой,
и передают право решения в его под-группу.
Там итерация повторяется и идет дальше в дистальную сторону.
Каждый координатор помнит координаторов под-групп
(вместе их имена составляют <span>под-общество</span>,
что удобно реализовать по технологии
<a href="http://computer20.euro.ru/sql5.19.3.pdf">computer20.euro.ru/sql5.19.3.pdf</a>
с.120, 123-125)
и <span>над-имя</span> (имя координатора над-группы).
В последней группе телефоны выбирают.
Каждый выбирающий генерирует случайное число и
сообщает остальным выбирающим,
чтобы все проделали одни и те же вычисления,
и никто не мог стать координатором в результате обмана.
А вычисляется хэш-функция от 254 аргументов (или меньше),
инвариантная относительно их перестановки.</p>
<p>SORT-DHT - это гибрид
<dfn>S-DHT (sham DHT)</dfn>,
<dfn>O-DHT (open DHT)</dfn>,
<dfn>R-DHT (rubber DHT)</dfn> и
<dfn>T-DHT (transfer DHT)</dfn>,
каждая из которых - надстройка над обычной DHT.</p>
<p>Последняя является хэш-таблицей,
части которой без дублирования расположены на всех телефонах;
хэш-ключь указывает на адрес аппарата,
а потом повторно используется для нахождения значения внутри него.
В процессе передвижения по городу телефоны <i>переходят</i> из группы в группу,
и адрес меняется.
Но каждый телефон выбирает себе в качестве хэш-ключа
произвольное литеральное <span>имя</span>
и пару "своё имя - свой адрес" хранит и <dfn>обновляет</dfn> в DHT.
Таким образом в ней всегда доступен актуальный адрес,
кроме того, <dfn>"двунаправленные"</dfn> программы
- например, голосового разговора -
<span>сообщают</span> собеседнику о смене адреса.
Однако обычная DHT требует
равной длины всех адресов,
их неизменности и
изолированности DHT от злоумышленников.
Эти ограничения преодолевает SORT-DHT.</p>
<a name="r-dht">
<p>R-DHT отличается использованием двух генераторов псевдо-случайных чисел.
Против бомбежки телефонов и обрезания intercity,
пару "имя-адрес" размножают на несколько, например <span>200</span>,
географически удаленных аппаратов-<dfn>хранителей</dfn>
(таким образом слово "хранители" всегда относится к аппаратам,
содержащим одну и ту же пару).
<dfn>Хэш имени</dfn> является затравкой <dfn>"перпендикулярного"</dfn> генератора,
который указывает идентификатор в пределах группы.
Хэш имени и этот идентификатор являются затравками
<dfn>"продольного"</dfn> генератора,
последовательность чисел которого интерпретируется как резиновый адрес.
При <dfn>промахе</dfn> мимо под-группы или телефона выбирается
<dfn>ближайшая</dfn> под-группа или телефон
(ближайшую узнаём у координатора).
На проксимальном уровне перпендикулярный генератор включается всегда,
на более дистальных - если хранителей больше 254,
и хотя бы два из них попадают в одну под-группу.
Все числа, сгенерированные им для данной копии пары,
назовем её <span>отклонением</span>
(является строкой, заканчивающейся "/0").
Оно записывается в копию наравне с именем и адресом
и является затравкой обоих генераторов на любом уровне иерархии
наравне с хэшем имени.
При поиске адреса по имени
хранителей опрашивают последовательно, по одному
(ценой некоторой потери времени),
чтобы экономить трафик.
Вместе с именем, адресом, отклонением хранятся
случайное число-<span>селектор</span>, предназначенное для липовой маршрутизации,
и открытый <span>ключ</span> асимметричного шифрования
- такой комплект назовем <span>пентлетом</span>.</p>
<p>Сама <dfn>липовая маршрутизация (sham routing)</dfn>
- это технология, симметричная луковичной маршрутизации (onion routing).
В обоих случаях пакет движется не кратчайшим маршрутом,
а <dfn>зигзагом</dfn>, посещая разные точки планеты.
Но луковичная противодействует установлению получателя (по пакетам отправителя),
липовая - его физическому поиску (по публичному адресу получателя).</p>
<p>Будущий получатель обращается к произвольному телефону
с предложением быть его <dfn>посредником</dfn> в течение некоторого времени
<span>
t<sub>security</sub>=t<sub>police</sub>*N
</span>,
где t<sub>police</sub> (<span>3 минуты</span>) - время выезда на место
группы захвата из ближайшего отделения полиции,
N - количество посредников, которых предполагается задействовать
(оно должно быть тем больше, чем больше
<a class="b" href="#gap">дыр и отверстий</a>).
Если в ответе на предложение посредник указал, что согласен на меньший интервал,
то получателю придется сконструировать следующий зигзаг за это меньшее время или
отказаться от его помощи.
Само предложение состоит из одной или двух просьб.
Первая - маршрутизировать пакеты, помеченные селектором получателя
(если тело пакета зашифровано, то вместе с селектором),
на имя некоторого третьего телефона.
Эти селектор и имя назовем <span>дублетом</span>.
Посредник <dfn>sham-верифицирует</dfn> дублет,
отправляя в третьий телефон произвольное число,
зашифрованное ключем будущего получателя,
и ожидая получить число, на единицу большее.
Вторая просьба, если посредник будет первым в зигзаге -
разрешить указать его адрес вместо своего в S-DHT,
что означает для посредника необходимость запомнить <span>имя просящего</span> и
выдать его во время open-верификации.</p>
<p><dfn>Open-верификацию</dfn> пентлета перед сохранением
выполняет в O-DHT будущий хранитель,
запрашивая имя по адресу и селектору из пентлета
- и при отсутствии ответа или несовпадении с именем в пентлете не сохраняет.
Таким образом выключенный <dfn>хозяин</dfn> имени за некоторое время в результате
<dfn>пертурбаций</dfn>
- переходов хранителя и перестроений групп, содержащих хранитель -
<dfn>теряет</dfn> своё имя;
это стимулирует держать телефоны постоянно включенными и
маршрутизирующими чужой трафик.</p>
<p>T-DHT состоит в том, что если пертурбация затронула хранителя,
то он <dfn>пересохраняет</dfn> все находящиеся в нём пентлеты:
по хэшу имени и отклонению вычисляет адреса новых хранителей;
отправляет пентлеты в сеть - и они сохраняются на аппаратах, ближайших уже без него;
затем удаляет пентлеты в себе.
Т.е. сразу после пертурбации он <dfn>пуст</dfn>.</p>
<h3>Маршрутизационная парадигма</h3>
<p>Чтобы телефон мог принимать звонки и от RahNet, и от провайдера,
он должен иметь два беспроводных модема
(что это такое - см.
<a href="http://en.wikipedia.org/wiki/Cellular_modem">
en.wikipedia.org/wiki/Cellular_modem</a>),
т.е. поддерживать две SIM-карты.
Провайдер нужен для приема GPRS (intercity) и для приема звонков абонентов,
еще не подключенных к RahNet.
А вот чтобы звонить, достаточно одного модема, т.е. одно-SIM-очного телефона.</p>
<p>Звонок в RahNet провайдер не распознает как звонок себе и не снимет деньги со счета,
т.к. формат пакетов разный.
Но даже если бы они были одинаковы, можно не аутентифицироваться,
отправив пакет со сбойным SSD_A,
которое является результатом хэш-функции CAVE от числа SSD_UPDATE,
раз в неделю высылаемого телефону вышкой,
и чисел ESN и AKEY, прошитых в телефоне и SIM-карте.
Вышка вычисляет SSD_A сама и сравнивает с таковым из пакета
(аутентификация SIS проходит аналогично, только размеры чисел в байтах другие,
и одна половина результата используется для сравнения,
а другая - для шифрования вызываемого номера).
И в случае разных форматов, и в случае звонка без аутентификации
перепрограммировать надо не ОС, а сам модем.</p>
<p>Звонки в RahNet выглядят так.
Саму способность двух телефонов общаться напрямую без посредников назовём <dfn>связью</dfn>,
а аппараты на её концах - <dfn>смежниками</dfn>.
Связи, пересекающие границу данной группы, назовем её <span>мостами</span>,
а устройства на их концах - <dfn>напарниками</dfn>.
Связи внутри дистальной группы назовем <span>плечами</span>,
а телефоны на их концах - <dfn>близнецами</dfn>.
При сближении-удалении телефонов происходят
<dfn>соединения</dfn> и <dfn>разрывы</dfn> - <dfn>дребезг</dfn>;
и аппарат <i>переходит</i> в другую группу,
когда количество мостов с ней в <span>2 раза</span> превысит количество плеч со старой
(выбирается новая группа, куда ведет максимальное количество мостов).
Разрывы диагностируется не только прекращением трафика:
в периоды его отсутствия
смежники обмениваются <span>уведомлениями</span> о своем существовании
(подобно тому, как в обычной сотовой службе телефоны обмениваются ими с вышками) -
и тем чаще, чем <span>чаще</span> дребезг.</p>
<p>Маршрутизация состоит из
<dfn>маршрутизации мостов</dfn> и <dfn>маршрутизации плеч</dfn>.</p>
<p>Телефон узнает от смежников обо всех мостах групп, в которых находится
(затем делает выборочную сверку с какими-либо аппаратами в этих группах).
<dfn>Мост</dfn> состоит из двух <dfn>адресов</dfn>, возможно разной длины.
Пусть для примера телефон имеет адрес 1.1.1.1 , а мостами являются:
1.1.1.4-1.1.2.5 , 1.1.2.7-1.2.9.3 , 1.2.6.8-2.5.7.4
Телефон ищет в мостах первый байт, отличающий их от его собственного адреса,
и удаляет остаток строк после него - <dfn>нормализирует</dfn>.
Результатом являются 1.1.1.4-1.1.2 , 1.1.2-1.2 , 1.2-2
Так появляются
<span>эстакады</span> с <span>бóльшими</span> и <span>меньшими опорами</span>
(опоры всегда разной длины,
пакет движется от большей к меньшей).
Если в перечне эстакад такой еще нет, она добавляется туда;
если есть, у нее инкрементируется <span>счетчик</span>.</p>
<p>Множество равновеликих бóльших опор сопоставляется каждой меньшей опоре
(самые большие - самые лучшие, т.к. ближе к самому маршрутизирующему телефону).
Внутри множества они связаны в <span>кольцо</span> с <span>ползунком</span> -
в следующий раз будет использована следующая большая опора
(кольцо двунаправленное, чтобы были возможны удаления).
Адрес из пакета после нормализации назовем <span>пристрелкой</span>.
Для последней находится равная ей меньшая опора,
и парная большая рассматривается как новое значение пристрелки.
Итерации повторяются до тех пор,
пока найденная большая опора не попадет в ту же дистальную группу,
что и маршрутизирующий телефон.
Если это он сам и есть, он шлет пакет в последнее значение пристрелки.
Если нет, для последней большей опоры выполняется маршрутизация плеч.
Таким образом <dfn>итератор</dfn> обходит <dfn>дерево эстакад</dfn>,
а вместе с большей опорой хранятся
её счетчик и <span>указатель</span> на следующую меньшую опору.
Итого парадигма в этой части является весьма ограниченным link-state алгоритмом.</p>
<p>В целях оптимизации введем дополнительные служебные таблицы.
Последнее значение пристрелки в первом случае и
последнее значение большей опоры во втором
назовем <dfn>устоем</dfn>.
Если для каждой меньшей опоры
(в т.ч. не терминальной в дереве эстакад) вычислить устой,
маршрутизация становится мгновенной,
но пересчитывать придется при каждом дребезге мостов.
Длину самого длинного маршрута разделим на <span>3</span> части,
отложим их во всех маршрутах и для каждого кусочка вычислим устои -
пересчитывать придется в 3 раза реже.
Хотя и собирать из кусочков маршрут.
Резюмируя, оптимизация является ограниченным vector-distance алгоритмом.
Поскольку дистальный дребезг происходит при каждом переходе в другую группу,
одна такая часть должна состоять только из дистального моста.</p>
<p>Аналогично в пределах дистальной группы телефон узнает от близнецов обо всех плечах
(набор плеч может проверить, выборочно обратившись к аппарату, упомянутому в перечне;
а набор аппаратов - обратившись к координатору).
Каждый раз после этого волновым алгоритмом вычисляется
<span>в которого</span> из близнецов нужно отправить,
чтобы пакет достиг <span>необходимого соседа</span> по группе,
и <span>сколько промежуточных</span> аппаратов на таком пути,
т.е. опять link-state.
Для которого возможна vector-distance оптимизация.</p>
<p>Против монопольного захвата трафика
обсуждающими сериалы или качающими фильмы
телефон имеет кратковременную память,
в которой отмечает получателей маршрутизируемых пакетов и частоту этих пакетов и,
используя которую, маршрутизирует для разных пользователей равномерно.
На деле пакеты задерживаются
первым же аппаратом-пересыльщиком на самом телефоне-отправителе.</p>
<h3>Финансирование</h3>
<p>Это - пожертвования;
перепрошивки телефонов;
реклама в RahNet-поисковике
(такой поисковый сервер следует создать даже тем,
кто принципиально против рекламы,
ибо этим они вредят не пользователям, а Google,
который всё равно будет сканировать RahNet);
создание-и-обучение-созданию страниц под просмоторщик,
более прогрессивный чем браузер с его "времянкой" HTML
(см., например, статью
<a href="./api/api.htm">Ошибки и их исправление в эргономике API</a> на
<a href="http://computer20.euro.ru/api/api.htm">computer20.euro.ru/api/api.htm</a>),
и который таким образом порождает <em>новую индустрию с отдельной прибылью</em>.</p>
<p>Сначала - до появления огромной массы пользователей -
перепрошивки выполняются</p>
<ul>
<li>среди студентов для связи в общежитиях,
среди старшеклассников для связи в школе и в многоэтажках</li>
<li>путем скупки на рынке оптом крайне старых моделей,
перепрошивки и продажи в розницу школьникам средних классов по бросовым ценам
(приемлемым для их карманных денег)</li>
<li>путем договоренности с директорами фирм о прошике телефонов сотрудников
(платит фирма, сотрудникам бесплатно)
при невозможности проложения селекторной связи и
дороговизне покупки транковой связи</li>
</ul>
а после появления - для всех остальных групп населения.
Деньги расходуются сначала на рекламу на форумах,
а потом - на рекламу листовками и аренду интернет-каналов для intercity.
Протокол не меняется, чтобы не писать самому
<a class="b" href="#name2name">name2name и RahAsk</a> подо все ОС,
и чтобы не отключить Skype.
<p>Если продукт не будет выпущен под открытой лицензией GPL,
следует ожидать появления CAPTCHA,
включаемого командой, лавинообразно распространяющейся по сети
(но не на близнецов, а на аппараты,
чьи пентлеты хранятся в достигнутом телефоне),
с предложением отправки платного SMS
(хотя возможно и с дифференциацией для столичных и провинциальных,
для первого мира и третьего).</p>
<h2>Идеи второго плана</h2>
<h3>Противостояние, частные тактики</h3>
<a name="gap">
<p>В сети появятся смежники, от коротых пакеты не идут никуда.
Сначала ими будут вышки сотовых провайдеров - <dfn>дыры</dfn>.
Но их легко обнаружить по тому,
что о мосте через одну-две границы и о плече
они сообщают слишком большому количеству гаджетов, расположенных за много границ:
вышку слышно на GSM-900 за 35 км, на GSM-1800 - за 6 км.
Бороться с дырами можно двумя путями.
Первый:
обнаружившие гаджеты
- не все, а некоторые, по генератору случайных чисел,
чтобы экономить трафик -
<span>извещают</span> о дыре её смежников и соседей по дистальной группе.
Один из которых также может оказаться той же самой вышкой,
и таким образом она узнает, что обнаружена и
сымитирует, что пошла дальше по городу.
Второй путь - тот же, что против отверстий.</p>
<p>Поскольку дыры легко обнаруживаемы,
в светофорах и на стенах домов установят <dfn>отверстия</dfn>
- сотовые телефоны, работающие от городской электросети
(или обяжут сделать это провайдеров за их счет).
Поэтому ОС-отправитель разбрасывает пакеты по нескольким траекториям,
пометив их <span>номером траектории</span>,
чтобы ОС-получатель ответила, по каким пакеты приходят.
Для траекторий вычисляются <span>ETX</span> - доли потерянных пакетов,
и <span>dt</span> - промежуток времени между первой и последней принятыми копиями пакета.</p>
<p>Если пакеты дублируются по траекториям,
то вещаются в эфир один раз сразу для всех первых смежников.
Для этого служебным <dfn>пред-пакетом</dfn> все из них, кроме одного,
уведомляются об адресе этого последнего,
пакеты в который они также должны ловить.
Начала вещания ждут <span>1 секунду</span>,
чтобы не запоминать много пред-пакетов.
По окончании общения ОСы <dfn>финализирующим пакетом</dfn>
(с произвольным числом-<span>скрывателем</span>,
чтобы подслушивающие вышки не могли вычленить окончание общения)
информируют:
друг друга - освободить ячейки, использовавшиеся при подсчете ETX и dt;
всех первых смежников - что больше не надо ловить чужие адреса.
При обрыве связи (возможной гибели собеседника)
обе ОСы - и отправитель, и получатель - выдают финализирующий пакет автоматически.
ОС-отправитель также отсылает его в старую группу после перехода в другую.
В новой группе дублирование по траекториям начинается заново.</p>
<p>Дальнейшим развитием является поиск отверстия на траектории
опрашиванием смежников элементов траектории:
не выявили ли они гибель своих пакетов.
Но после обнаружения все равно нужно вещать в отверстие пакеты-имитаторы,
чтобы оно не выключилось и не выдало себя за новый телефон
(а если нужно опросить скрытно от отверстия,
то, чтобы не изменился объем трафика,
интервьюировать придется даже в случае, когда пакеты не теряются).</p>
<p>О разрыве или наведении моста напарники на его концах
информируют <dfn><span>флудом</span> дребезга</dfn> аппараты обеих групп,
которые мост связывал или будет связывать.
При вбросе в сеть дезинформации об исчезновении моста
(атака <dfn>"ложная пропасть"</dfn>),
напарники информируют группы также,
как будто между ними появился новый мост.
При дезе о появлении (атака <dfn>"ложный мост"</dfn>) -
также, как будто мост исчез.
Телефоны, подключенные к компьютерам и располагающие их вместительными винчестерами,
отслеживают такие <dfn>мигающие мосты</dfn> и уведомляют остальных.</p>
<p>Введение эстакад позволяет не запоминать
мириады мостов между гигантскими группами, имеющими огромную общую границу,
а значит позволяет
экономить память,
быть нечувствительным к атаке <dfn>"мультиводство моста"</dfn>
(когда два аппарата прикинулись группами с большим количеством мостов между ними) -
но и не позволяет выбрать кратчайший маршрут,
ибо эстакада является информацией сразу о нескольких мостах.
Достижение её счетчиком - пусть он занимает <span>4 байта -
максимального значения</span> означает,
что эстакада ложная и должны быть удалена
(телефоны, подключенные к компьютерам, собирают статистику об удаленных эстакадах).
Наличие эстакад, подлежащих удалению,
хотя бы на <span>двух</span> соседних уровнях иерархии дерева означает,
что телефон находится в <dfn>тумане</dfn> -
фиктивной ветви дерева, созданной дырой или отверстием.
Чтобы покинуть его, аппарат <i>переходит</i> в группу выше него,
а если не может - сигнализирует пользователю сменить местоположение.</p>
<p>Возможны закладка молчащих отверстий враждебной страной.</p>
<p>Против государственного глушения и, как его разновидности,
наводнения <dfn>тяжами</dfn> - фиктивным трафиком между дырами и отверстиями -
частных тактик нет, следует применить общую
(подходящую равно и против потери пакетов).</p>
<h3>Противостояние, общие тактики</h3>
<p>Из таковых на ум приходит только одна, условно назовем её <em>kill together</em>.
Это вхождение в одну из подсистем противника таким образом,
чтобы ущерб, наносимый вам, приходился и на эту подсистему.
Государства не могут одновременно глушить провайдерный и RahNet-овский трафики,
ибо экономики стали телефоно-зависимыми -
не могут существовать без немедленной связи.
При том, что сотовых каналов сотни,
а телефоны содержат не более четырех беспроводных модемов,
максимально поддерживают четыре SIM-карты,
а обычно - всего одну,
весь RahNet будет работать только на одном частотном канале.
И чтобы исключить избирательное глушение,
он постоянно переходит на тот <span>канал, где работают провайдеры</span>,
иначе нужно физическое уничтожение дыр и отверстий.</p>
<p>Только вот вопрос, максимально ли занятый выбрать?
Провайдеры могут не выдавать SIM-карты на определенные каналы,
а вышками имитировать их ни с чем не сравнимую загруженность.
В разных городах применять разную тактику:
в одних работать на средне-загруженных, в других - на максимально.
Одним человеком подстройка RahNet к провайдерам выполняться не должна,
ибо он будет её самой уязвимой частью,
значит отслеживать провайдеров придется всей общине.
Телефоны подсчитывают между собой, на каких каналах они сами работают
(как оценка провайдеров эта статистика тем точнее,
чем большая доля всех аппаратов подключена к RahNet);
причем подсчет голосов не переливается через intercity (остается в пределах города),
а в разных городах RahNet работает на разных каналах, соединенная воедино intercity.</p>
<h3>Другие технологии, реализуемые самостоятельно</h3>
<p>Для обеспечения анонимности применяются:</p>
<ul>
<li>луковичная маршрутизация (onion routing)</li>
<li>чесночная маршрутизация (garlic routing;
до пересылки по связи пакеты разным получателям объединяются в один и шифруются,
на другом конце связи разбираются на отдельные)</li>
<li>симметричное и несимметричное (для передачи симметричного ключа) шифрование</li>
<li>технология, которую будем именовать <dfn>Persistent Traffic</dfn>:
пакеты не только <dfn>раскидываются</dfn> по различным траекториям (без дублирования);
но и во время молчания телефон заполняет канал фиктивными пакетами,
чтобы не создавать в сети волн трафика, отслеживаемых вышками;
при наплыве большого количества пакетов они задерживаются
(первым же аппаратом-пересыльщиком на самом телефоне-отправителе,
т.е. передача становится не realtime,
т.к. буферизации в пересыльщиках недопустима);
трафик в сети повышается и понижается одновременно во всех ее концах,
что обеспечивается служебными пакетами</li>
</ul>
<p>Публичными ресурсами SORT-DHT являются:</p>
<ul>
<li><dfn>переводы меню</dfn> телефона на национальные языки
(возможно одновременное существование нескольких переводов)</li>
<li>перечень <dfn>вышечных inter-телефонов</dfn>
(подключенных к розеткам и предоставляющих интернет другим через сотового провайдера)</li>
<li>перечень <dfn>волоконных inter-телефонов</dfn> (через провод или оптоволокно) -
как только в настройках телефона указывается,
сколько Мб/месяц входящего и отдельно исходящего трафика
для себя,
для каждого из друзей по отдельности,
для любого из остальных друзей,
для незнакомцев;
какова доля трафика, оставшегося от себя и друзей и
отдаваемого незнакомцам в последний день месяца,
то телефон сразу же заносит себя в соответствующий перечень</li>
</ul>
<p>После распространения RahNet компьютеры также будут к нему подключены.
Чтобы поисковому роботу не выкачивать сервера дважды - через RahNet и через интернет -
в настройках телефона указать доменное имя подключенного компьютера,
и телефон сообщит его, если спросят.</p>
<h3>Другие технологии, реализуемые добровольцами</h3>
<p>Браузер Opera имеет turbo-режим -
бесплатное получение заархивированной html-страницы (7% изначального объема)
с сервера компании, выполнившего закачку страницы самостоятельно.
Если есть доступный в исходных кодах <dfn>turbo-драйвер</dfn> под FireFox или другой браузер,
использовать его.
Если нет, мотивируя созданием такового под браузеры,
спросить у Opera проприетарный протокол.
Если не даст, спросить еще раз, проинформировав о RahPhone
(но компания перлюстрирует и может фальсифицировать трафик -
против создания поисковой системы для интернета и кэширования интернета в SORT-DHT.
С фальсификацией бороться выборочными прямыми загрузками и последующим скандалом -
компания не обслуживает пользователей своего же браузера.
Turbo-драйверу ходить на сервер через различные прокси,
чтобы тот не игнорировал его избирательно).
При длительном отсутствии добровольцев, нанять фрилансеров
(возможно компания откажется поддерживать turbo-режим вообще,
но за время развития событий расходы на написание turbo-драйвера
окупятся экономией трафика).
Наконец, после распространения RahNet
предложить Opera самой написать плагин для телефона.</p>
<p>Для осуществления взаимопомощи предложить добровольцам написать программу,
назовем её <dfn>SimHelp</dfn>,
передающую собеседнику параметры вставленной SIM-карты и тем наделяющей способностью
звонить по ней (т.е. использовать номер и его деньги)
и покупать (т.е. совершать SMS-банкинг, интернет-банкинг, NFC).</p>
<p>Саму возможность реализации Skype оставить на усмотрение этой компании и добровольцев.</p>
<a name="name2name">
<p>Последним предложить также написать для компьютеров демон,
назовем его <dfn>name2name</dfn>,
сообщающий Rah-имя подключенного к нему телефона (или одного из беспроводных модемов).</p>
<p>А также демон <dfn>RahAsk</dfn>,
позволяющий из RahNet заводить на компьютерах фиктивные почтовые ящики,
чтобы владельцы телефонов могли задавать вопросы в емайлы интернета
(письма из бесплатных почтовых хостов никогда не удаляются и
остаются в правительственных базах данных).
Фиктивность состоит в том, что демон только запоминает
на какой телефон переслать письмо, пришедшее данному пользователю компьютера.
Он автоматически добавляет компьютер в публичные ресурсы SORT-DHT,
а также удаляет соответствие емайл-телефон через <span>40 суток</span>.</p>
<h3>Препятствия проекту</h3>
<p>Беспроводный модем, разумеется, невозможно перепрограммировать апплетом -
он находится за пределами "песочницы".
А в некоторых телефонах он может быть такой SoC,
элементы которой нечитаемы процессором самого телефона или подключенным компьютером -
но нечитаемость модемных RAM или флэш можно преодолеть
перепрограммированием этой флэш через выводы микросхемы.
Хуже тивоизированные версии:
контрольная сумма модемной ОС, находящейся на его флэш,
прописана в модемной ROM и проверяется ROM-загрузчиком -
тут уже надо заменять микросхему ROM (обычно это не ROM, а все равно флеш).
Потребность
в <dfn>переходниках</dfn> "модемный флэш - COM/LPT/USB/иной разъём"
(чтобы подключить к компьютеру или к шине данных самого <em>этого же</em> телефона)
и в <dfn>новых микросхемах</dfn> ROM
создает доход сторонних дельцов,
что с одной стороны является входным барьером
для желающих присоединиться к RahNet,
а с другой - основанием для коммерциализации и источником прибыли,
а значит - источником помошников.</p>
<p>Вместе с <b>перепрошивкой или перепайкой беспроводного модема</b>,
чтобы он ловил все пакеты подряд,
ОС самого телефона должна быть пропатчена алгоритмами проекта
(это могут быть ОСы с открытым исходным кодом:
MeeGo, Ubuntu Mobile, Maemo - прородитель первых двух, Moblin - прородитель первой в списке;
NitdRoid, CyanogenMod, VillainROM, AndRoid - прородитель предыдущих трех;
OpenMoko, Access Linux Platform)
или целиком заменена на новую улучшенную (см., например, статью
<a href="./os/os.htm">Как сконструировать ОС следующего поколения
чтобы победить в соревновании цивилизаций</a> на
<a href="http://computer20.euro.ru/os/os.htm">computer20.euro.ru/os/os.htm</a>).</p>
<p>Мала емкость аккумуляторов.
Если телефон отправляет пакеты не только, когда говорит сам,
но и когда пересылает чужие, он вещает постоянно,
а в этом режиме аккумулятора хватает в среднем на 2.5 часа.
Реально применимые решения:</p>
<ul>
<li>некоторые из телефонов не переносить,
а держать постоянно включенными в электросеть
в домах, в офисах и в автомобилях в качестве ретрансляторов
(многие уже имеет по 2-3 телефона,
один из которых могут подключить к розетке)</li>
<li>пьезо-элемент или динамо-машина в ботинке
(провод можно протянуть в строчке брюк, но что делать с юбкой и шортами?)
или в руке
(на рынке существует комплект Potenco Pull-Cord Generator,
кроме того, есть аналоги в фонариках и в детском компьютере XO за 100$)</li>
<li>органическая солнечная батарея-желетка
(верхняя одежда как поверх футболки, так и зимней куртки -
но еще не начато массовое производство органических батарей)</li>
</ul>
Другие варианты в порядке падения полезности
(продолжите, пожалуйста, мозговой штурм на форуме этой статьи):
<ul>
<li>использовать топливный элемент на спирте
(телефон Toshiba T002 с ним уже и поставляется) -
дармовой самогон позволяет не платить за дополнительные аккумуляторы и электроэнергию,
находиться в местах без электросети</li>
<li>радио-изотопный источник
(производство не начато, жидкий полупроводник для него разрабатывают в университете Миссури).
За производство можно агитировать тем, что оно</li>
<ul>
<li>является самостоятельным <em>бизнесом с гигантской прибылью</em></li>
<li>при невозможности произвести делящийся материал
позволяет хранить запас купленного материала,
который при необходимости может быть использован в военных целях</li>
<li>политическая реклама на радио-изотопных батареях дойдет до 3 млрд. потребителей</li>
<li>такие батареи при той же мощности гораздо меньше обычных,
что позволяет провозить их контрабандой в запретившие их государства,
если подобран делящийся материал,
не выделяющий демаскирующих (и одновременно вредящих здоровью) радио-активных газов</li>
</ul>
<li>динамо-машина и пружина из механического будильника</li>
<li>маятник как в самозаводящихся часах (предположительно мала мощность)</li>
<li>купить несколько аккумуляторов и менять каждые 2.5 часа
(средний срок их службы - 400 зарядок)</li>
<li>пьезо-электрическая (нано)одежда
(производство не начато, ткань разрабатывают в Технологическом университете Джоржии)</li>
<li>динамо-машина к велосипеду
(на рынке существует комплект "Bicycle Charger Kit")
- приводит к зависимости от велосипеда</li>
</ul>
<h2>Остальной мета-код технического проекта</h2>
<h3>Переход телефона</h3>
<p>Каждый телефон при включении находится в <dfn>одиночном</dfn> состоянии.
После <dfn>соединения</dfn> с любым другим устройством,
он <i>вливается</i> в группу, в которой оно находится -
получает у её координатора идентификатор.
Если то другое тоже одиночное, кто из них будет координатором
решается генератором случайных чисел.</p>
<p>При <i>переходе</i> телефона учитывается <dfn>групповая разница</dfn> -
количество байт, изменившихся в конце его адреса
(изменение самой длины адреса также входит в параметр) -
а не количество связей с различными дистальными группами.
Во время перехода телефон выполняет следующие действия:</p>
<ul>
<li>освобождает идентификатор в старом координаторе и получает в новом</li>
<li>пересохраняет <dfn>чужие</dfn> пентлеты,
обновляет <dfn>свои</dfn> пентлеты (в которых его адрес) и
командует двунаправленным программам сообщить собеседникам об изменении адреса</li>
<li>перезагружает таблицу плеч</li>
<li>исходя из групповой разницы обновляет таблицу эстакад,
<span>флудит</span> в старую группу об исчезновении эстакад и в новую о появлении</li>
</ul>
<p>После перехода пустой телефон <dfn><span>флудом</span> перетягивания</dfn>
предлагает всем аппаратам дистальной группы пересохранить в нем пентлеты,
для которых он ближайший, а не они.</p>
<h3>Перестроения групп</h3>
<p>Если перед добавлением телефона группа была <dfn>насыщенной</dfn>,
т.е. содержала 254 аппарата, то сначала она <i>делится</i> пополам.
Если в результате этого над-группа оказалась бы переполненной,
то предварительно уже она делится на двое, и т.д. в проксимальную сторону.
Чтобы телефон, курсирующий по городу, не ожидал таких каскадных расщеплений,
чтобы его переход происходил мгновенно,
группы <span>2-х</span> нижних уровней иерархии
поддерживаются в состоянии с не более, например, <span>150 элементами</span>.</p>
<p>Если через группу можно провести кривую,
которую не пересекают мосты между под-группами,
то по этой кривой происходит <i>расщепление</i>,
т.к. маршрутизация в одну часть группы не означает маршрутизации в другую,
и маршрутизация мостов оказывается нарушенной.</p>
<p>Если количество элементов в группе падает ниже, например, <span>70</span>
(ближе к корню дерева флуктуаций меньше,
и <span>там этот параметр должен быть больше</span>),
то она называется <dfn>вырожденной</dfn> и <i>объединяется</i> с ближайшей вырожденной -
содержимое более дистальной вливается в более проксимальную.</p>
<p>Когда два города разрастаются и соприкасаются, или соединяются intercity,
происходит <i>слияние</i>:
проксимальная группа меньшего дерева становится под-группой
проксимальной группы большего.
Меньшее то, у которого самые длинные адреса короче.
Если длины равны, дерево выбирается случайным образом.
Адреса, пентлеты и таблицы маршрутизации обновляются
(<dfn><span>флудом</span> слияния</dfn>)
до открытия мостов между деревьями.</p>
<p>Если численность в группе упала до всего одного элемента,
она называется <dfn>промежуточной</dfn> и <i>ликвидируется</i>,
а элемент переносится в над-группу.
Если целая группа - автобус с туристами, поезд, электричка, теплоход, лайнер, самолет -
<i>переехала</i>
(не путать с переходом единичного телефона),
что диагностируется разрывом всех <dfn>братских</dfn> мостов
(соединяющих с группами из той же над-группы),
в ту, в которой только телефоны,
то между последней и телефонами <i>вставляется</i> промежуточная группа,
в которую затем происходит переезд.</p>
<p>Напомним, после перестроения групп все телефоны пусты.</p>
<h2>Заключение</h2>
<p>И ведь кто первым выпустит упомянутый телефон,
станет монополистом de facto на долгие десятилетия.
И если это сделает предприниматель или государство,
если это будет поставлено на коммерческую основу,
их прибыль от meshworking будет больше, чем у Microsoft и Google.
И они смогут идеологически вскрывать чужие страны как консервные банки,
давая преимущество в маршрутизации международному трафику над местным,
ведь общение в приграничной зоне дает возможность легко перешагивать государственные границы.
Чтобы обезопасить всех нас,
необходимо выпустить продукт под открытой лицензией GPL,
поэтому мы обращаемся к общественности
с просьбой о написании программного кода,
компьютерном моделировании, уточнении параметров,
и <b>перепрошивке или перепайке беспроводного модема</b>.</p>
<br>
<p>Дмитрий Тюрин (<a href="http://dmitryturin.narod.ru">DmitryTurin.narod.ru</a>):<br>
<a href="mailto:dima.turin-aRb0bU7PRFPrBKCeMvbIDA <at> public.gmane.org">dima.turin-aRb0bU7PRFPrBKCeMvbIDA <at> public.gmane.org</a>
(все письма из домена .ru попадают в спам),
<a href="mailto:dima.turin-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org">dima.turin-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org</a>
</p>
RahPhone: ðàáîòà ñîòîâûõ òåëåôîíîâ áåç âûøåê, èëè áèçíåñ-èäåÿ ñòîèìîñòüþ ìèëëèàðä åâðî
Íåîáõîäèìû ïåðåïîñòû è ïåðåâîäû íà äðóãèå ÿçûêè
(there exists
draft translation to english).
Æóðíàë "PC Magazine"
pcmag.ru/library/detail.php?ID=44304
Èçäàíèå 6-å, èñïðàâëåííîå è äîïîëíåííîå.
Ïðîöåññû âûäåëåíû êðàñíûì,
ïåðåìåííûå ïðîãðàììíîãî êîäà - êîðå÷íåâûì,
ïðî÷èå îïðåäåëåíèÿ - ñåðûì,
èíûå âàæíûå çàìå÷àíèÿ - çåëåíûì.
Äðóãèå ñòàòüè (îãëàâëåíèå)
Îñíîâîïîëîãàþùèå êîíöåïöèè
Íåçàíÿòàÿ íèøà
 ãîðîäàõ æèâóò íàñòîëüêî ïëîòíî,
÷òî ñèãíàë ñîòîâîãî òåëåôîíà, óëàâëèâàåìûé ñîñåäíåé ìîáèëîé,
îêàçûâàåòñÿ ìîùíåå òîãî, êîòîðûé äîñòèãàåò ðåòðàíñëÿöèîííîé âûøêè
(ïëîùàäè àíòåí ó÷òåíû).
Ýòî îòêðûëî âòîðîé êàíàë ïåðåäà÷è ïàêåòîâ -
íå ÷åðåç âûøêó, à íåïîñðåäñòâåííî ñ òåëåôîíà íà òåëåôîí.
Òàêèå ñåòè åùå íå ðåàëèçîâàíû, íî óæå ïîëó÷èëè íàçâàíèå MANet, Mobile Ad-hoc Net
(âìåñòå ñ VANet, Vechicle Ad-hoc Net, èìåþùèì ìåíüøåå áðîóíîâñêîå äâèæåíèå àïïàðàòîâ è
íå èñïîëüçóþùèì ðóêîïèñíûå ñåðâèñû - ýëåêòðîíóþ ïî÷òó, SMS, ÷àòû -
îíè ñîñòàâëÿþò mesh-ñåòè, ò.å. ðàáîòàþùèå áåç áàçîâûõ ñòàíöèé;
ñîîòâåòñòâåííî îáùåíèå â òàêèõ ñåòÿõ íàçûâàåòñÿ meshworking).
Åìêîñòü íèøè - áîëåå 3 ìëðä. ýêñïëóàòèðóåìûõ íà ïëàíåòå ñîòîâûõ òåëåôîíîâ.
Åñëè â êàæäîì ãîðîäå íåñêîëüêî èç íèõ ïîäêëþ÷èòü ê èíòåðíåòó äëÿ ìåæäóãîðîäíåé ñâÿçè
(íàçîâåì å¸ intercity,
îíà ìîæåò áûòü ðàçâåðíóòà ñòóäåíòîì èëè ñîòðóäíèêîì óíèâåðñèòåòà
íà õàëÿâíîì èíòåðíåòå â íî÷íîå âðåìÿ;
ìåñòíûì ôîíäîì, ñîáèðàþùèì íà intercity ïîæåðòâîâàíèÿ;
èíäèâèäîì, ïëàòÿùèì íå çà òðàôèê, à çà ïîëîñó ïðîïóñêàíèÿ,
êîòîðàÿ ó íåãî íå ïîëíîñòüþ îêàçûâàåòñÿ çàäåéñòâîâàííîé),
åñëè ïðîòÿíóòü ïðîâîä ìåæäó äåðåâíÿìè
(ïîäêëþ÷èâ ïî îäíîìó òåëåôîíó ê Pentium I, âçÿòûì ñ áàðàõîëêè),
òî âêóïå èìååì ñëåäóþùèå óíèêàëüíûå ñâîéñòâà:
- áåñïëàòíîñòü:
âûøêè, ïðèíàäëåæàùèå ÷àñòíîìó êàïèòàëó, íàíîñÿò ãðàæäàíàì ïðÿìîé ýêîíîìè÷åñêèé óðîí
(ñðàâíèâàëè äîõîäû îò ïðîäàæè òðàôèêà è íàðêîòèêîâ?),
êðîìå òîãî, ñîòîâûå ïðîâàéäåðû âîðóþò äåíüãè ñî ñ÷åòîâ;
áàçîâûå ñòàíöèè ñòàâÿò ñòðàíó â çàâèñèìîñòü
îò ïîñòàâîê è ðåìîíòà èíîñòðàííîãî îáîðóäîâàíèÿ
- áåçâóçðàñòíîñòü:
íå íóæíà SIM-êàðòà -
áåñïðèçîðíèêàì íå ïîòðåáóåòñÿ ïàñïîðò äëÿ åå ïðèîáðåòåíèÿ
- âíåòåððèòîðèàëüíîñòü:
íå íóæåí ðîóìèíã - êîòîðûé â êàêîé-òî ðåãèîí ñîòîâûå ïðîâàéäåðû ìîãóò è íå ïðåäîñòàâëÿòü
- áåçëèìèòíîñòü, ò.å. áåñêîíå÷íîñòü òðàôèêà
- áåçñåðâåðíîñòü:
òåëåôîíû èñïîëüçóþòñÿ äëÿ õðàíåíèÿ êîëëåêòèâíîé èíôîðìàöèè
(÷òî äåëàåò íåíóæíûì ïîêóïêó ñîòåí ñåðâåðîâ êàê â ñëó÷àå ñ Âèêèïåäèåé)
è ëè÷íîé èíôîðìàöèè (íàïðèìåð,
ïî÷òîâûõ ÿùèêîâ íà òåëåôîíàõ âëàäåëüöåâ ÿùèêîâ,
à íå âñåõ âìåñòå íà îäíîì óñòðîéñòâå,
÷òî ïðåâðàùàåò òàêèì îáðàçîì âñþ ñèñòåìó â ðàñïðåäåëåííûé ÷àò)
- áåñïåðåáîéíîñòü:
ñèñòåìà ôóíêöèîíèðóåò â òå÷åíèå âîéíû,
êîãäà "òåëåôîíû" íåïðåðûâíî ïîãèáàþò ïîä áîìáåæêàìè
- ñêðûòíîñòü:
ïðîòèâíèê íå ìîæåò ïîäñëóøàòü è ïîäãëÿäåòü ñâîèõ ãðàæäàí,
êîãäà îíè íå âåäóò ðàçãîâîð
(âî âðåìÿ âåäåíèÿ áåç øèôðîâàíèÿ ïîäñëóøàòü ñ âûøêè ïî-ïðåæíåìó ìîæíî);
íå ìîæåò ïîëó÷èòü êîíôèäåíöèàëüíóþ èíôîðìàöèþ,
íà÷èíàÿ ñ IMEI è êîí÷àÿ ïàðîëåì ðàçáëîêèðîâêè êëàâèàòóðû;
íå ìîæåò çàñòàâëÿòü òåëåôîí ðåãèñòðèðîâàòüñÿ â ñîòå, ïîêà íå íóæíî çâîíèòü,
è èñïîëüçîâàòü åãî êàê ìàÿê äëÿ îáíàðóæåíèÿ ïîëüçîâàòåëÿ -
âñ¸ ýòî ïîääåðæèâàåò ñâîèõ ðàçâåä÷èêîâ,
à òàêæå ÷óæèõ ðåâîëþöèîíåðîâ, áàíäèòîâ è íåïëàòÿùèõ íàëîãè
- íåóëîâèìîñòü: ïðîòèâíèê íå ìîæåò àðåñòîâàòü âî âðåìÿ çâîíêà,
ò.ê. ïóáëè÷íûé íîìåð òåëåôîíà óêàçûâàåò íà ïðîìåæóòî÷íîãî ïåðåñûëüùèêà,
êîòîðûé ìåíÿåòñÿ ÷àùå, ÷åì íîðìàòèâ âûåçäà ãðóïïû çàõâàòà
- øèôðîâàííîñòü: ÷òîáû ïðîòèâíèê íå ïîäñëóøàë è íå ïîäãëÿäåë ñàì ðàçãîâîð -
öåëè òå æå, ÷òî è â ïðåäûäóùåì ïóíêòå
- "íîâîìåä" äëÿ ïñèõîëîãè÷åñêèõ îïåðàöèé:
íîâàÿ ìåäèà äëÿ âáðîñà ñëóõîâ, âåùàíèÿ, àëüòåðíàòèâíûõ âûáîðîâ
(äåëèãèòèìàöèè ïðåçèäåíòà, ãóáåðíàòîðà, ìýðà, óïðàâëÿþùåãî, äèðåêòîðà)
â öåëÿõ ðàñõîæäåíèé ýëèò,
ïîääåðæêè êîíòðýëèò,
óñèëåíèÿ äðóçåé è îñëàáëåíèÿ âðàãîâ ñðåäè ëèäåðîâ,
îáîñíîâàíèÿ ñâîåé ïîëèòèêè çà ðóáåæîì,
ïîäãîòîâêè íàñåëåíèÿ (ó ñîëäàò ìîáèëüíèêè îòáèðàþò) ê ââîäó âîéñê.
Ýòà ìåäèà îñòàâëÿåò äàëåêî ïîçàäè âñå îñòàëüíûå â îïåðàòèâíîñòè äîñòèæåíèÿ àóäèòîðèè
(òà ïîñëå òåðàêòîâ íå òåëåâèçîð ñìîòðèò â àâòî è íà òðîòóàðàõ, à ïî òåëåôîíàì îáùàåòñÿ),
÷òî ïîçâîëÿåò òåìó, êîòîðàÿ âîò-âîò áóäåò ïîäíÿòà ïðîòèâíèêîì,
â ïîñëåäíèé ìîìåíò
ïåðåèíòåðïðåòèðîâàòü,
èëè äàòü îïðîâåðæåíèå,
èëè ïîíèçèòü äîñòîâåðíîñòü,
èëè àêöåíòèðîâàòü íà ïîëîæèòåëüíûõ àñïåêòàõ (spin-òåõíîëîãèÿ),
ïîêà íå ïðîÿâèëñÿ ðàçðóøèòåëüíûé ýôôåêò ñîîáùåíèÿ.
Ýòî îäíîâðåìåííî è ñðåäñòâî íàïàäåíèÿ, è ñðåäñòâî çàùèòû,
è, êàê óæå áûëî ñêàçàíî, ìåõàíèçì íå ïðîñòî îïåðåæàþùèé âñå îñòàëüíûå,
à äåëàþùèé ýòî ñ áîëüøèì îòðûâîì
Ñòàíîâèòñÿ äåøåâëå è íåïîäíàäçîðíåå ãðàæäàíàì âðàæäåáíûõ ãîñóäàðñòâ
- ðàäèî-óïðàâëÿåìîå îðóæèå:
áåñïèëîòíèêè ñ âèäåîêàìåðîé (ìîáèëüíèêîì) è
ñòàöèîíàðíûå êàìåðû-"ëèïó÷êè" íà çäàíèÿõ
äëÿ íàáëþäåíèÿ ïîëèöåéñêèõ äåéñòâèé íà óëèöàõ,
ì÷àøèåñÿ ïî àñôàëüòó ìîòî-òåëåæêè ñ ìèíîé èëè êóìóëÿòèâíûì çàðÿäîì
äëÿ âçðûâà ïîä àâòîìîáèëåì ïðÿìî íà õîäó,
ñòàöèîíàðíûå äåòîíèðóåìûå çâîíêîì ìèíû,
ïóëåìåòû è âèíòîâêè áåç ñòðåëêà (óíè÷òîæàåìîãî ïóøêîé èëè ãðàíàòîìåòîì)
Íåñìîòðÿ íà èíòåíñèâíîå ðàçâèòèå ñîîòâåòñòâóþùèõ ïðîòîêîëîâ - ñì.
en.wikipedia.org/wiki/Ad_hoc_routing_protocol_list -
íà ñàìîì äåëå îíè íå ïðèìåíèìû äëÿ ìîáèëüíèêîâ.
Âî-ïåðâûõ, âî âñåõ íèõ çàëîæåíû ñòðóêòóðíûå îãðàíè÷åíèÿ
(ñëó÷àé ÿâëÿåòñÿ íàãëÿäíûì ïîäòâåðæäåíèåì ñëîâ Ôåéíìàíà,
÷òî áîëüøèíñòâî ó÷åíûõ ÿâëÿþòñÿ êàðãîïîêëîííèêàìè),
êîòîðûå áûñòðî îñòàíîâÿò ðàçâèòèå ñåòåé íà îñíîâå ýòèõ ïðîòîêîëîâ.
Âî-âòîðûõ, âñå îíè èñïîëüçóþò distant-vector àëãîðèòìû ìàðøðóòèçàöèè,
òðåáóþùèå áîëüøîãî êîëè÷åñòâà çàïèñåé â òàáëèöàõ ìàðøðóòèçàöèè,
à ïîòîìó íåðàçìåñòèìûõ â òåëåôîíàõ.
Ðàçðàáàòûâàåìîå ÏÎ
(ïîêà ïîä WiFi, à âîîáùå ìîæåò áûòü ïðèìåíåíà ëþáàÿ èç ÷àñòîò
en.wikipedia.org/wiki/Comparison_of_wireless_data_standards)
íå ïåðåíîñèìî íà ìîáèëüíèêè, ò.ê. èñïîëüçóåò âûøå óïîìÿíóòûå ïðîòîêîëû.
Îäíàêî äëÿ ïîëíîòû êàðòèíû ïåðå÷èñëèì ïðîãðàììû, îòìåòèâ,
÷òî âñå, êðîìå îäíîé, èäåíòèôèöèðóþò óçëû IP-àäðåñîì
(÷òîáû íå ïåðåñå÷üñÿ ñ àäðåñàìè â èíòåðíåòå, â ïîñëåäíèé íóæíî âûõîäèòü ÷åðåç ïðîêñè).
 îäíîì óïîìÿíóòîì ñëó÷àå àäðåñîì óñòðîéñòâà ÿâëÿåòñÿ îáû÷íûé íîìåð òåëåôîíà,
÷òî íîñèò íàçâàíèå Distributed Numbering Architecture è
ïðèâÿçûâàåò ïîëüçîâàòåëÿ ê èíñòèòóòó ðàçäà÷è òåëåôîííûõ íîìåðîâ.
FreiFunk.net
ðàçâåðíóò íà íîóòáóêàõ è ïðèìåíÿåòñÿ âî ìíîãèõ ñòðàíàõ.
Áàçèðóåòñÿ íà áèáëèîòåêå ìàðøòóðèçàöèè
OpenWrt.org
è íà îäíîì èç ïðîòîêîëîâ
BATMAN
open-mesh.org ,
Babel
pps.jussieu.fr/~jch/software/babel ,
OLSR
OLSR.org ,
ïîðî÷íîñòü êîòîðûõ ðàñêðûòà, íàïðèìåð íà
lists.alioth.debian.org/pipermail/babel-users/2008-August/000151.html
Êðîìå òîãî, ýòî ÏÎ íå äîïóñêàåò õàîòè÷åñêèõ ìîáèëüíûõ ïåðåìåùåíèé,
è âûñîêà öåíà íîóòáóêîâ.
VillageTelco.org
ñîñòîèò èç êîìïëåêòîâ MeshPotato è
ÿâëÿåòñÿ êîìáèíàöèåé ñòàöèîíàðíîé mesh-ñåòè
ñ îáû÷íûì àíàëîãîâûì òåëåôîíîì, ò.å. POTS-òåëåôîíîì,
è ïðåîáðàçîâàòåëåì ìåæäó íèìè ATA
(âìåñòå MeshPotsAta,
â êîòîðîì óâèäåëè èñïàíñêîå Patata è ïåðåâåëè íà àíãëèéñêèé - Potato).
Îò FreiFunk óíàñëåäîâàë àëãîðèòì ìàðøðóòèçàöèè.
Êîìïëåêòû äîñòóïíû ïî 119$ çà øòóêó, îáåùàåòñÿ ñíèæåíèå äî 89$.
Èòîãî íà÷èíàíèå õàðàêòåðèçóåòñÿ
îòñóòñòâèåì ìîáèëüíîñòè è íåîáõîäèìîñòüþ ñïåöèàëüíîãî îáîðóäîâàíèÿ.
Ninux.org ïðåäïîëàãàåò èñïîëüçîâàòü OLSR äëÿ ñìàðòôîíîâ.
Ïðîåêò íå ðàçâèâàåòñÿ.
ServalProject.org
áóäåò ïðèìåíÿòü äëÿ ñìàðòôîíîâ ïðîøèâêó VillageTelco è èäåíòèôèöèðîâàòü èõ ïî DNA,
à êàê ïðè ýòîì ðàçäåëÿþòñÿ
çâîíêè ñîòîâîìó ïðîâàéäåðó è çâîíêè â Serval-ñåòü - ÍÅèçâåñòíî.
Ïðîåêò ÍÅ ïðåäîñòàâëÿåò íè áèíàðíûõ, íè èñõîäíûõ êîäîâ;
îáåùàåò âûéòè íà ðûíîê ÷åðåç ãîä, ÍÅ ñîîáùàÿ ïîä êàêîé ëèöåíçèåé.
Åäèíñòâåííûé ïðîåêò, â êîòîðîì óïîìÿíóò "ðåçèíîâûé" àäðåñ
(ýòîò è äðóãèå èñïîëüçóåìûå òåðìèíû îïðåäåëåíû â ñëåäóþùåì ðàçäåëå)
- Netsukuku äëÿ íîóòáóêîâ.
Ðåçþìå äîêóìåíòàöèè íàõîäèòñÿ íà
permalink.gmane.org/gmane.network.peer-to-peer.netsukuku/1693 ,
íà ïðàêòèêå àäðåñ òîëüêî ÷åòûðåõáàéòíûé.
Èíñòðóêöèÿ ïî óñòàíîâêå äîñòóïíà íà
permalink.gmane.org/gmane.network.peer-to-peer.netsukuku/1688
Ïðîãðàììà ðàçðàáàòûâàåòñÿ î÷åíü âÿëî, ñóäÿ ïî ñïèñêó ðàññûëêè
lists.dyne.org/mailman/listinfo/netsukuku ,
è èìååò ñëåäóþùèå îãðàíè÷åíèÿ
(êðîìå òîãî, ÷òî âûñîêà öåíà íîóòáóêîâ):
- êîïèè ïàðû "èìÿ - àäðåñ" õðàíÿòñÿ âî âñåõ íîóòáóêàõ îäíîé äèñòàëüíîé ãðóïïû è
êîïèðóþòñÿ íà êàæäûé êîìïüþòåð, ïåðåõîäÿùèé â íå¸ -
ïî âñåé âèäèìîñòè, âñå êîïèè ñòàíîâÿòñÿ íåäîñòóïíû ïîñëå ïåðåñòðîåíèÿ ãðóïï
(êîòîðûå äàæå íå îïèñàíû)
- S-, O-, R-DHT îòñóòñòâóþò
- T-DHT îòñóòñòâóåò,
ïàðà "èìÿ - àäðåñ" ïåðåñîõðàíÿåòñÿ õîçÿèíîì ðàç ìåñÿö
(êàê îïèñàíî â Netsukuku-âñêîé äîêóìåíòàöèè - â ôàéëå "andna.pdf", ïóíêò 3.7)
- ïðè ñëèÿíèè äåðåâüåâ çà ìåíüøåå ñ÷èòàåòñÿ òî, â êîòîðîì ìåíüøå íîóòáóêîâ,
÷òî âûÿñíÿåòñÿ íå îïðîñîì (èáî ìîæåò áûòü ëåãêî ïîääåëàíî õàêåðîì),
à çàìåðîì ñîâîêóïíîé âû÷èñëèòåëüíîé ìîùíîñòè ÑÂÌ
(êîòîðóþ ïîääåëàòü ÷óòü òðóäíåå,
ò.ê. íóæíî ïðèñîåäèíèòü ê íîóòáóêó êëàñòåð) -
îäíàêî âû÷èñëèòåëüíàÿ çàäà÷à äëÿ ÑÂÌ åùå íå ïðèäóìàíà
- âîëíà îáíîâëåíèé òàáëèö ìàðøðóòèçàöèè èäåò íå îò
ïðèñîåäèíÿåìîãî/ îòñîåäèíÿåìîãî/ ïåðåõîäÿùåãî íîóòáóêà, à îò âñåõ;
ïðè÷åì â êàêèå ìîìåíòû ýòî äåëàåòñÿ èëè ñ êàêîé ïåðèîäè÷íîñòüþ - íåèçâåñòíî
Ñòðóêòóðíàÿ ïàðàäèãìà
Íàçîâåì åå RaH (Rubber-and-Hash),
îíà ÿâëÿåòñÿ ñóììîé òåõíîëîãèé, êîòîðûå áóäåì èìåíîâàòü
ðåçèíîâûé àäðåñ è
SORT-DHT (sham-open-rubber-transfer DHT).
Àäðåñ ñîñòîèò èç ïðîèçâîëüíîãî êîëè÷åñòâà áàéò.
Îáúåäèíèì áëèçëåæàùèå òåëåôîíû â ãðóïïû ïî 254 øòóêè è
ïðèñâîèì óñòðîéñòâàì èäåíòèôèêàòîðû îò 1 äî 254
(255 èñïîëüçóåòñÿ êàê "çâåçäî÷êà", à 0 - êàê "êîíåö ñòðîêè" àäðåñà).
Êàæäûå áëèçêî ðàñïîëîæåííûå 254 ãðóïïû îáúåäèíèì â íàäãðóïïó,
âíóòðè êîòîðîé ïåðåíóìåðóåì àíàëîãè÷íî.
Ïðîäîëæèì ýòîò ïðîöåññ, ïîêà âåñü ãîðîä íå ïðåäñòàíåò êàê åäèíîå äåðåâî.
Òîãäà ïåðå÷åíü èäåíòèôèêàòîðîâ îò åãî êîðíÿ äî ñàìîãî òåëåôîíà
áóäåò àäðåñîì ýòîãî àïïàðàòà.
Ïîñëåäíèé èç íèõ ïðèíàäëåæèò ñàìîìó òåëåôîíó,
ïîýòîìó â ëþáîé ãðóïïå ìîãóò íàõîäèòüñÿ ëèáî ïîä-ãðóïïû, ëèáî òåëåôîíû.
Äàëåå ãðóïïó-êîðåíü äåðåâà áóäåì íàçûâàòü ïðîêñèìàëüíîé,
ãðóïïû-êîíöû âåòâåé - äèñòàëüíûìè.
Çàáåãàÿ âïåðåä îòìåòèì,
÷òî â êàæäîé ãðóïïå âûäåëÿåòñÿ ñïåöèàëüíûé òåëåôîí - êîîðäèíàòîð.
Îí âûäàåò â íåé èäåíòèôèêàòîðû
(òàêèì îáðàçîì ïîä-ãðóïïû è òåëåôîíû
äîáàâëÿþòñÿ â ãðóïïó ïî îäíîìó, ïîñëåäîâàòåëüíî);
ñîîáùàåò èäåíòèôèêàòîð, áëèæàéøèé ê äàííîìó
(ýòî íóæíî äëÿ
R-DHT);
ïðèíèìàåò ðåøåíèå î ïåðåñòðîåíèè ãðóïïû è
ñîîáùàåò å¸ ýëåìåíòàì âûáðàííûå ïàðàìåòðû ïåðåñòðîåíèÿ
(÷åðåç âñå äåðåâî êîîðäèíàòîðîâ ïðîõîäèò òàêæå
ñëóæåáíûé âîïðîñ î ìàêñèìàëüíîé äëèíå àäðåñà -
ñì. ñëèÿíèå â êîíöå ñòàòüè).
Êîîðäèíàòîðû ãðóïï ðàçíîãî óðîâíÿ èåðàðõèè íå ñîâïàäàþò,
ò.ê. ïàìÿòü òåëåôîíîâ ìàëà.
Êîîðäèíàòîðû ÿâëÿþòñÿ óÿçâèìûìè çâåíüÿìè,
ïîýòîìó êàæäûå 4 ÷àñà ïðîèñõîäÿò èõ ïåðåâûáîðû
(íî íå ñèíôàçíî äëÿ ðàçíûõ óðîâíåé).
Äëÿ íåêîòîðîé ãðóïïû ïðîöåññ ïðîèñõîäèò ñëåäóþùèì îáðàçîì.
Êîîðäèíàòîðû ïîä-ãðóïï âûáèðàþò îäíîãî ìåæäó ñîáîé,
è ïåðåäàþò ïðàâî ðåøåíèÿ â åãî ïîä-ãðóïïó.
Òàì èòåðàöèÿ ïîâòîðÿåòñÿ è èäåò äàëüøå â äèñòàëüíóþ ñòîðîíó.
Êàæäûé êîîðäèíàòîð ïîìíèò êîîðäèíàòîðîâ ïîä-ãðóïï
(âìåñòå èõ èìåíà ñîñòàâëÿþò ïîä-îáùåñòâî,
÷òî óäîáíî ðåàëèçîâàòü ïî òåõíîëîãèè
computer20.euro.ru/sql5.19.3.pdf
ñ.120, 123-125)
è íàä-èìÿ (èìÿ êîîðäèíàòîðà íàä-ãðóïïû).
 ïîñëåäíåé ãðóïïå òåëåôîíû âûáèðàþò.
Êàæäûé âûáèðàþùèé ãåíåðèðóåò ñëó÷àéíîå ÷èñëî è
ñîîáùàåò îñòàëüíûì âûáèðàþùèì,
÷òîáû âñå ïðîäåëàëè îäíè è òå æå âû÷èñëåíèÿ,
è íèêòî íå ìîã ñòàòü êîîðäèíàòîðîì â ðåçóëüòàòå îáìàíà.
À âû÷èñëÿåòñÿ õýø-ôóíêöèÿ îò 254 àðãóìåíòîâ (èëè ìåíüøå),
èíâàðèàíòíàÿ îòíîñèòåëüíî èõ ïåðåñòàíîâêè.
SORT-DHT - ýòî ãèáðèä
S-DHT (sham DHT),
O-DHT (open DHT),
R-DHT (rubber DHT) è
T-DHT (transfer DHT),
êàæäàÿ èç êîòîðûõ - íàäñòðîéêà íàä îáû÷íîé DHT.
Ïîñëåäíÿÿ ÿâëÿåòñÿ õýø-òàáëèöåé,
÷àñòè êîòîðîé áåç äóáëèðîâàíèÿ ðàñïîëîæåíû íà âñåõ òåëåôîíàõ;
õýø-êëþ÷ü óêàçûâàåò íà àäðåñ àïïàðàòà,
à ïîòîì ïîâòîðíî èñïîëüçóåòñÿ äëÿ íàõîæäåíèÿ çíà÷åíèÿ âíóòðè íåãî.
 ïðîöåññå ïåðåäâèæåíèÿ ïî ãîðîäó òåëåôîíû ïåðåõîäÿò èç ãðóïïû â ãðóïïó,
è àäðåñ ìåíÿåòñÿ.
Íî êàæäûé òåëåôîí âûáèðàåò ñåáå â êà÷åñòâå õýø-êëþ÷à
ïðîèçâîëüíîå ëèòåðàëüíîå èìÿ
è ïàðó "ñâî¸ èìÿ - ñâîé àäðåñ" õðàíèò è îáíîâëÿåò â DHT.
Òàêèì îáðàçîì â íåé âñåãäà äîñòóïåí àêòóàëüíûé àäðåñ,
êðîìå òîãî, "äâóíàïðàâëåííûå" ïðîãðàììû
- íàïðèìåð, ãîëîñîâîãî ðàçãîâîðà -
ñîîáùàþò ñîáåñåäíèêó î ñìåíå àäðåñà.
Îäíàêî îáû÷íàÿ DHT òðåáóåò
ðàâíîé äëèíû âñåõ àäðåñîâ,
èõ íåèçìåííîñòè è
èçîëèðîâàííîñòè DHT îò çëîóìûøëåííèêîâ.
Ýòè îãðàíè÷åíèÿ ïðåîäîëåâàåò SORT-DHT.
R-DHT îòëè÷àåòñÿ èñïîëüçîâàíèåì äâóõ ãåíåðàòîðîâ ïñåâäî-ñëó÷àéíûõ ÷èñåë.
Ïðîòèâ áîìáåæêè òåëåôîíîâ è îáðåçàíèÿ intercity,
ïàðó "èìÿ-àäðåñ" ðàçìíîæàþò íà íåñêîëüêî, íàïðèìåð 200,
ãåîãðàôè÷åñêè óäàëåííûõ àïïàðàòîâ-õðàíèòåëåé
(òàêèì îáðàçîì ñëîâî "õðàíèòåëè" âñåãäà îòíîñèòñÿ ê àïïàðàòàì,
ñîäåðæàùèì îäíó è òó æå ïàðó).
Õýø èìåíè ÿâëÿåòñÿ çàòðàâêîé "ïåðïåíäèêóëÿðíîãî" ãåíåðàòîðà,
êîòîðûé óêàçûâàåò èäåíòèôèêàòîð â ïðåäåëàõ ãðóïïû.
Õýø èìåíè è ýòîò èäåíòèôèêàòîð ÿâëÿþòñÿ çàòðàâêàìè
"ïðîäîëüíîãî" ãåíåðàòîðà,
ïîñëåäîâàòåëüíîñòü ÷èñåë êîòîðîãî èíòåðïðåòèðóåòñÿ êàê ðåçèíîâûé àäðåñ.
Ïðè ïðîìàõå ìèìî ïîä-ãðóïïû èëè òåëåôîíà âûáèðàåòñÿ
áëèæàéøàÿ ïîä-ãðóïïà èëè òåëåôîí
(áëèæàéøóþ óçíà¸ì ó êîîðäèíàòîðà).
Íà ïðîêñèìàëüíîì óðîâíå ïåðïåíäèêóëÿðíûé ãåíåðàòîð âêëþ÷àåòñÿ âñåãäà,
íà áîëåå äèñòàëüíûõ - åñëè õðàíèòåëåé áîëüøå 254,
è õîòÿ áû äâà èç íèõ ïîïàäàþò â îäíó ïîä-ãðóïïó.
Âñå ÷èñëà, ñãåíåðèðîâàííûå èì äëÿ äàííîé êîïèè ïàðû,
íàçîâåì å¸ îòêëîíåíèåì
(ÿâëÿåòñÿ ñòðîêîé, çàêàí÷èâàþùåéñÿ "/0").
Îíî çàïèñûâàåòñÿ â êîïèþ íàðàâíå ñ èìåíåì è àäðåñîì
è ÿâëÿåòñÿ çàòðàâêîé îáîèõ ãåíåðàòîðîâ íà ëþáîì óðîâíå èåðàðõèè
íàðàâíå ñ õýøåì èìåíè.
Ïðè ïîèñêå àäðåñà ïî èìåíè
õðàíèòåëåé îïðàøèâàþò ïîñëåäîâàòåëüíî, ïî îäíîìó
(öåíîé íåêîòîðîé ïîòåðè âðåìåíè),
÷òîáû ýêîíîìèòü òðàôèê.
Âìåñòå ñ èìåíåì, àäðåñîì, îòêëîíåíèåì õðàíÿòñÿ
ñëó÷àéíîå ÷èñëî-ñåëåêòîð, ïðåäíàçíà÷åííîå äëÿ ëèïîâîé ìàðøðóòèçàöèè,
è îòêðûòûé êëþ÷ àñèììåòðè÷íîãî øèôðîâàíèÿ
- òàêîé êîìïëåêò íàçîâåì ïåíòëåòîì.
Ñàìà ëèïîâàÿ ìàðøðóòèçàöèÿ (sham routing)
- ýòî òåõíîëîãèÿ, ñèììåòðè÷íàÿ ëóêîâè÷íîé ìàðøðóòèçàöèè (onion routing).
 îáîèõ ñëó÷àÿõ ïàêåò äâèæåòñÿ íå êðàò÷àéøèì ìàðøðóòîì,
à çèãçàãîì, ïîñåùàÿ ðàçíûå òî÷êè ïëàíåòû.
Íî ëóêîâè÷íàÿ ïðîòèâîäåéñòâóåò óñòàíîâëåíèþ ïîëó÷àòåëÿ (ïî ïàêåòàì îòïðàâèòåëÿ),
ëèïîâàÿ - åãî ôèçè÷åñêîìó ïîèñêó (ïî ïóáëè÷íîìó àäðåñó ïîëó÷àòåëÿ).
Áóäóùèé ïîëó÷àòåëü îáðàùàåòñÿ ê ïðîèçâîëüíîìó òåëåôîíó
ñ ïðåäëîæåíèåì áûòü åãî ïîñðåäíèêîì â òå÷åíèå íåêîòîðîãî âðåìåíè
tsecurity=tpolice*N
,
ãäå tpolice (3 ìèíóòû) - âðåìÿ âûåçäà íà ìåñòî
ãðóïïû çàõâàòà èç áëèæàéøåãî îòäåëåíèÿ ïîëèöèè,
N - êîëè÷åñòâî ïîñðåäíèêîâ, êîòîðûõ ïðåäïîëàãàåòñÿ çàäåéñòâîâàòü
(îíî äîëæíî áûòü òåì áîëüøå, ÷åì áîëüøå
äûð è îòâåðñòèé).
Åñëè â îòâåòå íà ïðåäëîæåíèå ïîñðåäíèê óêàçàë, ÷òî ñîãëàñåí íà ìåíüøèé èíòåðâàë,
òî ïîëó÷àòåëþ ïðèäåòñÿ ñêîíñòðóèðîâàòü ñëåäóþùèé çèãçàã çà ýòî ìåíüøåå âðåìÿ èëè
îòêàçàòüñÿ îò åãî ïîìîùè.
Ñàìî ïðåäëîæåíèå ñîñòîèò èç îäíîé èëè äâóõ ïðîñüá.
Ïåðâàÿ - ìàðøðóòèçèðîâàòü ïàêåòû, ïîìå÷åííûå ñåëåêòîðîì ïîëó÷àòåëÿ
(åñëè òåëî ïàêåòà çàøèôðîâàíî, òî âìåñòå ñ ñåëåêòîðîì),
íà èìÿ íåêîòîðîãî òðåòüåãî òåëåôîíà.
Ýòè ñåëåêòîð è èìÿ íàçîâåì äóáëåòîì.
Ïîñðåäíèê sham-âåðèôèöèðóåò äóáëåò,
îòïðàâëÿÿ â òðåòüèé òåëåôîí ïðîèçâîëüíîå ÷èñëî,
çàøèôðîâàííîå êëþ÷åì áóäóùåãî ïîëó÷àòåëÿ,
è îæèäàÿ ïîëó÷èòü ÷èñëî, íà åäèíèöó áîëüøåå.
Âòîðàÿ ïðîñüáà, åñëè ïîñðåäíèê áóäåò ïåðâûì â çèãçàãå -
ðàçðåøèòü óêàçàòü åãî àäðåñ âìåñòî ñâîåãî â S-DHT,
÷òî îçíà÷àåò äëÿ ïîñðåäíèêà íåîáõîäèìîñòü çàïîìíèòü èìÿ ïðîñÿùåãî è
âûäàòü åãî âî âðåìÿ open-âåðèôèêàöèè.
Open-âåðèôèêàöèþ ïåíòëåòà ïåðåä ñîõðàíåíèåì
âûïîëíÿåò â O-DHT áóäóùèé õðàíèòåëü,
çàïðàøèâàÿ èìÿ ïî àäðåñó è ñåëåêòîðó èç ïåíòëåòà
- è ïðè îòñóòñòâèè îòâåòà èëè íåñîâïàäåíèè ñ èìåíåì â ïåíòëåòå íå ñîõðàíÿåò.
Òàêèì îáðàçîì âûêëþ÷åííûé õîçÿèí èìåíè çà íåêîòîðîå âðåìÿ â ðåçóëüòàòå
ïåðòóðáàöèé
- ïåðåõîäîâ õðàíèòåëÿ è ïåðåñòðîåíèé ãðóïï, ñîäåðæàùèõ õðàíèòåëü -
òåðÿåò ñâî¸ èìÿ;
ýòî ñòèìóëèðóåò äåðæàòü òåëåôîíû ïîñòîÿííî âêëþ÷åííûìè è
ìàðøðóòèçèðóþùèìè ÷óæîé òðàôèê.
T-DHT ñîñòîèò â òîì, ÷òî åñëè ïåðòóðáàöèÿ çàòðîíóëà õðàíèòåëÿ,
òî îí ïåðåñîõðàíÿåò âñå íàõîäÿùèåñÿ â í¸ì ïåíòëåòû:
ïî õýøó èìåíè è îòêëîíåíèþ âû÷èñëÿåò àäðåñà íîâûõ õðàíèòåëåé;
îòïðàâëÿåò ïåíòëåòû â ñåòü - è îíè ñîõðàíÿþòñÿ íà àïïàðàòàõ, áëèæàéøèõ óæå áåç íåãî;
çàòåì óäàëÿåò ïåíòëåòû â ñåáå.
Ò.å. ñðàçó ïîñëå ïåðòóðáàöèè îí ïóñò.
Ìàðøðóòèçàöèîííàÿ ïàðàäèãìà
×òîáû òåëåôîí ìîã ïðèíèìàòü çâîíêè è îò RahNet, è îò ïðîâàéäåðà,
îí äîëæåí èìåòü äâà áåñïðîâîäíûõ ìîäåìà
(÷òî ýòî òàêîå - ñì.
en.wikipedia.org/wiki/Cellular_modem),
ò.å. ïîääåðæèâàòü äâå SIM-êàðòû.
Ïðîâàéäåð íóæåí äëÿ ïðèåìà GPRS (intercity) è äëÿ ïðèåìà çâîíêîâ àáîíåíòîâ,
åùå íå ïîäêëþ÷åííûõ ê RahNet.
À âîò ÷òîáû çâîíèòü, äîñòàòî÷íî îäíîãî ìîäåìà, ò.å. îäíî-SIM-î÷íîãî òåëåôîíà.
Çâîíîê â RahNet ïðîâàéäåð íå ðàñïîçíàåò êàê çâîíîê ñåáå è íå ñíèìåò äåíüãè ñî ñ÷åòà,
ò.ê. ôîðìàò ïàêåòîâ ðàçíûé.
Íî äàæå åñëè áû îíè áûëè îäèíàêîâû, ìîæíî íå àóòåíòèôèöèðîâàòüñÿ,
îòïðàâèâ ïàêåò ñî ñáîéíûì SSD_A,
êîòîðîå ÿâëÿåòñÿ ðåçóëüòàòîì õýø-ôóíêöèè CAVE îò ÷èñëà SSD_UPDATE,
ðàç â íåäåëþ âûñûëàåìîãî òåëåôîíó âûøêîé,
è ÷èñåë ESN è AKEY, ïðîøèòûõ â òåëåôîíå è SIM-êàðòå.
Âûøêà âû÷èñëÿåò SSD_A ñàìà è ñðàâíèâàåò ñ òàêîâûì èç ïàêåòà
(àóòåíòèôèêàöèÿ SIS ïðîõîäèò àíàëîãè÷íî, òîëüêî ðàçìåðû ÷èñåë â áàéòàõ äðóãèå,
è îäíà ïîëîâèíà ðåçóëüòàòà èñïîëüçóåòñÿ äëÿ ñðàâíåíèÿ,
à äðóãàÿ - äëÿ øèôðîâàíèÿ âûçûâàåìîãî íîìåðà).
È â ñëó÷àå ðàçíûõ ôîðìàòîâ, è â ñëó÷àå çâîíêà áåç àóòåíòèôèêàöèè
ïåðåïðîãðàììèðîâàòü íàäî íå ÎÑ, à ñàì ìîäåì.
Çâîíêè â RahNet âûãëÿäÿò òàê.
Ñàìó ñïîñîáíîñòü äâóõ òåëåôîíîâ îáùàòüñÿ íàïðÿìóþ áåç ïîñðåäíèêîâ íàçîâ¸ì ñâÿçüþ,
à àïïàðàòû íà å¸ êîíöàõ - ñìåæíèêàìè.
Ñâÿçè, ïåðåñåêàþùèå ãðàíèöó äàííîé ãðóïïû, íàçîâåì å¸ ìîñòàìè,
à óñòðîéñòâà íà èõ êîíöàõ - íàïàðíèêàìè.
Ñâÿçè âíóòðè äèñòàëüíîé ãðóïïû íàçîâåì ïëå÷àìè,
à òåëåôîíû íà èõ êîíöàõ - áëèçíåöàìè.
Ïðè ñáëèæåíèè-óäàëåíèè òåëåôîíîâ ïðîèñõîäÿò
ñîåäèíåíèÿ è ðàçðûâû - äðåáåçã;
è àïïàðàò ïåðåõîäèò â äðóãóþ ãðóïïó,
êîãäà êîëè÷åñòâî ìîñòîâ ñ íåé â 2 ðàçà ïðåâûñèò êîëè÷åñòâî ïëå÷ ñî ñòàðîé
(âûáèðàåòñÿ íîâàÿ ãðóïïà, êóäà âåäåò ìàêñèìàëüíîå êîëè÷åñòâî ìîñòîâ).
Ðàçðûâû äèàãíîñòèðóåòñÿ íå òîëüêî ïðåêðàùåíèåì òðàôèêà:
â ïåðèîäû åãî îòñóòñòâèÿ
ñìåæíèêè îáìåíèâàþòñÿ óâåäîìëåíèÿìè î ñâîåì ñóùåñòâîâàíèè
(ïîäîáíî òîìó, êàê â îáû÷íîé ñîòîâîé ñëóæáå òåëåôîíû îáìåíèâàþòñÿ èìè ñ âûøêàìè) -
è òåì ÷àùå, ÷åì ÷àùå äðåáåçã.
Ìàðøðóòèçàöèÿ ñîñòîèò èç
ìàðøðóòèçàöèè ìîñòîâ è ìàðøðóòèçàöèè ïëå÷.
Òåëåôîí óçíàåò îò ñìåæíèêîâ îáî âñåõ ìîñòàõ ãðóïï, â êîòîðûõ íàõîäèòñÿ
(çàòåì äåëàåò âûáîðî÷íóþ ñâåðêó ñ êàêèìè-ëèáî àïïàðàòàìè â ýòèõ ãðóïïàõ).
Ìîñò ñîñòîèò èç äâóõ àäðåñîâ, âîçìîæíî ðàçíîé äëèíû.
Ïóñòü äëÿ ïðèìåðà òåëåôîí èìååò àäðåñ 1.1.1.1 , à ìîñòàìè ÿâëÿþòñÿ:
1.1.1.4-1.1.2.5 , 1.1.2.7-1.2.9.3 , 1.2.6.8-2.5.7.4
Òåëåôîí èùåò â ìîñòàõ ïåðâûé áàéò, îòëè÷àþùèé èõ îò åãî ñîáñòâåííîãî àäðåñà,
è óäàëÿåò îñòàòîê ñòðîê ïîñëå íåãî - íîðìàëèçèðóåò.
Ðåçóëüòàòîì ÿâëÿþòñÿ 1.1.1.4-1.1.2 , 1.1.2-1.2 , 1.2-2
Òàê ïîÿâëÿþòñÿ
ýñòàêàäû ñ áóëüøèìè è ìåíüøèìè îïîðàìè
(îïîðû âñåãäà ðàçíîé äëèíû,
ïàêåò äâèæåòñÿ îò áîëüøåé ê ìåíüøåé).
Åñëè â ïåðå÷íå ýñòàêàä òàêîé åùå íåò, îíà äîáàâëÿåòñÿ òóäà;
åñëè åñòü, ó íåå èíêðåìåíòèðóåòñÿ ñ÷åò÷èê.
Ìíîæåñòâî ðàâíîâåëèêèõ áóëüøèõ îïîð ñîïîñòàâëÿåòñÿ êàæäîé ìåíüøåé îïîðå
(ñàìûå áîëüøèå - ñàìûå ëó÷øèå, ò.ê. áëèæå ê ñàìîìó ìàðøðóòèçèðóþùåìó òåëåôîíó).
Âíóòðè ìíîæåñòâà îíè ñâÿçàíû â êîëüöî ñ ïîëçóíêîì -
â ñëåäóþùèé ðàç áóäåò èñïîëüçîâàíà ñëåäóþùàÿ áîëüøàÿ îïîðà
(êîëüöî äâóíàïðàâëåííîå, ÷òîáû áûëè âîçìîæíû óäàëåíèÿ).
Àäðåñ èç ïàêåòà ïîñëå íîðìàëèçàöèè íàçîâåì ïðèñòðåëêîé.
Äëÿ ïîñëåäíåé íàõîäèòñÿ ðàâíàÿ åé ìåíüøàÿ îïîðà,
è ïàðíàÿ áîëüøàÿ ðàññìàòðèâàåòñÿ êàê íîâîå çíà÷åíèå ïðèñòðåëêè.
Èòåðàöèè ïîâòîðÿþòñÿ äî òåõ ïîð,
ïîêà íàéäåííàÿ áîëüøàÿ îïîðà íå ïîïàäåò â òó æå äèñòàëüíóþ ãðóïïó,
÷òî è ìàðøðóòèçèðóþùèé òåëåôîí.
Åñëè ýòî îí ñàì è åñòü, îí øëåò ïàêåò â ïîñëåäíåå çíà÷åíèå ïðèñòðåëêè.
Åñëè íåò, äëÿ ïîñëåäíåé áîëüøåé îïîðû âûïîëíÿåòñÿ ìàðøðóòèçàöèÿ ïëå÷.
Òàêèì îáðàçîì èòåðàòîð îáõîäèò äåðåâî ýñòàêàä,
à âìåñòå ñ áîëüøåé îïîðîé õðàíÿòñÿ
å¸ ñ÷åò÷èê è óêàçàòåëü íà ñëåäóþùóþ ìåíüøóþ îïîðó.
Èòîãî ïàðàäèãìà â ýòîé ÷àñòè ÿâëÿåòñÿ âåñüìà îãðàíè÷åííûì link-state àëãîðèòìîì.
 öåëÿõ îïòèìèçàöèè ââåäåì äîïîëíèòåëüíûå ñëóæåáíûå òàáëèöû.
Ïîñëåäíåå çíà÷åíèå ïðèñòðåëêè â ïåðâîì ñëó÷àå è
ïîñëåäíåå çíà÷åíèå áîëüøåé îïîðû âî âòîðîì
íàçîâåì óñòîåì.
Åñëè äëÿ êàæäîé ìåíüøåé îïîðû
(â ò.÷. íå òåðìèíàëüíîé â äåðåâå ýñòàêàä) âû÷èñëèòü óñòîé,
ìàðøðóòèçàöèÿ ñòàíîâèòñÿ ìãíîâåííîé,
íî ïåðåñ÷èòûâàòü ïðèäåòñÿ ïðè êàæäîì äðåáåçãå ìîñòîâ.
Äëèíó ñàìîãî äëèííîãî ìàðøðóòà ðàçäåëèì íà 3 ÷àñòè,
îòëîæèì èõ âî âñåõ ìàðøðóòàõ è äëÿ êàæäîãî êóñî÷êà âû÷èñëèì óñòîè -
ïåðåñ÷èòûâàòü ïðèäåòñÿ â 3 ðàçà ðåæå.
Õîòÿ è ñîáèðàòü èç êóñî÷êîâ ìàðøðóò.
Ðåçþìèðóÿ, îïòèìèçàöèÿ ÿâëÿåòñÿ îãðàíè÷åííûì vector-distance àëãîðèòìîì.
Ïîñêîëüêó äèñòàëüíûé äðåáåçã ïðîèñõîäèò ïðè êàæäîì ïåðåõîäå â äðóãóþ ãðóïïó,
îäíà òàêàÿ ÷àñòü äîëæíà ñîñòîÿòü òîëüêî èç äèñòàëüíîãî ìîñòà.
Àíàëîãè÷íî â ïðåäåëàõ äèñòàëüíîé ãðóïïû òåëåôîí óçíàåò îò áëèçíåöîâ îáî âñåõ ïëå÷àõ
(íàáîð ïëå÷ ìîæåò ïðîâåðèòü, âûáîðî÷íî îáðàòèâøèñü ê àïïàðàòó, óïîìÿíóòîìó â ïåðå÷íå;
à íàáîð àïïàðàòîâ - îáðàòèâøèñü ê êîîðäèíàòîðó).
Êàæäûé ðàç ïîñëå ýòîãî âîëíîâûì àëãîðèòìîì âû÷èñëÿåòñÿ
â êîòîðîãî èç áëèçíåöîâ íóæíî îòïðàâèòü,
÷òîáû ïàêåò äîñòèã íåîáõîäèìîãî ñîñåäà ïî ãðóïïå,
è ñêîëüêî ïðîìåæóòî÷íûõ àïïàðàòîâ íà òàêîì ïóòè,
ò.å. îïÿòü link-state.
Äëÿ êîòîðîãî âîçìîæíà vector-distance îïòèìèçàöèÿ.
Ïðîòèâ ìîíîïîëüíîãî çàõâàòà òðàôèêà
îáñóæäàþùèìè ñåðèàëû èëè êà÷àþùèìè ôèëüìû
òåëåôîí èìååò êðàòêîâðåìåííóþ ïàìÿòü,
â êîòîðîé îòìå÷àåò ïîëó÷àòåëåé ìàðøðóòèçèðóåìûõ ïàêåòîâ è ÷àñòîòó ýòèõ ïàêåòîâ è,
èñïîëüçóÿ êîòîðóþ, ìàðøðóòèçèðóåò äëÿ ðàçíûõ ïîëüçîâàòåëåé ðàâíîìåðíî.
Íà äåëå ïàêåòû çàäåðæèâàþòñÿ
ïåðâûì æå àïïàðàòîì-ïåðåñûëüùèêîì íà ñàìîì òåëåôîíå-îòïðàâèòåëå.
Ôèíàíñèðîâàíèå
Ýòî - ïîæåðòâîâàíèÿ;
ïåðåïðîøèâêè òåëåôîíîâ;
ðåêëàìà â RahNet-ïîèñêîâèêå
(òàêîé ïîèñêîâûé ñåðâåð ñëåäóåò ñîçäàòü äàæå òåì,
êòî ïðèíöèïèàëüíî ïðîòèâ ðåêëàìû,
èáî ýòèì îíè âðåäÿò íå ïîëüçîâàòåëÿì, à Google,
êîòîðûé âñ¸ ðàâíî áóäåò ñêàíèðîâàòü RahNet);
ñîçäàíèå-è-îáó÷åíèå-ñîçäàíèþ ñòðàíèö ïîä ïðîñìîòîðùèê,
áîëåå ïðîãðåññèâíûé ÷åì áðàóçåð ñ åãî "âðåìÿíêîé" HTML
(ñì., íàïðèìåð, ñòàòüþ
Îøèáêè è èõ èñïðàâëåíèå â ýðãîíîìèêå API íà
computer20.euro.ru/api/api.htm),
è êîòîðûé òàêèì îáðàçîì ïîðîæäàåò íîâóþ èíäóñòðèþ ñ îòäåëüíîé ïðèáûëüþ.
Ñíà÷àëà - äî ïîÿâëåíèÿ îãðîìíîé ìàññû ïîëüçîâàòåëåé -
ïåðåïðîøèâêè âûïîëíÿþòñÿ
- ñðåäè ñòóäåíòîâ äëÿ ñâÿçè â îáùåæèòèÿõ,
ñðåäè ñòàðøåêëàññíèêîâ äëÿ ñâÿçè â øêîëå è â ìíîãîýòàæêàõ
- ïóòåì ñêóïêè íà ðûíêå îïòîì êðàéíå ñòàðûõ ìîäåëåé,
ïåðåïðîøèâêè è ïðîäàæè â ðîçíèöó øêîëüíèêàì ñðåäíèõ êëàññîâ ïî áðîñîâûì öåíàì
(ïðèåìëåìûì äëÿ èõ êàðìàííûõ äåíåã)
- ïóòåì äîãîâîðåííîñòè ñ äèðåêòîðàìè ôèðì î ïðîøèêå òåëåôîíîâ ñîòðóäíèêîâ
(ïëàòèò ôèðìà, ñîòðóäíèêàì áåñïëàòíî)
ïðè íåâîçìîæíîñòè ïðîëîæåíèÿ ñåëåêòîðíîé ñâÿçè è
äîðîãîâèçíå ïîêóïêè òðàíêîâîé ñâÿçè
à ïîñëå ïîÿâëåíèÿ - äëÿ âñåõ îñòàëüíûõ ãðóïï íàñåëåíèÿ.
Äåíüãè ðàñõîäóþòñÿ ñíà÷àëà íà ðåêëàìó íà ôîðóìàõ,
à ïîòîì - íà ðåêëàìó ëèñòîâêàìè è àðåíäó èíòåðíåò-êàíàëîâ äëÿ intercity.
Ïðîòîêîë íå ìåíÿåòñÿ, ÷òîáû íå ïèñàòü ñàìîìó
name2name è RahAsk ïîäî âñå ÎÑ,
è ÷òîáû íå îòêëþ÷èòü Skype.
Åñëè ïðîäóêò íå áóäåò âûïóùåí ïîä îòêðûòîé ëèöåíçèåé GPL,
ñëåäóåò îæèäàòü ïîÿâëåíèÿ CAPTCHA,
âêëþ÷àåìîãî êîìàíäîé, ëàâèíîîáðàçíî ðàñïðîñòðàíÿþùåéñÿ ïî ñåòè
(íî íå íà áëèçíåöîâ, à íà àïïàðàòû,
÷üè ïåíòëåòû õðàíÿòñÿ â äîñòèãíóòîì òåëåôîíå),
ñ ïðåäëîæåíèåì îòïðàâêè ïëàòíîãî SMS
(õîòÿ âîçìîæíî è ñ äèôôåðåíöèàöèåé äëÿ ñòîëè÷íûõ è ïðîâèíöèàëüíûõ,
äëÿ ïåðâîãî ìèðà è òðåòüåãî).
Èäåè âòîðîãî ïëàíà
Ïðîòèâîñòîÿíèå, ÷àñòíûå òàêòèêè
 ñåòè ïîÿâÿòñÿ ñìåæíèêè, îò êîðîòûõ ïàêåòû íå èäóò íèêóäà.
Ñíà÷àëà èìè áóäóò âûøêè ñîòîâûõ ïðîâàéäåðîâ - äûðû.
Íî èõ ëåãêî îáíàðóæèòü ïî òîìó,
÷òî î ìîñòå ÷åðåç îäíó-äâå ãðàíèöû è î ïëå÷å
îíè ñîîáùàþò ñëèøêîì áîëüøîìó êîëè÷åñòâó ãàäæåòîâ, ðàñïîëîæåííûõ çà ìíîãî ãðàíèö:
âûøêó ñëûøíî íà GSM-900 çà 35 êì, íà GSM-1800 - çà 6 êì.
Áîðîòüñÿ ñ äûðàìè ìîæíî äâóìÿ ïóòÿìè.
Ïåðâûé:
îáíàðóæèâøèå ãàäæåòû
- íå âñå, à íåêîòîðûå, ïî ãåíåðàòîðó ñëó÷àéíûõ ÷èñåë,
÷òîáû ýêîíîìèòü òðàôèê -
èçâåùàþò î äûðå å¸ ñìåæíèêîâ è ñîñåäåé ïî äèñòàëüíîé ãðóïïå.
Îäèí èç êîòîðûõ òàêæå ìîæåò îêàçàòüñÿ òîé æå ñàìîé âûøêîé,
è òàêèì îáðàçîì îíà óçíàåò, ÷òî îáíàðóæåíà è
ñûìèòèðóåò, ÷òî ïîøëà äàëüøå ïî ãîðîäó.
Âòîðîé ïóòü - òîò æå, ÷òî ïðîòèâ îòâåðñòèé.
Ïîñêîëüêó äûðû ëåãêî îáíàðóæèâàåìû,
â ñâåòîôîðàõ è íà ñòåíàõ äîìîâ óñòàíîâÿò îòâåðñòèÿ
- ñîòîâûå òåëåôîíû, ðàáîòàþùèå îò ãîðîäñêîé ýëåêòðîñåòè
(èëè îáÿæóò ñäåëàòü ýòî ïðîâàéäåðîâ çà èõ ñ÷åò).
Ïîýòîìó ÎÑ-îòïðàâèòåëü ðàçáðàñûâàåò ïàêåòû ïî íåñêîëüêèì òðàåêòîðèÿì,
ïîìåòèâ èõ íîìåðîì òðàåêòîðèè,
÷òîáû ÎÑ-ïîëó÷àòåëü îòâåòèëà, ïî êàêèì ïàêåòû ïðèõîäÿò.
Äëÿ òðàåêòîðèé âû÷èñëÿþòñÿ ETX - äîëè ïîòåðÿííûõ ïàêåòîâ,
è dt - ïðîìåæóòîê âðåìåíè ìåæäó ïåðâîé è ïîñëåäíåé ïðèíÿòûìè êîïèÿìè ïàêåòà.
Åñëè ïàêåòû äóáëèðóþòñÿ ïî òðàåêòîðèÿì,
òî âåùàþòñÿ â ýôèð îäèí ðàç ñðàçó äëÿ âñåõ ïåðâûõ ñìåæíèêîâ.
Äëÿ ýòîãî ñëóæåáíûì ïðåä-ïàêåòîì âñå èç íèõ, êðîìå îäíîãî,
óâåäîìëÿþòñÿ îá àäðåñå ýòîãî ïîñëåäíåãî,
ïàêåòû â êîòîðûé îíè òàêæå äîëæíû ëîâèòü.
Íà÷àëà âåùàíèÿ æäóò 1 ñåêóíäó,
÷òîáû íå çàïîìèíàòü ìíîãî ïðåä-ïàêåòîâ.
Ïî îêîí÷àíèè îáùåíèÿ ÎÑû ôèíàëèçèðóþùèì ïàêåòîì
(ñ ïðîèçâîëüíûì ÷èñëîì-ñêðûâàòåëåì,
÷òîáû ïîäñëóøèâàþùèå âûøêè íå ìîãëè âû÷ëåíèòü îêîí÷àíèå îáùåíèÿ)
èíôîðìèðóþò:
äðóã äðóãà - îñâîáîäèòü ÿ÷åéêè, èñïîëüçîâàâøèåñÿ ïðè ïîäñ÷åòå ETX è dt;
âñåõ ïåðâûõ ñìåæíèêîâ - ÷òî áîëüøå íå íàäî ëîâèòü ÷óæèå àäðåñà.
Ïðè îáðûâå ñâÿçè (âîçìîæíîé ãèáåëè ñîáåñåäíèêà)
îáå ÎÑû - è îòïðàâèòåëü, è ïîëó÷àòåëü - âûäàþò ôèíàëèçèðóþùèé ïàêåò àâòîìàòè÷åñêè.
ÎÑ-îòïðàâèòåëü òàêæå îòñûëàåò åãî â ñòàðóþ ãðóïïó ïîñëå ïåðåõîäà â äðóãóþ.
 íîâîé ãðóïïå äóáëèðîâàíèå ïî òðàåêòîðèÿì íà÷èíàåòñÿ çàíîâî.
Äàëüíåéøèì ðàçâèòèåì ÿâëÿåòñÿ ïîèñê îòâåðñòèÿ íà òðàåêòîðèè
îïðàøèâàíèåì ñìåæíèêîâ ýëåìåíòîâ òðàåêòîðèè:
íå âûÿâèëè ëè îíè ãèáåëü ñâîèõ ïàêåòîâ.
Íî ïîñëå îáíàðóæåíèÿ âñå ðàâíî íóæíî âåùàòü â îòâåðñòèå ïàêåòû-èìèòàòîðû,
÷òîáû îíî íå âûêëþ÷èëîñü è íå âûäàëî ñåáÿ çà íîâûé òåëåôîí
(à åñëè íóæíî îïðîñèòü ñêðûòíî îò îòâåðñòèÿ,
òî, ÷òîáû íå èçìåíèëñÿ îáúåì òðàôèêà,
èíòåðâüþèðîâàòü ïðèäåòñÿ äàæå â ñëó÷àå, êîãäà ïàêåòû íå òåðÿþòñÿ).
Î ðàçðûâå èëè íàâåäåíèè ìîñòà íàïàðíèêè íà åãî êîíöàõ
èíôîðìèðóþò ôëóäîì äðåáåçãà àïïàðàòû îáåèõ ãðóïï,
êîòîðûå ìîñò ñâÿçûâàë èëè áóäåò ñâÿçûâàòü.
Ïðè âáðîñå â ñåòü äåçèíôîðìàöèè îá èñ÷åçíîâåíèè ìîñòà
(àòàêà "ëîæíàÿ ïðîïàñòü"),
íàïàðíèêè èíôîðìèðóþò ãðóïïû òàêæå,
êàê áóäòî ìåæäó íèìè ïîÿâèëñÿ íîâûé ìîñò.
Ïðè äåçå î ïîÿâëåíèè (àòàêà "ëîæíûé ìîñò") -
òàêæå, êàê áóäòî ìîñò èñ÷åç.
Òåëåôîíû, ïîäêëþ÷åííûå ê êîìïüþòåðàì è ðàñïîëàãàþùèå èõ âìåñòèòåëüíûìè âèí÷åñòåðàìè,
îòñëåæèâàþò òàêèå ìèãàþùèå ìîñòû è óâåäîìëÿþò îñòàëüíûõ.
Ââåäåíèå ýñòàêàä ïîçâîëÿåò íå çàïîìèíàòü
ìèðèàäû ìîñòîâ ìåæäó ãèãàíòñêèìè ãðóïïàìè, èìåþùèìè îãðîìíóþ îáùóþ ãðàíèöó,
à çíà÷èò ïîçâîëÿåò
ýêîíîìèòü ïàìÿòü,
áûòü íå÷óâñòâèòåëüíûì ê àòàêå "ìóëüòèâîäñòâî ìîñòà"
(êîãäà äâà àïïàðàòà ïðèêèíóëèñü ãðóïïàìè ñ áîëüøèì êîëè÷åñòâîì ìîñòîâ ìåæäó íèìè) -
íî è íå ïîçâîëÿåò âûáðàòü êðàò÷àéøèé ìàðøðóò,
èáî ýñòàêàäà ÿâëÿåòñÿ èíôîðìàöèåé ñðàçó î íåñêîëüêèõ ìîñòàõ.
Äîñòèæåíèå å¸ ñ÷åò÷èêîì - ïóñòü îí çàíèìàåò 4 áàéòà -
ìàêñèìàëüíîãî çíà÷åíèÿ îçíà÷àåò,
÷òî ýñòàêàäà ëîæíàÿ è äîëæíû áûòü óäàëåíà
(òåëåôîíû, ïîäêëþ÷åííûå ê êîìïüþòåðàì, ñîáèðàþò ñòàòèñòèêó îá óäàëåííûõ ýñòàêàäàõ).
Íàëè÷èå ýñòàêàä, ïîäëåæàùèõ óäàëåíèþ,
õîòÿ áû íà äâóõ ñîñåäíèõ óðîâíÿõ èåðàðõèè äåðåâà îçíà÷àåò,
÷òî òåëåôîí íàõîäèòñÿ â òóìàíå -
ôèêòèâíîé âåòâè äåðåâà, ñîçäàííîé äûðîé èëè îòâåðñòèåì.
×òîáû ïîêèíóòü åãî, àïïàðàò ïåðåõîäèò â ãðóïïó âûøå íåãî,
à åñëè íå ìîæåò - ñèãíàëèçèðóåò ïîëüçîâàòåëþ ñìåíèòü ìåñòîïîëîæåíèå.
Âîçìîæíû çàêëàäêà ìîë÷àùèõ îòâåðñòèé âðàæäåáíîé ñòðàíîé.
Ïðîòèâ ãîñóäàðñòâåííîãî ãëóøåíèÿ è, êàê åãî ðàçíîâèäíîñòè,
íàâîäíåíèÿ òÿæàìè - ôèêòèâíûì òðàôèêîì ìåæäó äûðàìè è îòâåðñòèÿìè -
÷àñòíûõ òàêòèê íåò, ñëåäóåò ïðèìåíèòü îáùóþ
(ïîäõîäÿùóþ ðàâíî è ïðîòèâ ïîòåðè ïàêåòîâ).
Ïðîòèâîñòîÿíèå, îáùèå òàêòèêè
Èç òàêîâûõ íà óì ïðèõîäèò òîëüêî îäíà, óñëîâíî íàçîâåì å¸ kill together.
Ýòî âõîæäåíèå â îäíó èç ïîäñèñòåì ïðîòèâíèêà òàêèì îáðàçîì,
÷òîáû óùåðá, íàíîñèìûé âàì, ïðèõîäèëñÿ è íà ýòó ïîäñèñòåìó.
Ãîñóäàðñòâà íå ìîãóò îäíîâðåìåííî ãëóøèòü ïðîâàéäåðíûé è RahNet-îâñêèé òðàôèêè,
èáî ýêîíîìèêè ñòàëè òåëåôîíî-çàâèñèìûìè -
íå ìîãóò ñóùåñòâîâàòü áåç íåìåäëåííîé ñâÿçè.
Ïðè òîì, ÷òî ñîòîâûõ êàíàëîâ ñîòíè,
à òåëåôîíû ñîäåðæàò íå áîëåå ÷åòûðåõ áåñïðîâîäíûõ ìîäåìîâ,
ìàêñèìàëüíî ïîääåðæèâàþò ÷åòûðå SIM-êàðòû,
à îáû÷íî - âñåãî îäíó,
âåñü RahNet áóäåò ðàáîòàòü òîëüêî íà îäíîì ÷àñòîòíîì êàíàëå.
È ÷òîáû èñêëþ÷èòü èçáèðàòåëüíîå ãëóøåíèå,
îí ïîñòîÿííî ïåðåõîäèò íà òîò êàíàë, ãäå ðàáîòàþò ïðîâàéäåðû,
èíà÷å íóæíî ôèçè÷åñêîå óíè÷òîæåíèå äûð è îòâåðñòèé.
Òîëüêî âîò âîïðîñ, ìàêñèìàëüíî ëè çàíÿòûé âûáðàòü?
Ïðîâàéäåðû ìîãóò íå âûäàâàòü SIM-êàðòû íà îïðåäåëåííûå êàíàëû,
à âûøêàìè èìèòèðîâàòü èõ íè ñ ÷åì íå ñðàâíèìóþ çàãðóæåííîñòü.
 ðàçíûõ ãîðîäàõ ïðèìåíÿòü ðàçíóþ òàêòèêó:
â îäíèõ ðàáîòàòü íà ñðåäíå-çàãðóæåííûõ, â äðóãèõ - íà ìàêñèìàëüíî.
Îäíèì ÷åëîâåêîì ïîäñòðîéêà RahNet ê ïðîâàéäåðàì âûïîëíÿòüñÿ íå äîëæíà,
èáî îí áóäåò å¸ ñàìîé óÿçâèìîé ÷àñòüþ,
çíà÷èò îòñëåæèâàòü ïðîâàéäåðîâ ïðèäåòñÿ âñåé îáùèíå.
Òåëåôîíû ïîäñ÷èòûâàþò ìåæäó ñîáîé, íà êàêèõ êàíàëàõ îíè ñàìè ðàáîòàþò
(êàê îöåíêà ïðîâàéäåðîâ ýòà ñòàòèñòèêà òåì òî÷íåå,
÷åì áîëüøàÿ äîëÿ âñåõ àïïàðàòîâ ïîäêëþ÷åíà ê RahNet);
ïðè÷åì ïîäñ÷åò ãîëîñîâ íå ïåðåëèâàåòñÿ ÷åðåç intercity (îñòàåòñÿ â ïðåäåëàõ ãîðîäà),
à â ðàçíûõ ãîðîäàõ RahNet ðàáîòàåò íà ðàçíûõ êàíàëàõ, ñîåäèíåííàÿ âîåäèíî intercity.
Äðóãèå òåõíîëîãèè, ðåàëèçóåìûå ñàìîñòîÿòåëüíî
Äëÿ îáåñïå÷åíèÿ àíîíèìíîñòè ïðèìåíÿþòñÿ:
- ëóêîâè÷íàÿ ìàðøðóòèçàöèÿ (onion routing)
- ÷åñíî÷íàÿ ìàðøðóòèçàöèÿ (garlic routing;
äî ïåðåñûëêè ïî ñâÿçè ïàêåòû ðàçíûì ïîëó÷àòåëÿì îáúåäèíÿþòñÿ â îäèí è øèôðóþòñÿ,
íà äðóãîì êîíöå ñâÿçè ðàçáèðàþòñÿ íà îòäåëüíûå)
- ñèììåòðè÷íîå è íåñèììåòðè÷íîå (äëÿ ïåðåäà÷è ñèììåòðè÷íîãî êëþ÷à) øèôðîâàíèå
- òåõíîëîãèÿ, êîòîðóþ áóäåì èìåíîâàòü Persistent Traffic:
ïàêåòû íå òîëüêî ðàñêèäûâàþòñÿ ïî ðàçëè÷íûì òðàåêòîðèÿì (áåç äóáëèðîâàíèÿ);
íî è âî âðåìÿ ìîë÷àíèÿ òåëåôîí çàïîëíÿåò êàíàë ôèêòèâíûìè ïàêåòàìè,
÷òîáû íå ñîçäàâàòü â ñåòè âîëí òðàôèêà, îòñëåæèâàåìûõ âûøêàìè;
ïðè íàïëûâå áîëüøîãî êîëè÷åñòâà ïàêåòîâ îíè çàäåðæèâàþòñÿ
(ïåðâûì æå àïïàðàòîì-ïåðåñûëüùèêîì íà ñàìîì òåëåôîíå-îòïðàâèòåëå,
ò.å. ïåðåäà÷à ñòàíîâèòñÿ íå realtime,
ò.ê. áóôåðèçàöèè â ïåðåñûëüùèêàõ íåäîïóñòèìà);
òðàôèê â ñåòè ïîâûøàåòñÿ è ïîíèæàåòñÿ îäíîâðåìåííî âî âñåõ åå êîíöàõ,
÷òî îáåñïå÷èâàåòñÿ ñëóæåáíûìè ïàêåòàìè
Ïóáëè÷íûìè ðåñóðñàìè SORT-DHT ÿâëÿþòñÿ:
- ïåðåâîäû ìåíþ òåëåôîíà íà íàöèîíàëüíûå ÿçûêè
(âîçìîæíî îäíîâðåìåííîå ñóùåñòâîâàíèå íåñêîëüêèõ ïåðåâîäîâ)
- ïåðå÷åíü âûøå÷íûõ inter-òåëåôîíîâ
(ïîäêëþ÷åííûõ ê ðîçåòêàì è ïðåäîñòàâëÿþùèõ èíòåðíåò äðóãèì ÷åðåç ñîòîâîãî ïðîâàéäåðà)
- ïåðå÷åíü âîëîêîííûõ inter-òåëåôîíîâ (÷åðåç ïðîâîä èëè îïòîâîëîêíî) -
êàê òîëüêî â íàñòðîéêàõ òåëåôîíà óêàçûâàåòñÿ,
ñêîëüêî Ìá/ìåñÿö âõîäÿùåãî è îòäåëüíî èñõîäÿùåãî òðàôèêà
äëÿ ñåáÿ,
äëÿ êàæäîãî èç äðóçåé ïî îòäåëüíîñòè,
äëÿ ëþáîãî èç îñòàëüíûõ äðóçåé,
äëÿ íåçíàêîìöåâ;
êàêîâà äîëÿ òðàôèêà, îñòàâøåãîñÿ îò ñåáÿ è äðóçåé è
îòäàâàåìîãî íåçíàêîìöàì â ïîñëåäíèé äåíü ìåñÿöà,
òî òåëåôîí ñðàçó æå çàíîñèò ñåáÿ â ñîîòâåòñòâóþùèé ïåðå÷åíü
Ïîñëå ðàñïðîñòðàíåíèÿ RahNet êîìïüþòåðû òàêæå áóäóò ê íåìó ïîäêëþ÷åíû.
×òîáû ïîèñêîâîìó ðîáîòó íå âûêà÷èâàòü ñåðâåðà äâàæäû - ÷åðåç RahNet è ÷åðåç èíòåðíåò -
â íàñòðîéêàõ òåëåôîíà óêàçàòü äîìåííîå èìÿ ïîäêëþ÷åííîãî êîìïüþòåðà,
è òåëåôîí ñîîáùèò åãî, åñëè ñïðîñÿò.
Äðóãèå òåõíîëîãèè, ðåàëèçóåìûå äîáðîâîëüöàìè
Áðàóçåð Opera èìååò turbo-ðåæèì -
áåñïëàòíîå ïîëó÷åíèå çààðõèâèðîâàííîé html-ñòðàíèöû (7% èçíà÷àëüíîãî îáúåìà)
ñ ñåðâåðà êîìïàíèè, âûïîëíèâøåãî çàêà÷êó ñòðàíèöû ñàìîñòîÿòåëüíî.
Åñëè åñòü äîñòóïíûé â èñõîäíûõ êîäàõ turbo-äðàéâåð ïîä FireFox èëè äðóãîé áðàóçåð,
èñïîëüçîâàòü åãî.
Åñëè íåò, ìîòèâèðóÿ ñîçäàíèåì òàêîâîãî ïîä áðàóçåðû,
ñïðîñèòü ó Opera ïðîïðèåòàðíûé ïðîòîêîë.
Åñëè íå äàñò, ñïðîñèòü åùå ðàç, ïðîèíôîðìèðîâàâ î RahPhone
(íî êîìïàíèÿ ïåðëþñòðèðóåò è ìîæåò ôàëüñèôèöèðîâàòü òðàôèê -
ïðîòèâ ñîçäàíèÿ ïîèñêîâîé ñèñòåìû äëÿ èíòåðíåòà è êýøèðîâàíèÿ èíòåðíåòà â SORT-DHT.
Ñ ôàëüñèôèêàöèåé áîðîòüñÿ âûáîðî÷íûìè ïðÿìûìè çàãðóçêàìè è ïîñëåäóþùèì ñêàíäàëîì -
êîìïàíèÿ íå îáñëóæèâàåò ïîëüçîâàòåëåé ñâîåãî æå áðàóçåðà.
Turbo-äðàéâåðó õîäèòü íà ñåðâåð ÷åðåç ðàçëè÷íûå ïðîêñè,
÷òîáû òîò íå èãíîðèðîâàë åãî èçáèðàòåëüíî).
Ïðè äëèòåëüíîì îòñóòñòâèè äîáðîâîëüöåâ, íàíÿòü ôðèëàíñåðîâ
(âîçìîæíî êîìïàíèÿ îòêàæåòñÿ ïîääåðæèâàòü turbo-ðåæèì âîîáùå,
íî çà âðåìÿ ðàçâèòèÿ ñîáûòèé ðàñõîäû íà íàïèñàíèå turbo-äðàéâåðà
îêóïÿòñÿ ýêîíîìèåé òðàôèêà).
Íàêîíåö, ïîñëå ðàñïðîñòðàíåíèÿ RahNet
ïðåäëîæèòü Opera ñàìîé íàïèñàòü ïëàãèí äëÿ òåëåôîíà.
Äëÿ îñóùåñòâëåíèÿ âçàèìîïîìîùè ïðåäëîæèòü äîáðîâîëüöàì íàïèñàòü ïðîãðàììó,
íàçîâåì å¸ SimHelp,
ïåðåäàþùóþ ñîáåñåäíèêó ïàðàìåòðû âñòàâëåííîé SIM-êàðòû è òåì íàäåëÿþùåé ñïîñîáíîñòüþ
çâîíèòü ïî íåé (ò.å. èñïîëüçîâàòü íîìåð è åãî äåíüãè)
è ïîêóïàòü (ò.å. ñîâåðøàòü SMS-áàíêèíã, èíòåðíåò-áàíêèíã, NFC).
Ñàìó âîçìîæíîñòü ðåàëèçàöèè Skype îñòàâèòü íà óñìîòðåíèå ýòîé êîìïàíèè è äîáðîâîëüöåâ.
Ïîñëåäíèì ïðåäëîæèòü òàêæå íàïèñàòü äëÿ êîìïüþòåðîâ äåìîí,
íàçîâåì åãî name2name,
ñîîáùàþùèé Rah-èìÿ ïîäêëþ÷åííîãî ê íåìó òåëåôîíà (èëè îäíîãî èç áåñïðîâîäíûõ ìîäåìîâ).
À òàêæå äåìîí RahAsk,
ïîçâîëÿþùèé èç RahNet çàâîäèòü íà êîìïüþòåðàõ ôèêòèâíûå ïî÷òîâûå ÿùèêè,
÷òîáû âëàäåëüöû òåëåôîíîâ ìîãëè çàäàâàòü âîïðîñû â åìàéëû èíòåðíåòà
(ïèñüìà èç áåñïëàòíûõ ïî÷òîâûõ õîñòîâ íèêîãäà íå óäàëÿþòñÿ è
îñòàþòñÿ â ïðàâèòåëüñòâåííûõ áàçàõ äàííûõ).
Ôèêòèâíîñòü ñîñòîèò â òîì, ÷òî äåìîí òîëüêî çàïîìèíàåò
íà êàêîé òåëåôîí ïåðåñëàòü ïèñüìî, ïðèøåäøåå äàííîìó ïîëüçîâàòåëþ êîìïüþòåðà.
Îí àâòîìàòè÷åñêè äîáàâëÿåò êîìïüþòåð â ïóáëè÷íûå ðåñóðñû SORT-DHT,
à òàêæå óäàëÿåò ñîîòâåòñòâèå åìàéë-òåëåôîí ÷åðåç 40 ñóòîê.
Ïðåïÿòñòâèÿ ïðîåêòó
Áåñïðîâîäíûé ìîäåì, ðàçóìååòñÿ, íåâîçìîæíî ïåðåïðîãðàììèðîâàòü àïïëåòîì -
îí íàõîäèòñÿ çà ïðåäåëàìè "ïåñî÷íèöû".
À â íåêîòîðûõ òåëåôîíàõ îí ìîæåò áûòü òàêîé SoC,
ýëåìåíòû êîòîðîé íå÷èòàåìû ïðîöåññîðîì ñàìîãî òåëåôîíà èëè ïîäêëþ÷åííûì êîìïüþòåðîì -
íî íå÷èòàåìîñòü ìîäåìíûõ RAM èëè ôëýø ìîæíî ïðåîäîëåòü
ïåðåïðîãðàììèðîâàíèåì ýòîé ôëýø ÷åðåç âûâîäû ìèêðîñõåìû.
Õóæå òèâîèçèðîâàííûå âåðñèè:
êîíòðîëüíàÿ ñóììà ìîäåìíîé ÎÑ, íàõîäÿùåéñÿ íà åãî ôëýø,
ïðîïèñàíà â ìîäåìíîé ROM è ïðîâåðÿåòñÿ ROM-çàãðóç÷èêîì -
òóò óæå íàäî çàìåíÿòü ìèêðîñõåìó ROM (îáû÷íî ýòî íå ROM, à âñå ðàâíî ôëåø).
Ïîòðåáíîñòü
â ïåðåõîäíèêàõ "ìîäåìíûé ôëýø - COM/LPT/USB/èíîé ðàçú¸ì"
(÷òîáû ïîäêëþ÷èòü ê êîìïüþòåðó èëè ê øèíå äàííûõ ñàìîãî ýòîãî æå òåëåôîíà)
è â íîâûõ ìèêðîñõåìàõ ROM
ñîçäàåò äîõîä ñòîðîííèõ äåëüöîâ,
÷òî ñ îäíîé ñòîðîíû ÿâëÿåòñÿ âõîäíûì áàðüåðîì
äëÿ æåëàþùèõ ïðèñîåäèíèòüñÿ ê RahNet,
à ñ äðóãîé - îñíîâàíèåì äëÿ êîììåðöèàëèçàöèè è èñòî÷íèêîì ïðèáûëè,
à çíà÷èò - èñòî÷íèêîì ïîìîøíèêîâ.
Âìåñòå ñ ïåðåïðîøèâêîé èëè ïåðåïàéêîé áåñïðîâîäíîãî ìîäåìà,
÷òîáû îí ëîâèë âñå ïàêåòû ïîäðÿä,
ÎÑ ñàìîãî òåëåôîíà äîëæíà áûòü ïðîïàò÷åíà àëãîðèòìàìè ïðîåêòà
(ýòî ìîãóò áûòü ÎÑû ñ îòêðûòûì èñõîäíûì êîäîì:
MeeGo, Ubuntu Mobile, Maemo - ïðîðîäèòåëü ïåðâûõ äâóõ, Moblin - ïðîðîäèòåëü ïåðâîé â ñïèñêå;
NitdRoid, CyanogenMod, VillainROM, AndRoid - ïðîðîäèòåëü ïðåäûäóùèõ òðåõ;
OpenMoko, Access Linux Platform)
èëè öåëèêîì çàìåíåíà íà íîâóþ óëó÷øåííóþ (ñì., íàïðèìåð, ñòàòüþ
Êàê ñêîíñòðóèðîâàòü ÎÑ ñëåäóþùåãî ïîêîëåíèÿ
÷òîáû ïîáåäèòü â ñîðåâíîâàíèè öèâèëèçàöèé íà
computer20.euro.ru/os/os.htm).
Ìàëà åìêîñòü àêêóìóëÿòîðîâ.
Åñëè òåëåôîí îòïðàâëÿåò ïàêåòû íå òîëüêî, êîãäà ãîâîðèò ñàì,
íî è êîãäà ïåðåñûëàåò ÷óæèå, îí âåùàåò ïîñòîÿííî,
à â ýòîì ðåæèìå àêêóìóëÿòîðà õâàòàåò â ñðåäíåì íà 2.5 ÷àñà.
Ðåàëüíî ïðèìåíèìûå ðåøåíèÿ:
- íåêîòîðûå èç òåëåôîíîâ íå ïåðåíîñèòü,
à äåðæàòü ïîñòîÿííî âêëþ÷åííûìè â ýëåêòðîñåòü
â äîìàõ, â îôèñàõ è â àâòîìîáèëÿõ â êà÷åñòâå ðåòðàíñëÿòîðîâ
(ìíîãèå óæå èìååò ïî 2-3 òåëåôîíà,
îäèí èç êîòîðûõ ìîãóò ïîäêëþ÷èòü ê ðîçåòêå)
- ïüåçî-ýëåìåíò èëè äèíàìî-ìàøèíà â áîòèíêå
(ïðîâîä ìîæíî ïðîòÿíóòü â ñòðî÷êå áðþê, íî ÷òî äåëàòü ñ þáêîé è øîðòàìè?)
èëè â ðóêå
(íà ðûíêå ñóùåñòâóåò êîìïëåêò Potenco Pull-Cord Generator,
êðîìå òîãî, åñòü àíàëîãè â ôîíàðèêàõ è â äåòñêîì êîìïüþòåðå XO çà 100$)
- îðãàíè÷åñêàÿ ñîëíå÷íàÿ áàòàðåÿ-æåëåòêà
(âåðõíÿÿ îäåæäà êàê ïîâåðõ ôóòáîëêè, òàê è çèìíåé êóðòêè -
íî åùå íå íà÷àòî ìàññîâîå ïðîèçâîäñòâî îðãàíè÷åñêèõ áàòàðåé)
Äðóãèå âàðèàíòû â ïîðÿäêå ïàäåíèÿ ïîëåçíîñòè
(ïðîäîëæèòå, ïîæàëóéñòà, ìîçãîâîé øòóðì íà ôîðóìå ýòîé ñòàòüè):
- èñïîëüçîâàòü òîïëèâíûé ýëåìåíò íà ñïèðòå
(òåëåôîí Toshiba T002 ñ íèì óæå è ïîñòàâëÿåòñÿ) -
äàðìîâîé ñàìîãîí ïîçâîëÿåò íå ïëàòèòü çà äîïîëíèòåëüíûå àêêóìóëÿòîðû è ýëåêòðîýíåðãèþ,
íàõîäèòüñÿ â ìåñòàõ áåç ýëåêòðîñåòè
- ðàäèî-èçîòîïíûé èñòî÷íèê
(ïðîèçâîäñòâî íå íà÷àòî, æèäêèé ïîëóïðîâîäíèê äëÿ íåãî ðàçðàáàòûâàþò â óíèâåðñèòåòå Ìèññóðè).
Çà ïðîèçâîäñòâî ìîæíî àãèòèðîâàòü òåì, ÷òî îíî
- ÿâëÿåòñÿ ñàìîñòîÿòåëüíûì áèçíåñîì ñ ãèãàíòñêîé ïðèáûëüþ
- ïðè íåâîçìîæíîñòè ïðîèçâåñòè äåëÿùèéñÿ ìàòåðèàë
ïîçâîëÿåò õðàíèòü çàïàñ êóïëåííîãî ìàòåðèàëà,
êîòîðûé ïðè íåîáõîäèìîñòè ìîæåò áûòü èñïîëüçîâàí â âîåííûõ öåëÿõ
- ïîëèòè÷åñêàÿ ðåêëàìà íà ðàäèî-èçîòîïíûõ áàòàðåÿõ äîéäåò äî 3 ìëðä. ïîòðåáèòåëåé
- òàêèå áàòàðåè ïðè òîé æå ìîùíîñòè ãîðàçäî ìåíüøå îáû÷íûõ,
÷òî ïîçâîëÿåò ïðîâîçèòü èõ êîíòðàáàíäîé â çàïðåòèâøèå èõ ãîñóäàðñòâà,
åñëè ïîäîáðàí äåëÿùèéñÿ ìàòåðèàë,
íå âûäåëÿþùèé äåìàñêèðóþùèõ (è îäíîâðåìåííî âðåäÿùèõ çäîðîâüþ) ðàäèî-àêòèâíûõ ãàçîâ
- äèíàìî-ìàøèíà è ïðóæèíà èç ìåõàíè÷åñêîãî áóäèëüíèêà
- ìàÿòíèê êàê â ñàìîçàâîäÿùèõñÿ ÷àñàõ (ïðåäïîëîæèòåëüíî ìàëà ìîùíîñòü)
- êóïèòü íåñêîëüêî àêêóìóëÿòîðîâ è ìåíÿòü êàæäûå 2.5 ÷àñà
(ñðåäíèé ñðîê èõ ñëóæáû - 400 çàðÿäîê)
- ïüåçî-ýëåêòðè÷åñêàÿ (íàíî)îäåæäà
(ïðîèçâîäñòâî íå íà÷àòî, òêàíü ðàçðàáàòûâàþò â Òåõíîëîãè÷åñêîì óíèâåðñèòåòå Äæîðæèè)
- äèíàìî-ìàøèíà ê âåëîñèïåäó
(íà ðûíêå ñóùåñòâóåò êîìïëåêò "Bicycle Charger Kit")
- ïðèâîäèò ê çàâèñèìîñòè îò âåëîñèïåäà
Îñòàëüíîé ìåòà-êîä òåõíè÷åñêîãî ïðîåêòà
Ïåðåõîä òåëåôîíà
Êàæäûé òåëåôîí ïðè âêëþ÷åíèè íàõîäèòñÿ â îäèíî÷íîì ñîñòîÿíèè.
Ïîñëå ñîåäèíåíèÿ ñ ëþáûì äðóãèì óñòðîéñòâîì,
îí âëèâàåòñÿ â ãðóïïó, â êîòîðîé îíî íàõîäèòñÿ -
ïîëó÷àåò ó å¸ êîîðäèíàòîðà èäåíòèôèêàòîð.
Åñëè òî äðóãîå òîæå îäèíî÷íîå, êòî èç íèõ áóäåò êîîðäèíàòîðîì
ðåøàåòñÿ ãåíåðàòîðîì ñëó÷àéíûõ ÷èñåë.
Ïðè ïåðåõîäå òåëåôîíà ó÷èòûâàåòñÿ ãðóïïîâàÿ ðàçíèöà -
êîëè÷åñòâî áàéò, èçìåíèâøèõñÿ â êîíöå åãî àäðåñà
(èçìåíåíèå ñàìîé äëèíû àäðåñà òàêæå âõîäèò â ïàðàìåòð) -
à íå êîëè÷åñòâî ñâÿçåé ñ ðàçëè÷íûìè äèñòàëüíûìè ãðóïïàìè.
Âî âðåìÿ ïåðåõîäà òåëåôîí âûïîëíÿåò ñëåäóþùèå äåéñòâèÿ:
- îñâîáîæäàåò èäåíòèôèêàòîð â ñòàðîì êîîðäèíàòîðå è ïîëó÷àåò â íîâîì
- ïåðåñîõðàíÿåò ÷óæèå ïåíòëåòû,
îáíîâëÿåò ñâîè ïåíòëåòû (â êîòîðûõ åãî àäðåñ) è
êîìàíäóåò äâóíàïðàâëåííûì ïðîãðàììàì ñîîáùèòü ñîáåñåäíèêàì îá èçìåíåíèè àäðåñà
- ïåðåçàãðóæàåò òàáëèöó ïëå÷
- èñõîäÿ èç ãðóïïîâîé ðàçíèöû îáíîâëÿåò òàáëèöó ýñòàêàä,
ôëóäèò â ñòàðóþ ãðóïïó îá èñ÷åçíîâåíèè ýñòàêàä è â íîâóþ î ïîÿâëåíèè
Ïîñëå ïåðåõîäà ïóñòîé òåëåôîí ôëóäîì ïåðåòÿãèâàíèÿ
ïðåäëàãàåò âñåì àïïàðàòàì äèñòàëüíîé ãðóïïû ïåðåñîõðàíèòü â íåì ïåíòëåòû,
äëÿ êîòîðûõ îí áëèæàéøèé, à íå îíè.
Ïåðåñòðîåíèÿ ãðóïï
Åñëè ïåðåä äîáàâëåíèåì òåëåôîíà ãðóïïà áûëà íàñûùåííîé,
ò.å. ñîäåðæàëà 254 àïïàðàòà, òî ñíà÷àëà îíà äåëèòñÿ ïîïîëàì.
Åñëè â ðåçóëüòàòå ýòîãî íàä-ãðóïïà îêàçàëàñü áû ïåðåïîëíåííîé,
òî ïðåäâàðèòåëüíî óæå îíà äåëèòñÿ íà äâîå, è ò.ä. â ïðîêñèìàëüíóþ ñòîðîíó.
×òîáû òåëåôîí, êóðñèðóþùèé ïî ãîðîäó, íå îæèäàë òàêèõ êàñêàäíûõ ðàñùåïëåíèé,
÷òîáû åãî ïåðåõîä ïðîèñõîäèë ìãíîâåííî,
ãðóïïû 2-õ íèæíèõ óðîâíåé èåðàðõèè
ïîääåðæèâàþòñÿ â ñîñòîÿíèè ñ íå áîëåå, íàïðèìåð, 150 ýëåìåíòàìè.
Åñëè ÷åðåç ãðóïïó ìîæíî ïðîâåñòè êðèâóþ,
êîòîðóþ íå ïåðåñåêàþò ìîñòû ìåæäó ïîä-ãðóïïàìè,
òî ïî ýòîé êðèâîé ïðîèñõîäèò ðàñùåïëåíèå,
ò.ê. ìàðøðóòèçàöèÿ â îäíó ÷àñòü ãðóïïû íå îçíà÷àåò ìàðøðóòèçàöèè â äðóãóþ,
è ìàðøðóòèçàöèÿ ìîñòîâ îêàçûâàåòñÿ íàðóøåííîé.
Åñëè êîëè÷åñòâî ýëåìåíòîâ â ãðóïïå ïàäàåò íèæå, íàïðèìåð, 70
(áëèæå ê êîðíþ äåðåâà ôëóêòóàöèé ìåíüøå,
è òàì ýòîò ïàðàìåòð äîëæåí áûòü áîëüøå),
òî îíà íàçûâàåòñÿ âûðîæäåííîé è îáúåäèíÿåòñÿ ñ áëèæàéøåé âûðîæäåííîé -
ñîäåðæèìîå áîëåå äèñòàëüíîé âëèâàåòñÿ â áîëåå ïðîêñèìàëüíóþ.
Êîãäà äâà ãîðîäà ðàçðàñòàþòñÿ è ñîïðèêàñàþòñÿ, èëè ñîåäèíÿþòñÿ intercity,
ïðîèñõîäèò ñëèÿíèå:
ïðîêñèìàëüíàÿ ãðóïïà ìåíüøåãî äåðåâà ñòàíîâèòñÿ ïîä-ãðóïïîé
ïðîêñèìàëüíîé ãðóïïû áîëüøåãî.
Ìåíüøåå òî, ó êîòîðîãî ñàìûå äëèííûå àäðåñà êîðî÷å.
Åñëè äëèíû ðàâíû, äåðåâî âûáèðàåòñÿ ñëó÷àéíûì îáðàçîì.
Àäðåñà, ïåíòëåòû è òàáëèöû ìàðøðóòèçàöèè îáíîâëÿþòñÿ
(ôëóäîì ñëèÿíèÿ)
äî îòêðûòèÿ ìîñòîâ ìåæäó äåðåâüÿìè.
Åñëè ÷èñëåííîñòü â ãðóïïå óïàëà äî âñåãî îäíîãî ýëåìåíòà,
îíà íàçûâàåòñÿ ïðîìåæóòî÷íîé è ëèêâèäèðóåòñÿ,
à ýëåìåíò ïåðåíîñèòñÿ â íàä-ãðóïïó.
Åñëè öåëàÿ ãðóïïà - àâòîáóñ ñ òóðèñòàìè, ïîåçä, ýëåêòðè÷êà, òåïëîõîä, ëàéíåð, ñàìîëåò -
ïåðååõàëà
(íå ïóòàòü ñ ïåðåõîäîì åäèíè÷íîãî òåëåôîíà),
÷òî äèàãíîñòèðóåòñÿ ðàçðûâîì âñåõ áðàòñêèõ ìîñòîâ
(ñîåäèíÿþùèõ ñ ãðóïïàìè èç òîé æå íàä-ãðóïïû),
â òó, â êîòîðîé òîëüêî òåëåôîíû,
òî ìåæäó ïîñëåäíåé è òåëåôîíàìè âñòàâëÿåòñÿ ïðîìåæóòî÷íàÿ ãðóïïà,
â êîòîðóþ çàòåì ïðîèñõîäèò ïåðååçä.
Íàïîìíèì, ïîñëå ïåðåñòðîåíèÿ ãðóïï âñå òåëåôîíû ïóñòû.
Çàêëþ÷åíèå
È âåäü êòî ïåðâûì âûïóñòèò óïîìÿíóòûé òåëåôîí,
ñòàíåò ìîíîïîëèñòîì de facto íà äîëãèå äåñÿòèëåòèÿ.
È åñëè ýòî ñäåëàåò ïðåäïðèíèìàòåëü èëè ãîñóäàðñòâî,
åñëè ýòî áóäåò ïîñòàâëåíî íà êîììåð÷åñêóþ îñíîâó,
èõ ïðèáûëü îò meshworking áóäåò áîëüøå, ÷åì ó Microsoft è Google.
È îíè ñìîãóò èäåîëîãè÷åñêè âñêðûâàòü ÷óæèå ñòðàíû êàê êîíñåðâíûå áàíêè,
äàâàÿ ïðåèìóùåñòâî â ìàðøðóòèçàöèè ìåæäóíàðîäíîìó òðàôèêó íàä ìåñòíûì,
âåäü îáùåíèå â ïðèãðàíè÷íîé çîíå äàåò âîçìîæíîñòü ëåãêî ïåðåøàãèâàòü ãîñóäàðñòâåííûå ãðàíèöû.
×òîáû îáåçîïàñèòü âñ
_______________________________________________
Netsukuku mailing list
Netsukuku@...
http://lists.dyne.org/mailman/listinfo/netsukuku