Мастерская по Mesh-сетям: что это такое и кому они нужны

Снимок экрана 2013-09-13 в 13.03.05
В кон­це авгу­ста Теп­ли­ца соци­аль­ных тех­но­ло­гий про­во­ди­ла мастер­скую по созда­нию Mesh-сети. Мы при­гла­си­ли спе­ци­а­ли­ста по Mesh-сетям Ста­ни­сла­ва Слав­ко­ва, опи­сав­ше­го их пре­иму­ще­ства для госу­дар­ствен­но­го, част­но­го и биз­нес-сек­то­ров и создав­ше­го mesh-соеди­не­ние в реаль­ном вре­ме­ни.

Что такое mesh-сеть?

Mesh-сеть – это объ­еди­не­ние ком­пью­те­ров не по тра­ди­ци­он­ной тех­но­ло­гии – кли­ен­ты и точ­ка досту­па, – а такое объ­еди­не­ние, при кото­ром сиг­нал и тра­фик меж­ду ком­пью­те­ра­ми либо дру­ги­ми устрой­ства­ми марш­ру­ти­зи­ру­ет­ся напря­мую через ком­пью­те­ры, без уча­стия како­го-то цен­тра­ли­зо­ван­но­го сер­ве­ра.

Плюсы данной технологии

Плю­сы дан­ной тех­но­ло­гии вполне оче­вид­ны – если слу­ча­ет­ся какая-либо чрез­вы­чай­ная ситу­а­ция и сете­вой цен­траль­ный узел выхо­дит из строя, то, соот­вет­ствен­но, про­па­да­ет связь со все­ми узла­ми сети.

Если же из стоя вышел один узел при исполь­зо­ва­нии mesh-тех­но­ло­гии, то про­сто пере­стро­ит­ся топо­ло­гия сети. При отправ­ке сооб­ще­ния будет изве­ще­ние о том, что узел недо­сту­пен, и будет выбран дру­гой аль­тер­на­тив­ный путь.

CJDNS – безопасная сеть для обычных людей

Суще­ству­ют раз­ные виды mesh-сетей, напри­мер, CJDNS. Эта сеть инте­рес­на тем, что в ее струк­ту­ре исполь­зу­ет­ся IPv6-тех­но­ло­гия – про­то­кол, кото­рый име­ет пер­спек­ти­ву внед­ре­ния в Интер­не­те. Кро­ме того, сеть CJDNS явля­ет­ся без­опас­ной сетью и пред­на­зна­че­на для обыч­ных людей.

Она явля­ет­ся без­опас­ной, пото­му что весь тра­фик внут­ри дан­ной сети шиф­ру­ет­ся по стан­дарт­но­му про­то­ко­лу при­ват­ных и пуб­лич­ных клю­чей. Т.е. когда один чело­век что-то пере­да­ет вто­ро­му чело­ве­ку, то рас­шиф­ро­вать ее может толь­ко вто­рой чело­век.

1097527_10200585428981669_252031633_n

Приватность и анонимность

Мно­гие зна­ют о суще­ство­ва­нии таких вещей, как СОРМ и PRISM. Для госу­дар­ства это, оче­вид­но, полез­ные прак­ти­ки – они помо­га­ют отсле­жи­вать тер­ро­ри­стов и т.д. Но, в то же самое вре­мя, мало кому при­ят­но, что их лич­ную инфор­ма­цию и сооб­ще­ния может читать пра­ви­тель­ство. При исполь­зо­ва­нии mesh-сетей инфор­ма­ция дохо­дит толь­ко до того чело­ве­ка, кому она пред­на­зна­ча­ет­ся.

При этом, сеть CJDNS явля­ет­ся при­ват­ной, но не ано­ним­ной. Что это зна­чит?

При­ват­ность – это когда вы отсы­ла­е­те сооб­ще­ние сво­е­му дру­гу и про­чи­тать его может толь­ко ваш друг. С дру­гой сто­ро­ны, мож­но с доста­точ­ной точ­но­стью уста­но­вить авто­ра. Это прин­ци­пи­аль­ное отли­чие меж­ду сетью CJDNS и таки­ми ано­ним­ны­ми сетя­ми, как I2P, Tor и т.д. Сеть CJDNS пози­ци­о­ни­ру­ет­ся боль­ше как откры­тая дру­же­ствен­ная сеть и заме­на суще­ству­ю­щим про­то­ко­лам в Интер­не­те.

