Проверяй, не доверяй! Люди против провайдеров

Автор: Александр Красоткин
Опубликовано в журнале "Компьютерра" №33 от 7 сентября 2004 года.

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

По мере распространения домовых сетей все больше и больше пользователей сталкивается со специфическими проблемами, самая неприятная из которых, пожалуй, «накрутка трафика». Или, выражаясь более обтекаемо, кажущееся несоответствие потребленного клиентом трафика счету, выставленному провайдером. Попав в подобную ситуацию, большинство людей решат: «Они ошиблись, я не намерен за это платить». Предъявив в качестве доказательств свои ощущения («мы не могли столько находить, не фильмы же качали»), можно лишиться как доступа в Интернет, так и познакомиться с юристами провайдера, отстаивающими в судебном порядке интересы своей компании.

Самый мудрый выход из подобной ситуации — не допустить ее в принципе, избавив арбитражных судей от обилия англоязычных терминов, а себя — от головной боли. Для этого надо лишь регулярно сверяться с данными провайдера о потребленном трафике, а зафиксировав расхождения — поставить в известность отдел техподдержки и вместе разобраться в инциденте.

Аксиома дипломатических отношений — договаривающиеся стороны должны общаться на понятном друг другу языке. Провайдер оперирует цифрами, измеряя количество входящего/исходящего трафика. Клиент, в свою очередь, тоже должен быть готов назвать цифры. В противном случае диалог будет гораздо менее плодотворным. Отчего в первую очередь страдает клиент. Вопросы подготовки к равноценному участию в анализе конфликтной ситуации и стали темой предлагаемой вашему вниманию статьи.

Любовь с первого взгляда

Выбор надежного партнера — залог успеха в начатом деле. Гонясь за низкими ценами, люди зачастую добровольно становятся жертвами обмана или некомпетентности.

Шутка, гуляющая среди сисадминов провайдеров, что в серверной должен быть сертифицирован даже провод от чайника, имеет долю правды. Госсвязьнадзор — государственная структура, контролирующая предоставление коммуникационных услуг, — предъявляет жесткие требования как к аппаратному, так и программному обеспечению пунктов связи. Выполнение этих требований может значительно повысить себестоимость услуг, что отрицательно сказывается на конкурентоспособности. Неудивительно, что владельцы домовых сетей порой предпочитают обходиться гораздо более дешевым несертифицированным ПО. Стоимость услуг, посчитанная таким способом, вызывает законное сомнение. Но и наличие сертифицированной системы не гарантирует стопроцентной надежности подсчетов.

Доверяй, но проверяй…

…резюмировал народ задолго до появления рынка телематических услуг. Лучший способ проконтролировать показания билинговой системы провайдера — работать со своим билингом.

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

BMExtreme: выбор одиночки.

Выбирая между этими полярными линиями поведения, можно и, пожалуй, даже нужно проконсультироваться с техподдержкой провайдера. Аргумент: «Вы сами посоветовали» будет не лишним напоминанием в возможном диалоге. Если же в ответ вы услышали: «Нужно больше доверять профессионалам», то простор для творчества открывается неимоверный. В Интернете доступно множество программных систем учета трафика, различающихся как интерфейсом, так и возможностями. В первую очередь обращайте внимание на надежность работы и удобство настройки системы. Вряд ли красочные графики, построенные по неясным правилам, будут отражать реальную картину сетевой активности.

Переход от теории к практике начнем знакомством со свободно распространяемой программой NetStat Live (NSL) — системой учета трафика для Windows-платформ. Разработка проекта AnalogX. Текущая версия 2.11. Размер дистрибутива 257 Кбайт. Интерфейс управления на английском языке.

NSL очень проста в управлении. После установки требуется только указать сетевой интерфейс, с которого будет сниматься статистика, после чего система полностью готова к работе. Графики сетевой активности за последние 60 секунд отображаются как для входящего, так и исходящего трафика. Указывается информация о текущей и средней скорости передачи данных, а также суммарное количество входящего/исходящего трафика за различные периоды времени (данная сессия, текущий месяц, предыдущий месяц). Единицы измерения — килобиты и килобайты.

