Предположим, что приложение отправляет пакет с заголовком TCP на сервер для конкретной функции с заголовками ethernet + IPv4 + TCP. Можно ли отправить тот же пакет с заголовком UDP, в котором все данные одинаковы? По моим сведениям, сторона-получатель будет просто декомплексировать заголовки пакетного уровня за слоем, чтобы данные пакета должны были передаваться на прикладной уровень сервера, когда заголовок UDP успешно демультиплексирован. Есть ли заблуждение?Можно ли отправить пакет с помощью протокола транспортного уровня?
ответ
Если сервер прослушивает порт независимо от того, какой протокол используется, на нем сидит некоторая прикладная логика, ожидая, что некоторые данные поступят на этот порт.
В соответствии с вашим примером, если сервер прослушивает два порта (A + B), он, безусловно, ожидает различных типов данных на каждом из этих двух портов.
Если клиницист теперь решает переключить порты, скажите отправить данные, предназначенные для перехода на порт A на порт B, логика приложения сервера наверняка смущается, поскольку она не понимает, что она получает на порте B, и (если это хорошо разработанное программное обеспечение на сервере), он отключит соединение на порту B.
Такой сценарий полностью не зависит от того, какой тип протокола используется.
Это так же, как если бы вы попытались подключить кабель питания вашего компьютера к сетевой розетке, но в гнездо питания. Хотя оба сокета встроены в ПК, вы не можете просто использовать какой-либо сокет для любого соединения/передачи.
Получатель не будет знать, к какому приложению передаются данные, поскольку приложение не прослушивает указанный порт UDP. Пакадж будет сброшен.
Что делать, если порт UDP доступен, но первоначально не для отправки определенных типов пакетов? –
Что вы подразумеваете под * доступным *? Кто-то слушает порт UDP? Тогда это лучше не мешает TCP-соединению, которое использует соответствующий TCP-порт. В противном случае часть * Transmission Control * протокола * Transmission Control Protocol будет бесполезной. – Oswald
Приложение предоставляет два порта для передачи пакетов TCP и UDP. TCP - это прямая доставка данных между хостом и сервером, а UDP - для пакетного вещания (от 0.0.0.0:10000 до адреса сервера). –
Предположим, что приложение отправляет пакет с заголовком TCP на сервер для конкретной функции с заголовками ethernet + IPv4 + TCP.
Не могу этого предположить. Приложения не отправляют пакеты TCP. Приложения отправляют данные. TCP отправляет TCP-пакеты.
Можно ли отправить тот же пакет с заголовком UDP, в котором все данные одинаковы?
Да, конечно, просто отправьте его через сокет UDP вместо сокета TCP, считая данные вписывающимися в дейтаграмму UDP.
По моим сведениям, сторона приемника будет только демультиплексирования заголовки слоя пакетов слоем так что данные пакета должны быть переданы на прикладном уровне сервера, когда UDP заголовок де - мультиплексируется успешно.
- Там нет 'демультиплексирования' заголовков. 2. Если на сервере, принимающем на UDP-порт, есть приложение UDP, которое вы отправили, то, что вы говорите, произойдет. Если нет, передача будет удалена.
Есть ли какие-либо заблуждения?
Не совсем, но вы злоупотребляете стандартной терминологией и приписываете полномочия приложению, которое действительно лежит в другом месте. Приложение не имеет ничего общего с заголовками Ethernet или TCP или UDP или IP.
У меня также есть сильное чувство, что вы делаете гору из мухи.
- 1. Любой способ сопоставить имя протокола транспортного уровня с номером
- 2. Проверьте, работает ли шифрование уровня транспортного уровня?
- 3. Реализация протокола для транспортного уровня в компьютерных сетях
- 4. Почему DNS использует протокол UDP в качестве протокола транспортного уровня?
- 5. xp_cmdshell ошибка транспортного уровня
- 6. Каковы функции транспортного уровня?
- 7. Можно отправить sms с телефона android с помощью протокола adb
- 8. Поддерживает ли TLS (безопасность транспортного уровня) HTTPS?
- 9. Отягощается независимо от транспортного протокола?
- 10. механизм транспортного уровня в CAN
- 11. Потоковая WebCamTexture с новым API уровня транспортного уровня Unity 5.1
- 12. , какая сторона инициирует согласование версии в протоколе транспортного уровня SSH?
- 13. Как назвать класс транспортного уровня?
- 14. Примеры безопасности транспортного уровня (TLS)?
- 15. Уточнение относительно работы сетевого уровня и транспортного уровня
- 16. Что касается реализации протоколов транспортного уровня в java
- 17. Можно ли отправить «ОПЦИИ *» с помощью cURL?
- 18. Настройка уровня протокола протокола JGroups для данного экземпляра протокола
- 19. SSIS - При получении результатов с сервера произошла ошибка транспортного уровня.
- 20. Можно ли установить источник изображения с помощью javascript: псевдо-протокола?
- 21. Терминология протокола: сообщение или пакет
- 22. Можно ли отправить Apple IDFA в Google Analytics вручную с помощью протокола измерений?
- 23. Безопасность транспортного уровня без сертификата сервера
- 24. Могут ли сайты выбрать, какой протокол транспортного уровня использовать?
- 25. Разработка протокола сетевого уровня в C
- 26. Можно ли отправить пакет tcp syn с полезной нагрузкой с помощью WFP?
- 27. Безопасность транспортного уровня AngularJS/OAuth 2
- 28. Зачем возникает эта ошибка транспортного уровня?
- 29. Можно ли регистрировать только сообщения одного уровня с помощью Log4J
- 30. Лучший способ отправить пакет с помощью RakNet
Если вы спрашиваете: «Могу ли я переписать приложение для использования UDP вместо TCP?» то ответ «да». Конечно, характеристики UDP полностью отличаются от характеристик TCP, поэтому это не прозрачное изменение. –
Если я не буду переписывать приложение, но просто отредактируйте заголовки того же пакета и отправьте его на сервер, будет ли он принят? –
Ну, для начала, если только что-то не прослушивает UDP на указанном порту, пакет будет сброшен в приемнике. –