ГЫ, пауза, ГЫ-ГЫ два раза...
Как в свое время пел один из персонажей Шоу Долгоносиков:
...Революція-повія з ума-розуму звела...
Так и наша жизнь расцвечивается новыми и новыми красками.
Много лет живу на Укртелекоме. Всю жизнь он отдавался реальным айпишником. Всю жизнь можно было оставить дома включенный компьютер, на нем ftp-сервер и клиент какого-нибудь DYN-DNS, и при необходимости подкачать с работы или от клиента нужное файло. Всю жизнь все было качественно и сердито. Торренты летали, танки прыгали, сайты открывались без задержек, файло качалось.
Но произошла революция.
Точнее так. У меня начал выеживаться модем. И произошла революция. А потом модем окончательно сдох. Я его поменял, и вот что обнаружил.
Иными словами, мой модем начал получать от провайдера - серый айпишник!
А что мне говорит сайтик http : //2ip.com.ua/ru/
Что мы видим? Мы видим реальный айпишник. Что эти две таблички говорят простому курскому крестьянину, если их поставить рядом и ему показать? Простому курскому крестьянину эти две таблички говорят о том, что происходит преобразование адреса. То есть - NAT.
Первый же встающий вопрос - нахемингуя?
Раньше в сервер DHCP был забит пул айпи-адресов, один из этих адресов выбирался при логине, и дальше интернет ехал быстро и естественно, то есть - напрямую. Соответственно, с компьютером можно было делать что душе угодно, хоть в сервер его превращай, хоть собственный веб-сайт на нем открывай. К слову сказать, у некоторых клиентов у меня так на компах и стоят внешние серверы - почта, корпоративный сайтик и так далее.
Теперь у нас в пуле DHCP стоят серые айпишники. Модем пользователя логинится, получает из пула адрес, а потом начинается красивое и прекрасное. Потом, чтобы выйти в интернет, ему нужно где-то взять реальный айпишник, верно? А его нет. И вот чтобы он появился, между компьютером клиента и интернетом должен быть установлен еще один прибор - роутер. С собственным DHCP-сервером. И на этом DHCP-сервере должен быть уже свой собственный пул адресов. Точнее, тот пул, который когда-то был доступен к запросам клиентов.
Вместо одного DHCP-запроса мы получили два DHCP-запроса и одно преобразование адреса. При этом роутер провайдера должен быть очень мощной и дорогой игрушкой. Вот вы мне объясните - нахрена платить больше?
Но сперва мы посмотрим на это с другой стороны. Я пользуюсь торрентом. Прелесть торрента в том, что он позволяет качать быстро, устойчиво, и защищен от разрывов связи. Недостаток же - чтобы это у него получалось, он должен и отдавать траффик тоже. А для этого нужен порт. К тому же - порт на реальном айпишнике. В результате революции имени Укртелекома торрент может отдаваться только в пределах Укртелекома. Соответственно, и коэффициент отдачи, и скорость отдачи - упали, и сильно. Обмен файлами по Скайпу работает, так как Скайп просто создает транзитный сервер, но я не уверен, что он будет работать по Джабберу или аське. TeamViewer работать перестанет однозначно.
То есть интернет стал хуже, в интернет стало скушней.
Я знаю, что вы уже тянете руки и подпрыгиваете на стуле. Изо всех сил. Вы кричите, что айпишников осталось мало, и если собрать нетребовательных пользователей за NAT, то адресов хватит, а если каждому давать - то поломается кровать. А я вам отвечу просто. Давайте подумаем, а сколько же пользователей на один айпишник можно собирать за NAT-ом?
Лично строил сетки на более чем 100 рабочих мест, видел - еще большего размера. Казалось бы - никаких проблем. Но это - только казалось бы...
Потому что если у вас настроен на роутере в такой сетке UPNP, а это приходится делать хотябы для TeanViewer-а, то сразу начинает работать торрент. И когда кто-нибудь запускает торрент - вся сетка начинает испытывать проблемы с интернетом. Даже без торрента - при закачке фильмов с нескольких компов - начинаются тормоза и лаги. Траффик приходится шейпить. Но даже если мы траффик пошейпим, у нас все равно может быть очень и очень плохо...
Дело в том, что каждый айпи-пакет - это один буфер в ОС, и один буфер сетевой платы. Соответственно, один большой пакет - это один буфер. А сто маленьких пакетов - это сто буферов. Я подвожу вас к той мысли, что существует некий аппаратный лимит. Сетевая плата может отдаться фуллспидом только определенное количество раз в секунду. Допустим, сто тысяч раз в секунду. Это означает, что если мы имеем девяносто девять тысяч маленьких (в случае PING -F - можно настроить даже нулевой длины, только заголовок) пакетов, а остальным пользователям нужно две тысячи раз пакетами нормального размера - пользователи начинают сосать болт. Им не хватает не пропускной способности канала, им не хватает очереди на обмен данными.
Если у нас один компьютер - вся очередь у нас в полном распоряжении. Если у нас несколько компьютеров - очередь делится. То есть, если мы соберем хотя бы по десятку компьютеров на один роутер, то суммарная пропускная способность по числу пакетов у нас будет в десять раз ниже на каждого пользователя. Заметьте - эта ситуация может наблюдаться и на практически пустом канале...
Самое интересное другое. Как только очередь начинает заполняться, так сразу вырастает задержка. Новому пакету приходится ждать, пока не будут отправлены все пакеты, ставшие в очередь до него. И эта задержка прыгает, она переменной длины, поскольку определяется не качеством оборудования, а конкурентными запросами других пользователей.
Теперь мне понятно, почему так сильно прыгает пинг в World of Tanks, а также откуда берутся лаги на компьютере, на котором отключено все, что только можно, да еще и интернет-канал находится в монопольном распоряжении, так как к роутеру больше никто не подключен. То есть мы можем говорить о том, что NAT группы клиентов через один интерфейс автоматически ухудшает качество соединения.
Теперь возьмем некоторые корпоративные сервисы. Например, "виртуальный офис". Для организации "виртуального офиса" часто используется динамический ДНС. Специфика ситуации заключается в том, что динамический ДНС работает только на интерфейсе с реальный айпи-адресом. Если наш компьютер прикрыт роутером, то как динамический ДНС не настраивай - входящие запросы упрутся в роутер, и до нашего компьютера не дойдут. Именно поэтому в сетях за натом может использоваться только один динамический ДНС, и настраивается он - на роутере. А там уже приходится прокидывать порты или пользовать UPNP.
Но казалось бы, айпи-адресов мало, и возможность дать интернет большему числу людей стоит того, чтобы остальные подвинулись?
Можно в RIPE купить еще айпи-адресов. Пока еще можно. Или - можно начать переход на сети следующего поколения, я IPv6 имею в виду. Но - до сих пор производится масса оборудования для IPv4, до сих пор все сидят на IPv4, до сих пор все страдают от дефицита адресного пространства. То есть проблема в принципе решаема, так зачем правой ногой чесать левое ухо?
Самое любопытное то, что при реализации подобной технологии у нас выпадают как раз самые вкусные клиенты - корпоративные. У них своя почта на своих серверах, им без реальных айпи никуда не деться. И вот тут у нас возникает необходимость не только устанавливать отдельный NAT, но еще и разделять пользователей на классы (этому - серый айпишник, этому - реальный) и по-разному их обрабатывать. А это - не только расходы на цисковские роутеры под NAT, но еще и перестройка внутренней структуры провайдера, логики его работы.
Теперь, когда пользователь подключается к провайдеру, ему необходимо определить, к какому классу пользователей принадлежит клиент. Сделать это просто - по MAC-адресу конвертера ADSL в Ethernet, так как каждый порт в стойке, скорее всего, может иметь свой MAC-адрес. Ну, или по номеру порта, на худой случай. Затем для клиентов, которые испытывают необходимость в реальном айпи (раньше все его получали автоматом), нужно выбрать айпи из пула реальных адресов, а для всех остальных - из пула серых адресов. Затем (скорее всего используется технология IP-based VLAN) траффик разделяется на два потока. Мальчики ("реалисты") идут напрямую в интернет, девочки ("серые мышки") - ложатся под роутеры и NAT.
Если вы хотите быль мальчиком, а не девочкой - вам нужно отправить заявку на предоставление реального айпи. Теперь пиво - только членам профсоюза! Вангую - скоро будет за деньги. Соответственно, сегодня иметь собственный сервер можно только по заявке. В крайнем случае - при включении услуги динамического ДНС от Укртелекома (ибо ни один динамический ДНС по дефолту сейчас не работает).
Что мы имеем? А имеем мы, товарищи, ухудшение качества услуги тихим и скрытым от пользователей образом. А тех, кому важно - мы удовлетворим, типа. Пока - бесплатно. А под шумок подключим больше людей, для которых пинг в танках 200, отсутствие возможности поставить свой домашний сервер, хреново работающий торрент и абсолютно не работающий TeamViewer - не проблема в силу общей безграмотности и неумелости.
В свое время в интернете была куча вайна о том, что в Иране построили свой тоталитарный интернет, и ограничивают пользователям возможность пользоваться западными ресурсами. Я тогда написал сей замечательный пост. Сегодня я вижу ту же самую технологию, которая реализуется на мощностях национального украинского провайдера.
Если интернет в Иране тоталитарный, то то, что происходит сейчас на наших глазах - это просто-таки оголтелый тоталитаризм. Не находите?
...Революція-повія з ума-розуму звела...
Так и наша жизнь расцвечивается новыми и новыми красками.
Много лет живу на Укртелекоме. Всю жизнь он отдавался реальным айпишником. Всю жизнь можно было оставить дома включенный компьютер, на нем ftp-сервер и клиент какого-нибудь DYN-DNS, и при необходимости подкачать с работы или от клиента нужное файло. Всю жизнь все было качественно и сердито. Торренты летали, танки прыгали, сайты открывались без задержек, файло качалось.
Но произошла революция.
Точнее так. У меня начал выеживаться модем. И произошла революция. А потом модем окончательно сдох. Я его поменял, и вот что обнаружил.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Иными словами, мой модем начал получать от провайдера - серый айпишник!
А что мне говорит сайтик http : //2ip.com.ua/ru/
|
Что мы видим? Мы видим реальный айпишник. Что эти две таблички говорят простому курскому крестьянину, если их поставить рядом и ему показать? Простому курскому крестьянину эти две таблички говорят о том, что происходит преобразование адреса. То есть - NAT.
Первый же встающий вопрос - нахемингуя?
Раньше в сервер DHCP был забит пул айпи-адресов, один из этих адресов выбирался при логине, и дальше интернет ехал быстро и естественно, то есть - напрямую. Соответственно, с компьютером можно было делать что душе угодно, хоть в сервер его превращай, хоть собственный веб-сайт на нем открывай. К слову сказать, у некоторых клиентов у меня так на компах и стоят внешние серверы - почта, корпоративный сайтик и так далее.
Теперь у нас в пуле DHCP стоят серые айпишники. Модем пользователя логинится, получает из пула адрес, а потом начинается красивое и прекрасное. Потом, чтобы выйти в интернет, ему нужно где-то взять реальный айпишник, верно? А его нет. И вот чтобы он появился, между компьютером клиента и интернетом должен быть установлен еще один прибор - роутер. С собственным DHCP-сервером. И на этом DHCP-сервере должен быть уже свой собственный пул адресов. Точнее, тот пул, который когда-то был доступен к запросам клиентов.
Вместо одного DHCP-запроса мы получили два DHCP-запроса и одно преобразование адреса. При этом роутер провайдера должен быть очень мощной и дорогой игрушкой. Вот вы мне объясните - нахрена платить больше?
Но сперва мы посмотрим на это с другой стороны. Я пользуюсь торрентом. Прелесть торрента в том, что он позволяет качать быстро, устойчиво, и защищен от разрывов связи. Недостаток же - чтобы это у него получалось, он должен и отдавать траффик тоже. А для этого нужен порт. К тому же - порт на реальном айпишнике. В результате революции имени Укртелекома торрент может отдаваться только в пределах Укртелекома. Соответственно, и коэффициент отдачи, и скорость отдачи - упали, и сильно. Обмен файлами по Скайпу работает, так как Скайп просто создает транзитный сервер, но я не уверен, что он будет работать по Джабберу или аське. TeamViewer работать перестанет однозначно.
То есть интернет стал хуже, в интернет стало скушней.
Я знаю, что вы уже тянете руки и подпрыгиваете на стуле. Изо всех сил. Вы кричите, что айпишников осталось мало, и если собрать нетребовательных пользователей за NAT, то адресов хватит, а если каждому давать - то поломается кровать. А я вам отвечу просто. Давайте подумаем, а сколько же пользователей на один айпишник можно собирать за NAT-ом?
Лично строил сетки на более чем 100 рабочих мест, видел - еще большего размера. Казалось бы - никаких проблем. Но это - только казалось бы...
Потому что если у вас настроен на роутере в такой сетке UPNP, а это приходится делать хотябы для TeanViewer-а, то сразу начинает работать торрент. И когда кто-нибудь запускает торрент - вся сетка начинает испытывать проблемы с интернетом. Даже без торрента - при закачке фильмов с нескольких компов - начинаются тормоза и лаги. Траффик приходится шейпить. Но даже если мы траффик пошейпим, у нас все равно может быть очень и очень плохо...
Дело в том, что каждый айпи-пакет - это один буфер в ОС, и один буфер сетевой платы. Соответственно, один большой пакет - это один буфер. А сто маленьких пакетов - это сто буферов. Я подвожу вас к той мысли, что существует некий аппаратный лимит. Сетевая плата может отдаться фуллспидом только определенное количество раз в секунду. Допустим, сто тысяч раз в секунду. Это означает, что если мы имеем девяносто девять тысяч маленьких (в случае PING -F - можно настроить даже нулевой длины, только заголовок) пакетов, а остальным пользователям нужно две тысячи раз пакетами нормального размера - пользователи начинают сосать болт. Им не хватает не пропускной способности канала, им не хватает очереди на обмен данными.
Если у нас один компьютер - вся очередь у нас в полном распоряжении. Если у нас несколько компьютеров - очередь делится. То есть, если мы соберем хотя бы по десятку компьютеров на один роутер, то суммарная пропускная способность по числу пакетов у нас будет в десять раз ниже на каждого пользователя. Заметьте - эта ситуация может наблюдаться и на практически пустом канале...
Самое интересное другое. Как только очередь начинает заполняться, так сразу вырастает задержка. Новому пакету приходится ждать, пока не будут отправлены все пакеты, ставшие в очередь до него. И эта задержка прыгает, она переменной длины, поскольку определяется не качеством оборудования, а конкурентными запросами других пользователей.
Теперь мне понятно, почему так сильно прыгает пинг в World of Tanks, а также откуда берутся лаги на компьютере, на котором отключено все, что только можно, да еще и интернет-канал находится в монопольном распоряжении, так как к роутеру больше никто не подключен. То есть мы можем говорить о том, что NAT группы клиентов через один интерфейс автоматически ухудшает качество соединения.
Теперь возьмем некоторые корпоративные сервисы. Например, "виртуальный офис". Для организации "виртуального офиса" часто используется динамический ДНС. Специфика ситуации заключается в том, что динамический ДНС работает только на интерфейсе с реальный айпи-адресом. Если наш компьютер прикрыт роутером, то как динамический ДНС не настраивай - входящие запросы упрутся в роутер, и до нашего компьютера не дойдут. Именно поэтому в сетях за натом может использоваться только один динамический ДНС, и настраивается он - на роутере. А там уже приходится прокидывать порты или пользовать UPNP.
Но казалось бы, айпи-адресов мало, и возможность дать интернет большему числу людей стоит того, чтобы остальные подвинулись?
Можно в RIPE купить еще айпи-адресов. Пока еще можно. Или - можно начать переход на сети следующего поколения, я IPv6 имею в виду. Но - до сих пор производится масса оборудования для IPv4, до сих пор все сидят на IPv4, до сих пор все страдают от дефицита адресного пространства. То есть проблема в принципе решаема, так зачем правой ногой чесать левое ухо?
Самое любопытное то, что при реализации подобной технологии у нас выпадают как раз самые вкусные клиенты - корпоративные. У них своя почта на своих серверах, им без реальных айпи никуда не деться. И вот тут у нас возникает необходимость не только устанавливать отдельный NAT, но еще и разделять пользователей на классы (этому - серый айпишник, этому - реальный) и по-разному их обрабатывать. А это - не только расходы на цисковские роутеры под NAT, но еще и перестройка внутренней структуры провайдера, логики его работы.
Теперь, когда пользователь подключается к провайдеру, ему необходимо определить, к какому классу пользователей принадлежит клиент. Сделать это просто - по MAC-адресу конвертера ADSL в Ethernet, так как каждый порт в стойке, скорее всего, может иметь свой MAC-адрес. Ну, или по номеру порта, на худой случай. Затем для клиентов, которые испытывают необходимость в реальном айпи (раньше все его получали автоматом), нужно выбрать айпи из пула реальных адресов, а для всех остальных - из пула серых адресов. Затем (скорее всего используется технология IP-based VLAN) траффик разделяется на два потока. Мальчики ("реалисты") идут напрямую в интернет, девочки ("серые мышки") - ложатся под роутеры и NAT.
Если вы хотите быль мальчиком, а не девочкой - вам нужно отправить заявку на предоставление реального айпи. Теперь пиво - только членам профсоюза! Вангую - скоро будет за деньги. Соответственно, сегодня иметь собственный сервер можно только по заявке. В крайнем случае - при включении услуги динамического ДНС от Укртелекома (ибо ни один динамический ДНС по дефолту сейчас не работает).
Что мы имеем? А имеем мы, товарищи, ухудшение качества услуги тихим и скрытым от пользователей образом. А тех, кому важно - мы удовлетворим, типа. Пока - бесплатно. А под шумок подключим больше людей, для которых пинг в танках 200, отсутствие возможности поставить свой домашний сервер, хреново работающий торрент и абсолютно не работающий TeamViewer - не проблема в силу общей безграмотности и неумелости.
В свое время в интернете была куча вайна о том, что в Иране построили свой тоталитарный интернет, и ограничивают пользователям возможность пользоваться западными ресурсами. Я тогда написал сей замечательный пост. Сегодня я вижу ту же самую технологию, которая реализуется на мощностях национального украинского провайдера.
Если интернет в Иране тоталитарный, то то, что происходит сейчас на наших глазах - это просто-таки оголтелый тоталитаризм. Не находите?