В качестве дополнительной в NSL встроена функция проверки доступности удаленного хоста. Указав доменное имя или IP-адрес какого-либо ресурса, можно узнать задержку прохождения сетевых пакетов до этого хоста (ping) и количество промежуточных хостов (hops).

По сути, NSL — аналог домашнего электросчетчика, с помощью которого можно легко определить количество израсходованной электроэнергии, но нельзя узнать, на что она была потрачена. Так и с NSL можно узнать суммарные значения прошедшего трафика, но нельзя получить ни временную картину сетевой активности, ни статистику загрузки по сетевым адресам и протоколам. Потенциально отрицательной чертой NSL является неумение разделять трафик на локальный и внешний (интернетовский). Это не важно, если компьютер подключен только к Интернету (весь обмен данными идет с Интернетом), но если он подключен еще и к локальной сети, сверять показания NSL с данными провайдера нельзя. Очевидно, что показания будут завышены на величину трафика, предназначенного для локальных адресов.

Для учета трафика в подобных условиях следует обратить внимание на Bandwidth Monitor Extreme (версия 2.35, размер дистрибутива 200 Kбайт, Windows-платформа). Программа предоставляет возможность разделять внешний (интернетовский) и внутренний (из локальных сетей вида 192.168.x.x) трафик. Для учета только части трафика (разделение по сетевым адресам и/или портам) можно создавать специальные фильтры. Статистика потребления трафика ведется с разбиением по дням, неделям и месяцам.

TMeter: трафик в кривых.

Помимо подсчета входящего/исходящего трафика BMExtreme показывает список запрашиваемых сетевых адресов. Поддерживается раздельная настройка (профили) для нескольких пользователей. Существует функция журналирования (запись в файл) информации о прошедших сетевых пакетах. Приятным дополнением стал русскоязычный интерфейс.

BMExtreme распространяется в трех вариантах: Freeware-версия (базовый набор возможностей) и два коммерческих — Home и Professional, с более богатым набором функций.

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

Решить эту задачу поможет, в частности, TMeter (версия 4.6.235, размер 1,89 Мбайт, Windows-платформа). Встроенная система фильтров позволяет легко разделить и сосчитать трафик пользователей небольшой домашней или офисной сети. Программа распространяется в двух версиях: Freeware (с ограниченным количеством фильтров для раздельного учета трафика) и Commercial Edition.

Возможно, помимо учета трафика нескольких пользователей придется решать ряд организационных задач: раздельная тарификация внутрироссийского и зарубежного трафика; автоматическое оповещение клиентов об исчерпании оплаченных ресурсов; отключение должников и т. п. Здесь могут пригодиться разработки компании NetUP — билинговые системы User Traf Manager (UTM) для Windows/Linux/FreeBSD-платформ (оценить их качество и удобство можно по тридцатидневным пробным версиям, доступным на сайте компании). UTM 3.0 ориентирована для работы в небольших сетях. UTM 5.0 — билинг более высокого класса, сертифицированный Министерством связи РФ и предназначенный для средних и крупных сетей.

Если цена или возможности существующих программ не удовлетворяют вашим требованиям, очевидный выход — написать собственную систему учета трафика. В этом случае имеет смысл предварительно ознакомиться с проектами TcpDUMP/WinDUMP, LibNet. Предоставленные разработчиками этих проектов программные библиотеки для языка С: libnet, libpcap, winpcap могут заметно упростить создание и тестирование сетевых приложений.

Примечание

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

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

А был ли мальчик?