Где может быть использована mesh-сеть?

Во-пер­вых, посколь­ку идет повсе­мест­ное исполь­зо­ва­ние шиф­ро­ва­ния, mesh-сеть мож­но исполь­зо­вать во всех сфе­рах, где кри­тич­на пере­да­ча инфор­ма­ции в зашиф­ро­ван­ном виде. Плюс CJDNS в том, что весь тра­фик, кото­рый пере­да­ет­ся через нее, уже зашиф­ро­ван. В то же самое вре­мя, посколь­ку все про­грам­мы видят дан­ную сеть как обыч­ное сете­вое под­клю­че­ние, то они, если они под­дер­жи­ва­ют IPv6, могут рабо­тать и с дан­ной сетью.

Так­же, у CJDNS, по срав­не­нию с обыч­ны­ми сетя­ми, луч­ше покры­тие. Напри­мер, если пред­ста­вить, что у вас дома сто­ит один роу­тер, у ваших сосе­дей еще два роу­те­ра и т.д., то вы, сидя у себя в квар­ти­ре, може­те видеть 5–6 точек досту­па, откры­тых или закры­тых, в зави­си­мо­сти от нали­чия паро­лей. Минус заклю­ча­ет­ся в том, что вы к ним под­клю­чить­ся не може­те, если они закры­ты паро­лем, и у каж­до­го есть свой канал досту­па свя­зи с Интер­не­том. Если исполь­зо­вать mesh-сеть, при­чем не обя­за­тель­но CJDNS, то дан­ные точ­ки будут объ­еди­нять­ся вме­сте, и при пере­груз­ке на одной точ­ке тра­фик будет идти в канал дру­гой точ­ки. Соот­вет­ствен­но, так­же уве­ли­чи­ва­ет­ся покры­тие сети, пото­му что будет идти авто­кон­фи­гу­ра­ция кана­лов, что­бы исклю­чить интер­фе­рен­цию – что­бы кана­лы друг с дру­гом не пере­се­ка­лись и точ­ки досту­па не заглу­ша­ли друг дру­га.

Особенности CJDNS

Осо­бен­но­стя­ми CJDNS явля­ет­ся марш­ру­ти­за­ция и DHT.

DHT, рас­пре­де­лен­ная хеш-таб­ли­ца, в тех­но­ло­гии CJDNS исполь­зу­ет­ся для пере­да­чи инфор­ма­ции о марш­ру­ти­за­ции. В нынеш­нем Интер­не­те каж­дый роу­тер зна­ет, куда он дол­жен пере­дать пакет дан­ных. В сети CJDNS нет ни кор­не­во­го роу­те­ра, ни опре­де­лен­ных маги­страль­ных роу­те­ров. Т.е. когда вы отправ­ля­е­те пакет и инфор­ма­ци­ей ваше­му зна­ко­мо­му, он отправ­ля­ет­ся в сеть и выби­ра­ет­ся тот роу­тер, кото­рый к вам бли­же все­го под­клю­чен. Затем он уже рас­сы­ла­ет сооб­ще­ние в DHT и нахо­дит марш­рут до того, куда нуж­но доста­вить пакет. Для узна­ва­ния марш­ру­та тре­бу­ет­ся неболь­шое вре­мя – поряд­ка 5–6 секунд. Но это толь­ко пер­вый раз. Как толь­ко марш­рут най­ден, он рас­сы­ла­ет­ся всем поль­зо­ва­те­лям сети, и все поль­зо­ва­те­ли сети его хра­нят. Как толь­ко вза­и­мо­дей­ствие пре­кра­ти­лось, дан­ный марш­рут уда­ля­ет­ся, что­бы не было пере­гру­зок в сети.

Что значит «пробить» NAT?

