Понять технические подробности работы протокола TCP/IP невозможно без знакомства со службами, реализованными в Internet. Далее мы рассмотрим эти службы очень кратко. Особое внимание будет уделено тем из них, к которым чаще всего обращаются пользователи. В следующих разделах будет описано, как компьютеры подключаются к сети TCP/IP и как реализуется нужная для служб функциональность.
При обсуждении служб речь в основном пойдет о стандартах, которые называются протоколами (protocols). Протокол, такой как TCP или IP, представляет собой набор синтаксических и семантических правил, использующихся при обмене данными между двумя компьютерами. В нем оговаривается формат блоков сообщений, описывается реакция компьютера на получение определенного типа сообщения и указываются способы обработки ошибок и других необычных ситуаций. И что самое важное, благодаря протоколам, мы можем описать процесс обмена данными между компьютерами, не привязываясь к какой-то определенной компьютерной платформе или сетевому оборудованию конкретного производителя. В некотором смысле можно сказать, что при передаче данных протокол является тем же самым, чем алгоритм при выполнении вычислений. Как и протокол, алгоритм позволяет описать или понять процесс вычислений без привязки к системе команд конкретного процессора. Точно так же коммуникационный протокол позволяет описать или понять процесс обмена данными, не вдаваясь в детали функционирования сетевого оборудования конкретного производителя.
Скрытие низкоуровневых особенностей процесса передачи данных способствует повышению производительности труда разработчиков.
Во-первых, поскольку программистам приходится иметь дело с протоколами, относящимися к достаточно высокому уровню абстракции, им не нужно держать в голове (и даже изучать!) технические подробности используемого аппаратного обеспечения. Поэтому новую программу можно написать достаточно быстро.
Во-вторых, поскольку программы разрабатываются на основе модели, относящейся к высокому уровню абстракции, который не зависит от конкретной архитектуры компьютера или типа сетевого оборудования, в них не нужно вносить никаких изменений при переходе на другой тип оборудования или изменении конфигурации сети.
В-третьих, поскольку в прикладных программах используются протоколы высокого уровня, которые опять же не зависят от применяемого оборудования, они (программы) могут обеспечивать непосредственное соединение между двумя любыми компьютерами сети. При этом программистам не нужно создавать специальные версии программ для каждого типа используемого компьютера или сети. Программы разрабатываются с использованием универсальных протоколов. Поэтому один и тот же код можно скомпилировать и запустить на любом компьютере.
Ниже мы увидим, что подробности функционирования служб Internet оговорены в отдельных протоколах. В следующем разделе будут рассмотрены несколько протоколов, относящихся к сетевым службам Internet уровня приложений, а также к службам, формирующим сетевой уровень. В последующих разделах каждый из этих протоколов будет рассмотрен во всех подробностях.
Глобальная сеть TCP/IP | Службы Internet уровня приложений |