@historydev
Редактирую файлы с непонятными расширениями

Как написать прикладной протокол?

Уровень 7 OSI или 4 TCP/IP.

Не могу найти никаких толковых инструкций или хотя-бы списка требований (нашёл только спецификации RFC но мне пока тяжело).

Условно если я поверх tcp допишу на сервере правило, что перед данными нужно указать ABC, а сами данные должны быть в формате JSON - это уже "протокол"?

Задача: Разобраться из чего состоят прикладные протоколы и закрепить на практике (саморазвитие)
  • Вопрос задан
  • 395 просмотров
Пригласить эксперта
Ответы на вопрос 3
@MarkusD
все время мелю чепуху :)
Первое что стоит понять: модель OSI не является строгой и не ограничивает разработчиков своими рамками.
Например, верно, стек TCP/IP задает самостоятельную модель. Делается это через отождествление групп уровней OSI на уровни TCP/IP.

Этап следующий. 4-й уровень модели TCP/IP эквивалентен группе из 5-7 уровней OSI. Что это означает.
Базируясь на некотором транспортном протоколе 4-го уровня OSI, тебе потребуется поднять 5-й, 6-й и 7й уровни самостоятельно.

На 7-м уровне у тебя должен быть прикладной код, с которым клиент твоего протокола будет общаться через DTO/VO.
На 6-м уровне должна обеспечиваться трансляция данных между DTO/VO 7-го уровня и JSON для передачи по сети.
На 5-м уровне нужно обеспечить гарантию сессии через проверку и внедрение в трафик маркера сессии, т.е. того самого ABC.

Разведи свой код на такие уровни и тебе все станет ясно.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Тебе на самом деле нет смысла строить протокол поверх TCP.
Не будет никакого сильного преимущества. HTTP достаточно
удобен
чтобы гонять запрос-ответ.

И тогда можешь описать свой протокол как надмножество REST/SOAP/GraphQL и прочее.
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Если хочешь непременно свой протокол - ну так просто возьми и напиши :) Да, он будет у тебя L7 и тебе самому придется его спроектировать - придумать заголовок, хвост, назначение оного протокола...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы