-1

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

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

  • Устанавливаются ли протоколы операционными системами или они поставляются с аппаратным обеспечением?
  • Если будет разработан новый протокол, как он будет реализован на машинах?
  • Возможно ли реализовать протокол через интернет?

1 ответ1

2

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

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

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

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

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

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .