Как устранить неполадки фрагментации пакетов TCP / UDP на Android - PullRequest
1 голос
/ 25 февраля 2012

Все:

Я немного новичок в настройках MTU и мне интересно, как бороться с фрагментацией, наблюдаемой по TCP / UDP (мы отправляем пакеты по сотовой сети через приложение Android).

Мы наблюдаем большую фрагментацию пакетов, отправляемых с устройства Android на сервер. Я хотел бы получить дополнительную информацию по теме:

  1. Что такое MTU?
  2. Какие инструменты мы можем использовать для просмотра или проверки фрагментации пакетов (Wireshark, tcpdump и т. Д.)?
  3. Как мы можем использовать стандартные инструменты, такие как ping / traceroute с устройства Android (и полезно ли это)?

Заранее спасибо

1 Ответ

4 голосов
/ 25 февраля 2012

MTU означает максимальную единицу передачи - это означает наибольший размер пакета, который будет передаваться собственным канальным уровнем.Например, MTU сетей на основе Ethernet обычно составляет 1500 байт.Когда система желает отправить дейтаграмму IP, превышающую MTU сети, она должна фрагментировать пакет на куски, не превышающие MTU.Обратите внимание, что фрагментация происходит довольно редко с TCP, особенно потому, что большинство реализаций TCP теперь используют Path MTU Discovery.Фрагментация обычно является проблемой только при использовании UDP с необычно большими пакетами.

Вы действительно можете наблюдать фрагментацию пакетов с помощью всевозможных инструментов, которые контролируют необработанную сеть, включая tcpdump, wireshark и т. Д.* Если вы хотите узнать больше о механизмах TCP / IP низкого уровня, таких как эта, помимо обычных ресурсов, таких как Википедия, я предлагаю прочитать Стивенса, «Иллюстрированный TCP / IP», том 1.

...