1

Я использую приложение под названием android-wifi-tether на мобильном телефоне. Мой ноутбук подключен к телефону через Wi-Fi, а телефон подключен к Интернету через 3G.

Я использую tcpdump чтобы прослушивать интерфейсы Wi-Fi и 3G, чтобы провести анализ переадресованных пакетов. Я понял, что размеры кадров, записанных на интерфейсе 3G, всегда на 2 байта больше, чем на интерфейсе Wi-Fi. Что может быть причиной этого?

2 ответа2

2

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

Беспроводная связь существует во многих вариантах, я даже не буду пытаться перечислять их, но отмечу, что варианты 3G основаны на других спецификациях протокола, чем спецификации протокола Wi-Fi.

Это (больше всего на свете) объясняет любые различия в размерах пакетов между вашими интерфейсами 3G и Wifi.

Так же, как лакомые кусочки:

  • Вот RFC, определяющий по крайней мере две спецификации 3G.
  • Вот статья в Википедии, подробно описывающая протокол 802.11n(2009).
0

Оказывается, что эти дополнительные 2 байта происходят из-за перехвата режима приготовления в Linux (SLL), который создает поддельный заголовок канального уровня. Более подробную информацию можно найти здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .