Топ контрибуторов
loading
loading
Знаете ли Вы, что

В разделе "Статьи" можно найти обучающие статьи по информационным технологиям, а также узнать о новостях сервиса Quizful.

Лента обновлений
ссылка Aug 4 12:23
Комментарий от christina132000:
что значит "+2"?
ссылка Aug 3 22:00
Комментарий от dimanaumow:
Только вот никаких конструкторов по умолчанию у типов...
ссылка Aug 3 12:18
Комментарий от GDV29:
Не подскажите, какой можно придумать проект для уровня Jun...
ссылка Aug 2 19:07
Комментарий от dolbatehnik:
(*(f1 + sizeof(f1)/sizeof(f1[0]) - 1))();
Это выраже...
ссылка Aug 1 19:10
Комментарий от Xo4yProytiTest:
*написано в 2009
Статистика

Тестов: 153, вопросов: 8596. Пройдено: 465765 / 2273995.

Сетевые модели OSI и TCP/IP

head tail Статья
категория
Компьютерные сети
дата15.07.2009
авторpasis
голосов20

Вступление

 Бесспорно, можно утверждать: "Зачем вообще нужны эти сетевые модели? Век живу и ни разу не пользовался". И я скажу, вы абсолютно правы. Я сам так рассуждал. Хотя правота заключается лишь в том, что мы, обычные пользователи или начинающие администраторы, можем обойтись без всех этих моделей. Но зачем тогда, спрашивается, они вообще существуют?

 В многоуровневых моделях четко расписаны функции каждого уровня и взаимосвязь с соседними уровнями. Все сетевые протоколы разрабатываются в соответствии с сетевой моделью и принадлежат определенному ее уровню. Так, взяв для примера определенный протокол, можно с уверенностью говорить какие функции (глобальные) на него возложены, а какие он не может выполнять. Так же и сетевое оборудование можно отнести к определенному уровню модели, учитывая его функции. И что это нам дает? А то, что мы можем утверждать о распространении коллизий, широковещательных сообщений, возможности работы отдельных протоколов или общения двух хостов вообще и так далее, список довольно широкий.

 Сетевая модель помогает в поиске ошибок и неисправностей, так как по симптомам часто можно определить к какому уровню относится проблема. После чего существенно сужается область поиска (протоколы, оборудование и т.д.). Если же симптомы не наталкивают на решение, то можно систематически проходить по всей модели от нижних уровней к верхним, обращая внимание на функционирование сети. Нижний уровень, выявляющий неполадки (функции, возложенные на него, не выполняются или выполняются с ошибками) и есть проблемным.

 И напоследок, сетевая модель создает некий стандарт, гарантирующий совместимость протоколов и оборудования разных производителей.

Две сетевые модели

 Если вступление зажгло хоть малейшую искорку интереса, то можно двигаться дальше.

 Среди основных сетевых моделей существуют две: модель OSI и модель TCP/IP. Иногда можно встретить их как теоретическую и практическую модели.

 Они являются многоуровневыми, что значит четкое разбиение на отдельные уровни. Как сказано выше, каждому уровню четко приписаны функции, которые в пределах одной модели не повторяются. Таким образом модель OSI разбита на 7 уровней, а модель TCP/IP на 4 уровня:

Модель OSI
Модель TCP/IP
7. Application LayerApplication Layer
6. Presentation Layer
5. Session Layer
4. Transport LayerTransport Layer
3. Network LayerInternet Layer
2. Data Link LayerNetwork Access Layer
1. Physical Layer

 Модели так изображены не зря. Во первых, уровни модели OSI довольно часто упоминают по номерам (они пронумерованы снизу вверх), в то время как уровни модели TCP/IP называют по именам. А второе - это то, что модель TCP/IP можно описать терминами OSI. Как показано, обе модели имеют идентичные уровни Transport и Internet (Network), на которые возложены соответственно одинаковые задачи. Но, к примеру, модель TCP/IP не различает границы между физическим представлением сигналов, битов на проводах (или в другой среде передачи данных) и способом доступа к тем самым проводам. Это делает модель менее предпочтительной для поисков неполадок, так как, к примеру, битый кабель или разного рода помехи радио-волн не имеют ничего общего с заполненностью таблицы MAC-адресов на свиче.

