Сколько пакетов потребуется для отправки определенных данных?

Если я знаю, что максимальный размер пакета составляет 1500 байтов, скажем для кадра Ethernet v2, то, например, я хочу передать 1 КБ через Интернет, что составляет примерно 1024 байта.

Будет ли пакет разделен на множество пакетов при отправке или это будет только один пакет? Если так, то почему он будет разделен, если он меньше размера MTU?

3 ответа

Этот вопрос абсолютно гипотетический. Чтобы ответить, вам нужно знать все переходы, через которые проходит ваш пакет, какую технологию использует каждый переход и настроенный размер кадра (где это применимо).

Когда дело доходит до межсетевого взаимодействия, Ethernet в большинстве случаев является передовой технологией. Если вы пройдете через ATM, пакет будет разделен на 53 байтовых ячейки, некоторые из которых являются служебными. Frame Relay использует оборотную длину PDU. И это только два из многих, многих семейств протоколов, объединенная реализация которых составляет "Интернет".

Это делает вопрос довольно сложным для ответа (поскольку вы включили в свой путь иное неуказанное интернет-соединение).

В Windows вы можете использовать Wireshark (анализатор пакетов), чтобы увидеть, как выглядят пакеты и что они содержат. Это очень хорошая утилита, я думаю.

(Я бы просто прокомментировал выше, но пока у меня нет баллов за это).

Это должен быть только один пакет, учитывая издержки технологии, которую вы используете для передачи. PPP добавляет заголовки (PPPoE добавляет еще больше), если вы используете VPN или туннели, MTU будет дополнительно уменьшен. То же самое, если где-то по пути есть скачок с уменьшенным MTU.

Вы также должны учитывать, что это за данные: если это данные RTP в UDP, они могут быть разделены для уменьшения задержки, тогда как что-то вроде FTP, вероятно, будет использовать все доступные ресурсы.

Таким образом, и программное обеспечение, и передача могут иметь значение.

Другие вопросы по тегам