Поскольку модель OSI имеет 7 уровней:
- Физический
- Ссылка
- Сеть
- Транспорт
- Сеанс
- Презентация
- Приложение
и вы хотите эмулировать его в среде Java (или, возможно, C), тогда вам понадобится сделать небольшое количествоработы.
В целях моделирования вы, вероятно, рассматривали бы обычный уровень сокетов TCP / IP как физический уровень - в процессе моделирования он обеспечивает связь между конечными точками.Это удивительно надежный физический уровень, но у вас не может быть всего.
Затем вы можете смоделировать каждый из последовательных уровней - Link, Network, Transport, Session, Presentation, Application - уровни с соответствующим кодом, который помещаетданные в пакеты или разбивает пакеты, добавляет заголовки и проверяет суммы и так далее.Каждый уровень, кроме приложения, имеет два интерфейса: нисходящий интерфейс (до уровня с меньшим номером) и восходящий интерфейс (до уровня с большим номером).Вам нужно будет выбрать соответствующие операции для каждого слоя.Минимальный набор, вероятно, будет таким: открыть, закрыть, прочитать, написать.
Я бы начал просто - с нижней или верхней части (может работать любое направление).Так как в любом случае вам понадобится приложение (тестируйте код, если ничего больше), вы можете начать с него.Вы будете последовательно улучшать код, добавляя дополнительные слои, гарантируя, что предыдущая функциональность продолжает работать.Вам нужно будет разобраться, как прикладной уровень передает на уровень канала передачи данных необходимую информацию, чтобы можно было делать правильные вызовы сокетов и т. Д.
Получайте удовольствие.