Более детальное описание

 OSI детально описывает процесс общения двух приложений, а также взаимосвязь между соседними уровнями. Чтобы понять, что же все-таки это значит, рассмотрим поближе каждый уровень. Уровни можно рассматривать с точки зрения отправления данных или приема данных. Проще говоря сверху вниз или снизу вверх соответственно. Модель спроектирована так, что если рассматривать отправку сообщения каким-либо приложением, то оно проходит по уровням с самого верху и к самому низу. Для приема сообщение все с точностью наоборот. Дальше будет ясно... Лично я предпочитаю второй способ, так как привык смотреть на принятые данные целиком (т.е. весь сетевой кадр). Но в обучающих материалах, как правило, считают иначе. В них уровни излагаются от самого понятного и близкого пользователю уровня приложений, до самого далекого - физического уровня. Это должно вам помочь выбрать в каком порядке читать описание уровней.

  1. Физический уровень (Physical layer). Данные представляются в виде электрических импульсов, пучков света, электромагнитных волн, что кодируют биты. Задача состоит в создании физического канала для отправки битов.
  2. Канальный уровень (Data Link layer). Обеспечивает передачу данных через физический канал.
  3. Сетевой уровень (Network layer). Обеспечивает передачу данных между сетями в пределах области под названием internetwork. Где internetwork - это объединение двух и более сетей с общими принципами маршрутизации (проще сказать, сеть сетей).
  4. Транспортный уровень (Transport layer). Обеспечивает доставку данных конкретному приложению на рабочей станции или сервере. На этом уровне появляется адресация - порты. Так, например, если приходит сообщение на 80-й порт, то оно передается процессу веб-сервера, который слушает этот порт.
  5. Сессионный уровень (Session layer). Создает и управляет диалогами и сессиями между приложениями. Приложение должно различать разные потоки данных в пределах одного соединения. Например, приложение может одновременно запрашивать два файла с одного сервера, при этом оно будет различать потоки.
  6. Уровень представлений (Presentation layer). Здесь данные кодируются, сжимаются или шифруются. Например, отправляя сообщение, его нужно предварительно сжать для уменьшения трафика, то это задача именно этого уровня.
  7. Уровень приложений (Application layer). Организовывает интерфейс между приложениями. Т.е. описывает структуру сообщения понятного приложению.

  При прохождении каждого уровня, к данным дописывается служебная информация. Этот процесс называется инкапсуляцией. Так например на сетевом уровне, если мы хотим использовать протокол IP, будет дописан в начало заголовок, содержащий IP адреса отправителя и получателя и т.п. Затем, проходя канальный уровень, к данным с заголовком IP в начало еще дописывается заголовок, содержащий MAC адреса, а в конец - так называемый трейлер с контрольной суммой. Таким образом мы рассмотрели инкапсуляцию на двух уровнях в сетях Ethernet.

 Обратный процесс к инкапсуляции - декапсуляция. Это процесс извлечения данных, путем отбрасывания служебной информации. Придерживаясь прошлого примера, представим, что получены некие данные. Декапсуляция на канальном уровне будет заключаться в отбросе заголовка, содержащего MAC адреса и трейлера. Полученные данные уже содержат заголовок IP в начале, они передаются на следующий сетевой уровень. Далее на сетевом уровне нету информации нижележащих уровней, что обеспечивает некую независимость от них. Аналогичным образом извлекается полезная нагрузка, путем отбрасывания заголовка и так далее. В самом конце цепочки получаем оригинальное сообщение.
 В рассмотренных примерах данные на каждом уровне имеют разную структуру, которая называется PDU (Protocol Data Unit). И, естественно, на каждом уровне PDU оригинального сообщения свой:

  7. Уровень приложений - данные (data)
  4. Транспортный уровень - сегмент (segment)
  3. Сетевой уровень - пакет (packet)
  2. Канальный уровень - кадр (frame)
  1. Физический уровень - биты (bits)

 Особенно часто различают понятие кадра и пакета. Кадр будет содержать служебную информацию второго уровня, когда пакет уже нет. И для кадра пакет будет являться полезной нагрузкой, внутренняя сущность которого не рассматривается.

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

 Для жизненного примера вышеописанного, можно предложить примитивную модель для той же устной речи. Рассмотрим такие два уровня выдуманной модели: доставка собеседнику звуков и разбор речи. Таким образом вначале нужно договориться, каким образом принимать звуки. Протоколом здесь будут выступать правила и способы произношения звуков, чтобы собеседник их услышал. Затем услышанные звуки, не важно как и откуда, будут восприняты как отдельные слова, чтобы их понять, нужно договориться об использовании одного языка. Ведь если говорить на одном языке, а пытаться его понимать как другой, ничего не выйдет. Таким образом был продемонстрирован переход из первого уровня на второй, когда собеседник воспринимает речь, путем "декапсуляции" звуков в слова. Если же собеседник хочет что-то сказать, то он слова "инкапсулирует" в звуки, которые уже произносит.

