|
Возможно ли отключить входящий трафик при TCP соединении по GPRS? |
|
|
|
 |
Ответов
|
May 3 2011, 23:27
|
Местный
  
Группа: Свой
Сообщений: 202
Регистрация: 18-05-09
Из: Novosibirsk
Пользователь №: 49 204

|
Вопрос с блокировкой UDP-портов (впрочем не только их) виртуального хостинга решается в индивидуальном порядке с администратором. Или же ищется хостинг под задачи - что не редкость! Я задал этот вопрос двум хостинговым компаниям и получил ответ - "Мы разрешаем UDP". Я также спросил и у Вашего провайдера (адрес взял из вашего скрипта) - он не ответил. Задайте этот вопрос админу хостинга сами. Ведь Вы его клиент. Обычный подход для безопасности - запретить сначала по-максимуму, а потом задействовать что-то по мере необходимости. Большинству клиентов хостинга эта возможность (UDP-сокеты) не нужна. Но дело тут не только в безопасности. Особенностью TCP является регулирование нагрузки на канал в зависимости от его (канала) загрузки. Это делается с помощью "скользящего окна". Своего рода обратная связь (регулировочный "винтик") как в электронике и т.п. Именно поэтому при старте TCP сначала идет так называемая "фаза медлеленного старта" с маленьким "скользящим окном" и далее оно увеличивается до момента потери большого числа пакетов. При одновременной передачей на канале UDP (например VoIP) и TCP покетов - сложнее, т.к. UDP пытается сразу использовать канал по-максимуму не чувствуя текущей загрузки канала! Тем самым потери TCP-покетов возрастают, а далее TCP передачи снова начинаются с маленьких "скользящих окон". Что плохо для соседних сайтов! Это особенно актуально для виртуального хостинга, где все дешево и ресурсов по-минимуму и есть взаимовлияние быстродействия сайтов от загрузки соседних на одном IP-адресе. В Вашем случае трафик, судя по всему, минимален (претензий администратора не будет), а следовательно может получиться. Но лучше подойдет для этого виртуальный сервер, где ширина канала (нагрузка на CPU в данном случае не важна) гарантирована. Чуть дороже зато решит Ваши задачи с UDP-сокетами. Для Вашего случая он может даже самоокупиться по сравнению с использованием TCP-HTTP протоколов.
По поводу нехватки портов в системе. Как известно их >60тысяч для UDP и столько же для TCP ("Хорошо известные" и доп. я грубо вычел) В случае виртуального хостинга на одном IP-адресе находится от нескольких десятков до несколько сотен сайтов (у меня это - 260 шт) Так что свободных портов (особенно UDP) "завались" по определению. А если у сервера несколько IP - то и больше. Есть только такой момент - если порт выделен операционной системой по запросу, из скрипта вернуть его в пул системы не получится.
Есть еще несколько соображений как получить подходящий результат простыми средствами. Попытаться использовать AT-команды (я рассматриваю SimCom): Вариант 1). AT+CIPCLOSE - закрыть TCP соединение ч/з некоторое время после отправки запроса. При этом PDP контекст остается активен и не начнется новый период тарификации! Вариант 2). AT+CLPORT - сменить порт ч/з некоторое время после отправки TCP-запроса. Ответ Web-сервера поступит, но не будет подтвержден модулем, а значит не будет и тарифицирован.
Задержка сброса соединения и смены порта подбирается экспериментально (например 0,5с),т.к. эта часть встроенного TCP-стека модуля наверняка работает в отдельном потоке и не предсказуема. Конечно это только гипотеза требующая проверки на реальной реализации.
|
|
|
|
|
May 4 2011, 05:48
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(alx125 @ May 4 2011, 02:27)  Но лучше подойдет для этого виртуальный сервер, где ширина канала (нагрузка на CPU в данном случае не важна) гарантирована. Чуть дороже зато решит Ваши задачи с UDP-сокетами. Для Вашего случая он может даже самоокупиться по сравнению с использованием TCP-HTTP протоколов. Понимаете, все рассуждения о преимуществе UDP перед TCP высказанные в паре слов, даже если краткость и сестра таланта никакого доверия вызвать не могут. TCP родился как метод надежной работы через медленные и глючные модемные каналы. Лучше чем TCP данные через такие каналы никто не передаст. Сколько бы вы не изощрялись с повышением надежности при использовании UDP вы в конечном счете придете к идеям реализованным в TCP. Цитата(alx125 @ May 4 2011, 02:27)  По поводу нехватки портов в системе. Как известно их >60тысяч для UDP и столько же для TCP ("Хорошо известные" и доп. я грубо вычел) В случае виртуального хостинга на одном IP-адресе находится от нескольких десятков до несколько сотен сайтов (у меня это - 260 шт) Так что свободных портов (особенно UDP) "завались" по определению. А если у сервера несколько IP - то и больше. Есть только такой момент - если порт выделен операционной системой по запросу, из скрипта вернуть его в пул системы не получится. Ну теперь представим что эти 260 клиентов юзают движки на PHP которые отсылают емайлы, сканируют фиды, лазят по соц. сетям, держат магазины и т.д. Т.е. каждый в секунду делает по 10-100 DNS запросов в среднем. Итого только от этого у вас все время занято 26 тыс. UDP портов! на одном IP адресе. Далее, применение NAT сразу ставит проблему определения номера публичного UDP порта, он будет не такой какой вы открыли на сервере. И наконец хостеры с учетом большого трафика на UDP порты могут изменить политику их удержания, т.е. открытый UDP может удерживаться значительно короче чем обычно, и тогда необходим будет лишний трафик для поддержания такого канала открытым.
|
|
|
|
Сообщений в этой теме
Alt.F4 Возможно ли отключить входящий трафик при TCP соединении по GPRS? Apr 25 2011, 17:06 ArtemKAD Да, со стороны сервера не отправлять.
ЗЫ. Ну сам ... Apr 25 2011, 17:16 Alt.F4 ЦитатаДа, со стороны сервера не отправлять.А это в... Apr 25 2011, 17:34 MKdemiurg Соединяйся с БД напрямую. Или напиши сервер TCPшн... Apr 25 2011, 17:48 Alt.F4 ЦитатаСоединяйся с БД напрямую.Я в БД пишу еще вре... Apr 25 2011, 17:56 MKdemiurg Цитата(Alt.F4 @ Apr 25 2011, 21:56) А вот... Apr 25 2011, 18:53 Alt.F4 ЦитатаДа в чём угодно, Qt4 хотябы (отличная вещь),... Apr 25 2011, 19:03 sobr Цитата(Alt.F4 @ Apr 26 2011, 01:03) ... Apr 25 2011, 23:42 MKdemiurg 2 вариант , но с заливкой в БД мне кажется нереаль... Apr 25 2011, 19:11 AlexandrY Цитата(Alt.F4 @ Apr 25 2011, 20:06) Добры... Apr 25 2011, 19:21 Alt.F4 ЦитатаМожно, конечно. Отправляйте данные сразу с ф... Apr 26 2011, 04:05 sobr Цитата(Alt.F4 @ Apr 26 2011, 10:05) А кто... Apr 26 2011, 04:59  AlexandrY Цитата(sobr @ Apr 26 2011, 07:59) Опять ш... Apr 26 2011, 05:20   sobr Цитата(AlexandrY @ Apr 26 2011, 11:20) Со... Apr 26 2011, 05:24    AlexandrY Цитата(sobr @ Apr 26 2011, 08:24) У меня ... Apr 26 2011, 08:33 av-master vps - от 10у.е. / мес . что хочешь делай. Apr 26 2011, 05:53 Frolov Kirill Цитата(av-master @ Apr 26 2011, 08:5... Apr 26 2011, 09:09 MKdemiurg Если комерческий проЕкт то можно и бабла отвалить ... Apr 26 2011, 05:54 Alt.F4 Проект для себя. Сервер писать пока не готов.
Alex... Apr 26 2011, 15:24 AlexandrY Цитата(Alt.F4 @ Apr 26 2011, 18:24) Проек... Apr 26 2011, 19:16 Alt.F4 ЦитатаСоединяйся с БД напрямую.Видимо надо останов... Apr 27 2011, 15:43 alx125 Цитата(Alt.F4 @ Apr 25 2011, 20:06) Добры... Apr 28 2011, 01:50 Alt.F4 ЦитатаВы бы уточнили про какой размер трафика запр... Apr 28 2011, 04:25 alx125 Цитата(Alt.F4 @ Apr 28 2011, 07:25) ...
Э... Apr 29 2011, 00:45 Alt.F4 alx125, спасибо. На выходных ознакомлюсь с рекомен... Apr 29 2011, 03:45 Roman_V Ребята уже предлагали, но повторюсь. Если сервер в... Apr 29 2011, 10:24 Alt.F4 Сервер хостера. Apr 29 2011, 13:58 Alt.F4 alx125, полистал рекомендованную Вами книгу. Но во... Apr 30 2011, 09:54 AlexandrY Цитата(Alt.F4 @ Apr 30 2011, 12:54) з.ы. ... Apr 30 2011, 10:13 Alt.F4 ЦитатаУ вас реально один путь, как я сказал, это у... May 1 2011, 02:49 MKdemiurg Цитата(Alt.F4 @ May 1 2011, 06:49) А как,... May 1 2011, 16:08 Alt.F4 ЦитатаТогда тебе придётся свой стек городить ... May 1 2011, 16:31 MKdemiurg Напиши в С++ сервачок сокетный c доступом к БД. И ... May 1 2011, 17:03 Alt.F4 ЦитатаНапиши в С++ сервачок сокетный c доступом к ... May 1 2011, 17:37 av-master ЦитатаВ принципе нашел недорогой пакет интернета н... May 1 2011, 18:17 Alt.F4 Познавательно!
ЦитатаЕсть еще несколько сообр... May 5 2011, 15:31 alx125 Цитата(Alt.F4 @ May 5 2011, 19:31) Познав... May 5 2011, 23:13  AlexandrY Цитата(alx125 @ May 6 2011, 02:13) Если ц... May 6 2011, 05:36   sobr Цитата(AlexandrY @ May 6 2011, 11:36) ...... May 6 2011, 08:18 av-master NТо что предназначено Вам и прилетит на Оператора.... May 6 2011, 08:39 satellite-plus Цитата(Alt.F4 @ Apr 25 2011, 20:06) Добры... May 10 2011, 13:02 AlexandrY Цитата(satellite-plus @ May 10 2011, 16... May 10 2011, 13:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|