Основы организации сетей
- 1. Модель OSI
- 2. Локальные сети Ethernet и беспроводные локальные сети
- 5. Основные сведения о наборе протоколов TCP/IP
1. Модель OSI
Уровень | Назначение |
---|---|
7. Прикладной Application |
Отвечает за взаимодействие с приложением. Позволяет использовать в разработке приложения минимальный объем сетевого кода |
6. Представление Presentation |
Уровень для выполнения действий связанных с форматированием данных (сжатие, шифрование, кодирование и тд) |
5. Сеансовый Session |
Отвечает за установление соединения между двумя оконечными точками связи. Обеспечивает настройку правильных параметров для обеспечения двухсторонней связи между двумя приложениями (двумя приложениями на двух концах) |
4. Транспортный Transport |
Обеспечивает взаимодействие двух прикладных программ. В зависимости от используемого протокола, на этом уровне могут выполняться функции обнаружения и устранения ошибок, установки и разрыва сеанса транспортного уровня, мультиплексирования, фрагментации и управления потоком данных |
3. Сетевой Network |
Отвечает за логическую адресацию и определение маршрута между группами логических адресов |
2. Канальный Datalink |
Нужен для физической адресации и управления интерфейсной платой |
1. Физический Physical |
Отвечает за преобразование битов и байтов в электрические, оптические или радио сигналы |
Уровень 7 - прикладной
Отвечает за взаимодействие с пользовательским приложением. Обычно обменивается данными не с самим приложением, а с сетевыми приложениями, которые применяются в пользовательском приложении. Например при использовании web, пользовательским приложением будет браузер, а сетевым приложением будет ПО протокола HTTP
Примерами протоколов этого уровня могут выступить http, ftp, telnet, smtp, pop3, imap, ssh
Уровень 6 - представление
На представительском уровне происходит модификация формата данных. Например чтобы отправить изображение по электронной почте нужно преобразовать это изображение в текст (ведь почтовый протокол smtp может передавать только текст). Для этого почтовый клиент может воспользоваться протоколом многоцелевых почтовых расширений internet (miltipurpose internet mail extensions - MIME). Также с помощью этого же протокола почтовый клиент получателя сконвертирует полученный текст обратно в изображение
Также этот уровень отвечает за сжатие, шифрование и многие другие действия
Уровень 5 - сеансовый
К числу наиболее широко применяемых протоколов сеансового уровня относятся rpc, ldap и netbios
Понять смысл этого уровня сложнее всего, потому что в выполнении функций этого уровня могут учавствовать и протоколы других уровней. В модели tcp/ip эту функцию чаще всего выполняет транспортный уровень
Уровень 4 - транспортный
Наиболее выжными из выполняемых этим уровнем функций являются контроль ошибок, их исправление и управление потоком данных
Связь на этом уровне может быть как с установлением логического соединения, так и без него
Связь с установлением логического соединения предусматривает установление соединения между двумя компьютерами еще до начала передачи пользовательских данных. Это позволяет обеспечить двухстороннюю связь. Другими словами протокол предуматривает передачу служебных пакетов благодаря которым получатель может понять что вскоре к нему поступят данные, на эти служебные пакеты ("предупреждения") получатель отвечает подтверждающим пакетом. Это обеспечивает возможность предварительно удостовериться что связь между хостами возможна
Также связь с установлением логического соединения предусматривает гарантии доставки. Если при передаче пакета происходит ошибка, то происходит повторная отправка этого же пакета
С другой стороны связь без установления логического соединения. Она не устанавливает никаких соединений, а работает по принципу "отправил и забыл". Также в большинстве случаев она не предусматривает никаких средств исправления ошибок. Подразумевается, что эту задачу должно взять на себя пользовательское приложение либо один из вышестоящих уровней
Управление потоком данных нужно для того чтобы не утопить получателя в данных. Если компьютер с высокой скоростью обработки данных начнет передавать данные компьютеру с низкой скоростью обратки данных, то второй компьютер может потерять часть данных (не успеет обработать слишком большой поток данных от отправителя)
Три метода управления потоком данных:
Буферизация - этот метод позволяет справиться с коротким всплеском данных, но если данные идут непрерывным потоком, то буфер переполнится и данные начнут теряться
Уведомление о заторе - этот метод обычно используется вместе с буферизацией. При заполнении буфера получателя, получатель отправляет отправителю сообщение с сигналом прекратить передачу данных (либо снизить скорость передачи). А после того как буфер у получателя рассосется, он отпрвляет сообщение о с указанием того что передача может быть возобновлена
Но и в этом методе есть недостатки (видно на схеме)
Применение окон - это наиболее сложный, но и наиболее гибкий способ управления потоком данных. При передаче данных с применением окон разрешается передавать одновременно заранее согласованное количество пакетов (это количество и называется окном) до получения подтверждения от получателя. Это означает что передача одним хостом слишком большого количества данных для другого хоста почти исключена (ведь он сначала должен дождаться подтверждения от получателя и только потом слать вторую партию данных)
Уровень 3 - сетевой
Протоколы этого уровня обеспечивают логическую адресацию и маршрутизацию. Адрес сетевого уровня применяется для указания местонахождения хоста. Эта задача обычно решается разделением адреса на две части: поле группы и поле хоста. Это разделение позволяет каждому хосту учитывать наличие других хостов в его группе, а для передачи пакетов от одной группы к другой применяются маршрутизаторы
Уровень 2 - канальный
Канальный уровень предусматривает выполнение таких функций как устранение коллизий, физическая адресация, распознавание ошибок и фреймирование
Устранение коллизий - методы устранения коллизий позволяют определить как должен быть организован доступ к разделяемой среде передачи данных (когда к одному каналу передачи данных подключено несколько хостов и они одновременно пытаются использовать его для передачи). Если в полудуплексном канале одновременно будут слать данные более одного хоста, то данные будут теряться, точнее их электрические сигналы будут смешиваться и будут возникать коллизии
Физическая адресация - все устройства должны иметь физический адрес, обычно это mac-адрес. Физический адрес должен быть уникальным. Он должен однозначно отличать одно устройство от любых других устройств в мире
Mac-адрес это 48 битное число, которое записывается в виде 12 шестнадцатиричных цифр (например 01-02-03-ab-cd-ef). Первые 6 шестнадцатиричных цифр обозначают изготовителя устройста, а последние 6 конкретное устройство
Физический адрес определенного типа (не обязательно mac) является обязательным компонентом пакета на канальном уровне
Обнаружение ошибок - для обнаружения ошибок и искажений во время передачи пакета в конец пакета перед отправкой дописывается концевик с контрольной суммой (fcs). Метод с применением fcs предусматривает использование циклического избыточного кода. После прибытия пакета к получателю, получатель извлекает из пакета fcs и вычисляет новое значение fcs для полученных данных. Если извлеченное и вычисленное значения не совпадают, то этот пакет отбрасывается (за устранение ошибок отвечают протоколы более высокого уровня. Как правило транспортный)
Фреймирование - это очень важная задача. Нужно для того чтобы можно было отличить один пакет от другого в потоке данных (ведь данные передаются в виде бесконечного потока единиц и нулей и просто так отличить один пакет от другого сложно). Для того чтобы определять, что в цепочке единиц и нулей является mac-адресом, а что fcs требуется какой-то ключ. Есть несколько вариантов решения такой проблемы, описывать их здесь пока не буду
Уровень 1 - физический
Определяет различные спецификации частот, требования к расстояниям и задержкам, регламетируемые напряжения и прочие физические параметры
Важное значение с точки зрения организации сетей имеет модель DOD (department of defense). Именно она лежит в основе протоколов tcp/ip
2. Локальные сети Ethernet и беспроводные локальные сети
Топология
Топология – это схема соединения каналами связи компьютеров или узлов сети между собой
Сетевая топология может быть
- физической — описывает реальное расположение и связи между узлами сети
- логической — описывает хождение сигнала в рамках физической топологии
- информационной — описывает направление потоков информации, передаваемых по сети
- управления обменом — это принцип передачи права на пользование сетью
Существует множество способов соединения сетевых устройств. Выделяют следующие топологии:
- полносвязная
- ячеистая
- общая шина
- звезда
- кольцо
- снежинка
Полносвязная
Сеть, в которой каждый компьютер непосредственно связан со всеми остальными. Однако этот вариант громоздкий и неэффективный, потому что каждый компьютер в сети должен иметь большое количество коммуникационных портов, достаточное для связи с каждым из остальных компьютеров
Ячеистая
Получается из полносвязной топологии путём удаления некоторых связей. Допускает соединения большого количества компьютеров и характерна для крупных сетей
Общая шина
Топология данного типа представляет собой общий кабель (называемый шина или магистраль), к которому подсоединены все рабочие станции. На концах кабеля находятся терминаторы, для предотвращения отражения сигнала
Звезда
В сети, построенной по топологии типа «звезда», каждая рабочая станция подсоединяется кабелем (витой парой) к концентратору, или хабу (англ. hub). Концентратор обеспечивает параллельное соединение ПК и, таким образом, все компьютеры, подключенные к сети, могут общаться друг с другом
Данные от передающей станции сети передаются через хаб по всем линиям связи всем ПК. Информация поступает на все рабочие станции, но принимается только теми станциями, которым она предназначается. Так как передача сигналов в топологии физическая звезда является широковещательной, то есть сигналы от ПК распространяются одновременно во все направления, то логическая топология данной локальной сети является логической шиной
Кольцо
Это топология, в которой каждый компьютер соединен линиями связи только с двумя другими: от одного он только получает информацию, а другому только передает. На каждой линии связи, как и в случае звезды, работает только один передатчик и один приемник. Это позволяет отказаться от применения внешних терминаторов
Также существует большое количество дополнительных способов соединения:
- Двойное кольцо
- Решётка
- Дерево
- Fat Tree
- Сеть Клоза
Дуплекс, полудуплекс, симплекс
Дуплекс
Способ связи при котором устройство может в любой момент времени и передавать, и принимать информацию. Передача и приём ведутся устройством одновременно по двум физически разделённым каналам связи
В ряде случаев возможна дуплексная связь с использованием одного канала связи. В этом случае устройство при приёме данных вычитает из сигнала свой отправленный сигнал, а получаемая разница является сигналом отправителя
Полудуплекс
Способ связи при котором устройство в один момент времени может либо передавать, либо принимать информацию
Передача ведётся по одному каналу связи в обоих направлениях, но с разделением по времени (в каждый момент времени передача ведётся только в одном направлении). Полная скорость обмена информацией по каналу связи в данном режиме имеет вдвое меньшее значение, по сравнению с дуплексом
Явление, когда несколько передающих узлов пытаются в один и тот же момент времени осуществлять передачу, называется коллизией и при методе управления доступом CSMA/CD считается нормальным, хотя и нежелательным явлением
Симплекс
Реализующее симплексный режим оборудование может передавать информацию только в одну сторону
Проблемы при передаче сигнала
Затухание - сигнал в витой паре со временем затухает и портится. Это происходит из-за сопротивления меди и различных помех. Поэтому длина провода в среднем ограничена 100 метрами
Хроматическая дисперсия - это разделение светового сигнала в оптоволокне на цветовые компоненты (как в призме). Разные длины волн отражаются и преломляются по разному, из-за этого они проходят разный путь (по длине) и приходят в разное время (одни быстрее, другие дольше). Это приводит к появлению фиктивных битов
Электромагнитные помехи - обычно локальные сети строятся на основе UTP (unshielded twisted-pair), которые не защищены от электромагнитных помех. При передаче по кабелю электрических импульсов создается могнитное поле, это поле воздействует на другой кабель, в котором от этих импульсов генерируются импульсы, а это ложные сигналы
Наводки - наводки происходят когда два кабеля расположены близко и параллельны друг к другу. Они вызывают ложные импульсы и просиходит искажение сигнала
Скрутка кабелей между собой помогает избегать наводок (поэтому витая пара - витая). Категория витой пары указывает на количество скруток на единицу длины
Адресация Ethernet
В основе адресации ethernet лежит использование MAC-адресов. В любом передаваемом фрейме первые два поля занимают адреса получателя и отправителя. Также существует широковещательный адрес, он состоит из единиц и в шестнадцатиричной системе выглядит как ff-ff-ff-ff-ff-ff
Если в поле адреса получателя у фрейма указан адрес иной чем адрес сетевой платы, то она его просто отбрасывает (то есть она обрабатывает только предназначенные ей фреймы)
Из этого правила есть два исключения, широковещательная рассылка и неизбирательный режим
Широковещательные фреймы обрабатываются также как и предназначенные этому компьютеру фреймы (потому что они и предназначены этому компьютеру), такой фрейм отправляется вверх по стеку протоколов и обрабатывается на уровнях выше (там уже и решается, нужно ли на него отвечать и пр.)
Неизбирательный режим позволяет сетевой карте принимать и обрабатывать не только те фреймы которые предназначены ей, но и все другие что она может увидеть (в разделяемой среде). Такой режим может использоваться совместно с анализатором трафика (для выявления проблем)
PDU - protocol data unit
Основы коммутации ethernet
Коммутатор ethernet обрабатывает и регистрирует mac-адреса фреймов и заполняет ассоциативную таблицу. В этой таблице отображается связь между mac-адресами и портами. Таблица называется CAM-таблицей (content-addressable memory). Далее коммутатор направляет фреймы в соответствии с этой таблицей. А пока коммутатор не знает куда именно нужно послать фрейм, он шлет его во все порты кроме того из которого он его получил (лавинная рассылка)
Основным преимуществом коммутации является то что она позволяет разделить сеть на несколько доменов коллизий. Доменом коллизий называется участок на котором организован многостанционный доступ и поэтому могут возникать коллизии
Беспроводные локальные сети
В беспроводных сетях нельзя использовать CSMA/CD, так как обнаружить коллизию невозможно. При передаче сигнала приемник находится близко к собственному передатчику, который передавая сигналы заглушает любые другие сигналы. Поэтому используется CSMA/CA (CD - обнаружение коллизий, CA - предотвращение коллизий)
Перед отправкой данных устройство отправляет особый фрейм с предупреждением о намерении передачи данных. Далее оно ожидает ack-фрейма от точки доступа, если ack-фрейма не поступило, то вероятно произошла коллизия и тогда такой фрейм отправляется снова
Также есть способ RTS/CTS (rts - request to send, cts - clear to send). Перед передачей устройство шлет точке доступа фрейм rts и ожидает от него в ответ cts. Такой способ позволяет предупредить другие устройства (которых не видит передающее устройство, но видит точка доступа) вблизи точки доступа о том что она собирается принимать данные от передающего устройства
Эти два способа могут использоваться параллельно, чтобы дополнительно снизить возможность возникновения коллизий
Канальный уровень спецификации 802.11b допускает фрагментацию фрейма. Когда при передаче большого фрейма где-то на середине возникает коллизия, то передающее устройство может фрагментировать фрейм чтобы попытаться избежать коллизий