Нарекания на качество работы каналов связи — самое частое обвинение в адрес провайдеров. Зачастую оно звучит так: «Вчера вечером Интернет не работал», после чего пользователь считает свой долг выполненным. Однако выяснить что-либо по такому остывшему следу непросто даже хорошему специалисту. Что не работало? Какие ресурсы были недоступны? В какое время это произошло? Если же событие еще и не было зафиксировано в журналах работы программ и оборудования провайдера, то шансы на локализацию и устранение причин инцидента исчезающе малы. Следовательно, велика вероятность, что он повторится. Выход из создавшейся ситуации даст первичная диагностика канала связи с Интернетом, проведенная пользователем. Для этого достаточно пары утилит: ping и tracert, входящих в состав операционной системы Windows. Обе запускаются из командной строки с параметром в виде доменного имени или сетевого адреса какого-либо ресурса. Первая утилита показывает время доступа, а вторая — маршрут к заданному хосту. Сообщив провайдеру собранные этими утилитами сведения, пользователь окажет реальную поддержку в расследовании инцидента. Кстати, для любителей красивых картинок есть программа VisualRoute.

VisualRoute: маршрут до Библиотеки Конгресса США.

Экономика должна быть экономной

То, что видит пользователь, работая с браузером и почтовой программой, лишь верхушка айсберга сетевой активности компьютера. Множество программ работают с сетью, не считая своим долгом громко говорить об этом. Хищение данных и шпионаж за хозяином системы встречается здесь намного чаще, чем невинная проверка обновлений для программы. Рецепт лечения: избирательный контроль доступа к сети прикладных программ при помощи брандмауэра. С его же помощью можно оптимизировать остальной трафик, установив блокировку закачки рекламных баннеров и объявлений.

Драку заказывали?

Одна из реалий Интернета — незаказанный трафик, который клиент получает и, соответственно, оплачивает помимо заказанного. Наиболее частые причины его возникновения: активность сетевых вирусов и червей, хакерские атаки, некорректная работа программного обеспечения. Даже если компьютер клиента будет выключен, на его адрес все равно может приходить трафик. Зафиксировав подобное, можно сообщить провайдеру, что трафик с определенных адресов не заказывался и впредь следует блокировать любую активность с этих адресов. Но такой способ защиты не панацея. Если атака проводится злоумышленниками целенаправленно, то они могут подделывать адрес отправителя сетевых пакетов, скрывая свое истинное местоположение. Существующая технология всемирной глобальный сети беззащитна против этого класса атак.

Джентльмены достойны доверия?

Существующая технология локальных сетей Ethernet не обеспечивает конфиденциальности передаваемых данных. Любой из клиентов сети может перехватить трафик, предназначенный для другого. Или, подделав сетевой и аппаратный (MAC) адрес, получить доступ в Сеть, списав свои похождения на чужой счет.

Рецепт лечения: аппаратная или программная защита. Аппаратные решения, в силу своей высокой стоимости, неприемлемы для владельцев большинства домашних сетей. А среди программных решений обкатанным на практике средством стала технология виртуальных частных сетей, точнее одна из ее разновидностей — Intranet VPN. Механизмы ее реализации могут различаться, но эффект один: трафик, проходящий между клиентом и сервером доступа, кодируется. Его дешифрация возможна, но требует значительных аппаратных возможностей. А для подключения к серверу доступа требуется ввести логин и пароль зарегистрированного пользователя.

В завершение расскажу одну забавную историю с мистико-детективным уклоном.

Некий клиент отказался оплачивать счета, упирая на то, что, по статистике (провайдера), незначительный расход трафика приходится на ночное время, когда в офисе никого нет. Следовательно, имеет место приписка трафика, так как сотрудники, уходя с работы, выключают компьютеры, а офис опечатывается и ставится на сигнализацию. А если доказана приписка в ночное время, то она имеет место быть и в дневное время, и т. д. и т. п. Ситуация осложнялась тем, что никаких других аргументов клиент предъявить не мог, недостаток знаний компенсировал напором и, к сожалению, был интимно близок к высшему руководству провайдера. От последнего поступила рекомендация техотделу в течение суток ответить на претензии клиента или замять скандал, компенсировав издержки из своей зарплаты.

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

