Информация об изменениях

Сообщение Максимальная длина TCP пакета в сети от 10.02.2020 8:40

Изменено 11.02.2020 12:33 AlexGin

Максимальная длина TCP пакета в сети
Доброе время суток, уважаемые коллеги!

Имеется вот нейкая сетевая структура, где сервер и клиент связаны по TCP.
Межде сервером и клиентом поддерживается постоянное соединение (OS: Linux Ubuntu).
Предполагается, что эти сервер и клиент — отдельные машинки локальной сети.

Вопрос: какова максимальная длина пакета, который НЕ будет разбиваться сетью на более мелкие пакеты?
Правильно ли я понимаю, что эта длина определяется параметром MTU (когда вызываем команду ifconfig или netstat -ie в Linux)?

Вот откуда инфа:
https://stackoverflow.com/questions/2613734/maximum-packet-size-for-a-tcp-connection

Вопросы:
MTU равный примерно 1.5 KBytes — это для произвольных данных?
Для текстовых данных этот показатель порядка 14 KBytes. Почему различие почти в десять раз?
Насколько вероятна ситуация, что поменяется порядок следования пакетов? То есть — переданный в сеть позже, появится на приёме раньше.

Вышеуказанные данные получены экспериментально.
При работе без сети (local-loopback) — просто на 127.0.0.1 — максимальная длина TCP пакета намного больше. Порядка 64 KBytes.

P.S. Конечно же, я предусмотрел на стороне приёма, накопление сегментов_пакета — восствновление исходного пакета.
Оно основано на поиске 32-х битного маркера конца пакета.

Но меня интересует вопрос — как сеть дробит пакеты TCP?
Как защититься от изменения порядка следования пакетов?

Заранее благодарен за любые подсказки!
Максимальная длина TCP пакета в сети
Доброе время суток, уважаемые коллеги!

Имеется вот нейкая сетевая структура, где сервер и клиент связаны по TCP.
Межде сервером и клиентом поддерживается постоянное соединение (OS: Linux Ubuntu).
Предполагается, что эти сервер и клиент — отдельные машинки локальной сети.

Вопрос: какова максимальная длина пакета, который НЕ будет разбиваться сетью на более мелкие пакеты?
Правильно ли я понимаю, что эта длина определяется параметром MTU (когда вызываем команду ifconfig или netstat -ie в Linux)?

Вот откуда инфа:
https://stackoverflow.com/questions/2613734/maximum-packet-size-for-a-tcp-connection

Вопросы:
MTU равный примерно 1.5 KBytes — это для произвольных данных?
Для текстовых данных этот показатель порядка 14 KBytes. Почему различие почти в десять раз?

Данные насчёт показателя равного 14 KBytes — не проверенные!
Наиболее правильно ориентироваться — на значение 1.5 KBytes!

Насколько вероятна ситуация, что поменяется порядок следования пакетов? То есть — переданный в сеть позже, появится на приёме раньше.

Вышеуказанные данные получены экспериментально.
При работе без сети (local-loopback) — просто на 127.0.0.1 — максимальная длина TCP пакета намного больше. Порядка 64 KBytes.

P.S. Конечно же, я предусмотрел на стороне приёма, накопление сегментов_пакета — восствновление исходного пакета.
Оно основано на поиске 32-х битного маркера конца пакета.

Но меня интересует вопрос — как сеть дробит пакеты TCP?
Как защититься от изменения порядка следования пакетов?

Заранее благодарен за любые подсказки!