2014-11-30 3 views
0

Я пытаюсь создать простой протокол уровня канала для школы.Передайте кадр со слоя ссылки на физический уровень

Я искал и искал Google, и я понимаю, что слой Link имеет pas, который я создаю для физического уровня, но как это сделать в программировании (язык c) есть функция или библиотека, которые я могу использовать для отправить мой кадр напрямую с помощью физического слоя? или как это должно быть сделано?

ответ

2

Наиболее распространенными шаблонами проектирования для разработки протоколов связи являются Protocol Stack Design Pattern и Protocol Layer Design Pattern. Взгляните на это. Ссылки имеют некоторый пример кода.

В заключение он работает следующим образом:

  • Связь верхнего уровня на нижний слой: использование функции параметров
  • связи нижнего слоя верхнего слоя: использование функции обратного вызова

Проектирование протоколов не тривиальным, и вы должны держать его простым в первых подходах.

+0

спасибо, это немного полезно, но это не отвечает на мой вопрос. Что я ищу, как отправить пакет на нижний уровень или как отправить пакет на другой компьютер, есть ли функция или библиотека на основе phyical layer, которую я могу использовать для этого? –

+0

Пожалуйста, сформулируйте Ваши вопросы? Значит, вы не хотите разрабатывать собственный протокол? Вы хотите использовать TCP/IP и отправить пакет с помощью сокета? –

+0

не мой собственный протокол, просто слой. То, что я пытаюсь сделать, это запрограммировать уровень ссылки, но на уровне ссылки я должен передать пакет на нижний уровень, который является физическим уровнем, но я тоже не хочу его программировать. Я пытаюсь передать свой пакет сетевому адаптеру для выполнения своей работы или не знаю, что я должен сделать, чтобы отправить пакет на другой компьютер, с которым я пытаюсь общаться. –

0

необходимо использовать код сокетов, сокет является одной конечной точкой двусторонней связи между двумя программами, запущенными по сетевой ссылке. Классы сокетов используются для представления соединения между клиентской программой и серверной программой. вам не нужно программировать физический уровень, к которому относится ОС. http://www.tutorialspoint.com/java/java_networking.htm

+0

Я не хочу использовать сокеты, я хочу написать собственный протокол Link Layer. –