Лекция Стандарты физического и канального уровня для локальных сетей. Физический уровень. Уровни сетей
Эталонная модель сетевого взаимодействия OSI 7 и ее уровни. Семь уровней модели открытых систем
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать основы работы компьютерных сетей, напомню, что эти записи основаны на программе Cisco ICND1 и помогут вам подготовиться к экзаменам CCENT/CCNA. Ранее мы детально разобрались с декомпозицией задачи сетевого взаимодействия и поговорили о службах и протоколах для того, чтобы сейчас посвятить всё свое время модели открытых систем или модели сетевого взаимодействия OSI 7, просто в этой публикации мне не хотелось тратить время на темы, которые не имеют непосредственного отношения к рассматриваемой модели передачи данных.
Дело все в том, что модель OSI или модель стека протоколов TCP/IP, которая будет рассмотрена в следующей по порядку теме, описывает архитектуру и функции компьютерной сети на каждом из уровней, поэтому важно понимать и знать функции каждого уровня модели передачи данных, чтобы понимать принципы функционирования компьютерных сетей в целом.
Перед началом я хотел бы вам напомнить, что ознакомиться с опубликованными материалами первой части нашего курса можно по ссылке: «Основы взаимодействия в компьютерных сетях».
1.14.1 Введение
Содержание статьи:
Две предыдущих темы подводили нас к разговору о модели взаимодействия в компьютерных сетях. В данном случае слово модель можно заменить на принципы взаимодействия в компьютерных сетях или принципиальная схема работы компьютерной сети. Для нас будет существовать две модели: модель OSI 7 или модель стека протоколов TCP/IP. В этой теме мы разберемся с моделью OSI 7 или если написать полностью, то по-русски это будет выглядеть так: Базовая Эталонная Модель Взаимодействия Открытых Систем, а по-английски вот так: open systems interconnection basic reference model.
Чаще всего я буду просто говорить OSI 7 или просто OSI, а иногда использовать словосочетание эталонная модель или эталонная модель передачи данных, думаю, не стоит объяснять, что цифра семь означает семь уровней, через которые проходят данные при их передаче от компьютера А к компьютеру Б, кстати, стоит отметить что в некоторых источниках эталонную модель называют: OSI/ISO.
1.14.2 Семь уровней модели OSI 7
Итак, я уже упоминал, что модель OSI представляет собой семь уровней, грубо говоря, это означает, что электронное письмо при передаче с компьютера А на компьютер Б должно пройти семь стадий обработки сначала сверху вниз на компьютере А (то есть каким-то образом, за семь шагов, текст, который вы напечатали и видите в почтовом клиенте, превращается в поток битов) так, чтобы его можно было передать по проводам, а затем компьютер Б принимает этот поток битов и точно также за семь шагов превращает этот поток нулей и единиц в понятное письмо, которое сможет прочесть тот человек, которому было адресовано это письмо.
Прежде чем продолжить мне стоит дать небольшое пояснение. Дело в том, что протоколы эталонной модели не используются на практике по той простой причине, что ее разрабатывали теоретики с большим запаздыванием (в том время, когда протоколы модели OSI были описаны, повсеместно уже использовались протоколы модели TCP/IP), поэтому, когда мы будем говорить о уровнях модели OSI и перечислять протоколы, чаще всего я буду указывать протоколы модели TCP/IP, которые соответствуют тому или иному уровню модели OSI 7. Тем же, кому интересны теоретические изыскания, история модели OSI 7 и другая некрофилия, могут обратиться к книге Таненбаума «Компьютерная сеть», в ней вы сможете найти ссылки на другие книги, которые целиком и полностью посвящены этим вопросам.
Итак, сейчас нам важно понимать, что модель OSI состоит из следующих семи уровней:
Каждый из этих уровней выполняет свои определенные задачи, на каждом уровне есть свои единицы измерения информации или тип данных – PDU (protocol data unit), это единицы измерения данных, которыми оперирует протокол на том или ином уровне, так, например, на уровнях с седьмого по пятый включительно PDU называется просто – данные, на транспортном уровне в случае протокола TCP данные представляются в виде сегментов, а в случае протокола UDP единицей измерения данных являются дейтаграммы или датаграммы, мне удобнее первый вариант. На сетевом уровне PDU называются пакетами, на канальном уровне – это кадры, а на физическом уровне – это последовательность нулей и единиц или просто биты.
Также стоит отметить, что условно уровни эталонной модели делятся на верхние и нижние:
- физический, канальный и сетевой уровни можно отнести к нижним уровням или уровням среды передачи данных, в английской литературе это называется media layers;
- а вот транспортный, сеансовый, представительский и уровень приложений относятся к host layers или к верхним уровням, ну или к уровням хоста.
В принципе, это справедливо ведь хабы, коммутаторы и маршрутизаторы в классическом своем виде работают с протоколами и стандартами, которые относятся к первым трем уровням, их задача – передать данные из точки А в точку Б, эти устройства не являются генераторами трафика, если не считать служебный трафик, который они генерируют для поддержания сети в рабочем состояние (подробнее о видах сетевого взаимодействия можно почитать здесь).
А вот протоколы и стандарты транспортного и вышестоящих уровней уже работают на конечных устройствах (компьютерах, планшетах, ноутбуках и т.д.). Для сетевого инженера наибольший интерес представляют уровни с первого по четвертый, именно им мы и уделим свое внимание, хотя на вышестоящих уровнях есть важные, интересные и полезные протоколы, которые облегчают нам жизнь: telnet, DNS, SSH, DHCP, SNMP и другие, но о них мы будем говорить отдельно.
1.14.3 Общие принципы работы сетевой модели OSI 7
Для начала давайте обобщим полученную ранее информацию о модели сетевого взаимодействия OSI 7, ее уровнях, протоколах и PDU на каждом из уровней, для этого сведем эти данные одну таблицу, так будет гораздо нагляднее.
Рисунок 1.14.1 Таблица с общими сведения о принципах работы сетевой модели OSI
В этой таблице наглядно показана вся основная информация о модели OSI 7, теперь давайте вспомним предыдущие темы, в которых мы говорили про декомпозицию задачи сетевого взаимодействия и разбирались с службами и протоколами. Попробуем совместить эти темы с моделью OSI 7 и сделать концептуальную схему работы этой модели передачи данных. Схема работы модели OSI 7 показана на Рисунке 1.14.2, здесь показано: где работают протоколы, где работают межсетевые интерфейсы (службы) и что происходит с данными на нижних четырех уровнях (три верхних нас не очень интересуют).
Рисунок 1.14.2 Простая схема, описывающая принцип работы модели OSI 7
Что из этого рисунка видно? Здесь видно, что седьмой уровень не оказывает никаких услуг другим уровням, по-хорошему мне нужно было дорисовать человека, который взаимодействует с седьмым уровнем, если хотите, то прикладной уровень оказывает услугу конечному пользователю.
Также здесь мы видим, что модель OSI 7 проводит четкую границу между протоколом и службой, службы работают между уровнями внутри одного устройства, а протоколы отвечают за взаимодействие двух устройств на одном уровне. Еще по рисунку можно понять, что данные разбиваются на более мелкие фрагменты два раза:
- Первый раз данные разбиваются на сегменты, когда приходят с сеансового уровня на транспортный, при этом на транспортном уровне сегменты получают специальные метки, по которым принимающая сторона сможет понять в какой последовательности склеивать полученные сегменты, чтобы получить исходные данные.
- Второй раз деление происходит, когда передающее устройство готовится отправить кадр в среду передачи данных, для этого оно разбивает кадр на последовательность нулей и единиц (биты).
Процесс сборки происходит в обратном порядке: сперва принимающая сторона из последовательности бит склеит кадр (обратите внимание: принимающая сторона не знает правильную последовательность, поэтому если она получит биты не в той последовательности, то не сможет верно собрать кадр), а затем принимающее устройство из сегментов соберет данные.
При этом стоит сказать следующее: возьмем для примера «Сегмент 1», который затем у нас превратится в «Кадр 1» (для начала попробуйте ответить самостоятельно на вот такой вопрос: что больше, «Кадр 1» или «Сегмент 1»). Правильный ответ здесь: «Кадр 1» больше и вот почему: дело все в том, что, когда данные поступают с сеансового уровня на транспортный, они разбиваются на фрагменты, к каждому фрагменту данных на транспортном уровне добавляется заголовок, по которому можно будет восстановить исходные данные, давайте сейчас будем называть фрагмент данных с заголовком транспортного уровня сегментом.
Дальше сегмент спускается с транспортного уровня на сетевой, для сетевого уровня данными (или просто полезной информацией) является заголовок транспортного уровня плюс, закрепленный за ним фрагмент данных, то есть сегмент целиком, поверх этого сегмента сетевой уровень ставит свой заголовок, с помощью которого будет определен маршрут, по которому получившаяся конструкция, называемая пакетом, пройдет по сети, таким образом получается, что пакет – это сегмент, поверх которого проставлен заголовок сетевого уровня. То есть «Пакет 1» по размеру уже больше, чем «Сегмент 1» (мы сейчас имеем ввиду стандартную ситуацию, когда не происходит фрагментации IP-пакетов, про фрагментацию мы поговорим отдельно).
Дальше данные опустятся с сетевого уровня на канальный, для канального уровня данными является вот такая конструкция: небольшой фрагмент действительно полезных данных, который пользователь хотел передать, над которым был повешан заголовок транспортного уровня, над которым есть заголовок сетевого уровня, то есть сетевой пакет – это и есть полезные данные для канального уровня, поверх пакета на канальному уровне будет установлен еще один заголовок, но это будет еще не кадр, поскольку после того, как над пакетом будет установлен заголовок, узел посчитает контрольную сумму, которую запишет в конце кадра, то есть после того, как закончится пакет, эта контрольная сумма нужна для проверки целостности кадра на принимающей стороне. Для наглядности можете обратить внимание на Рисунок 1.14.3.
Рисунок 1.14.3 Что происходит, когда данные переходят с верхнего уровня на нижний
Здесь наглядно показано все то, о чем я так долго и упорно писал. Перед тем как отправить кадр в среду передачи данных, передающий узел превратит его в последовательность бит. На принимающей стороне действия будут происходить в обратном порядке. Процесс упаковки данных в заголовки называется инкапсуляцией данных, а процесс распаковки данных называется декапсуляцией, об этом мы поговорим в отдельной теме.
1.14.4 Физический уровень эталонной модели сетевого взаимодействия
Название первого уровня эталонной модели сетевого взаимодействия говорит само за себя, на физическом уровне определяются основные характеристики сигналов и среды, в которой эти сигналы распространяются. Единицей измерения на физическом уровне или PDU физического уровня является бит – логический ноль и логическая единица, при этом стоит отметить, что за каждым состоянием (нулем или единицей) закреплен определенный сигнал с определенными характеристиками, то есть логический ноль – это не сигнал нулевого уровня, иначе как понять, что передача данных не ведется.
На физическом уровне учитывается и то, что сигналы передаются не мгновенно, у каждого сигнала есть длительность (интервал времени, когда сигнал начинается и когда заканчивается), а также время, за которое сигнал проходит расстояние из точки А в точку Б. Также физический уровень вместе с канальным определяет возможную физическую топологию компьютерной сети и режим передачи данных: двунаправленный (дуплексный) или однонаправленный (полудуплексный). В первом случае устройство может одновременно и передавать, и принимать данные, во втором случае одно устройство отправляет данные, а другое слушает и принимает.
На физическом уровне происходит выбор среды передачи данных и характеристики этой среды, условно мы можем разделить все среды на два вида: проводные и беспроводные. Проводные и беспроводные среды тоже делятся. Так, например, если говорить о проводах, то чаще всего вам будут встречаться медные и оптические линии связи, про оптические мы поверхностно поговорим в отдельной теме, сейчас даже не будем трогать этот зоопарк. На данный момент в Ethernet сетях в качестве медных проводников чаще всего используется витая пара, которая вытеснила коаксиальный кабель из-за того, что Ethernet сеть на коаксиальном кабеле имеет топологию общая шина, а как мы в дальнейшем узнаем, топология общая шина – это страшный сон сетевого инженера.
Стоит отметить, что от выбранного проводника зависит расстояние, на которое можно предавать данные между двумя точками (из этой публикации вы сможете узнать о деление компьютерных сетей в зависимости от их масштаба), то есть физический уровень определяет и эту характеристику компьютерной сети. Еще на физическом уровне определяется скорость передачи данных между двумя точками сети. Также физический уровень и выбранный тип проводника определяет тип портов на конечных устройствах и способы оконечивания линий (об этом мы немного говорили, когда рассматривали взаимодействие двух компьютеров по сети в Cisco Packet Tracer).
Если говорить про беспроводные среды передачи данных, то главным фактором, определяющим технологию беспроводной передачи данных, является частота волн, которыми обмениваются приемопередающими устройствами. Наиболее распространенной технологией беспроводной передачи данных является Wi-Fi.
Стоит выделить устройства, работающие на физическом уровне: во-первых, это всевозможные усилители и ретрансляторы сигнала, которые используются тогда, когда расстояние для выбранной среды передачи данных слишком велико, во-вторых, это приемопередающие антенны. Далее можно выделить всевозможные конвертора, которые позволяют передавать сигнал между различными средами. Так, например, SFP-модуль, вставляемый в коммутатор, превращает выходной электрический сигнал в оптический сигнал (оптическая линия имеет большую пропускную способность по сравнению с медной линией и позволяет передавать данные на большей скорости), а входной оптический сигнал в электрический, с которым может работать процессор и другие электрические модули коммутатора. Стоит вспомнить и о хабах и сетевых концентраторах, которые являются типичными устройствами физического уровня, чуть подробнее мы о них поговорим позже, сейчас же просто запомните: не нужно путать хабы с неуправляемыми коммутаторами и не нужно вообще использовать хабы и сетевые концентраторы.
Если вам интересны протоколы физического уровня, то вот вам список: IEEE 802.15 (Bluetooth), IRDA, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, DSL, ISDN, SONET/SDH, 802.11 Wi-Fi, Etherloop, GSM Um radio interface, ITU и ITU-T, TransferJet, ARINC 818, G.hn/G.9960. Сюда же можно отнести и технологию Ethernet, которая работает одновременно и на канальном, и на физическом уровнях, она для нас наиболее интересна, также мы немного поговорим о Wi-Fi сетях.
1.14.5 Канальный уровень модели OSI 7, его устройства и протоколы
Канальный уровень идет вторым по счету в семиуровневой модели. На этом уровне у устройств появляются адреса, которые однозначно их идентифицируют, сейчас я говорю про MAC-адреса, но не стоит думать, что на физическом уровне адресов нет, они есть и о них мы поговорим, когда будем разбираться с адресацией в компьютерных сетях. У канального уровня есть две очень важных задачи:
- Первая заключается в формирование сообщений из последовательности бит. Эти сообщения имеют строгий формат, благодаря которому будет легко управлять логикой передачи в канале связи, а также процессом доступа к ресурсам канальной среды.
- Вторая задача заключается в обнаружении ошибок, некоторые технологии канального уровня умеют только обнаруживать ошибки, некоторые обнаруживать и исправлять, а некоторые обнаруживать и запрашивать повторную передачу. Количество ошибок, которые можно обнаружить и/или исправить зависит от используемых канальных кодов (подробнее читайте у Таненбаума и Скляра, список литературы есть в первой публикации, в которой мы говорили о данном курсе по компьютерным сетям).
Иногда на канальном уровне решается проблема быстрого передатчика и медленного приемника, то есть может быть реализован механизм, который позволяет приемнику давать указанию передатчику о том, с какой скоростью следует передавать данные.
Типичным устройством канального уровня является сетевой коммутатор, именно благодаря появлению коммутатора в Ethernet сетях появилась возможность реализовать топологию звезда, а после того, как появился протокол STP, у нас появилась возможность строить кольца в Ethernet сетях.
По большей мере на канальном уровне в рамках данного курса нас будут интересовать протокол ARP и технология Ethernet (а также протоколы и технологии канального уровня, которые тесно связаны с сетями Ethernet). Если же вам интересно: какие протоколы и технологии есть еще на канальном уровне, то вот небольшой список: ARCnet, ATM, Controller Area Network (CAN), Econet, IEEE 802.3 (Ethernet), Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay, High-Level Data Link Control (HDLC), IEEE 802.2 (предоставляет функции LLC для подуровня IEEE 802 MAC), Link Access Procedures, D channel (LAPD), IEEE 802.11 wireless LAN, LocalTalk, Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP), Point-to-Point Protocol over Ethernet (PPPoE), Serial Line Internet Protocol (SLIP, устарел), StarLan, Token ring, Unidirectional Link Detection (UDLD), x.25, ARP.
1.14.6 Сетевой уровень эталонной модели, протоколы и оборудование сетевого уровня
На сетевом уровне модели OSI есть один самый важный протокол – это протокол IP и есть протоколы, которые помогают работать инженеру с IP. Сетевой уровень является третьим по счету в иерархии эталонной модели. Если говорит про физические устройства компьютерной сети, работающие на третьем уровне, то это маршрутизаторы/роутеры, нет, тут конечно можно выделить коммутаторы уровня L3, но маршрутизация в них происходит не совсем честная.
Задача сетевого уровня заключается в том, чтобы обеспечить связь и выбор оптимального пути (с точки зрения сетевого инженера) между двумя узлами компьютерной сети, при этом сами узлы могут находиться в разных подсетях, а с географической точки зрения могут быть очень сильно удалены друг от друга. Если говорить коротко, то сетевой уровень в модели OSI 7 решает две важные задачи:
- Решается задача логической адресации узлов.
- Происходит выбор оптимального пути для доставки данных.
Для адресации узлов компьютерной сети на третьем уровне мы будем использовать IP-адреса, единицей измерения данных на сетевом уровне или PDU является пакет, для нас это будет IP-пакет. Тут стоит отметить, что протокол IP не имеет никакого отношения к модели OSI, этот протокол из модели TCP/IP, но так уж получилось, что в реальном мире протоколы модели OSI 7 практически не используются, и я не вижу смысла разбираться с тем, что никому и нигде ненужно. Добавим, что протокол IP передает данные без установления соединения, в то время как модель OSI 7 на сетевом уровне предлагает два варианта связи: с установлением соединения и без установления соединения. Еще одной важной задачей сетевого уровня является балансировка нагрузки.
Для нас одним из самых важных протоколов сетевого уровня является протокол IP, который обеспечивает логическую адресацию компьютерной сети. Также на сетевом уровне работают протоколы динамической маршрутизации, эти протоколы дают возможность роутерам обмениваться информацией о известных сетях практически без участия человека, позже мы узнаем о том, на какие виды делятся протоколы динамической маршрутизации, сейчас же просто перечислим некоторые: RIP (скорее всего вы уже нигде не встретите этот протокол, но мы с ним разберемся, так как он очень прост и на его примере будут легко разобраться с основными принципами динамической маршрутизации), EIGRP, OSPF, IS-IS.
1.14.7 Транспортный уровень семиуровневой модели и протоколы TCP, UDP
Транспортный уровень модели OSI 7 – это последний уровень, за который отвечает сетевой инженер, правильнее будет сказать так: на транспортном уровне компьютерной сети находится граница между зонами ответственности сетевых инженеров и людей, занимающихся обслуживанием непосредственно узлов компьютерной сети (системных администраторов, программистов DevOps-инженеров).
Транспортный уровень компьютерной сети обеспечивает сквозное соединение между двумя узлами компьютерной сети поверх ненадежной сети передачи данных. Два конечных узла (то есть компьютера) из разных подсетей по сути общаются на транспортном уровне эталонной модели. К модели OSI 7 это не относится, так как здесь на транспортном уровне поддерживается только один вид соединения, но в большинстве компьютерных сетей на транспортном уровне определяется вид соединения: протокол TCP позволяет организовать связь с установлением соединения, он используется для передачи данных, для которых потери критичны (файлы, тексты и т.д.), а протокол UDP позволяет организовать связь без установления соединения, этот протокол используется для передачи данных, для которых более критичны задержки (аудио и видео связь в режиме реального времени, онлайн игры).Уровни эталонной модели, которые находятся выше транспортного, решают задачи взаимодействия пользователя с приложениями компьютера и представления данных в удобном для конечного потребителя услуги виде. Уровни с первого по четвертый решают задачи передачи данных между узлами компьютерной сети.
Мы уже отмечали, что транспортный уровень нужен для передачи данных между узлами поверх ненадежной компьютерной сети, то есть транспортный уровень создает для конечного узла виртуальный канал (с определенными характеристиками в зависимости от типа передаваемых данных), таким образом транспортный уровень взаимодействует с нижележащими уровнями, но помимо этого транспортный уровень взаимодействует с вышестоящим уровнем, то есть предоставляет ему услугу, с сеансового уровня на транспортный информация поступает в виде данных, эти данные транспортный уровень делит на небольшие фрагменты, которые можно передавать по сети, в случае протокола TCP такие фрагменты называются сегментами, а в случае протокола UDP такие фрагменты называются дейтаграммами или датаграммами.
Например, взаимодействие между клиентом и сервером по протоколу HTTP происходит поверх транспортного протокола TCP, при этом взаимодействующим устройствам (то есть клиентскому компьютеру, на котором установлен браузер и серверу, на котором работает серверное приложение, например, веб-сервер Apache) совсем неважно сколько узлов находится между ними и каким маршрутом пойдет трафик, поэтому соединение на транспортном уровне называется сквозным (о схеме взаимодействия клиент-сервер можно почитать подробнее здесь). Если же говорить совсем коротко, то на транспортном уровне решается несколько важных задач:
- Организовывается сквозное соединение между конечными узлами с приемлемым качеством.
- Обеспечивается надежная связь между узлами поверх ненадежной сети, то есть транспортный уровень может гарантировать, что принимающая сторона получит неповрежденные данные в той последовательности, в которой они были отправлены.
- На транспортном уровне происходит процесс управления соединением между обменивающимися сторонами, то есть устанавливается и разрывается соединение.
- Транспортный уровень получается данные от сеансового уровня и разбивает их на сообщения, которые будет удобно передавать по сети.
Также стоит отметить следующее: если физический и канальный уровень определяли физическую топологию компьютерной сети, а сетевой уровень определял ее логическую топологию. То на транспортном уровне всегда одна топология, которую можно назвать точка-точка. Почему так? Да потому что вам всегда нужно устанавливать связь с удаленными машинами и если вы хотите смотреть YouTube и слушать музыку в Вконтакте, то вам нужно будет установить соединение с этими серверами, а если вы захотите еще и почитать Википедию, то вам придется установить связь еще и с этим сервером. И понятно, что сервер, на котором работает YouTube не сможет обратиться к серверам Википедии через вашу машину.
1.14.8 Что нужно знать сетевому инженеру про верхние уровни модели OSI 7
Мы уже отмечали, что процессы, происходящие на уровнях модели OSI 7 выше транспортного, сетевого инженера волновать не должны, но на этих уровнях есть несколько интересных и полезных для сетевого инженера технологий и протоколов, о которых стоит упомянуть, а также стоит сказать о функциях вышестоящих уровней. Пойдем по порядку.
Сеансовый или пятый уровень модели OSI 7
На сеансовом уровне мы сразу же сталкиваемся с одним из главных недостатков эталонной модели – повторением и дублированием функционала между уровнями. На пятом уровне модели OSI 7 происходит создание, управлением и завершение сеанса связи между двумя хостами. Также сеансовый уровень оказывает услугу представительскому в виде синхронизации и управления обмена данными.
Представления — шестой уровень эталонной модели
Уровень представления или представительский уровень является шестым по счету в эталонной модели передачи данных, этот уровень гарантирует, что данные отправленные прикладным уровнем одной машины, будут распознаны прикладным уровнем другой машины. Например, одна машина использует кодировку UTF-8, а вторая машина умеет представлять данные пользователю только ASCII, уровень представления решает как раз-таки отвечает за преобразование текста из кодировки UTF-8 в кодировку ASCII и обратно.
Прикладной уровень или уровень приложений
Прикладной уровень или уровень приложений – это верхушка айсберга под названием эталонная модель передачи данных, именно с этим уровнем работают пользователи, безжалостно и хаотично кликая устройством ввода типа мышь по поверхностям своих мониторов. Этот уровень не предоставляет услуги другим уровням, на этом уровне приложения обмениваются данными напрямую, например, ваш браузер и веб-сервер в интернете обмениваются данными по протоколу HTTP, а файловый клиент взаимодействует с удаленным файловым сервером по протоколу FTP или SFTP (s – это не security, s – это simple, FTP в качестве транспорта использует TCP, а SFTP использует UDP).
Про уровни мы поговорили, теперь давайте обсудим полезные протоколы и технологии. Мы уже упоминали протокол SFTP, производители сетевого оборудования очень его любят, так как он дешевле и проще в реализации, нежели FTP (реализовать TCP гораздо сложнее и дороже, нежели UDP). Зачем нужен протокол передачи файлов? Например, вы подготовили совершенно новый конфигурационный файл для своего сетевого устройства и не хотите тратить время на построчное выполнение команд через интерфейс командной строки, тогда вы можете воспользоваться файловым протоколом и загрузить новый конфиг на устройство.Есть еще древний протокол telnet, который создавался в те времена, когда не было мышек, но он до сих пор используется для удаленного управления сетевыми устройствами при помощи специальных клиентов, одним из таких клиентов является Putty, можете почитать про него отдельно. Кстати говоря, клиентское приложение решает проблему с мышью.
Не удивляйтесь, но протокол HTTP знать полезно. Во-первых, у многих сетевых устройств есть графический веб-интерфейс, правда использовать его для диагностики и конфигурирования – это боль, страдание и унижение, даже если вы попытаетесь сконфигурировать простенький коммутатор уровня доступа. Во-вторых, если вы попадете в тех. поддержку провайдера, то поймете, что 90% обращений абонентов связаны с глупостью абонентов, а не проблемами на вашей сети, чтобы понимать, что у абонента случилось, вам нужно уметь интерпретировать сообщения на экране абонентского браузера и знать коды состояния HTTP сервера.Стоит сказать и про протокол SNMP, который используется в более-менее масштабных компьютерных сетях для мониторинга, протокол очень интересный и полезный, но к сожалению, мы не уделим ему никакого внимания. Протокол SSH также будет вам полезен, этот протокол не просто позволяет удаленно управлять различными устройствами, но еще и шифрует весь трафик.Есть два очень полезных протокола: DHCP и DNS, о этих протоколах мы будем говорить отдельно, сейчас лишь отметим, что первый позволяет выдавать узлам вашей сети IP-адреса и другие сетевые настройки динамически, то есть без вашего участия (узел сам делает запрос на получение нужных данных к серверу), что очень удобно, когда узлов в вашей сети больше десяти. Второй отвечает за магию превращения доменных имен в IP-адреса и наоборот.
Естественно, я упомянул не все протоколы, которые находятся на уровне выше транспортного и могут быть полезны сетевому инженеру, их гораздо больше и всё зависит от сферы и выбранного вам профиля.
1.14.9 Выводы
Итак, мы с вами разобрались с основными принципами работы эталонной модели сетевого взаимодействия, которую еще называют семиуровневая модель или просто модель OSI 7. Здесь важно отметить, что модель OSI 7 описывает принципы и архитектуры работы компьютерной сети, то есть определяет функции компьютерной сети на каждом из уровней.
Физический уровень определяет параметры и характеристики среды передачи данных, а также описывает реальные сигналы, которые бегают по проводам или летают по воздуху. Канальный уровень определяет методы доступа физических устройств к ресурсам сети передачи данных, а также отвечает за проверку целостности данных.
На сетевом уровне происходит логическая адресация устройств компьютерной сети, а также определяется маршрут, по которому будут передаваться пакеты по сети, в добавок к этому сетевой уровень обеспечивает связь между разными сетями. Благодаря функциям сетевого уровня компьютер, находящийся в Австралии может взаимодействовать с узлом, находящимся в Европе.Транспортный уровень реализует туннельную связь между двумя конечными узлами, то есть он отвечает за надежную передачу данных между удаленными узлами поверх ненадёжной сети, в котором в любой момент времени может случиться всё что угодно, также транспортный уровень позволяет компьютеру разделять трафик различных приложений, а еще он выполняет фрагментацию, то есть разбивает данные, получаемые с верхнего уровня на мелкие фрагменты.
Уровни выше транспортного нам не так интересны, но все же стоит отметить, что сеансовый уровень эталонной модели управляет сеансом связи, представительский уровень выполняет функцию переводчика, то есть он отвечает за то, что компьютер одного производителя поймет и сможет обработать формат данных, полученный от компьютера другого производителя, ну и на конец прикладной уровень в модели OSI 7 служит для взаимодействия с конечным потребителем услуги, то есть с человеком.
zametkinapolyah.ru
OSI [АйТи бубен]
Сетевая модель OSI (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model) — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов.
Модель состоит из 7-ми уровней, расположенных друг над другом. Уровни взаимодействуют друг с другом (по «вертикали») посредством интерфейсов, и могут взаимодействовать с параллельным уровнем другой системы (по «горизонтали») с помощью протоколов. Каждый уровень может взаимодействовать только со своими соседями и выполнять отведённые только ему функции. Несмотря на существование других моделей, большинство сетевых производителей сегодня разрабатывают свои продукты на основе этой структуры.
Каждый уровень модели OSI отвечает за часть процесса обработки по подготовке данных к передаче по сети.
Согласно модели OSI в процессе передачи данные буквально проходят сверху вниз по уровням модели OSI отправляющего компьютера и вверх по уровням модели OSI принимающего компьютера. На принимающем компьютере происходит процесс, обратный инкапсуляции. Биты прибывают на физический уровень модели OSI принимающего компьютера. В процессе перемещения вверх по уровням OSI принимающего компьютера данные поступят на прикладной уровень.
Уровень | Название | Описание 1 | Описание 2 |
7. | Прикладной | Это уровень, с которым работают пользователи конечных продуктов. Их не волнует, как передаются данные, зачем и через какое место… Они сказали "ХОЧУ!" - а мы, программисты, должны им это обеспечить. В качестве примера можно взять на рассмотрение любую сетевую игру: для игрока она работает на этом уровне. | Когда пользователь хочет отправить данные, например, электронную почту, на прикладном уровне начинается процесс инкапсуляции. Прикладной уровень отвечает за обеспечение сетевого доступа к приложениям. Информация проходит через верхние три уровня и, попадая вниз, на транспортный уровень, считается данными. |
6. | Представительский (XML, SMB) | Здесь программист имеет дело с данными, полученными от низших уровней. В основном, это конвертирование и представление данных в удобоваримом для пользователя виде. | |
5. | Сеансовый (TLS, SSL сертификаты для для сайта, почты, NetBios) | Этот уровень позволяет пользователям осуществлять "сеансы связи". То есть именно на этом уровне передача пакетов становится для программиста прозрачной, и он может, не задумываясь о реализации, непосредственно передавать данные, как цельный поток. Здесь на сцену вступают протоколы HTTP, FTP, Telnet, SMTP и т.д. | |
4. | Транспортный (TCP, UDP) | Осуществляет контроль над передачей данных (сетевых пакетов). То есть, проверяет их целостность при передаче, распределяет нагрузку и т.д. Этот уровень реализует такие протоколы, как TCP, UDP и т.д. Для нас представляет наибольший интерес. | На транспортном уровне данные разбиваются на более легко управляемые сегменты, или блоки PDU транспортного уровня, для упорядоченной транспортировки по сети. Блок PDU описывает данные так, как они движутся с одного уровня модели OSI на другой. Кроме того, блок PDU транспортного уровня содержит такую информацию, как номера портов, порядковые номера и номера квитирования, которые используются для надежной транспортировки данных. |
3. | Сетевой (IP, ICMP протокол диагностики перегрузки сети) | Логически контролирует адресацию в сети, маршрутизацию и т.д. Должен быть интересен разработчикам новых протоколов и стандартов. На этом уровне реализованы протоколы IP, IPX, IGMP, ICMP, ARP. В основном, управляется драйверами и операционными системами. Сюда влезать, конечно, стоит, но только когда ты знаешь, что делаешь, и полностью в себе уверен. | На сетевом уровне каждый сегмент, поступивший с транспортного уровня, становится пакетом. Пакет содержит логическую адресацию и другие управляющие данные уровня 3. |
2. | Канальный (WI-FI, Ethernet) | Этот уровень контролирует восприятие электронных сигналов логикой (радиоэлектронными элементами) аппаратных устройств. То есть, взаимодействуя на этом уровне, аппаратные средства превращают поток битов в электрические сигналы и наоборот. Нас он не интересует, потому что мы не разрабатываем аппаратные средства, чипы и т.д. Уровень касается сетевых карт, мостов, свичей, рутеров и т.д. | На канальном уровне каждый пакет, поступивший с сетевого уровня, становится фреймом. Кадр содержит физический адрес и данные об исправлении ошибок. |
1. | Аппаратный (Физический) (лазер, электричество, радио) | Контролирует передачи физических сигналов между аппаратными устройствами, входящими в сеть. То есть управляет передачей электронов по проводам. Нас он не интересует, потому что все, что находится на этом уровне, контролируется аппаратными средствами (реализация этого уровня - это задача производителей хабов, мультиплексоров, повторителей и другого оборудования). Мы не физики-радиолюбители, а геймдевелоперы. | На физическом уровне фрейм становится битами. По сетевой среде биты передаются по одному. |
Мы видим, что, чем выше уровень - тем выше степень абстракции от передачи данных, к работе с самими данными. Это и есть смысл всей модели OSI: поднимаясь все выше и выше по ступенькам ее лестницы, мы все меньше и меньше заботимся о том, как данные передаются, мы все больше и больше становимся заинтересованными в самих данных, нежели в средствах для их передачи. Нас, как программистов, интересуют уровни 3, 4 и 5. Мы должны использовать средства, которые они предоставляют, для того чтобы построить 6 и 7 уровни, с которыми смогут работать конечные пользователи.
- Сетевые устройства: концентратор, коммутатор, маршрутизатор.
На сетевом уровне OSI реализованы протоколы IP(Структура межсетевого протокола IPv4,IPv6), IPX, IGMP, ICMP, ARP.
Нужно понимать почему возникла необходимость к построению сетевого уровня, почему сети построенные с помощью средств канального и физического уровня не смогли удовлетворять требования пользователей.
Создать сложную, структурированную сеть с интеграцией различных базовых сетевых технологий, можно и средствами канального уровня: для этого могут быть использованы некоторые типы мостов и коммутаторов. Естественно в целом трафик в такой сети складывается случайным образом, но с другой стороны он характеризуется и некоторыми закономерностями. Как правило, в такой сети некоторые пользователи, работающие над общей задачей, (например, сотрудники одного отдела) чаще всего обращаются с запросами либо друг к другу, либо к общему серверу, и только иногда им необходим доступ к ресурсам компьютеров другого отдела. Поэтому в зависимости от сетевого трафика компьютеры в сети разделяют на группы, которые называют сегменты сети. Компьютеры объединяются в группу, если большая часть их сообщений предназначена (адресована) компьютерам этой же группы. Разделение сети на сегменты, могут осуществлять мосты и коммутаторы. Они экранируют локальный трафик внутри сегмента, не передавая за его пределы никаких кадров, кроме тех, которые адресованы компьютерам, находящимся в других сегментах. Таким образом, одна сеть распадается на отдельные подсети. Из этих подсетей в дальнейшем могут быть построены составные сети достаточно крупных размеров.
Идея разбиения на подсети - это основа построения составных сетей.
Сеть называется составной (internetwork или internet), если она может быть представлена в виде совокупности нескольких сетей. Сети, входящие в составную сеть, называются подсетями (subnet), составляющими сетями или просто сетями, каждая из которых может работать на основе собственной технологии канального уровня (хотя это и не обязательно).
Но, воплощение этой идеи в жизнь с помощью повторителей, мостов, и коммутаторов имеет очень существенные ограничения и недостатки.
В топологии сети построенной как с помощью повторителей, так и мостов или коммутаторов, должны отсутствовать петли. Действительно, мост или коммутатор может решать задачу доставки пакета адресату только тогда, когда между отправителем и получателем существует единственный путь. Хотя в то же время наличие избыточных связей, которые и образуют петли, часто необходимо для лучшей балансировки нагрузки, а также для повышения надежности сети за счет образования резервных путей.
- Логические сегменты сети, расположенные между мостами или коммутаторами, слабо изолированы друг от друга. Они не защищены от широковещательных штормов. Если какая-либо станция посылает широковещательное сообщение, то это сообщение передается всем станциям всех логических сегментов сети. Администратор должен вручную ограничивать количество широковещательных пакетов, которое разрешается генерировать некоторому узлу в единицу времени. В принципе некоторым образом удалось ликвидировать проблему широковещательных штормов с использованием механизма виртуальных сетей(Настройка VLAN Debian D-Link), реализованного во многих коммутаторах. Но в этом случае, хотя и возможно достаточно гибко создавать изолированные по трафику группы станций, но при этом они изолированы полностью, то есть узлы одной виртуальной сети не могут взаимодействовать с узлами другой виртуальной сети.
В сетях, построенных на основе мостов и коммутаторов, достаточно сложно решается задача управления трафиком на основе значения данных, содержащихся в пакете. В таких сетях это возможно только с помощью пользовательских фильтров, для задания которых администратору приходится иметь дело с двоичным представлением содержимого пакетов.
- Реализация транспортной подсистемы только средствами физического и канального уровней, к которым относятся мосты и коммутаторы, приводит к недостаточно гибкой, одноуровневой системе адресации: в качестве адреса станции получателя используется MAC-адрес- адрес, который жестко связан с сетевым адаптером.
Все приведенные недостатки мостов и коммутаторов связаны только с тем, что они работают по протоколам канального уровня. Все дело в том, что эти протоколы в явном виде не определяют понятие часть сети (или подсеть, или сегмент), которое можно было бы использовать при структуризации большой сети. Поэтому разработчики сетевых технологий решили поручить задачу построения составной сети новому уровню - сетевому.
загрузка...
osi.txt · Последние изменения: 2015/08/09 14:31 (внешнее изменение)
wiki.dieg.info
Лекция Стандарты физического и канального уровня для локальных сетей. Физический уровень
Лекция 8. Стандарты физического и канального уровня
для локальных сетей.
Физический уровень
Физический уровень (Physical layer) имеет дело с передачей битов по физическим каналам связи, таким, как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов, передающих дискретную информацию, такую как крутизна фронтов импульсов, уровни напряжения или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов. Кроме того, здесь стандартизируются типы разъемов и назначение каждого контакта.
Физический уровень :
передача битов по физическим каналам;
формирование электрических сигналов;
кодирование информации;
синхронизация;
модуляция.
Реализуется аппаратно.
Функции физического уровня реализуются во всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.
Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов.
Физический уровень (Physical Layer)
Физический уровень предназначен для сопряжения с физическими средствами соединения. Физические средства соединения – это совокупность физической среды, аппаратных и программных средств, обеспечивающая передачу сигналов между системами. Физическая среда – это материальная субстанция, через которую осуществляется передача сигналов. Физическая среда является основой, на которой строятся физические средства соединения. В качестве физической среды широко используются эфир, металлы, оптическое стекло и кварц.
Физический уровень состоит из Подуровня стыковки со средой и Подуровня преобразования передачи.
Первый из них обеспечивает сопряжение потока данных с используемым физическим каналом связи. Второй осуществляет преобразования, связанные с применяемыми протоколами. Физический уровень обеспечивает физический интерфейс с каналом передачи данных, а также описывает процедуры передачи сигналов в канал и получения их из канала. На этом уровне определяются электрические, механические, функциональные и процедурные параметры для физической связи в системах. Физический уровень получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел. Механические и электрические / оптические свойства среды передачи определяются на физическом уровне и включают:
тип кабелей и разъемов;
разводку контактов в разъемах;
схему кодирования сигналов для значений 0 и 1.
Физический уровень выполняет следующие функции:
Установление и разъединение физических соединений.
Передача сигналов в последовательном коде и прием.
Прослушивание, в нужных случаях, каналов.
Идентификация каналов.
Оповещение о появлении неисправностей и отказов.
Оповещение о появлении неисправностей и отказов связано с тем, что на физическом уровне происходит обнаружение определенного класса событий, мешающих нормальной работе сети (столкновение кадров, посланных сразу несколькими системами, обрыв канала, отключение питания, потеря механического контакта и т. д.). Виды сервиса, предоставляемого канальному уровню, определяются протоколами физического уровня. Прослушивание канала необходимо в тех случаях, когда к одному каналу подключается группа систем, но одновременно передавать сигналы разрешается только одной из них. Поэтому прослушивание канала позволяет определить, свободен ли он для передачи. В ряде случаев для более четкого определения структуры физический уровень разбивается на несколько подуровней. Например, физический уровень беспроводной сети делится на три подуровня рис. 2.5.
Рис. Ошибка! Текст указанного стиля в документе отсутствует..1 Физический уровень беспроводной локальной сети
Функции физического уровня реализуются во всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером. Повторители являются единственным типом оборудования, которое работает только на физическом уровне.
Выполняется преобразование данных, поступающих от более высокого уровня, в сигналы передающие по кабелю. В глобальных сетях на этом уровне могут использоваться модемы и интерфейс RS-232C. В локальных сетях для преобразования данных применяют сетевые адаптеры, обеспечивающие скоростную передачу данных в цифровой форме. Пример протокола физического уровня - это широко известный интерфейс RS-232C / CCITT V.2, который является наиболее широко распространенной стандартной последовательной связью между компьютерами и периферийными устройствами.
Можно считать этот уровень, отвечающим за аппаратное обеспечение.
Физический уровень может обеспечивать как асинхронную (последовательную) так и синхронную (параллельную) передачу, которая применяется для некоторых мэйнфреймов и мини - компьютеров. На Физическом уровне должна быть определена схема кодирования для представления двоичных значений с целью их передачи по каналу связи. Во многих локальных сетях используется манчестерское кодирование.
Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных на кабеле, и другие характеристики среды и электрических сигналов.
К числу наиболее распространенных спецификаций физического уровня относятся:
EIA-RS-232-C, CCITT V.24/V.28 - механические/электрические характеристики несбалансированного последовательного интерфейса;
EIA-RS-422/449, CCITT V.10 - механические, электрические и оптические характеристики сбалансированного последовательного интерфейса;
Ethernet – сетевая технология по стандарту IEEE 802.3 для сетей, использующая шинную топологию и коллективный доступ с прослушиванием несущей и обнаружением конфликтов;
Token ring – сетевая технология по стандарту IEEE 802.5, использующая кольцевую топологию и метод доступа к кольцу с передачей маркера;
Канальный уровень
На физическом уровне просто пересылаются биты. При этом не учитывается, что в тех сетях, в которых линии связи используются (разделяются) попеременно несколькими парами взаимодействующих компьютеров, физическая среда передачи может быть занята. Поэтому одной из задач канального уровня (Data Link layer) является проверка доступности среды передачи. Другая задача канального уровня — реализация механизмов обнаружения и коррекции ошибок. Для этого на канальном уровне биты группируются в наборы, называемые кадрами (frames). Канальный уровень обеспечивает корректность передачи каждого кадра помещая специальную последовательность бит в начало и конец каждого кадра, для его выделения, а также вычисляет контрольную сумму, обрабатывая все байты кадра определенным способом, и добавляет контрольную сумму к кадру. Когда кадр приходит по сети, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка. Канальный уровень может не только обнаруживать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров . Необходимо отметить, что функция исправления ошибок для канального уровня не является обязательной, поэтому в некоторых протоколах этого уровня она отсутствует, например в Ethernet и frame relay.
Функции канального уровня
Надежная доставка пакета:
Между двумя соседними станциями в сети с произвольной топологией.
Между любыми станциями в сети с типовой топологией:
проверка доступности разделяемой среды;
выделение кадров из потока данных, поступающих по сети; формирование кадров при отправке данных;
подсчет и проверка контрольной суммы.
Реализуются программно-аппаратно.
В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся "общая шина", "кольцо" и "звезда", а также структуры, полученные из них с помощью мостов и коммутаторов. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.
В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов.
В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень часто обеспечивает обмен сообщениями только между двумя соседними компьютерами, соединенными индивидуальной линией связи. Примерами протоколов "точка-точка" (как часто называют такие протоколы) могут служить широко распространенные протоколы PPP и LAP-B. В таких случаях для доставки сообщений между конечными узлами через всю сеть используются средства сетевого уровня. Именно так организованы сети X.25. Иногда в глобальных сетях функции канального уровня в чистом виде выделить трудно, так как в одном и том же протоколе они объединяются с функциями сетевого уровня. Примерами такого подхода могут служить протоколы технологий ATM и frame relay.
В целом канальный уровень представляет собой весьма мощный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня оказываются самодостаточными транспортными средствами, и тогда поверх них могут работать непосредственно протоколы прикладного уровня или приложения, без привлечения средств сетевого и транспортного уровней. Например, существует реализация протокола управления сетью SNMP непосредственно поверх Ethernet, хотя стандартно этот протокол работает поверх сетевого протокола IP и транспортного протокола UDP. Естественно, что применение такой реализации будет ограниченным — она не подходит для составных сетей разных технологий, например Ethernet и X.25, и даже для такой сети, в которой во всех сегментах применяется Ethernet, но между сегментами существуют петлевидные связи. А вот в двухсегментной сети Ethernet, объединенной мостом, реализация SNMP над канальным уровнем будет вполне работоспособна.
Тем не менее, для обеспечения качественной транспортировки сообщений в сетях любых топологий и технологий функций канального уровня оказывается недостаточно, поэтому в модели OSI решение этой задачи возлагается на два следующих уровня — сетевой и транспортный.
Канальный уровень обеспечивает передачу пакетов данных, поступающих от протоколов верхних уровней, узлу назначения, адрес которого также указывает протокол верхнего уровня. Протоколы канального уровня оформляют переданные им пакеты в кадры собственного формата, помещая указанный адрес назначения в одно из полей такого кадра, а также сопровождая кадр контрольной суммой. Протокол канального уровня имеет локальный смысл, он предназначен для доставки кадров данных, как правило, в пределах сетей с простой топологией связей и однотипной или близкой технологией, например в односегментных сетях Ethernet или же в многосегментных сетях Ethernet и Token Ring иерархической топологии, разделенных только мостами и коммутаторами. Во всех этих конфигурациях адрес назначения имеет локальный смысл для данной сети и не изменяется при прохождении кадра от узла-источника к узлу назначения. Возможность передавать данные между локальными сетями разных технологий связана с тем, что в этих технологиях используются адреса одинакового формата, к тому же производители сетевых адаптеров обеспечивают уникальность адресов независимо от технологии.
Другой областью действия протоколов канального уровня являются связи типа "точка-точка" глобальных сетей, когда протокол канального уровня ответственен за доставку кадра непосредственному соседу. Адрес в этом случае не имеет принципиального значения, а на первый план выходит способность протокола восстанавливать искаженные и утерянные кадры , так как плохое качество территориальных каналов, особенно коммутируемых телефонных, часто требует выполнения подобных действий. Если же перечисленные выше условия не соблюдаются, например связи между сегментами Ethernet имеют петлевидную структуру, либо объединяемые сети используют различные способы адресации, как в сетях Ethernet и X.25, то протокол канального уровня не может в одиночку справиться с задачей передачи кадра между узлами и требует помощи протокола сетевого уровня.
Канальный уровень (Data Link)
Единицей информации канального уровня являются кадры (frame). Кадры – это логически организованная структура, в которую можно помещать данные. Задача канального уровня передавать кадры от сетевого уровня к физическому уровню.
На физическом уровне просто пересылаются биты. При этом не учитывается, что в некоторых сетях, в которых линии связи используются попеременно несколькими парами взаимодействующих компьютеров, физическая среда передачи может быть занята. Поэтому одной из задач канального уровня является проверка доступности среды передачи. Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок.
Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит, в начало и конец каждого кадра, чтобы отметить его, а также вычисляет контрольную сумму, суммируя все байты кадра определенным способом и добавляя контрольную сумму к кадру. Когда кадр приходит, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка.
Задача канального уровня - брать пакеты, поступающие с сетевого уровня и готовить их к передаче, укладывая в кадр соответствующего размера. Этот уровень обязан определить, где начинается и где заканчивается блок, а также обнаруживать ошибки передачи.
На этом же уровне определяются правила использования физического уровня узлами сети. Электрическое представление данных в ЛВС (биты данных, методы кодирования данных и маркеры) распознаются на этом и только на этом уровне. Здесь обнаруживаются и исправляются (путем требований повторной передачи данных) ошибки.
Канальный уровень обеспечивает создание, передачу и прием кадров данных. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов. Спецификации IEEE 802.Х делят канальный уровень на два подуровня:
LLC (Logical Link Control) управление логическим каналом осуществляет логический контроль связи. Подуровень LLC обеспечивает обслуживание сетевого уровня и связан с передачей и приемом пользовательских сообщений.
MAC (Media Assess Control) контроль доступа к среде. Подуровень MAC регулирует доступ к разделяемой физической среде (передача маркера или обнаружение коллизий или столкновений) и управляет доступом к каналу связи. Подуровень LLC находится выше подуровня МАC.
Канальный уровень определяет доступ к среде и управление передачей посредством процедуры передачи данных по каналу. При больших размерах передаваемых блоков данных канальный уровень делит их на кадры и передает кадры в виде последовательностей. При получении кадров уровень формирует из них переданные блоки данных. Размер блока данных зависит от способа передачи, качества канала, по которому он передается.
В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов.
Канальный уровень может выполнять следующие виды функций:
Организация (установление, управление, расторжение) канальных соединений и идентификация их портов.
Организация и передача кадров.
Обнаружение и исправление ошибок.
Управление потоками данных.
Обеспечение прозрачности логических каналов (передачи по ним данных, закодированных любым способом).
Наиболее часто используемые протоколы на канальном уровне включают:
HDLC (High Level Data Link Control) протокол управления каналом передачи данных высокого уровня, для последовательных соединений;
IEEE 802.2 LLC (тип I и тип II) обеспечивают MAC для сред 802.x;
Ethernet сетевая технология по стандарту IEEE 802.3 для сетей, использующая шинную топологию и коллективный доступ с прослушиванием несущей и обнаружением конфликтов;
Token ring сетевая технология по стандарту IEEE 802.5, использующая кольцевую топологию и метод доступа к кольцу с передачей маркера;
FDDI (Fiber Distributed Date Interface Station) сетевая технология по стандарту IEEE 802.6, использующая оптоволоконный носитель;
X.25 международный стандарт для глобальных коммуникаций с коммутацией пакетов;
Frame relay сеть, организованная из технологий Х25 и ISDN.
refdb.ru
Сетевой уровень
Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Начнем их рассмотрение на примере объединения локальных сетей.
Протоколы канального уровня локальных сетей обеспечивают доставку данных между любыми узлами только в сети с соответствующей типовой топологией, например топологией иерархической звезды. Это очень жесткое ограничение, которое не позволяет строить сети с развитой структурой, например, сети, объединяющие несколько сетей предприятия в единую сеть, или высоконадежные сети, в которых существуют избыточные связи между узлами. Можно было бы усложнять протоколы канального уровня для поддержания петлевидных избыточных связей, но принцип разделения обязанностей между уровнями приводит к другому решению. Чтобы с одной стороны сохранить простоту процедур передачи данных для типовых топологий, а с другой допустить использование произвольных топологий, вводится дополнительный сетевой уровень.
На сетевом уровне сам термин сеть наделяют специфическим значением. В данном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определенный для этой топологии.
Внутри сети доставка данных обеспечивается соответствующим канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень, который и поддерживает возможность правильного выбора маршрута передачи сообщения даже в том случае, когда структура связей между составляющими сетями имеет характер, отличный от принятого в протоколах канального уровня.
Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Маршрутизатор — это устройство, которое собирает информацию о топологии межсетевых соединений и на ее основании пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно совершить некоторое количество транзитных передач между сетями, waaxonoe (от hop — прыжок), каждый раз выбирая подходящий маршрут. Таким образом, маршрут представляет собой последовательность маршрутизаторов, через которые проходит пакет.
На рис. 1.27 показаны четыре сети, связанные тремя маршрутизаторами. Между узлами А и В данной сети пролегают два маршрута: первый через маршрутизаторы 1 и 3, а второй через маршрутизаторы 1, 2 и 3.
Проблема выбора наилучшего пути называется маршрутизацией, и ее решение является одной из главных задач сетевого уровня. Эта проблема осложняется тем, что самый короткий путь не всегда самый лучший. Часто критерием при выборе маршрута является время передачи данных по этому маршруту; оно зависит от пропускной способности каналов связи и интенсивности графика, которая может изменяться с течением времени. Некоторые алгоритмы маршрутизации пытаются приспособиться к изменению нагрузки, в то время как другие принимают решения на основе средних показателей за длительное время. Выбор маршрута может осуществляться и по другим критериям, например надежности передачи.
Вобщем случае функции сетевого уровня шире, чем функции передачи сообщений по связям с нестандартной структурой, которые мы сейчас рассмотрели на примере объединения нескольких локальных сетей. Сетевой уровень решает также задачи согласования разных технологий, упрощения адресации в крупных сетях и создания надежных и гибких барьеров на пути нежелательного графика между сетями.
Рис. 1.27. Пример составной сети
Сообщения сетевого уровня принято называть пакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части — номера сети и младшей — номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому термину «сеть» на сетевом уровне можно дать и другое, более формальное определение: сеть - это совокупность узлов, сетевой адрес которых содержит один и тот же номер сети.
На сетевом уровне определяются два вида протоколов. Первый вид — сетевые протоколы (muted protocols) — реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршрутизации (muting protocols). С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевыхсоединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов.
На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов — Address Resolution Protocol, ARP. Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют их сути.
Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.
Транспортный уровень
На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека — прикладному и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.
Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного — сетевым, канальным и физическим. Так, например, если качество каналов передачи связи очень высокое и вероятность возникновения ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней изначально очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок, — с помощью предварительного установления логического соединения, контроля доставки сообщений по контрольным суммам и циклической нумерации пакетов, установления тайм-аутов доставки и т. п.
Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.
Протоколы нижних четырех уровней обобщенно называют сетевым транспортом или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Остальные три верхних уровня решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы.
studfiles.net
1.3.3. Уровни сетевого взаимодействия Физический уровень (Physical Layer)Физический уровень передает биты по физическим каналам связи, например,Коаксиальному кабелю или витой паре. То есть, именно этот уровень непосредственно производит передачу данных. На этом уровне определяются характеристики электрических сигналов, которые передают дискретную информацию, например: тип кодирования, скорость летрецдндл сне каков. К. этому уровню также относятся, характеристики физических сред передачи данных: полоса пропускания, волновое сопротивление, помехозащищенность. Функции физического уровня реализуются сетевым адаптером или последовательным портом. Примером протокола физического уровня может послужить спецификация 100Base-TX (технология Ethernet). Канальный уровень (Data link Layer)Канальный уровень отвечает за передачу данных между узлами в рамках одной локальной сети. При этом под узлом понимается любое устройство, подключенное к сети. Этот уровень выполняет адресацию по физическим адресам (МАС-адресам), «вшитым» в сетевые адаптеры предприятием-изготовителем. Каждый сетевой адаптер имеет свой уникальный МАС-адрес, то есть вы не найдете две сетевые платы с одним и тем же МАС-адресом.Канальный уровень переводит поступившую с верхнего уровня информацию в биты, которые потом будут переданы физическим уровнем по сети. Он разбивает пересылаемую информацию на фрагменты данных — кадры (frames). На этом уровне открытые системы обмениваются именно кадрами. Процесс пересылки выглядит примерно так: канальный уровень отправляет кадр физическому уровню, который отправляет кадр в сеть. Этот кадр получает каждый узел сети и проверяет, соответствует ли адрес пункта назначения адресу этого узла. Если адреса совпадают, канальный уровень принимает кадр и передает наверх вышележащим уровням. Если же адреса не совпадают, то он просто игнорирует кадр. Таким образом, сеть на канальном уровне является широковещательной. В используемых в локальных сетях протоколах канального уровня заложена определенная топология. Топологией называется способ организации физических связей и способы их адресации. Канальный уровень обеспечивает доставку данных между узлами в сети с определенной топологией, то есть для которой он разработан. К основным топологиям (см. рис. 1.4) относятся: Рис 1.4. Основные топологии Локальных комьютерных сетей
Сетевой уровень (Network Layer)Данный уровень служит для образования единой транспортной системы, которая объединяет несколько сетей. Другими словами, сетевой уровень обеспечивает межсетевое взаимодействие. Протоколы канального уровня передают кадры между узлами только в рамках сети с соответствующей топологией. Проще говоря — в рамках одной сети. Нельзя передать кадр канального уровня узлу, который находится в другой сети. Данное ограничение не позволяет строить сети с развитой структурой или сети с избыточностью связей, а именно такой сетью является Интернет. Построить одну большую сеть на канальном уровне также невозможно из-за физических ограничений. И хотя, например, спецификация lOBase-T позволяет использовать 1024 узла в одном сегменте, производительность данной сети не будет вас радовать, так как на канальном уровне сеть является широковещательной. То есть пакет данных (кадр) отсылается сразу всем компьютерам в сети. Если в сети немного компьютеров и быстрый канал связи, то это не страшно, нагрузка не будет критичной. А есликомпьютеров сети очень много (1024), то нагрузка на сеть будет очень велика, а это, в свою очередь, скажется на быстродействии сетевого взаимодействия. Все это приводит к необходимости другого решения для больших сетей. Именно такое решение и призван реализовать сетевой уровень. На сетевом уровне термин сеть следует понимать как совокупность компьютеров, которые соединены в соответствии с одной из основных топологий и использующих для передачи данных один из протоколов канального уровня. Сети соединяются специальными устройствами — маршрутизаторами. Маршрутизатор собирает информацию о топологии межсетевых соединений и на основании этой информации пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение от компьютера-отправителя компьютеру-адресату, который находится в другой сети, нужно совершить некоторое количество транзитных передач между сетями. Иногда их еще называют хоплми (от англ, hop — прыжок). При этом каждый раз выбирается подходящий маршрут. Сообщения HI 'сетевом уровне называются пакетами. При этом на сетевом уровне работают несколько видов протоколов. Прежде всего, это сетевые протоколы, которые обеспечивают передвижение пакетов по сети, в том числе в другую сеть. Поэтому довольно часто к сетевому уровню относят протоколы маршрутизации (routing protocols) — RIP и OSPF. Еще одним видом протоколов, работающтх на сетевом уровне, являются протоколы разрешения адреса — Address Resolution Protocol (ARP). Хотя эти протоколы иногда относят и к канальному уровню. Классические примеры протоколов сетевого уровня: IP (стек TCP/IP), IPX (стек Novell). Транспортный уровень (Transport Layer)На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Некоторые приложения самостоятельно выполняют обработку ошибок при передаче данных, но большинство все же предпочитают иметь дело с надежным соединением, которое как раз и призван обеспечить транспортный уровень. Этот уровень обеспечивает требуемую приложению или верхнему уровню (сеансовому или прикладному) надежность доставки пакетов. На транспортном уровне определены пять классов сервиса:
Сеансовый уровень (Session Layer)Сеансовый уровень устанавливает и разрывает соединения между компьютерами, управляет диалогом между ними, а также предоставляет средства синхронизации. Средства синхронизации позволяют вставлять определенную контрольную информацию в длинные передачи (точки). Благодаря этому в случае обрыва связи можно вернуться назад (к последней точке) и продолжить передачу с места обрыва. Сеанс — это логическое соединение между компьютерами. Каждый сеанс имеет три фазы:
Представительный уровень (Presentation Layer)Представительный уровень изменяет форму передаваемой информации, но не изменяет ее содержания. Например, средствами этого уровня может быть выполнено преобразование информации из одной кодировки в другую. Также на этом уровне выполняется шифрование и дешифрование данных. обмен данными. Прикладной уровень (Application Layer)Данный уровень представляет собой набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к совместно используемым ресурсам. Единица данных называется сообщением. Примеры протоколов: HTTP, FTP, TFTP, SMTP, POP, SMB, NFS.
Оглавление |
index-freehosting.narod.ru
Иерархическая модель сети | Журнал сетевых решений/LAN
Коммутация третьего уровня способствовала распространению структурированных сетей.
B последние годы специалисты в области локальных сетей все чаще склоняются к тому, что сети с сотнями, тысячами или даже десятками тысяч узлов должны быть структурированы в соответствии с иерархической моделью, превосходство которой перед плоской, неиерархической, моделью кажется убедительным.
Казалось бы, после замены медленных маршрутизаторов на более производительные коммутаторы третьего уровня ничто больше не сможет помешать распространению этой модели. Однако удешевление коммутаторов способствует выбору в пользу решений полностью на базе второго уровня. Преимущества структурированных сетей при этом игнорируются.
ПРЕИМУЩЕСТВА ИЕРАРХИЧЕСКОЙ МОДЕЛИ
В иерархической модели вся сеть делится на несколько уровней, работа с которыми производится по отдельности. Это весьма облегчает постановку задач при проектировании, поскольку каждый отдельный уровень можно реализовать в соответствии со специфическими требованиями определенной области охвата. Уменьшение размеров подсетей позволяет добиться снижения числа коммуникационных связей каждого конечного устройства. Так, например, широковещательные «штормы» быстро растут вместе с увеличением числа систем в плоской сети.
Ответственность за обслуживание отдельных подобластей сетевого дерева в иерархической модели легко делегируется без каких-либо серьезных проблем с интерфейсом, что невозможно в случае плоской сети. Кроме того, наглядность сетевой структуры в случае иерархической модели также оправдывает себя при поиске ошибок. При иерархическом построении сети различного рода изменения реализовать гораздо проще, поскольку, как правило, они затрагивают лишь часть системы. В плоской же модели они способны повлиять на всю сеть. Это обстоятельство значительно упрощает наращивание иерархических сетей: оно реализуется добавлением новой сетевой области к существующему уровню или следующего уровня без необходимости перекройки всей структуры.
ОТ МАРШРУТИЗАЦИИ К КОММУТАЦИИ НА ТРЕТЬЕМ УРОВНЕ
Долгое время успешному распространению иерархической схемы построения сети мешали высокая стоимость и низкая производительность имеющихся устройств. Классические маршрутизаторы не могли соперничать с коммутаторами второго уровня ни по скорости передачи пакетов, ни по стоимости портов. Реализация необходимой комбинации маршрутизации и коммутации второго уровня на практике оказалась проблематичной. Поэтому на многих предприятиях выбор для коммуникаций в пределах подсетей IP или виртуальных локальных сетей (Virtual Local Area Network, VLAN) был сделан в пользу комбинированной коммутации кадров второго уровня и АТМ. Между тем высокопроизводительного оборудования для коммуникаций по IP между виртуальными сетями не было. Оно наконец-то стало доступным с появлением коммутации на третьем уровне (с исправлением первоначальных недостатков ее можно теперь считать вполне зрелой).
Коммутаторы третьего уровня осуществляют маршрутизацию каждого пакета в отдельности с помощью специализированных интегральных схем (Applications Specific Integrated Circuit, ASIC), при этом они анализируют содержимое пакетов и принимают решения о выборе пути на основе информации с более высоких уровней. Коммуникация между VLAN происходит так же быстро, как и внутри, т. е. с максимальной пропускной способностью сети. На рынке уже появились продукты со скоростью передачи до 100 млн пакетов в секунду.
Замена имеющихся маршрутизаторов на коммутаторы третьего уровня осуществляется очень просто: заменить требуется только соответствующие устройства. Все навыки и потенциал ноу-хау, накопленный за годы эксплуатации маршрутизаторов, могут быть использованы в дальнейшей работе.
Коммутаторы второго и третьего уровней в настоящее время мало чем отличаются друг от друга в плане производительности, поэтому вопрос выбора типа устройства зависит — наряду с функциональностью — от стоимости портов. Вместе с тем, даже несмотря на заметное удешевление коммутаторов третьего уровня, простые коммутаторы второго уровня по-прежнему стоят намного меньше. Тем самым область применения первых — главным образом сетевые магистрали, а последних — рабочие группы.
ЧЕТКОЕ ЛОКАЛЬНОЕ ПОДЧИНЕНИЕ
Рисунок 1. Плоская сеть второго уровня. |
Связанная с коммутацией второго уровня технология виртуальных локальных сетей появилась вследствие стремления свести к минимуму коммуникации между подсетями IP, поскольку они осуществляются по медленным соединениям с маршрутизаторами. Увеличить долю коммуникаций внутри VLAN и снизить таковую между VLAN можно путем отображения на виртуальные локальные сети подсетей IP и выделенных организационных структур. При этом одна и та же подсеть может распространяться на несколько зданий — как правило, для виртуальных локальных сетей география не имеет никакого значения.
Рисунок 2. Избыточная сеть второго/третьего уровня. |
Коммутация третьего уровня все же дает шанс на последовательное претворение в жизнь иерархических принципов построения сети. Тем самым особое значение снова приобретает вопрос о так называемом плоском или иерархическом подходе. Логическая структура плоской неструктурированной сети соответствует представленной на Рисунке 1 схеме. Связь между местоположением конечных устройств и их IP-адресами отсутствует. Третий октет IP-адреса (на рисунке: «1», «2» или «3») не дает никакой информации о расположении конечного устройства.
Альтернативой может быть инфраструктура третьего уровня в ядре сети с подключенными коммутаторами второго уровня, возможно, так, как это представлено на Рисунке 2. Структурированная сеть соответствует изображенной на Рисунке 3 логической схеме, в которой отчетливо прослеживается зависимость между местоположением конечных устройств и их IP-адресами. Третий октет IP-адреса дает точную информацию о том, где находится конечное устройство. В четвертом и последнем октете указываются конкретные конечные устройства.
Рисунок 3. Логическая структура сети третьего уровня. |
СТРУКТУРИРОВАННЫЕ СЕТИ ВТОРОГО/ТРЕТЬЕГО УРОВНЕЙ
При исследовании достоинств и недостатков рассматриваемых топологий все-таки можно найти один значительный позитивный аспект плоских сетей второго уровня: при перемещениях оборудования не требуется менять IP-адреса и не надо перенастраивать приложения, в которых IP-адреса используются в качестве идентификационных признаков.
Однако этому можно противопоставить целый ряд преимуществ структурированных сетей второго/третьего уровня:
- отсутствие отрицательных последствий потенциального дублирования IP-адресов для всей сети в целом;
- разделение доменов широковещательной рассылки и, тем самым, значительное снижение нагрузки на конечные устройства;
- повсеместное соответствие адресов сетевого уровня зданиям и коммутаторам: «говорящие» адреса облегчают локализацию возникающих ошибок;
- возможность реализации функций безопасности на границах между подсетями;
- обеспечение нужного качества сервиса на сетевом и транспортном уровнях, например путем определения приоритета для некоторых приложений;
- более эффективное управление широковещательными рассылками благодаря применению маршрутизации широковещательного трафика в коммутаторах третьего уровня;
- значительное сокращение времени, необходимого для обеспечения сходимости при реализации избыточных соединений. К примеру, при первоочередном выборе кратчайшего маршрута (Open Shortest Path First, OSPF) для этого понадобится всего несколько секунд, в то время как протоколу Spanning Tree — от 40 до 50 с. На уровне подсетей IP в качестве механизма избыточности для маршрутизатора по умолчанию можно применять протокол маршрутизатора «горячего» резерва/виртуальный протокол избыточной маршрутизации (Hot Standby Router Protocol/Virtual Router Redundancy Protocol, HSRP/VRRP).
КОНКУРИРУЮЩИЕ ПОДХОДЫ К ДИЗАЙНУ
Структурированная сеть второго/третьего уровня, по-видимому, лучше всего подходит для обеспечения безопасной и стабильной работы даже в крупных сетях. К таким выводам приходят практически все архитекторы сетей, однако в последнее время немало приверженцев получают новый подход к дизайну сети, в основу которого положены исключительно коммутаторы второго уровня. Это связано с тем, что многие предприятия вынуждены искать возможности для уменьшения инвестиций, в том числе и в локальные сети.
Подобные концепции базируются преимущественно на применении недорогих коммутаторов второго уровня и заключаются в составлении из них, к примеру, кольцевой структуры. Механизм реализации избыточности в кольцевых структурах опирается на протокол Rapid Spanning Tree. Этот подход поддерживается стандартом IEEE 802.1w, где определена быстрая реконфигурация покрывающего дерева, целью разработки которого было сокращение до нескольких секунд времени сходимости протокола Spanning Tree, пользующегося за свою медлительность дурной славой.
Подобные «недорогие» схемы, где модель иерархической сетевой структуры остается за бортом, на первый взгляд выглядят привлекательными: экономия исчисляется в десятках процентов. Однако умеренный скепсис не повредит. Дешевые коммутаторы второго уровня должны иметь стабильные коды для поддержки Rapid Spanning Tree. Однако это кажется очень смелым предположением с учетом того, сколько времени потребовалось, чтобы исходный алгоритм стал работать более-менее стабильно. К тому же нельзя забывать, что малое значение времени сходимости при наличии избыточных соединений — всего лишь одна из причин, по которым применяется инфраструктура третьего уровня. А как же тогда «говорящие» IP-адреса, защита от ошибочно заданных адресов, сокращение широковещательного трафика и более эффективное управление широковещательным трафиком в сетях на третьем уровне?
При такой точке зрения ценовый аспект приобретает относительный характер, ведь, в конце концов, эти два подхода к сетевому дизайну нельзя сравнивать. Конечно же, полностью избыточный дизайн с топологией «двойная звезда» стоит гораздо больше каскадной структуры с недорогими компонентами. Впрочем, проект сети с применением устройств третьего уровня тоже можно несколько удешевить: вовсе не обязательно брать за основу аппаратное обеспечение «с избытком». Это поможет построить сеть третьего уровня и сэкономить при этом порядка 35% ее стоимости.
Бероц Моайери работает в Comconsult Beratung und Planung. С ним можно связаться по адресу: http://www.comconsult.com
www.osp.ru
Локальные компьютерные сети -Блог любителя экспериментов
Доброго времени, уважаемые читатели блога www.k-max.name. В сегодняшней статье опишу немного теории о компьютерных сетях и о том, как настроить сеть в Linux, как продиагностировать сеть в Linux и поддерживать в рабочем состоянии сетевую подсистему в Linux. Когда статья начинала формироваться, планировалось уложиться в одну, но к завершению, размеры статьи стали неподъемные, было решено разделить статью на две: теория сетей и работа сетевой подсистемы в линукс. Ну что ж, начнем с теории...
Стек протоколов TCP/IP
Собственно, что есть сеть? Сеть - это более 2х компьютеров, объединенных между собой какими-то проводами каналами связи, в более сложном примере - каким-то сетевым оборудованием и обменивающиеся между собой информацией по определенным правилам. Эти правила "диктуются" стеком протоколов TCP/IP.
Transmission Control Protocol/Internet Protocol (Стек протоколов TCP/IP) - если сказать простым языком, это набор взаимодействующих протоколов разных уровней (можно дополнить, что каждый уровень взаимодействует с соседним, то есть состыковывается, поэтому и стек, имхо, так проще понять), согласно которым происходит обмен данными в сети. Каждый протокол - это набор правил, согласно которым происходит обмен данными. Итого, стек протоколов TCP/IP - это набор наборов правил Тут может возникнуть резонный вопрос: а зачем же иметь много протоколов? Неужели нельзя обмениваться всем по одному протоколу?
Все дело в том, что каждый протокол описывает строго отведенные ему правила. Кроме того, протоколы разделены по уровням функциональности, что позволяет работе сетевого оборудования и программного обеспечения становится гораздо проще, прозрачнее и выполнять "свой" круг задач. Для разделения данного набора протоколов по уровням была разработана модель сетевого взаимодействия OSI (англ. Open Systems Interconnection Basic Reference Model, 1978 г., она же - базовая эталонная модель взаимодействия открытых систем). Модель OSI состоит из семи различных уровней. Уровень отвечает за отдельный участок в работе коммуникационных систем, не зависит от рядом стоящих уровней – он только предоставляет определённые услуги. Каждый уровень выполняет свою задачу в соответствии с набором правил, называемым протоколом. Проиллюстрировать работу модели OSI можно следующим рисунком: Как передаются данные?
Из рисунка видно, что существует 7 уровней сетевого взаимодействия, которые делятся на: прикладной, представлений, сеансовый, транспортный, сетевой, канальный, физический. Каждый из уровней содержит свой набор протоколов. Список протоколов по уровням взаимодействия хорошо представлен в Википедии:
Сам стек протоколов TCP/IP развивался параллельно с принятием модели OSI и "не пересекался" с ней, в результате получилось небольшое разногласие в несоответствии стека протоколов и уровней модели OSI. Обычно, в стеке TCP/IP верхние 3 уровня (прикладной, представления и сеансовый) модели OSI объединяют в один — прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению. Упрощенно интерпретацию стека TCP/IP относительно модели OSI можно представить так:
Данную модель сетевого взаимодействия еще называют модель DOD (от бурж. Department of Defense — Министерство обороны США). Итак, общее представление о сетевом взаимодействии рассмотрели. Для более глубокого понимания сути вопроса, могу посоветовать скачать и почитать книгу (Вито Амато "Основы организации сетей Cisco Т1 и Т2"), ниже.
Адресация
В сети, построенной на стеке протоколов TCP/IP каждому хосту (компьютеру или устройству подключенному к сети) присвоен IP-адрес. IP-адрес представляет собой 32-битовое двоичное число. Удобной формой записи IP-адреса (IPv4) является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками, например, 192.168.0.1. В общем случае, IP-адрес делиться на две части: адрес сети (подсети) и адрес хоста:
Как видно из иллюстрации, есть такое понятие как сеть и подсеть. Думаю, что из значений слов понятно, что IP адреса делятся на сети, а сети в свою очередь делятся на подсЕти с помощью маски подсетИ (корректнее будет сказать: адрес хоста может быть разбит на подсЕти). Изначально, все IP адреса были поделены на определенные группы (классы адресов/сети). И существовала классовая адресация, согласно которой сети делились на строго определенные изолированные сети:
Нетрудно посчитать, что всего в пространстве адресов IP - 128 сетей по 16 777 216 адресов класса A, 16384 сети по 65536 адресов класса B и 2 097 152 сети по 256 адресов класса C, а также 268 435 456 адресов многоадресной рассылки и 134 317 728 зарезервированных адресов. С ростом сети Интернет эта система оказалась неэффективной и была вытеснена CIDR (бесклассовой адресацией), при которой количество адресов в сети определяется маской подсети.
Существует так же классификация IP адресов, как "частные" и "публичные". Под частные (они же локальные сети) сети зарезервированы следующие диапазоны адресов:
- 10.0.0.0 — 10.255.255.255 (10.0.0.0/8 или 10/8),
- 172.16.0.0 — 172.31.255.255 (172.16.0.0/12 или 172.16/12),
- 192.168.0.0 — 192.168.255.255 (192.168.0.0/16 или 192.168/16).
- 127.0.0.0 — 127.255.255.255 зарезервировано для петлевых интерфейсов (не используется для обмена между узлами сети), т.н. localhost
Кроме адреса хоста в сети TCP/IP есть такое понятие как порт. Порт является числовой характеристикой какого-то системного ресурса. Порт выделяется приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах (в том числе c другими приложениями на этом же хосте). С программной точки зрения, порт есть область памяти, которая контролируется каким-либо сервисом.
Для каждого из протоколов TCP и UDP стандарт определяет возможность одновременного выделения на хосте до 65536 уникальных портов, идентифицирующихся номерами от 0 до 65535. Соответствие номера порта и службы, использующей этот номер можно посмотреть в файле /etc/services или на сайте http://www.iana.org/assignments/port-numbers. Весь диапазон портов делиться на 3 группы:
- 0 до 1023, называемые привилегированными или зарезервированными (используются для системных и некоторых популярных программ)
- 1024 — 49151 называются зарегистрированными портами.
- 49151 — 65535 называются динамическими портами.
IP протокол, как видно из иллюстраций находится ниже TCP и UDP в иерархии протоколов и отвечает за передачу и маршрутизацию информации в сети. Для этого, протокол IP заключает каждый блок информации (пакет TCP или UDP) в другой пакет - IP пакет или дейтаграмма IP, который хранит заголовок о источнике, получателе и маршруте.
Если провести аналогию с реальным миром, сеть TCP/IP - это город. Названия улиц и проулков - это сети и подсети. Номера строений - это адреса хостов. В строениях, номера кабинетов/квартир - это порты. Точнее, порты - это почтовые ящики, в которые ожидают прихода корреспонденции получатели (службы). Соответственно, номера портов кабинетов 1,2 и т.п. обычно отдаются директорам и руководителям, как привилегированным, а рядовым сотрудникам достаются номера кабинетов с большими цифрами. При отправке и доставке корреспонденции, информация упаковывается в конверты (ip-пакеты), на которых указывается адрес отправителя (ip и порт) и адрес получателя (ip и порт). Простым языком как-то так...
Следует отметить, что протокол IP не имеет представления о портах, за интерпретацию портов отвечает TCP и UDP, по аналогии TCP и UDP не обрабатывают IP-адреса.
Для того чтобы не запоминать нечитаемые наборы цифр в виде IP-адресов, а указывать имя машины в виде человекопонятного имени "придумана" такая служба как DNS (Domain Name Service), которая заботится о преобразовании имен хостов в IP адрес и представляет собой огромную распределенную базу данных. Об этой службе я обязательно напишу в будущих постах, а пока нам достаточно знать, что для корректного преобразования имен в адреса на машине должен быть запущен демон named или система должна быть настроена на использование службы DNS провайдера.
Маршрутизация
Давайте рассмотрим (на иллюстрации) пример инфраструктуры с несколькими подсетями. Может возникнуть вопрос, а как же один компьютер соединиться с другим? Откуда он знает, куда посылать пакеты?
Для разрешения этого вопроса, сети между собой соединены шлюзами (маршрутизаторами). Шлюз - это тот же хост, но имеющий соединение с двумя и более сетями, который может передавать информацию между сетями и направлять пакеты в другую сеть. На рисунке роль шлюза выполняет pineapple и papaya, имеющих по 2 интерфейса, подключенные к разным сетям.
Чтобы определить маршрут передачи пакетов, IP использует сетевую часть адреса (маску подсети). Для определения маршрута, на каждой машине в сети имеется таблица маршрутизации (routing table), которая хранит список сетей и шлюзов для этих сетей. IP "просматривает" сетевую часть адреса назначения в проходящем пакете и если для этой сети есть запись в таблице маршрутизации, то пакет отправляется на соответствующий шлюз.
В Linux ядро операционной системы хранит таблицу маршрутизации в файле /proc/net/route. Просмотреть текущую таблицу маршрутизации можно командой netstat -rn (r - routing table, n - не преобразовывать IP в имена) или route. Первая колонка вывода команды netstat -rn (Destination - назначение) содержит адреса сетей (хостов) назначения. При этом, при указании сети, адрес обычно заканчивается на ноль. Вторая колонка (Gateway) - адрес шлюза для указанного в первой колонке хоста/сети. Третья колонка (Genmask) - маска подсети, для которой работает данный маршрут. Колонка Flags дает информацию об адресе назначения (U - маршрут работает (Up), N - маршрут для сети (network), H - маршрут для хоста и т.п.). Колонка MSS показывает число байтов, которое может быть отправлено за 1 раз, Window - количество фреймов, которое может быть отправлено до получения подтверждения, irtt - статистика использования маршрута, Iface - указывает сетевой интерфейс, используемый для маршрута (eth0, eth2 и т.п.)
Как видно в примере ниже, первая запись (строка) указана для сети 128.17.75, все пакеты для данной сети будут отправлены на шлюз 128.17.75.20, который является IP адресом самого хоста. Вторая запись - это маршрут по умолчанию, который применяется ко всем пакетам, посылаемым в сети, не указанные в данной таблице маршрутизации. Здесь маршрут лежит через хост papaya (IP 128.17.75.98), который можно считать дверью во внешний мир. Данный маршрут должен быть прописан на всех машинах сети 128.17.75, которые должны иметь доступ к другим сетям. Третья запись создана для петлевого интерфейса. Данный адрес используется, если машине необходимо подключиться к самой себе по протоколу TCP/IP. Последняя запись в таблице маршрутизации сделана для IP 128.17.75.20 и направляется на интерфейс lo, т.о. при подключении машины к самой себе на адрес 128.17.75.20, все пакеты будут посылаться на интерфейс 127.0.0.1.
Если хост eggplant пожелает послать пакет хосту zucchini, (соответственно, в пакете будет указан отправитель - 128.17.75.20 и получатель - 128.17.75.37), протокол IP определит на основании таблицы маршрутизации, что оба хоста принадлежат одной сети и пошлет пакет прямо в сеть, где zucchini его получит. Если более подробно сказать.. сетевая карта широковещательно кричит ARP-запросом "Кто такой IP 128.17.75.37, это кричит 128.17.75.20?" все машины, получившие данное послание - игнорируют его, а хост с адресом 128.17.75.37 отвечает "Это я и мой MAC - адрес такой-то...", далее происходит соединение и обмен данными на основе arp таблиц, в которых занесено соответствие IP-MAC адресов. "Кричит", то есть этот пакет посылается всем хостам, это происходит потому что, MAC-адрес получателя указан широковещательный адрес ( FF:FF:FF:FF:FF:FF ). Такие пакеты получают все хосты сети.
Пример таблицы маршрутизации для хоста eggplant:
[root@eggplant ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 128.17.75.0 128.17.75.20 255.255.255.0 UN 1500 0 0 eth0 default 128.17.75.98 0.0.0.0 UGN 1500 0 0 eth0 127.0.0.1 127.0.0.1 255.0.0.0 UH 3584 0 0 lo 128.17.75.20 127.0.0.1 255.255.255.0 UH 3584 0 0 loДавайте рассмотрим ситуацию, когда хост eggplant хочет послать пакет хосту, например, pear или еще дальше?.. В таком случае, получатель пакета будет - 128.17.112.21, протокол IP попытается найти в таблице маршрутизации маршрут для сети 128.17.112, но данного маршрута в таблице нет, по этому будет выбран маршрут по умолчанию, шлюзом которого является papaya (128.17.75.98). Получив пакет, papaya отыщет адрес назначения в своей таблице маршрутизации:
[root@papaya ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 128.17.75.0 128.17.75.98 255.255.255.0 UN 1500 0 0 eth0 128.17.112.0 128.17.112.3 255.255.255.0 UN 1500 0 0 eth2 default 128.17.112.40 0.0.0.0 UGN 1500 0 0 eth2 127.0.0.1 127.0.0.1 255.0.0.0 UH 3584 0 0 lo 128.17.75.98 127.0.0.1 255.255.255.0 UH 3584 0 0 lo 128.17.112.3 127.0.0.1 255.255.255.0 UH 3584 0 0 loИз примера видно, что papaya подключена к двум сетям 128.17.75, через устройство eth0 и 128.17.112 через устройство eth2. Маршрут по умолчанию, через хост pineapple, который в свою очередь, является шлюзом во внешнюю сеть.
Соответственно, получив пакет для pear, маршрутизатор papaya увидит, что адрес назначения принадлежит сети 128.17.112 и направит пакет в соответствии со второй записью в таблице маршрутизации.
Таким образом, пакеты передаются от маршрутизатора к маршрутизатору, пока не достигнут адреса назначения.
Стоит отметить, что в данных примерах маршруты
128.17.75.98 127.0.0.1 255.255.255.0 UH 3584 0 0 lo 128.17.112.3 127.0.0.1 255.255.255.0 UH 3584 0 0 loНе стандартные. И в современном linux вы такого не увидите.
Резюме
В данной статье я постарался как можно коротко и понятно описать основные понятия взаимодействия сетевой инфраструктуры на примере нескольких взаимосвязанных сетей, в следующей части я опишу работу сети в операционной системе Linux. Буду рад Вашим комментариям и дополнениям.
Что еще почитать по теме?
Если есть желание, более подробно почитать о маршрутизации и основах сети, советую почитать отличную книгу: Вито Амато "Основы организации сетей Cisco" Том1 и Том2 2004г.Продолжение статьи: Настройка сети в Linux, диагностика и мониторингНовое продолжение: iproute2, настройка сети командой ip
С Уважением, Mc.Sim!
Другие материалы в категории Сети
Теги: Ethernet, Linux, network, основыwww.k-max.name