«Про­бить» с помо­щью CJDNS NAT озна­ча­ет сле­ду­ю­щее: если у вас есть «серый» IP-адрес, то если вы созда­е­те веб-сер­вис, доступ к нему будут иметь толь­ко поль­зо­ва­те­ли локаль­ной сети. Поль­зо­ва­те­ли Интер­не­та в гло­баль­ном мире досту­па к нему не будут иметь. В слу­чае CJDNS гло­баль­ный Интер­нет, конеч­но, тоже не будет иметь доступ, пото­му что эта сеть рас­смат­ри­ва­ет­ся как парал­лель­ная Интер­не­ту, но любой поль­зо­ва­тель CJDNS будет видеть дан­ный сер­вис. Он может быть за тре­мя фай­ер­вол­ла­ми, за NAT, за еще чем-то, но если пер­вое соеди­не­ние уда­лось, то вы смо­же­те исполь­зо­вать все плю­сы «бело­го» IP-адре­са.

Перераспределение нагрузки в сети

В слу­чае CJDNS пере­рас­пре­де­ле­ние нагруз­ки в сети осу­ществ­ля­ет­ся через DHT и марш­ру­ти­за­цию. Как пра­ви­ло, один участ­ник сети под­клю­чен к 5–10 сосе­дям. Как толь­ко на роу­те­ре ста­но­вит­ся понят­но, что тра­фик идет мед­лен­но, либо идут поте­ри паке­тов, то выби­ра­ет­ся дру­гой опти­маль­ный марш­рут. Всё это про­ис­хо­дит авто­ма­ти­че­ски.

Адреса IPv6

Когда вы под­клю­ча­е­тесь к CJDNS, вы полу­ча­е­те адрес, кото­рый будет рабо­тать в этой сети. Боль­ше ни в какой сети он рабо­тать не будет, но, посколь­ку все адре­са берут­ся не из воз­ду­ха и что-то зна­чат, то дан­ный адрес – это адрес из при­ват­но­го диа­па­зо­на адре­сов IPv6.

При­ват­ный диа­па­зон адре­сов IPv6 – это ана­лог адре­сов, кото­рые начи­на­ют­ся на 192.168 в обыч­ном Интер­не­те. Т.е., по сути, это локаль­ные адре­са. Сеть CJDNS исполь­зу­ет локаль­ные адре­са IPv6. Адре­сов IPv6 такое коли­че­ство, что если часть из них потра­тит­ся на адре­са CJDNS, то ниче­го не постра­да­ет. В тоже вре­мя сле­ду­ет отме­тить, что нет ника­ко­го пере­се­че­ния с обыч­ны­ми пуб­лич­ны­ми IPv6-адре­са­ми.

Т.е. если пред­по­ло­жить, что зав­тра весь мир перей­дет на IPv6 с IPv4, то сеть CJDNS все рав­но не будет нико­му мешать и, соот­вет­ствен­но, не будет ника­ких кон­флик­тов.

Безопасность

При исполь­зо­ва­нии CJDNS не воз­мож­на такая ата­ка, как Man-in-the-middle и DPI.

Ата­ка Man-in-the-middle (чело­век посе­ре­дине) – это такая ата­ка, когда меж­ду вами и сер­ве­ром, куда вы отправ­ля­е­те дан­ные, нахо­дит­ся еще одно устрой­ство, кото­рое может про­слу­ши­вать тра­фик и пере­да­вать его даль­ше.

Атака "Man in the middle"
Ата­ка «Man in the middle»

В обыч­ных сетях это­го избе­га­ют сле­ду­ю­щим обра­зом: когда вы, напри­мер, захо­ди­те в Интер­нет-банк, там исполь­зу­ет­ся HTTPS-шиф­ро­ва­ние, вы види­те сер­ти­фи­кат, под­твер­жда­ю­щий, что этот узел – это дей­стви­тель­но банк, а не какой-то дру­гой узел.

В сети CJDNS исполь­зу­ет­ся немно­го дру­гая тех­но­ло­гия. Посколь­ку в сети суще­ству­ют пуб­лич­ные и при­ват­ные клю­чи, когда вы посы­ла­е­те инфор­ма­цию, кото­рая зако­ди­ро­ва­на вашим при­ват­ным клю­чом, либо пуб­лич­ным клю­чом того чело­ве­ка, кото­ро­му вы дан­ные пере­да­е­те, про­чи­тать ее может толь­ко обла­да­тель клю­ча. Меж­ду может быть неогра­ни­чен­ное чис­ло людей, кото­рые захо­тят про­слу­шать эту инфор­ма­цию, но у них это­го не полу­чит­ся, пото­му что у них нет соот­вет­ству­ю­щих клю­чей.

