Программное обеспечение сетей
Протоколы Интернет
Для того чтобы различные компьютеры могли взаимодействовать друг с другом через любую сеть, они должны иметь общий язык для понимания, иными словами, общий протокол. В контексте построения сетей термин «протокол» имеет отношение к набору правил, которые регулируют процесс передачи информации. Для компьютеров протоколы означают то же самое, что язык для человека. Так как эта книга переведена на русский язык, то для того чтобы ее понять, вам необходимо уметь читать по‑русски, так же как для того чтобы прочесть оригинал, нужно уметь читать по‑английски. Подобным же образом, для того, чтобы два устройства в сети могли успешно взаимодействовать, они должны понимать одни и те же протоколы.
Различные протоколы, являющиеся частью уровней 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‑адресами (объяснение будет дано далее в этой главе).
РРР (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‑адреса в физический адрес компьютер использует протокол переопределения адресов 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 – Сеансовый уровень
4 – Транспортный уровень
3 – Сетевой уровень
2 – Канальный уровень
1 – Физический уровень
Рис. 11.24. Семь уровней модели OSI
Многие предпочитают перечислять уровни модели OSI, начиная от нижнего уровня 1 и заканчивая верхним уровнем 7, но на практике это не имеет значения, до тех пор пока мы считаем эти уровни главными строительными кирпичиками всей сетевой технологии.
Все семь уровней можно разделить на две группы: верхние и нижние уровни.
Верхние уровни модели OSI имеют дело с вопросами программного обеспечения и обычно реализуются только программно. Уровень 7 (прикладной уровень) находится ближе всего к пользователю, так как он представляет программное приложение, передающее информацию пользователю. В общих чертах, пользователь и процесс прикладного уровня взаимодействуют с программным приложением, которое содержит коммуникационный компонент.
Чем дальше мы спускаемся вниз по иерархической лестнице уровней, тем ближе мы подходим к физической среде передачи. Таким образом, нижние уровни модели OSI ближе находятся к аппаратному обеспечению (что, впрочем, не исключает и программное обеспечение) и отвечают за непосредственную транспортировку данных.
Нижний уровень находится ближе всего к физической среде передачи, то есть к сетевым интерфейсным картам и сетевые кабелям, которые и отвечают за передачу данных в сеть.
Теперь разберемся, за что отвечает каждый уровень, подробнее и начнем с самого нижнего уровня.
Физический уровень
Физический уровень описывает физические свойства различных сред передачи, а также электрические свойства и интерпретацию сигналов при обмене информацией. Например, этот уровень определяет характеристики кабеля для стандарта Ethernet, типы используемых разъемов и оконечную нагрузку.
Физический уровень отвечает за передачу, если так можно выразиться, «сырых» битов по линии связи. Среди многих задач, которые решаются на физическом уровне, есть такие, как необходимость согласования: когда передающая сторона отсылает бит 1, принимающая сторона должна получать его как 1, а не как 0. Для этого уровня характерны такие вопросы, как, например, какой уровень сигнала обозначает 0, а какой – 1? Сколько микросекунд длится передача одного бита? Может ли передача осуществляться одновременно в обоих направлениях? Как устанавливается начальное соединение? Как разрывается соединение, когда обе стороны закончили обмен информацией? Сколько контактов используется в разъеме для подключения к сети, и за что отвечает каждый контакт?
Эти и многие другие вопросы, которые относятся к физическому уровню, связаны в основном с электрическими, механическими и процедурными интерфейсами и физической средой передачи, которая находится под физическим уровнем. По сути, физический уровень относится к сфере компетенции электротехников.
Канальный уровень
Канальный уровень описывает логическую организацию битов данных, которые передаются в определенной среде. Этот уровень определяет упаковку, адресацию и коррекцию ошибок для фреймов Ethernet. Основной задачей канального уровня является преобразование «простых» коммуникационных средств физического уровня в линию связи, которая будет защищена от ошибок передачи уже на сетевом уровне. Чтобы решить эту задачу, отправляющая сторона разбивает весь поток данных, предназначенных к отправке, на блоки, которые называются фреймами данных (обычно размером несколько сотен байт). Затем отправляющая сторона последовательно передает эти фреймы и принимает фреймы, подтверждающие получение, от принимающей стороны. Поскольку физический уровень отвечает только за передачу потока битов и не обращает внимания на их структуру, то начало и конец фрейма определяются на канальном уровне. Это осуществляется за счет добавления к началу и концу фрейма данных определенных служебных последовательностей битов. Во избежание конфликтов данных необходимо, чтобы такие служебные последовательности битов не могли возникнуть в основном потоке данных. Кроме того, канальный уровень обеспечивает коррекцию ошибок при передаче между двумя соседними узлами.
Еще одна проблема, которая возникает на канальном уровне (а также и на большинстве других высших уровнях) заключается в том, что необходимо регулировать поток данных, чтобы медленный приемник не «захлебнулся» в потоке данных от более быстрого передатчика. Для этого используются различные способы управления потоком данных. Зачастую для удобства на этом уровне интегрируются коррекция ошибок и управление потоком данных.
Если линия связи может передавать информацию в двух направлениях, то возникает еще одна проблема, которая должна решаться на канальном уровне. Дело в том, что фреймы, подтверждающие получение данных, переданных от А к В, начинают состязаться за доступ к линии связи с фреймами данных, которые передаются от В к А. Здесь было разработано довольно хитроумное решение в форме одновременной передачи прямых и обратных фреймов.
Сетевой уровень
Сетевой уровень отвечает за то, каким образом с помощью серии обменов данными по различным каналам передачи информация может быть доставлена от узла одной сети к узлу другой сети. Этот уровень определяет адресацию и маршрутизацию сети Интернет. Основная проблема на этом уровне заключается в определении путей маршрутизации, по которым пакеты с данными идут от отправителя к получателю.
Маршрутизация пакетов может основываться на статических таблицах, которые жестко привязаны к сети и редко изменяются, также она может определяться каждый раз при начале нового обмена данными, например, при открытии терминальной сессии. Наконец, маршрутизация пакетов может быть динамической и определяться каждый раз по‑новому для нового пакета, учитывая загрузку сетей.
Если в какой‑то подсети одновременно скапливается много пакетов, то они будут мешать друг другу, вызывая перегрузку. Контроль перегрузки тоже осуществляется на сетевом уровне.
Поскольку операторы подсетей должны получать вознаграждение за свою работу, то очень часто на сетевом уровне ведется учет переданных пакетов. Обязательно учитывается количество пакетов или битов, посланных каждым пользователем, которые затем используются для взаимных расчетов между операторами. Когда пакет пересекает национальные границы стран с разными тарифами, взаимные расчеты между операторами сетей значительно усложняются.
Когда пакет данных отправляется из одной сети в другую, то возникает множество проблем. Системы адресации, которые используются в разных сетях, могут не совпадать. Одна сеть может отказать в приеме пакета из‑за слишком большого размера, который в данной сети неприемлем. Также могут различаться протоколы, и есть много других проблем, но они должны решаться именно на сетевом уровне, который отвечает за взаимодействие разнородных сетей.
В широковещательных сетях проблема маршрутизации решается просто, поэтому здесь сетевой уровень достаточно тонок или вообще отсутствует.
Дата добавления: 2016-01-30; просмотров: 902;