Основы построения компьютерных сетей.
Компьютерной сетью называется совокупность узлов (ком-ров, терминалов,
периферийных устройств), имеющих возможность информационного взаимодействия друг с другом с помощью специального коммутационного оборудования и программного обеспечения.
По широте охвата принято делить сети на несколько категорий:
- Локальные вычислительные сети, ЛВС или LAN(Local-Area Network), позволяют объединять компьютеры, расположенные в ограниченном пространстве. Для ЛВС, как правило, прокладывается специализированная кабельная система или создается система локальной беспроводной связи, и положение возможных точек подключения абонентов ограничено этой системой. Локальные сети можно объединить в более крупномасштабные образования-
- Кампусная сеть – CAN(Campus-Area Network), объединяющая несколько ЛВС
- Сеть городского масштаба MAN(Metropolitan-Area Network);
- Широкомасштабная сеть WAN(Wide-Area Network) – регион, страна;
- Глобальная сеть, GAN(Global-Area Network)
- Сеть сетей – Интернет.
Интернет (Internet)– это глобальная информационная система, которая
• логически связана единым адресным пространством;
• может поддерживать соединения с коммутацией пакетов на основе семейства специализированных протоколов;
• предоставляет услуги высокого уровня.
В Интернет приняты следующие определения.
Узел (Node) – любой сетевой элемент, имеющий хотя бы один сетевой адрес (IP-адрес). Примеры узла: оконечное устройство (хост), маршрутизатор, шлюз.
Хост (Host) – конечный узел, который является либо источником, либо получателем информации, либо тем и другим одновременно. Примеры хоста: компьютер (PC), сервер (Server), принтер (Printer). Как правило, имеет не более одного физического интерфейса.
|
Маршрутизатор (Router, R) – узел, который ретранслирует пакеты между интерфейсами в соответствии с сетевым адресом. Имеет не менее двух физических интерфейсов. Иногда маршрутизатор называют шлюзом.
Шлюз (Gateway, GW) – узел, связывающий протоколы или каналы связи с различной технологией, например, сеть коммутации каналов и сеть коммутации пакетов.
Модуль (Module) – программно-аппаратное средство, входящее в состав узла и реализующее определенную функцию (протокол). Может одновременно входить в состав другого модуля. Примеры модуля: модуль IP, модуль ICMP.
Интерфейс (Interface) – перечень соглашений между передающей и приемной сторонами об уровне и форме сигналов, размерах сообщений, способах контроля ошибок и т.д., обеспечивающий взаимодействие различных модулей.
Протокол (Protocol) – формальное описание набора правил, которые управляют обменом информацией между узлами сети.
Порт (Port) – 1) интерфейс межсетевого взаимодействия на физическом уровне. Может иметь закрепленный за ним сетевой адрес. Примеры портов: E1, T1, E3, T3. 2) Идентификатор процесса (приложения) верхнего уровня, который взаимодействует с нижележащими уровнями.
Коммутационное устройство – аппаратное средство, осуществляющее соединение узлов по запросу. Примеры коммутационных устройств: коммутатор (Switch), маршрутизатор (Router).
Локальная сеть (Local Network) – небольшая группа узлов, связанная единым адресным пространством. Примеры локальных сетей: Ethernet, Token Ring.
Пакет (Packet) – структурированная информация, имеющая IP-адрес и полезную нагрузку.
Действием, полезным для пользователей, является обмен информацией между конечными устройствами. Поток информации, передаваемой по сети, называют сетевым трафиком Трафик кроме полезной информации включает и служебную ее часть- неизбежные накладные расходы на организацию взаимодействия узлов сети.
|
Пропускная способность линии связи определяется как кол-во информации, проходящей через линию за единицу времени, называется также полосой пропускания (bandwidth). Измеряется в бит/с (bps). Для активного коммутационного оборудования применимо понятие производительность.
Базовая модель взаимодействия открытых систем ВОС(OSI)
Модель OSI. Понятие об интерфейсах и протоколах. Рекомендация ITU-T X.200
Для oрганизации взаимодействия между сетевыми устройствами организацией ISO была разработана модель ВОС. Она основана на уровневых протоколах, что позволяет обеспечить:
- Логическую декомпозицию сложной сети на обозримые части – уровни;
- Стандартные интерфейсы между сетевыми функциями;
- Симметрию в отношении функций, реализуемых в каждом узле сети (аналогичность функций одного уровня каждом узле сети);
- Общий язык для взаимопонимания разработчиков различных частей сети.
Функции любого узла разбиваются на уровни, для конечных систем их семь.
Внутри каждого узла взаимодействие между уровнями идет по вертикали. Взаимодействие между двумя узлами логически происходит по горизонтали – между соответствующими уровнями. Реально же из-за отсутствия непосредственных горизонтальных связей производится спуск до нижнего уровня в источнике, связь через физическую среду и подъем до соответствующего уровня в приемнике информации. Каждый уровень обеспечивает свой набор сервисных функций(сервисов), прикладная ценность которых возрастает с повышением уровня.
|
Уровень, с которого посылается запрос, и симметричный ему уровень в отвечающей системе формируют свои блоки данных. Данные снабжаются служебной информацией данного уровня и спускаются на уровень ниже, пользуясь сервисами соответствующего уровня, на этом уровне к полученной информации также присоединяется служебная информация, и так происходит спуск до самого нижнего уровня, сопровождаемый “обрастанием” заголовками. Наконец, по нижнему уровню вся эта конструкция достигает получателя, где по мере подъема вверх освобождается от служебной информации соответствующего уровня. В итоге сообщение, посланное источником, в “чистом виде” достигает соответствующего уровня системы-получателя, независимо от того, как оно его достигло. Служебная информация управляет процессом передачи и служит для контроля его успешности и достоверности. В случае возникновения проблем может быть сделана попытка их уладить на том уровне, где они обнаружены, если уровень не может решить проблему, он сообщает о ней на его вышестоящий уровень.
Сервисы по передачи данных могут быть гарантированными и не гарантированными. Гарантированный сервис на вызов ответит сообщением об успешности или неуспешности операции. Негарантированный сервис сообщит только о выполнении операции, а дошли ли данные до получателя, при этом неизвестно. Контроль достоверности и обработка ошибок может выполнятся на разных уровнях и инициировать повтор передачи блока, Как правило, чем ниже уровень, на котором контролируются ошибки, тем быстрее они обрабатываются.
Стандарты на различные технологии и протоколы, как правило, один или несколько смежных уровней. Комплекты протоколов нескольких смежных уровней, пользующихся сервисами друг друга (сверху вниз) называют протокольными стеками. Пример протокольного стека, широко используемого в современных сетях, - TCP/IP.
Уровни модели OSI.
Уровни модели рассмотрим сверху вниз.
7. Прикладной уровень – высший уровень модели. Он обеспечивает пользовательской прикладной программе доступ к сетевым ресурсам.
Примеры задач уровня:
· Передача файлов;
· Электронная почта;
· Управление сетью.
Примеры протоколов прикладного уровня:
· FTAM (File Transfer, Access and Management) – удаленное манипулирование файлами.
· FTP (File Transfer Protocol) – пересылка файлов.
· X.400 – передача сообщений и сервис электронной почты.
· CMIP (Common Management Information Protocol) – управление сетью в стандарте ISO.
· SNMP (Simple Network Management Protocol) - управление сетью не в стандарте ISO.
· Telnet - эмуляция терминала и удаленная регистрация.
6. Уровень представления данных - обеспечивает преобразование кодов (например, побайтная перекодировка), форматов файлов, сжатие и распаковку, шифрование и де шифрование данных. Пример протокола – SSL (Secure Socket Layer), обеспечивающий конфиденциальность передачи данных в cтеке TCP/IP.
5. Сеансовый уровень обеспечивает инициацию и завершение сеанса – диалога между устройствами, синхронизацию и последовательность пакетов в сетевом диалоге, надежность соединения до конца сеанса (обработку ошибок, повторные передачи).
Примеры протоколов сеансового уровня:
· NetBios (Network Basic Input/Output System) – именование узлов, негарантированная доставка коротких сообщений без установления соединений, установление виртуальных соединений и гарантированная доставка сообщений, общее управление. Протокол распространяется еще и на 6-й и на 7-й уровни.
· NetBEUI (Network Basic Extended User Interface) - расширение NetBios фирмой Microsoft.
4. Транспортный уровень. уровень поддерживает два режима установления связи установлением соединения и без установления соединения. Каждый из режимов идентифицируется своим протоколом (Protocol).
В стандартах Интернет принято кодирование в шестнадцатеричном коде. Первый режим используется модулем TCP, имеющий код протокола 6 (в шестнадцатеричном коде – 0x06)
TCP (Transmission Control Protocol) – Протокол управления передачей с гарантией доставки дейтаграмм, он вначале устанавливает виртуальное соединение между двумя абонентами, а потом по этому пути передает их пакеты. Связь по TCP – дуплексная и без ошибок. По сути дела протокол TCP позволяет в стеке TCP/IP совмещать две разные технологии: датаграммную и виртуального соединения
Каждый передаваемый пакет снабжается порядковым номером и должен быть подтвержден приемной стороной о его правильном приеме.. На этом уровне определяются пути передачи, которые для соседних пакетов могут быть и разными. На приемной стороне пакеты собираются и в должной последовательности передаются на сеансовый уровень
Второй режим используется модулем UDP без гарантии доставки информации получателю (гарантия доставки обеспечивается приложением). Протокол UDP имеет код 17 (в шестнадцатеричном коде – 0x11).
3.Сетевой уровень –обеспечивает перемещение информации в виде пакетов между сетями (интерфейсами канального уровня), используя сетевой адрес. Семейство протоколов третьего уровня нижележащими уровнями идентифицируется типом протокола (ICMP – типом 0x0001, IP – типом 0x800, ARP – типом 0x0806). Связка “номер порта – сетевой адрес” называется сокетом. Пара сокетов – на передаче и приеме – однозначно определяет установленное соединение.
Адрес назначения каждого пакета, попавшего в модуль IP, анализируется, чтобы понять, куда его следует дальше направить: в собственное приложение или на переместить другой интерфейс для дальнейшей транспортировке по сети.
Уровень отвечает за адресацию (трансляцию физических и сетевых адресов, обеспечение межсетевого взаимодействия);
Примеры протоколов сетевого уровня:
ARP (Address Resolution Protocol) – взаимное преобразование аппаратных и сетевых адресов.
IP (Internet Protocol) – межсетевой протокол. Обеспечивает доставку пакетов в IP-сети в соответствии с адресом назначения, протокол доставки дейтаграмм, основа стека TCP/IP
При этом условия гарантии доставки пакетов, в IP не заложены. IP – это протокол негарантированной доставки пакетов. Сам пакет прокладывает себе путь через цепочку маршрутизаторов, выбирая для данного момента самый благоприятный маршрут.
ICMP (Internet Control Message Protocol). Протокол межсетевых управляющих сообщений. Является составной частью IP модуля и служит для извещения друг друга об ошибочных ситуациях при транспортировке пакетов по сети.
Осуществляет:
· поиск пути от источника к получателю или между двумя промежуточными устройствами;
· установление и обслуживание логической связи между узлами для установления связи как ориентированной, так и не ориентированной на соединение.
· форматирование данных в соответствии с коммуникационной технологией (локальные сети, глобальные сети).
· идентификацию абонентов, проверку на легальность, приоритеты;
· передача управления при перемещении абонентов;
· взаимодействие с другими сетями.
2.Канальный уровень, называемый также уровнем звена данных. Обеспечивает формирование фреймов – кадров, передаваемых через физический уровень, контроль ошибок и управление потоком данных. Уровень скрывает от вышестоящих подробности технической реализации сети.
Осуществляет:
· контроль ресурсов каналов связи;
· установление процедуры передачи и приема;
· разрешение конфликтов доступа к среде;
· контроль состояния канала связи;
· формирование команд управления аппаратурой
При взаимодействии с канальным уровнем другого узла осуществляет:
· кодирование - декодирование информации для обеспечения помехоустойчивости канала связи;
· интерливинг – деинтерливинг символов сообщений для исключения влияния быстрых флуктуаций сигнала в канале(импульсные помехи);
· контроль качества передачи сообщений, формирование требований на повторную передачу;
· выбор скорости передачи сообщений.
IEEE в сетевой модели IEEE 802 ввел дополнительное деление канального уровня на 2 подуровня.
- Подуровень LLC (Logical Link Control – управление логической связью) является стандартным (IEEE 802.2) интерфейсом с сетевым уровнем, независимым от сетевых технологий.
- Подуровень МАС (Media Access Control) – управлениедоступом к среде – осуществляет доступ к уровню физического кодирования и передачи сигналов. Применительно к технологии Ethernet МАС –уровень передатчика укладывает данные, пришедшие с LLC, в кадры, пригодные для передачи. Далее, дожидаясь освобождения канала, он передает кадр на физический уровень и следит за результатом работы физического уровня. На приемной стороне МАС – уровень принимает кадр, проверяет его на отсутствие ошибок и, освободив его от служебной информации своего уровня, передает на LLC.
На канальном уровне осуществляется коммутация пакетов в локальной сети. Существует много технологий канальных уровней – Ethernet, Token Ring, FDDI и другие.
Каждая из технологий рассчитана на определенную топологию: Ethernet – на подключение всех узлов к общей шине, а Token Ring и FDDI имеют кольцевую
Физический уровень – обеспечивает физическое кодирование бит кадра в электрические (оптические) сигналы и передачу их по линиям связи.
Осуществляет:
· преобразование пользовательской информации из программного(цифрового) представления в физическое (цивровой сигнал):
· модуляция сигнала и его передача через среду;
· прием и демодуляция физического сигнала;
· восстаровление сообщения из демодулированного сигнала;
Интерфейс с канальным уровнем:
- уплотнение данных в соответствии с методом уплотнения;
- уплотнение каналов в среде передачи сигнала;
- извлечение данных для передачи на канальный уровень;
- формирование сообщений на канальный уровень о состоянии канала (занятость, уровень помех в канале связи, состояние аппаратуры и т.д.)
- прием данных от канального уровня на установку параметров или режимов работы аппаратуры..
SNMP (Simple Network Management Protocol). Простой протокол управления сетью.
HTTP (Hyper Text Transfer Protocol). Протокол передачи гипертекста.
SMTP электронная почта
Стек протоколов TCP/IP
Рисунок 5.1 – Связь уровней TCP/IP с ЭВМОС
Как видно, модель уровней TCP/IP отличается от ЭВМОС. Эти отличия заключаются как в количестве уровней, так и в их функциональном содержании.
Начнем снизу. Первый и второй уровни в стеке протоколов TCP/IP не регламентируются. Это означает, что третий (сетевой) уровень IP должен взаимодействовать с любым протоколом канального уровня. Это взаимодействие, как правило, решается с помощью инкапсуляции IP пакетов в кадры канального уровня, например Ethernet или PPP (рис 5.2).
Рисунок 5.2 – Инкапсуляция данных различных уровней
Уровень межсетевого взаимодействия IP-Internet Protocol совпадает с сетевым уровнем ЭМВОС, поэтому в дальнейшем будем называть его просто сетевым уровнем. Основное его назначение выбор маршрута следования пакетов по определенному критерию и передача пакета по этому маршруту в составных сетях независимо от протоколов канального уровня. При этом условия гарантии доставки пакетов, в IP не заложены. IP – это протокол негарантированной доставки пакетов. Сам пакет прокладывает себе путь через цепочку маршрутизаторов, выбирая для данного момента самый благоприятный маршрут.
Транспортный уровень с точки зрения передачи пакетов содержит два альтернативных варианта:
UDP(User Datagram Protocol) – протокол негарантированной доставки, который обеспечивает передачу пакетов датаграммным способом и по сути является продолжением протокола IP.
TCP (Transmission Control Protocol) – протокол с управлением передачи, принципиально отличающийся от UDP, поскольку он вначале устанавливает виртуальное соединение между двумя абонентами, а потом по этому пути передает их пакеты наряду с пакетами других абонентов. Связь по TCP – дуплексная и без ошибок. По сути дела протокол TCP позволяет в стеке TCP/IP совмещать две разные технологии: датаграммную и виртуального соединения.
Шестой и седьмой уровни функционально объединены в один прикладной, который представляет все сервисы сети Интернет: электронную почту SMTP, доступ к базам данных WWW, передачу файлов FTP и многое другое. Состав сервисов этого уровня непрерывно расширяется.