Реализация протоколов

Я хочу знать, как реализованы разные протоколы. Например, возьмем пример TCP/IP. Этот протокол используется для передачи данных (если я прав).

Теперь я хочу знать, как этот протокол реализован на каждой машине?

  • Устанавливаются ли протоколы операционными системами или они поставляются с аппаратным обеспечением?
  • If a new protocol is developed, how it will be implemented on machines?
  • Is it possible to implement a protocol over the internet?

1 ответ

Решение

Устанавливаются ли протоколы операционными системами или они поставляются с аппаратным обеспечением?

Это зависит от того, что вы подразумеваете под "протоколами"; Например, TCP / IP и HTTP очень разные. Поскольку вы называете TCP / IP, мой ответ сосредоточен только на этом:

Они являются частью операционной системы. Они могут быть встроены в ядро, или они могут быть добавлены в виде модулей по факту; последнее типично для большинства современных операционных систем.

Они часто наслоены; сегодня почти все протоколы на уровне TCP построены на основе IP - IPv4 или IPv6 - что снижает накладные расходы при начале работы, поскольку большинство сетевых маршрутизаторов понимают IP-маршрутизацию.

Также возможно реализовать новый протокол целиком в "пользовательском пространстве", хотя это может быть сложнее - для этого обычно требуется доступ по необработанному IP-адресу, что является "привилегированной" операцией, поэтому требуется эквивалент привилегий root или администратора.

Если будет разработан новый протокол, как он будет реализован на машинах?

Вы пишете драйвер для этого. Кроме того, это зависит от операционной системы и от того, где вы решили ее реализовать.

Обратите внимание, что это относится, например, к Cisco IOS или другим "операционным системам", встроенным в маршрутизаторы, включая ваш кабельный или ADSL-модем. Они имеют драйверы для IP и TCP так же, как системы Mac, Linux или Windows.

Можно ли реализовать протокол через интернет?

Я предполагаю, что вы имеете в виду "могу ли я разработать протокол, такой как TCP, и заставить его работать через Интернет, не делая ничего, кроме как установить его на двух взаимодействующих машинах?"

Да, вы можете - если вы наложите свой протокол на IP. Большая часть маршрутизации выполняется на уровне IP, а поле "протокол" в IP-пакете используется для маршрутизации содержимого в правильный обработчик протокола, который затем разбивает его по-разному для ОС.

Другие вопросы по тегам