Кро­ме того, хоте­лось бы отме­тить, что тех­но­ло­гия DPI в этой сети не может быть исполь­зо­ва­на в прин­ци­пе. DPI – это такая тех­но­ло­гия, кото­рая зани­ма­ет­ся глу­бо­ким ана­ли­зом тра­фи­ка. Для про­вай­де­ров она очень выгод­на, для обыч­ных людей – нет.

Про­вай­де­ры с помо­щью дан­ной тех­но­ло­гии могут пони­жать при­о­ри­тет для тор­рент-тра­фи­ка, могут при обна­ру­же­нии опре­де­лен­ных фраз или поис­ко­вых запро­сов либо сохра­нять исто­рию, либо даже под­ме­нять резуль­та­ты поис­ка.

При CJDNS, посколь­ку все паке­ты зашиф­ро­ва­ны, про­ве­сти ана­лиз того, что нахо­дит­ся внут­ри паке­та, в прин­ци­пе, невоз­мож­но. Таки обра­зом дости­га­ет­ся тай­на пере­пис­ки, тай­на любой инфор­ма­ции и невоз­мож­ность при­о­ри­те­за­ции тра­фи­ка.

Кому нужны mesh-сети?

1. Биз­не­су

Во-пер­вых, mesh-сети могут быть исполь­зо­ва­ны в биз­не­се. Напри­мер, сей­час на ули­цах мно­же­ство тер­ми­на­лов опла­ты и бан­ко­ма­тов, и все они тоже как-то под­клю­ча­ют­ся к Интер­не­ту. В основ­ном, это 3G или 4G моде­мы от опе­ра­то­ров сото­вой свя­зи. С одной сто­ро­ны, это, конеч­но, про­стое и хоро­шее реше­ние, но, с дру­гой сто­ро­ны, обыч­но у них силь­но завы­ше­ны цены, а ско­рость полу­че­ния и пере­да­чи инфор­ма­ции очень низ­ка.

При исполь­зо­ва­нии mesh-сети, если рай­он уже покрыт mesh-сетью, допол­ни­тель­ный уста­нов­лен­ный узел будет не толь­ко полу­чать доступ к Интер­не­ту и к сети CJDNS, но и сам высту­пать в роли ретранс­ля­то­ра и, соот­вет­ствен­но, улуч­шать сум­мар­ный сиг­нал сети.

Кро­ме того, в сети CJDNS воз­мож­но резер­ви­ро­ва­ние кана­ла – в ситу­а­ции, когда сеть ока­зы­ва­ет­ся пере­гру­же­на, направ­ле­ние тра­фи­ка может быть изме­не­но, и, таким обра­зом, мы полу­чим раз­не­се­ние нагруз­ки, что гаран­ти­ру­ет то, что связь не про­па­дет из-за пере­груз­ки сети (как, напри­мер, быва­ет в Новый год).

2. Госу­дар­ству

Каза­лось бы, зачем госу­дар­ству нуж­ны mesh-сети, если они, фак­ти­че­ски, бес­кон­троль­ны? Пото­му что, в то же самое вре­мя, это самый деше­вый доступ к Интер­не­ту. По сути, если мы ста­вим одну точ­ку досту­па к сети CJDNS в одном доме, а потом по соци­аль­ной про­грам­ме раз­да­ем роу­те­ры в каж­дую квар­ти­ру, то это зна­чи­тель­но упро­ща­ет мон­таж и под­клю­че­ние новых або­нен­тов, а так­же уве­ли­чи­ва­ет емкость сети и сум­мар­но уве­ли­чи­ва­ет ско­рость сети.

Затем, посколь­ку госу­дар­ству выгод­но, что­бы элек­трон­ные услу­ги были про­сты­ми и доступ­ны­ми для граж­дан, граж­дане с помо­щью сети смо­гут полу­чить к таким услу­гам доступ доволь­но быст­ро. И, опять же, это бес­плат­но.

3. Про­вай­де­ру

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