Первое что стоит понять: модель 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
.
Разведи свой код на такие уровни и тебе все станет ясно.