Протоколы Интернет Для того чтобы различные компьютеры могли взаимодействовать друг с другом через любую сеть они должны иметь общий язык для понимания иными словами общий протокол В контексте построения сетей термин протокол имеет отношение к набору правил которые регулируют процесс передачи информации Для компьютеров протоколы означают то же самое что язык для человека Так как эта книга переведена на русский язык то для того чтобы ее понять вам необходимо уметь читать по русски так же как для того чтобы прочесть оригинал нужно уметь читать по английски Подобным же образом для того чтобы два устройства в сети могли успешно взаимодействовать они должны понимать одни и те же протоколы Различные протоколы являющиеся частью уровней 5 6 и 7 используются в современном мире Интер нета и данная книга была бы неполной без их полного перечисления и краткого описания TCP IP Transmission Control Protocol Internet Protocol Эти два набора протоколов являются самыми популярными среди остальных протокольных связок используемых в сейчас в Интернете После того как работы были профинансированы Управлением перспективного планирования оборонных научно исследовательских работ США DARPA данный протокол был внедрен в середине 1970 х годов Стэнфордским университетом а также фирмой Bolt Beranek and Newman BBN Впервые появился в составе версии BSD UNIX TCP является надежным протоколом т е пакеты данных гарантированно доставляются на целевой объект в правильном порядке IP является основным протоколом набора TCP IP IP определяет средства идентификации и дости жения целевого компьютера в сети Компьютеры в IP среде идентифицируются уникальными номерами называемыми IP адресами объяснение будет дано далее в этой главе ITV генеральный спонсор 2 го издания книги CCTV Библия видеонаблюдения 362 11 Сетевые технологии CCTV РРР Point to Point Protocol Протокол для установления связи TCP IP типа точка точка в рамках как синхронных так и асинхронных систем Протокол РРР обеспечивает соединение хоста с сетью или соединение двух маршрутизаторов Он также обладает средствами защиты РРР хорошо известен как протокол для соединения по обыч ным телефонным линиям когда на обоих концах используются модемы Данный протокол широко используется для соединения персональных компьютеров с сетью Интернет SUP Serial Line Internet Protocol Протокол двухточечной связи используется при последовательном соединении и является пред шественником протокола соединения точка точка РРР Существует также усовершенствован ная версия данного протокола известная под названием CSLIP IP протокол последовательной линии со сжатием который снижает количество служебных сигналов при соединении на основе SLIP протокола посредством пересылки только содержимого заголовка если это возможно тем самым повышая скорость передачи пакетов FTP File Transfer Protocol Протокол дающий возможность передачи текста и бинарных файлов посредством каналов связи на базе протокола TCP Протокол FTP предусматривает передачу файлов в соответствии со стро гим механизмом разграничения прав доступа На сегодняшний день это один из наиболее часто используемых протоколов в сети Интернет Telnet Протокол эмуляции терминала определенный стандартом RFC854 для использования при связи на базе TCP Позволяет пользователям подключаться к удаленным хостам и использовать их ресур сы на локальном хосте SMTP Simple Mail Transfer Protocol Протокол предназначенный для пересылки на удаленный сервер сообщений электронной почты исходящих с локального хоста на базе протокола TCP Протокол SMTP определяет набор правил которые позволяют двум программам отправлять и получать почту по сети Протокол определяет структуру данных которые будут доставлены с указанием информации об отправителе получате ле или нескольких получателях и конечно тело самого сообщения HTTP Hyper Text Transport Protocol Протокол используется для передачи гипертекстовых страниц в рамках глобальной электронной сети WWW SNMP Simple Network Management Protocol Простой протокол которым определяются сообщения имеющие отношение к управлению сетью При помощи протокола SNMP такие сетевые устройства как маршрутизаторы могут быть сконфи гурированы удаленно любым хост компьютером в локальной сети UDP User Datagram Protocol Простой протокол с помощью которого передаются пакеты данных на удаленный компьютер UDP не гарантирует того что пакеты будут получены в том же порядке в каком они отправлялись Фак тически этот протокол совсем не гарантирует доставку ARP Address Resolution Protocol Для преобразования IP адреса в физический адрес компьютер использует протокол переопреде CCTVФокус журнал по системам видеонаблюдения и охранному телевидению CCTV 11 Сетевые технологии 363 ления адресов ARP при помощи которого транслируется сообщение запрос содержащее IP адрес на которое целевой компьютер отвечает уже с указанием исходного IP адреса и присвоен ного физического адреса NNTP Network News Transport Protocol Протокол используемый для пересылки сообщений службы передачи новостей USENET между клиентами этой службы и серверами USENET Семиуровневая эталонная коммуникационная модель OSI В основе построения сетей лежит так называемая семиуровневая эталонная модель OSI Сокра щение OSI предложенное в 1984 году Международной организацией по стандартизации ISO в обрат ном порядке можно прочитать как ISO но на самом деле оно означает эталонную модель взаимодей ствия открытых систем Open System Interconnection Модель взаимодействия открытых систем OSI описывает каким образом информация програм много приложения с одного компьютера проходит через сетевую среду и доставляется програм мному приложению на другом компьютере Модель OSI рассматривается как основная архитек турная модель для связи между компьютерами Идеей лежащей в основе такой модели является упрощение задачи передачи информации между сете выми компьютерами и превращение такой передачи в легко управляемый процесс Затем для каждого из семи уровней OSI назначается задача или группа задач Каждый из уровней является в достаточной степени автономным поэтому задачи определенные для каждого уровня могут выполняться независимо друг от друга Сетевая архитектура OSI состоит из двух основных компонентов О абстрактная модель организации сетей базовая эталонная модель или семиуровневая модель О набор конкретных протоколов Компоненты OSI оказывают влияние на развитие протоколов сети Интернет но не в большей мере чем сама абстрактная модель документально подтвержденная стандартом OSI 7498 и различ ными приложениями к нему В данной модели система построения сети делится на несколько уровней В рамках каждого уровня одна или более сущностей объектов приклад ных частей обеспечивают функциональность данного уровня Каждая прикладная часть вза имодействует напрямую только с непосред ственно нижележащим уровнем и обеспечивает средства для использования вышележащим уровнем Протоколы дают возможность логичес ким объектам одного хоста взаимодействовать с соответствующим логическим объектом равного уровня на удаленном хосте Базовая эталонная модель OSI включает в себя семь уровней от нижнего уровня к верхнему 7 Прикладной уровень 6 Уровень представления 5 Сеансовый уровень Рис 11 24 Семь уровней модели OSI ITV генеральный спонсор 2 го издания книги CCTV Библия видеонаблюдения 364 Сетевые технологии CCTV 4 Транспортный уровень 3 Сетевой уровень 2 Канальный уровень 1 Физический уровень Многие предпочитают перечислять уровни модели OSI начиная от нижнего уровня 1 и заканчивая верх ним уровнем 7 но на практике это не имеет значения до тех пор пока мы считаем эти уровни главными строительными кирпичиками всей сетевой технологии Все семь уровней можно разделить на две группы верхние и нижние уровни Верхние уровни модели OSI имеют дело с вопросами программного обеспечения и обычно реализуют ся только программно Уровень 7 прикладной уровень находится ближе всего к пользователю так как он представляет программное приложение передающее информацию пользователю В общих чертах пользователь и процесс прикладного уровня взаимодействуют с программным приложением которое содержит коммуникационный компонент Чем дальше мы спускаемся вниз по иерархической лестнице уровней тем ближе мы подходим к физи ческой среде передачи Таким образом нижние уровни модели OSI ближе находятся к аппаратному обеспечению что впрочем не исключает и программное обеспечение и отвечают за непосредствен ную транспортировку данных Нижний уровень находится ближе всего к физической среде передачи то есть к сетевым интер фейсным картам и сетевые кабелям которые и отвечают за передачу данных в сеть Теперь разберемся за что отвечает каждый уровень подробнее и начнем с самого нижнего уровня Физический уровень Физический уровень описывает физические свойства различных сред передачи а также электрические свойства и интерпретацию сигналов при обмене информацией Например этот уровень определяет характеристики кабеля для стандарта Ethernet типы используемых разъемов и оконечную нагрузку Физический уровень отвечает за передачу если так можно выразиться сырых битов по линии связи Среди многих задач которые решаются на физическом уровне есть такие как необходимость согласо вания когда передающая сторона отсылает бит 1 принимающая сторона должна получать его как 1 а не как 0 Для этого уровня характерны такие вопросы как например какой уровень сигнала обозначает 0 а какой 1 Сколько микросекунд длится передача одного бита Может ли передача осуществляться одновременно в обоих направлениях Как устанавливается начальное соединение Как разрывается соединение когда обе стороны закончили обмен информацией Сколько контактов используется в разъеме для подключения к сети и за что отвечает каждый контакт Эти и многие другие вопросы которые относятся к физическому уровню связаны в основном с электричес кими механическими и процедурными интерфейсами и физической средой передачи которая находится под физическим уровнем По сути физический уровень относится к сфере компетенции электротехников 2 Канальный уровень Канальный уровень описывает логическую организацию битов данных которые передаются в опреде ленной среде Этот уровень определяет упаковку адресацию и коррекцию ошибок для фреймов Ethernet Основной задачей канального уровня является преобразование простых коммуникационных средств физического уровня в линию связи которая будет защищена от ошибок передачи уже на сете вом уровне Чтобы решить эту задачу отправляющая сторона разбивает весь поток данных предназна ченных к отправке на блоки которые называются фреймами данных обычно размером несколько сотен байт Затем отправляющая сторона последовательно передает эти фреймы и принимает фреймы под тверждающие получение от принимающей стороны Поскольку физический уровень отвечает только за CCTVФокус журнал по системам видеонаблюдения и охранному телевидению CCTV 11 Сетевые технологии 365 передачу потока битов и не обращает внимания на их структуру то начало и конец фрейма определяют ся на канальном уровне Это осуществляется за счет добавления к началу и концу фрейма данных опре деленных служебных последовательностей битов Во избежание конфликтов данных необходимо чтобы такие служебные последовательности битов не могли возникнуть в основном потоке данных Кроме того канальный уровень обеспечивает коррекцию ошибок при передаче между двумя соседними узлами Еще одна проблема которая возникает на канальном уровне а также и на большинстве других высших уровнях заключается в том что необходимо регулировать поток данных чтобы медленный приемник не захлебнулся в потоке данных от более быстрого передатчика Для этого используются различные способы управления потоком данных Зачастую для удобства на этом уровне интегрируются коррекция ошибок и управление потоком данных Если линия связи может передавать информацию в двух направлениях то возникает еще одна пробле ма которая должна решаться на канальном уровне Дело в том что фреймы подтверждающие получе ние данных переданных от А к В начинают состязаться за доступ к линии связи с фреймами данных которые передаются от В к А Здесь было разработано довольно хитроумное решение в форме одновре менной передачи прямых и обратных фреймов 3 Сетевой уровень Сетевой уровень отвечает за то каким образом с помощью серии обменов данными по различным кана лам передачи информация может быть доставлена от узла одной сети к узлу другой сети Этот уровень определяет адресацию и маршрутизацию сети Интернет Основная проблема на этом уровне заключается в определении путей маршрутизации по которым пакеты с данными идут от отправителя к получателю Маршрутизация пакетов может основываться на статических таблицах которые жестко привязаны к сети и редко изменяются также она может определяться каждый раз при начале нового обмена данны ми например при открытии терминальной сессии Наконец маршрутизация пакетов может быть дина мической и определяться каждый раз по новому для нового пакета учитывая загрузку сетей Если в какой то подсети одновременно скапливается много пакетов то они будут мешать друг другу вызывая перегрузку Контроль перегрузки тоже осуществляется на сетевом уровне Поскольку операторы подсетей должны получать вознаграждение за свою работу то очень часто на сете вом уровне ведется учет переданных пакетов Обязательно учитывается количество пакетов или битов посланных каждым пользователем которые затем используются для взаимных расчетов между операто рами Когда пакет пересекает национальные границы стран с разными тарифами взаимные расчеты между операторами сетей значительно усложняются Когда пакет данных отправляется из одной сети в другую то возникает множество проблем Системы адресации которые используются в разных сетях могут не совпадать Одна сеть может отказать в при еме пакета из за слишком большого размера который в данной сети неприемлем Также могут разли чаться протоколы и есть много других проблем но они должны решаться именно на сетевом уровне который отвечает за взаимодействие разнородных сетей В широковещательных сетях проблема маршрутизации решается просто поэтому здесь сетевой уровень достаточно тонок или вообще отсутствует 4 Транспортный уровень Транспортный уровень отвечает за качество и характер доставки данных На этом уровне определяется когда и как осуществляется повторная передача данных чтобы осуществить гарантированный обмен данными Основная функция транспортного уровня заключается в том чтобы принять данные с сеансо вого уровня при необходимости разбить их на меньшие фрагменты и передать их сетевому уровню а затем проследить чтобы все фрагменты информации дошли по назначению Более того все это долж но быть сделано максимально эффективным способом и нужно изолировать сеансовый уровень от неизбежных изменений технологий использующихся в сетевом аппаратном обеспечении ITV генеральный спонсор 2 го издания книги CCTV Библия видеонаблюдения 366 11 Сетевые технологии CCTV В обычных условиях транспортный уровень создает одно сетевое соединение для каждого транспортно го соединения которое требует сеансовый уровень Если транспортное соединение должно осуществ ляться с высокой скоростью передачи данных то транспортный уровень может создавать множество сетевых соединений распределив поток данных между ними для повышения скорости передачи данных И наоборот когда создание и поддержание сетевых соединений обходится дорого транспортный уровень может мультиплексировать несколько транспортных соединений в одном сетевом соединении чтобы уменьшить издержки В любом случае требуется транспортный уровень чтобы сделать муль типлексирование прозрачным для сеансового уровня Транспортный уровень также определяет тип сервиса который предоставляется сеансовому уровню и в конечном счете пользователям сети Наиболее популярным видом транспортного соединения является канал типа точка точка свободный от ошибок который доставляет пакеты в том порядке в котором они посылаются Впрочем существуют и другие виды транспортных соединений которые не гарантируют порядок доставки по нескольким адресатам Тип сервиса определяется при установлении соединения Транспортный уровень является тем самым уровнем который действительно связывает отправителя и получателя Другими словами программа исполняющаяся на компьютере отправителе ведет обмен данными с аналогичной программой на компьютере получателе используя заголовки сообщений и служебные сообщения Многие хосты работают в многозадачном режиме а это означает что каждый из них одновременно уста навливает несколько соединений Таким образом требуется инструмент позволяющий различать при надлежность сообщений к различным соединениям Это можно делать с помощью транспортного заго ловка Кроме мультиплексирования нескольких потоков сообщений в один канал транспортный уровень дол жен уметь устанавливать и разрывать соединения по сети Для этого требуется какой либо способ при сваивания имен так чтобы процесс на одной машине мог описать то с кем он собирается вести обмен данными Также должен быть способ управления потоком данных чтобы более быстрый хост не зато пил потоком информации более медленный Управление потоком данных здесь отличается от управле ния потоком данных между коммутаторами но принципы используются те же 5 Сеансовый уровень Сеансовый уровень описывает организацию последовательностей данных больших чем пакеты с кото рыми имеют дело нижние уровни модели OSI Этот уровень определяет каким образом пакеты запросов и ответов образуют пары при процедуре удаленного вызова Сеансовый уровень позволяет пользовате лям на разных компьютерах устанавливать сеансы связи между ними Сеанс позволяет получить обыч ное транспортное соединение как на транспортном уровне но также дает дополнительные сервисы полезные в некоторых приложениях Сеанс может использоваться для того чтобы пользователь мог подключиться к удаленной системе с разделением времени или для передачи файла между двумя компьютерами Сеансовый уровень управляет диалогом между двумя устройствами Сеансы позволяют передавать данные в обоих направлениях одновременно или по очереди Если данные в каждом направлении нужно передавать по очереди то сеансовый уровень может помочь отслеживать чья очередь передавать данные Управление маркерами еще один сервис связанный с сеансовым уровнем Для некоторых протоко лов важно чтобы одна и та же операция не выполнялась одновременно на двух компьютерах Для этого используются маркеры на сеансовом уровне Только та сторона которая получила и удерживает маркер может выполнять операцию связанную с этим маркером Еще одним сервисом сеансового уровня является синхронизация Представьте себе такую ситуацию когда необходимо передать очень большой файл по сети При этом среднее время передачи этого фай ла составляет 2 часа а в сети происходят сбои с периодичностью в час После каждого сбоя передача файла прерывается и начинается снова с самого начала Чтобы избежать возникновения таких ситуаций CCTVФокус журнал по системам видеонаблюдения и охранному телевидениюCCTV 11 Сетевые технологии 367 сеансовый уровень предоставляет средства синхронизации которые позволяют организовывать конт рольные точки в длинных передачах чтобы в случае сбоев вернуться к передаче от последней контроль ной точки а не с самого начала 6 Уровень представления Уровень представления характеризует синтаксис передаваемых данных Этот уровень описывает то каким образом устройства с различными математическими форматами записи обмениваются числами с плавающей десятичной запятой Уровень представления выполняет определенные функции которые требуются настолько часто что имеет смысл для того использовать универсальное решение а не заставлять пользователя каждый раз находить свое решение Так в отличие от нижних уровней которые перемещают биты между устройствами уровень представления занимается синтаксисом и семантикой передаваемой информации Типичным примером сервиса уровня представления является кодирование данных стандартным зара нее определенным способом Большинство пользовательских программ обмениваются не случайными бинарными строками а списками имен счетами ценами расписаниями и т д Эти данные представле ны символьными строками целыми числами числами с плавающей десятичной запятой и структурами данных состоящих из более простых элементов Разные компьютеры могут использовать разные коди ровки для представления символьных строк целых чисел и т д Для того чтобы компьютеры с разными видами представления информации могли общаться между собой структуры данных которыми они обмениваются должны быть определены в абстрактном виде в соответствии со стандартной кодиров кой которая используется в сети Уровень представления занимается управлением этими абстрактны ми структурами данных и преобразованием из представления информации которое используется внут ри компьютера в стандартное представление которое используется в сети Уровень представления также занимается и другими аспектами представления информации Например на этом уровне может использоваться сжатие данных чтобы уменьшить количество пересылаемых битов Также на этом уровне очень часто требуется и шифрование данных для сохранения конфиден циальности информации и контроля доступа к ней 7 Прикладной уровень Прикладной уровень фактически слу жит интерфейсом между пользовате лем и сетью Этот уровень обеспечи вает выполнение операций файло вых систем Прикладной уровень содержит набор разнообразных про токолов которые обычно требуются и распространены Например в мире существуют сотни несовместимых между собой типов терминалов Представьте себе в каком затрудни тельном положении оказался бы обычный текстовый редактор кото рому нужно работать по сети с мно жеством различных типов термина лов у каждого из которых своя соб ственная раскладка экрана сочета ния клавиш для редактирования текста перемещения курсора и т д Одним из способов решения этой проблемы является определение Семь уровней модели OS1 и их соотношение с протоколами сети ИнтернетTV генеральный спонсор 2 го издания книги CCTV Библия видеонаблюдения 368 11 Сетевые технологии CCTV абстрактного сетевого виртуального терминала под который будут создаваться редакторы и другие про граммы Для работы с каждым типом терминала потребуется написание дополнительного программного обеспечения которое создаст соответствие между функциями виртуального и реального терминала Например когда в текстовом редакторе курсор виртуального терминала перемещается в левый верхний угол экрана это программное обеспечение должно послать соответствующую последовательность команд реальному терминалу чтобы и он переместил курсор в верхний левый угол Все программное обеспечение виртуальных терминалов находится на прикладном уровне Еще одна функция прикладного уровня заключается в передаче файлов Различные файловые системы имеют разные соглашения относительно наименования файлов представления текстовых строк и т д Передача файла между двумя различными системами требует учета этих и других несовместимостей Эта работа тоже выполняется на прикладном уровне как и обмен сообщениями электронной почты по иск в директориях и другие средства общего и специального назначения