Применение

 Модель TCP/IP часто используется для описания стека протоколов. Например, стек протоколов TCP/IP. Где под стеком протоколов можно понимать множество взаимодействующих протоколов, обеспечивающих функциональность сети. Ведь сложно представить работу сети с одним лишь протоколом IP, в сети постоянно взаимодействуют разные протоколы, каждый реализуя свои задачи.

 Модель OSI используется для описания и выявления разного рода неполадок, для классификации сетевого оборудования или отдельного сетевого протокола.

 Например, рассмотрим разные виды сетевого оборудования: повторитель и концентратор (хаб), мост и коммутатор 2-го уровня (свич), маршрутизатор и коммутатор 3-го уровня. Как вы уже догадались эти три вида оборудования принадлежат трем нижним уровням модели оси: первому, второму и третьему соответственно. Что же мы можем сказать сходу об этих устройствах?

 Устройства первого уровня различают только сигналы. Они предназначены для расширения шины сети и усиления сигнала, предотвращая тем самым его затухание. Такие устройства только дублируют сигналы, таки образом расширяя домен коллизий (наложение сигналов).

 Устройства второго уровня уже считывают заголовок кадра и таким образом могут обнаружить коллизию или несоответствие контрольной сумме (если она присутствует в протоколе). Отбрасывая "испорченные" кадры, такое оборудование ограничивает домен коллизий.

 Устройства третьего уровня работают с пакетами. И потому они ограничивают широковещательный домен.

 Также знание по номерам и названиям уровней модели OSI позволяет общаться и понимать друг друга двум администраторам или разработчикам, да и просто людям, замешанным каким-либо образом с сетями.

Заключение

 Надеюсь вы познакомились с важностью и возможностью использования сетевых моделей для облегчения жизни администраторам. В пределах одной статьи сложно выложить необходимый минимум материала, для понимания с нуля. Потому целью не было создать достоверный учебный материал. А лишь познакомить с темой и дать возможность определиться в необходимости для вас сетевой модели. Являясь основой в изучении сетей вообще, на просторах всемирной паутины можно найти много полезного материала для начала (или продолжения) изучения.

----------------------------------------
Специально для www.quizful.net
Копирование материала только с разрешения автора
(c) 2009 pasis

Если Вам понравилась статья, проголосуйте за нее

Голосов: 20  loading...
pasis   admin   c0nst   l7l23qp   Ghosting   amilo   art   Tverd   dimakey   Dustty   subscriber8   student2010   svy89   veterok   K_DOT   stargazer   astalabaster   anchepasov   zepyif   chester1