Вот так, не заглядывая в «черный ящик», надо было выяснить, что и почему в нем произошло пару недель назад. Но один факт из этой истории удалось подтвердить достаточно точно: компьютеры на ночь действительно выключались, что контролировал местный охранник.

Ключом к разгадке стала распечатка телефонных переговоров из офиса политически активного клиента. На один из офисных номеров ночью поступал звонок, после чего из «выключенной сети» начиналась передача данных, прекращавшаяся с окончанием телефонного соединения. При поиске ответа на вопрос: кто в пустом офисе отвечал на телефонный звонок? — был найден спрятанный в столе одного из сотрудников фирмы модем. Приняв входящий звонок, модем «будил» подключенный компьютер, настроенный как сервер доступа. Дальше запросом по сети «поднимался» компьютер-шлюз, а вместе с ним и доступ в Интернет. По завершении работы аккуратный сотрудник удаленно выключал компьютеры.

Как видим, все «таинственные» сетевые происшествия имеют сугубо рациональные объяснения.

Случай из практики


Уже был инцидент с шантажом провайдера злоумышленниками, угрожавшими «залить» клиентов компании гигами трафика, если не будет выплачена некая сумма. Но в том случае, после демонстрации возможностей злоумышленниками, их удалось вычислить. Скрывать свои адреса, они, по неопытности, не умели…

Однажды провайдер выставил счет, значительно превысивший мои ожидания. Не обнаружив ошибки в своих данных, запросил у провайдера «портянку» — список подсетей с полученным/переданным объемом данных. (Такое название список получил из-за своей длины. В том случае речь шла о полутора миллионах записей.) Получив «портянку», вместо незарегистрированной утечки из своей сети обнаружил, что суммарный объем трафика, вычисленный на основе этого списка, примерно совпадает с моими данными, но не с цифрой, выставленной провайдером. На невинный вопрос: «Как же вы так маху дали?» админ провайдера, яростно скребя бороду, буркнул: «А хрен его знает. Шарманка так сосчитала. Будем ей винтики крутить. А ты счет-то оплати, а то перед бухгалтерией неудобно. В следующем месяце сочтемся».

Продолжая тему выбора провайдера по «внешним признакам», отмечу, что чем подробнее предоставляемая статистика, тем лучше. Зачастую беглый взгляд на отчет позволяет сразу выявить характерные признаки заражения сетевыми вирусами. Очевидный симптом — списки последовательно перебираемых сетевых адресов. Другой качественный признак заражения — резко изменившееся соотношение входящего и исходящего трафика. Для обычных «бродяг Интернета», не открывших у себя публичный FTP-сервер и не являющихся участниками пиринговых сетей, это соотношение колеблется примерно десять к одному. Если же без видимых причин исходящий трафик «забивает» канал, есть серьезное основание обновить свой антивирус.

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

Жаркой июньской порой прошлого года я нарисовал график колебания расхождений своей системы учета с показаниями билинга провайдера за последнюю пару недель. Как оказалось, причудливый рисунок показывал также время электросварочных работ на одной из телефонных станций, через которые шел соединительный кабель. Только после доказательства существования причинно-следственной цепочки «включили сварку — начались потери пакетов» на телефонную станцию был отправлен техник для исследования на тему «Экранирован ли кабель и почему нет?». Вывод: спасение утопающих — дело рук самих утопающих

Список упоминаемых Интернет ресурсов

[1] BMExtreme www.lp23.com
[2] LibNet www.packetfactory.net
[3] NetUP www.netup.ru 
[4] NSL www.analogx.com
[5] TcpDUMP www.tcpdump.org
[6] TMeter www.tmeter.ru
[7] VisualRoute www.visualware.com
[8] WinDUMP www.winpcap.polito.it  


<<Венчурный капитализм с человеческим лицом
Все материалы номера
DVD 9 >>