19 вопрос. Описать сетевую топологию OSI. Показать многоуровневую архитектуру взаимодействия программного и аппаратного обеспечений сеанса связи.
В 1978 году Международный комитет по стандартизации (ISO) разработал стандарт архитектуры ISO 7498, для объединения различных сетей. В разработке участвовало 7 комитетов, каждому из них был отведён свой уровень. В 1980 году IEEE опубликовал спецификацию 802, детально описавшую механизмы взаимодействия физических устройств на канальном и физическом уровнях модели OSI. В 1984 году спецификация модели OSI была пересмотрена и принята как международный стандарт для сетевых коммуникаций. Сетевая модель OSI (англ. Open Systems Interconnection Reference Model — модель взаимодействия открытых систем) — абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов (рис.1). Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и понятнее.
Рисунок 1 - Сетевая модель OSI Разумеется, в настоящее время основным используемым протоколом является TCP/IP, разработка которого не была связана с моделью OSI. Модель состоит из 7-ми уровней, расположенных вертикально друг над другом. Каждый уровень может взаимодействовать только со своими соседями и выполнять отведённые только ему функции.
Уровень OSI Протоколы Прикладной HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, ITMS, Modbus TCP, BACnet IP, IMAP, POP3, SMB, MFTP, BitTorrent, eD2k, PROFIBUS Это всего лишь несколько самых распространенных протоколов прикладного уровня, коих существует великое множество. Все их невозможно описать в рамках данного вопроса. Представления HTTP/HTML, ASN.1, XML, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP
Сеансовый ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, PPTP, PPP, PPPoE, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS
Прикладной уровень (Application layer) Верхний (7-й) уровень модели, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления. Уровень представления (Presentation layer) Этот уровень отвечает за преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с уровня приложений, он преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям. На этом уровне может осуществляться сжатие/распаковка или кодирование/раскодирование данных, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально. Сеансовый уровень (Session layer) Отвечает за поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений. Синхронизация передачи обеспечивается помещением в поток данных контрольных точек, начиная с которых возобновляется процесс при нарушении взаимодействия. Транспортный уровень (Transport layer) 4-й уровень модели, предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. При этом неважно, какие данные передаются, откуда и куда, то есть он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, длинные разбивает. Протоколы этого уровня предназначены для взаимодействия типа точка-точка. Сетевой уровень (Network layer) 3-й уровень сетевой модели OSI, предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию пакетов, отслеживание неполадок и заторов в сети. На этом уровне работает такое сетевое устройство, как маршрутизатор. Канальный уровень (Data Link layer) Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные он упаковывает в кадры данных, проверяет на целостность, если нужно исправляет ошибки и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты и сетевые адаптеры. В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровня между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS. Физический уровень (Physical layer) Самый нижний уровень модели, предназначен непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель и соответственно их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. Другими словами, осуществляет интерфейс между сетевым носителем и сетевым устройством. На этом уровне работают концентраторы и повторители (ретрансляторы) сигнала. Семиуровневая модель OSI является теоретической, и содержит ряд недоработок. Реальные сетевые протоколы вынуждены отклоняться от неё, обеспечивая непредусмотренные возможности, поэтому привязка некоторых из них к уровням OSI является несколько условной. Основная недоработка OSI — непродуманный транспортный уровень. На нём OSI позволяет обмен данными между приложениями (вводя понятие порта — идентификатора приложения), однако, возможность обмена простыми датаграммами в OSI не предусмотрена — транспортный уровень должен образовывать соединения, обеспечивать доставку, управлять потоком и т. п. Реальные же протоколы реализуют такую возможность. Например: • Семейство TCP/IP Семейство TCP/IP имеет два транспортных протокола: TCP, полностью соответствующий OSI, и UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями. • Семейство IPX/SPX В семействе IPX/SPX, порты (называемые «сокеты» или «гнёзда») появляются в протоколе сетевого уровня IPX, обеспечивая обмен датаграммами между приложениями (операционная система резервирует часть сокетов для себя). Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с OSI. Кроме того, IPX не имеет адреса для хоста, полагаясь на адресацию канального уровня (например, MAC-адреса для Ethernet). Стек протоколов TCP/IP Стек протоколов TCP/IP — набор сетевых протоколов, на которых базируется интернет. Название образовано из аббревиатур двух базовых протоколов — TCP и IP. Обычно описывается по аналогии с моделью OSI, представляющей взаимодействие протоколов в виде стека. В такой модели каждый уровень предназначен для решения узкого круга задач и используется для предоставления услуг для более высоких уровней. Верхние уровни ближе к пользователю и работают с наиболее абстрактными объектами, тогда как нижние уровни сильно зависят от физической среды передачи данных. Модель OSI более логична, её проще использовать, т. к. протоколы чётко разделены по уровням. Однако модель TCP наиболее распространена. Обычно в стеке TCP/IP верхние 3 уровня (прикладной, представительный и сеансовый) модели OSI объединяют в один — прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению. Упрощенно интерпретацию стека TCP/IP можно представить так: Прикладной «7 уровень» напр. HTTP, FTP, DNS (RIP, работающий поверх UDP, и BGP, работающий поверх TCP, являются частью сетевого уровня)
4 Транспортный напр. TCP, UDP, RTP, SCTP, DCCP (протоколы маршрутизации, подобные OSPF, что работают поверх IP, являются частью сетевого уровня)
3 Сетевой Для TCP/IP это IP (вспомогательные протоколы, вроде ICMP и IGMP работают поверх IP, но являются частью сетевого уровня; ARP не работает поверх IP) 2 Канальный напр. Ethernet, Token ring, и подобные. 1 Физический напр. физическая среда и принципы кодирования информации, T1, E1
Физический уровень Физический уровень описывает среду передачи данных (будь то кабель, оптоволокно или радиоканал), физические характеристики такой среды и принцип передачи данных (разделение каналов, модуляцию, амплитуду сигналов, частоту сигналов, способ синхронизации передачи, время ожидания ответа и максимальное расстояние).
Канальный уровень Канальный уровень описывает каким образом передаются пакеты данных через физический уровень, включая кодирование (т.е. специальные последовательности битов, определяющих начало и конец пакета данных). Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет. Примеры протоколов канального уровня — Ethernet, IEEE 802.11 Wireless Ethernet, SLIP, Token Ring, ATM и MPLS. Сетевой уровень Изначально разработан для передачи данных из одной (под)сети в другую. Примерами такого протокола является X.25 и IPC в сети ARPANET. С развитием концепции глобальной сети в уровень были внесены дополнительные возможности по передаче из любой сети в любую сеть, независимо от протоколов нижнего уровня, а также возможность запрашивать данные от удалённой стороны, например в протоколе ICMP (используется для передачи диагностической информации IP-соединения) и IGMP (используется для управления multicast-потоками). ICMP и IGMP расположены над IP и должны попасть на следующий — транспортный — уровень, но функционально являются протоколами сетевого уровня, а поэтому их невозможно вписать в модель OSI. Пакеты сетевого протокола IP могут содержать код, указывающий какой именно протокол следующего уровня нужно использовать, чтобы извлечь данные из пакета. Это число — уникальный IP-номер протокола. ICMP и IGMP имеют номера, соответственно, 1 и 2. Транспортный уровень Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений, а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют для какого именно приложения предназначены эти данные. TCP (IP идентификатор 6) — «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP. UDP (IP идентификатор 17) протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP. UDP обычно используется в таких приложениях, как потоковое видео, где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения занимает больше ресурсов, чем повторная отправка. И TCP, и UDP используют для определения протокола верхнего уровня число, называемое портом. Существует список стандартных портов TCP и UDP. Прикладной уровень На прикладном уровне работает большинство сетевых приложений. Эти программы имеют свои собственные протоколы обмена информацией, например, HTTP для WWW, FTP (передача файлов), SMTP (электронная почта), SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие. В массе своей эти протоколы работают поверх TCP или UDP, и привязаны к определённому порту, например: HTTP на TCP-порт 80 или 8080, FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд), SSH на TCP-порт 22, запросы DNS на порт UDP (реже TCP) 53, обновление маршрутов по протоколу RIP на UDP-порт 520. Эти порты определены Агентством по выделению имен и уникальных параметров протоколов (IANA). Бесспорно, к этому уровню относятся: DHCP, Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP. Стек протоколов IPX/SPX IPX/SPX (от англ. Internetwork Packet eXchange/Sequenced Packet eXchange) — стек протоколов, используемый в сетях Novell NetWare. Протокол IPX обеспечивает сетевой уровень (доставку пакетов, аналог IP), SPX — транспортный и сеансовый уровень (аналог TCP). IPX (англ. Internetwork Packet Exchange) — протокол сетевого уровня модели OSI, предназначен для передачи дейтаграмм в системах, неориентированных на соединение (также как и IP или NetBIOS, разработанный IBM и эмулируемый в Novell), он обеспечивает связь между NetWare-серверами и конечными станциями. Оригинальный транспортный протокол Novell не способствует успеху этой сети. Не успев своевременно переориентироваться на транспортные и маршрутные протоколы стека TCP/IP этот крайне популярный совсем недавно вид сетей в настоящее время имеет шансы исчезнуть. SPX (Sequence Packet eXchange) и его усовершенствованная модификация SPX II представляют собой транспортные протоколы 7-уровневой модели ISO. Это протокол гарантирует доставку пакета и использует технику скользящего окна (отдаленный аналог протокола TCP). В случае потери или ошибки пакет пересылается повторно, число повторений задается программно. В протоколе SPX не предусмотрена широковещательная или мультикастинг-адресация. Пакеты SPX вкладываются в пакеты IPX.
44 вопрос. Описать алгоритм реализации сети и её модернизацию.
Сетевая тополо́гия (от греч. τόπος, место) — описание конфигурации сети, схема расположения и соединения сетевых устройств. Сетевая топология может быть: • физической — описывает реальное расположение и связи между узлами сети. • логической — описывает хождение сигнала в рамках физической топологии. Для проводных компьютерных сетей определяют пять топологий: • Звезда (топология компьютерной сети) • Кольцо (топология компьютерной сети) • Сеть точка-точка • Шина (топология компьютерной сети) • Ячеистая топология Звезда́ — базовая топология компьютерной сети, в которой все компьютеры сети присоединены к центральному узлу (обычно сетевой концентратор). Рабочая станция, которой нужно послать данные, отсылает их на концентратор, а тот определяет адресата и отдаёт ему информацию. В определённый момент времени только одна машина в сети может пересылать данные, если на концентратор одновременно приходят два пакета, обе посылки оказываются не принятыми и отправителям нужно будет подождать случайный промежуток времени, чтобы возобновить передачу данных.
Достоинства: • Выход из строя одной рабочей станции не отражается на работе всей сети в целом; • Хорошая масштабируемость сети; • Лёгкий поиск неисправностей и обрывов в сети; • Высокая производительность сети • Гибкие возможности администрирования Недостатки: • Выход из строя центрального концентратора обернётся неработоспособностью сети в целом; • Для прокладки сети зачастую требуется больше кабеля, чем для большинства других топологий; • Конечное число рабочих станций , т.е. число рабочих станций ограничено количеством портов в центральном концентраторе; Применение: Одна из наиболее распространённых топологий, поскольку проста в обслуживании. В основном используется в сетях, где носителем выступает кабель витая пара. Кольцо́ — базовая топология компьютерной сети, в которой рабочие станции подключены последовательно друг к другу, образуя замкнутую сеть. В кольце не используется конкурентный метод посылки данных, компьютер в сети получает данные от соседа и перенаправляет их дальше, если они адресованы не ему. Для определения того, кому можно передавать данные обычно используют маркер. Данные ходят по кругу, только в одном направлении. Достоинства: • Простота установки; • Практически полное отсутствие дополнительного оборудования; • Возможность устойчивой работы без существенного падения скорости передачи данных при интенсивной загрузке сети, поскольку использование маркера исключает возможность возникновения коллизий. Недостатки: • Выход из строя одной рабочей станции, и другие неполадки (обрыв кабеля), отражаются на работоспособности всей сети; • Сложность конфигурирования и настройки; • Сложность поиска неисправностей; Применение: Наиболее широкое применение получила в оптоволоконных сетях. Используется в стандартах FDDI, Token ring. Сеть точка-точка — простейший вид компьютерной сети, при котором два компьютера соединяются между собой напрямую через коммуникационное оборудование. Достоинством такого вида соединения является простота и дешевизна, недостатком — соединить таким образом можно только 2 компьютера и не больше. Часто используется когда необходимо быстро передать информацию с одного компьютера, например, ноутбука, на другой. Топология типа Шина, представляет собой общий кабель (называемый шина или магистраль), к которому подсоединены все рабочие станции. На концах кабеля находятся терминаторы, для предотвращения отражения сигнала. Отправляемое рабочей станцией сообщение распространяется на все компьютеры сети. Каждая машина проверяет — кому адресовано сообщение и если ей, то обрабатывает его. Для того, чтобы исключить одновременную посылку данных, применяется либо «несущий» сигнал, либо один из компьютеров является главным и «даёт слово» остальным станциям. Достоинства: • Небольшое время установки сети; • Дешевизна (требуется меньше кабеля и сетевых устройств); • Простота настройки; • Выход из строя рабочей станции не отражается на работе сети; Недостатки: • Любые неполадки в сети, как обрыв кабеля, выход из строя терминатора полностью уничтожают работу всей сети; • Сложная локализация неисправностей; • С добавлением новых рабочих станций падает производительность сети. Примеры: Сегмент компьютерной сети, использующей коаксиальный кабель в качестве носителя и подключенных к этому кабелю рабочих станций. В этом случае шиной будет являться отрезок коаксиального кабеля, к которому подключены компьютеры. Ячеистая топология (в англ. mesh) — соединяет каждую рабочую станцию сети со всеми другими рабочими станциями этой же сети. Топология относится к полносвязным, в отличие от других — неполносвязных. Отправитель сообщения по очереди соединяется с узлами сети, пока не найдёт нужный, который примет у него пакеты данных. Основное достоинство – надёжность соединения. Недостатки: • большая стоимость установки; • сложность настройки и эксплуатации; Применение: В проводных сетях данная топология используется редко, поскольку из-за преизбыточного расхода кабеля становится слишком дорогой. Однако, в беспроводных технологиях сети на основе ячеистой технологии встречаются всё чаще, поскольку затраты на сетевой носитель не увеличиваются и на первый план выходит надёжность сети.
Литература
1. Ларионов А.М., Майоров С.А., Новиков Г.И., Вычислительные комплексы, системы и сети: Учебник для вузов – Л.: Энергоатомиздат, 1987 – 285 с. 2. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы – СПб. «ПИТЕР», 2000 – 672 с. 3. Виснадул Б.Д., Лупин С.А., Сидоров С.В., Чумаченко П.Ю., Основы компьютерных сетей: Учеб. пособие – М.: ИД “ФОРУМ”: ИНФРА-М, 2007. – 272 с. 4. Заика А. Компьютерные сети, 2006. 5. Таненбаум Э. Компьютерные сети. – СПб.: Питер, 2003. – 992 с.