Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
kdaemonv
Зарегистрирован: 04.05.2005 Сообщения: 7
|
Добавлено: Ср Май 04 2005 16:05 Заголовок сообщения: Размер пакетов udp (dns)? |
|
|
Хотелось бы написать tcp-udp-tcp туннелер, вот только не могу понять есть ли все-таки ограничения на размер пакетов udp (в частности dns). Где-то читал что есть, а в rfc ничего такого нет.
Помогите плиз, кто умный! |
|
Вернуться к началу |
|
|
kolobok0
Зарегистрирован: 22.04.2005 Сообщения: 253 Откуда: Мсква
|
Добавлено: Чт Май 05 2005 12:19 Заголовок сообщения: UDP. |
|
|
Размер полезных данных в пакете UDP определён как слово. Значит максимальный размер данных 65535 байт. Но.
1) датаграмма может по пути следования проходить через различные "ушные горлышки". Где она будет дробиться и вновь собираться (если разрешено).
2) Большой размер - бОльше нагрузок на узлы (оконечные и промежуточные) приёма. Имееться ввиду, что когда Вы сами посылаете куча кусочков собираемые логикой на более высоком уровне (например TCP) то таким "пакетным поносом" можно управлять всевозможными ICMP просьбами о замедлении. А вот за раз скушать не маленький кусочек памяти (а железо не всегда безгранично по ресурсам) под один единственный пакетик - то это тяжелее.
Когда решал похожую делему то остановился на размере в тысячу байт для всей датаграммы (если сейчас сходу не вру). Размер взят как минимальный, дефолтный буфер у самых задрыпанных маршрутиризаторов. _________________ (круглый) |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Май 05 2005 13:44 Заголовок сообщения: |
|
|
Цитата: | Когда решал похожую делему то остановился на размере в тысячу байт для всей датаграммы (если сейчас сходу не вру). Размер взят как минимальный, дефолтный буфер у самых задрыпанных маршрутиризаторов |
Не удивительно. Ведь в 90% сетей используется Ethernet. А у него размер пакета 1500 байт.
Учтите размер служебной инфы и получите порядка 1200-1300 байт под полезные данные. |
|
Вернуться к началу |
|
|
kdaemonv
Зарегистрирован: 04.05.2005 Сообщения: 7
|
Добавлено: Чт Май 05 2005 14:14 Заголовок сообщения: |
|
|
Вроде ответов хватает, но все же:
Представьте себе клиента на порту 3128, принимающего пакет размером 1500 байт (как в ethernet) и перенаправляющего его (пакет) на сервер на порт 53 udp (то есть dns). Ну а сервер в свою очередь перенаправляет этот пакет на свой (или чужой) порт 3128 (где висит к примеру squid). И получив от squid'а пакет отсылает его обратно клиенту, ну и т.д.
Вобщем то, это и есть то что называется tcp-udp-tcp туннелем.
Самое главное для меня - не отфильтрует ли какой нибудь маршрутизатор udp пакет размером 1500 байт, а то и больше (к примеру 65535).
Ответьте пожалуйста - да или нет, и я от вас отстану . |
|
Вернуться к началу |
|
|
Andy_user
Зарегистрирован: 03.12.2003 Сообщения: 382 Откуда: Санкт-Петербург
|
Добавлено: Чт Май 05 2005 14:37 Заголовок сообщения: |
|
|
Коллеги,
(ИМХО) странный разговор.
MTU - параметр канального уровня.
Размер UDP-пакета - параметр сетевого уровня.
Если разрешено прохождение фрагментированных пакетов(а это в подавляющем большинстве случаев разрешено), то UDP-пакет может быть 64 000 байт (с хвостиком). _________________ Знание принципов компенсирует незнание фактов. |
|
Вернуться к началу |
|
|
kdaemonv
Зарегистрирован: 04.05.2005 Сообщения: 7
|
Добавлено: Чт Май 05 2005 19:36 Заголовок сообщения: |
|
|
Всем спасибо. Считаю вопрос исчерпанным. |
|
Вернуться к началу |
|
|
|