380 likes | 687 Views
Сети ЭВМ и телекоммуникации. Стеки протоколов. Стек протоколов – это иерархически организованная совокупность протоколов, достаточная для реализации взаимодействия узлов в компьютерной сети. Существующие стеки протоколов: TCP/IP , IPX/SPX , NetBIOS/SMB , DECnet , SNA ,
E N D
Стеки протоколов • Стек протоколов – это иерархически организованная совокупность протоколов, достаточная для реализации взаимодействия узлов в компьютерной сети. • Существующие стеки протоколов: TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA, VOIP и SIP. • Все протоколы (кроме SNA) одинаковы на физическом и на канальном уровне, но на других уровнях используют разные протоколы.
IPX/SPX • IPX/SPX (Internetwork Packet eXchange/Sequenced Packet eXchange - межсетевой обмен пакетами/последовательный обмен пакетами) — стек протоколов, используемый в сетях Novell NetWare. • Протокол IPX обеспечивает сетевой уровень (доставку пакетов, аналог IP), SPX — транспортный и сеансовый уровни (аналог TCP). • Изначально был разработан Novell для DOS и широко применялся как в корпоративных сетях, так и для сетевых игр. Клиент был выполнен в виде резидентной программы. Первые реализации требовали создания исполняемого файла под каждую сетевую карту.
NetBIOS • NetBIOS (NetworkBasicInput/OutputSystem) — протокол для работы в локальных сетях на персональных ЭВМ типа IBM/PC. Протокол расширяет стандартные функции BIOS, обеспечивая поддержку сети. • Был разработан фирмой Sytek Corporation по заказу IBM в 1983 году. Включает в себя интерфейс сеансового уровня (NetBIOSinterface), в качестве транспортных протоколов использует TCP и UDP. • NetBEUI – протокол расширенного пользовательского интерфейса NetBIOS, предоставляет функции сеансового, транспортного и сетевого уровня. • Особенностью NetBIOS является возможность его работы поверх разных протоколов, например: NetBEUI, IPX и стек протоколов TCP/IP. • NetBIOS обеспечивает: • регистрацию и проверку сетевых имен; • установление и разрыв соединений; • связь с гарантированной доставкой информации; • связь с негарантированной доставкой информации; • поддержку управления и мониторинга драйвера и сетевой карты
SMB • SMB (ServerMessageBlock) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. • Первая версия протокола была разработана компаниями IBM, Microsoft, Intel и 3Com в 1980-х годах. • Вторая (SMB 2.0) была создана Microsoft и появилась в Windows Vista. • В настоящее время SMB связан главным образом с операционными системами Microsoft Windows, где используется для реализации сети Microsoft Windows и совместного использования файлов и принтеров.
Протоколы стека OSI отличает большая сложность и неоднозначность спецификаций. Эти свойства явились результатом общей политики разработчиков стека, стремившихся учесть в своих протоколах все многообразие уже существующих и появляющихся технологий. • На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, TokenRing, FDDI, а также протоколы LLC, X.25 и ISDN, то есть использует все разработанные вне стека популярные протоколы нижних уровней, как и большинство других стеков. • Сетевой уровень включает сравнительно редко используемые протоколы Connection-orientedNetworkProtocol (CONP) и ConnectionlessNetworkProtocol (CLNP). Как следует из названий, первый из них ориентирован на соединение (connection-oriented), второй – нет (connectionless). • Более популярны протоколы маршрутизации стека OSI: ES-IS (EndSystem-IntermediateSystem) между конечной и промежуточной системами и IS-IS (IntermediateSystem-IntermediateSystem) между промежуточными системами. • Транспортный уровень стека OSI в соответствии с функциями, определенными для него в модели OSI, скрывает различия между сетевыми сервисами с установлением соединения и без установления соединения, так что пользователи получают требуемое качество обслуживания независимо от нижележащего сетевого уровня. Чтобы обеспечить это, транспортный уровень требует, чтобы пользователь задал нужное качество обслуживания. • Службы прикладного уровня обеспечивают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее популярными являются служба каталогов (стандарт X.500), электронная почта (X.400), протокол виртуального терминала (VTP), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM)
Распределение протоколов по уровням модели OSI
Стек протоколов TCP/IP из пособия системного администратора
Принципы взаимодействия протоколов разных уровней • В ходе обмена информацией протоколы тесно общаются друг с другом: • Приложения обмениваются информацией между собой при помощи протоколов прикладного уровня; • Протоколы прикладного уровня при обмене данными полагаются на работу транспортных протоколов; • Транспортные протоколы осуществляют передачу данных используя услуги сетевых протоколов (маршрутизация).
Примеры сетевых услуг • Хранение данных; • Поиск информации; • Почтовые услуги; • Передача сообщений и блоков данных; • Организация сеансов взаимодействия.
Межсетевой протокол IP • Цель – передать IP-пакет через ряд взаимосвязанных сетей. • Передача ip-пакета от узла к узлу осуществляется на основе интерпритацииip-адреса. • Выбор пути ip-пакета называется маршрутизацией. • В ряде случаев на маршруте пакет может быть фрагментирован.
Маршрутизация • Маршрутизация (Routing) — процесс определения маршрута следования информации в сетях связи. • Маршруты могут быть: • статические маршруты – задаваться административно, • динамические маршруты – вычисляться с помощью алгоритмов маршрутизации, базируясь на информации о топологии и состоянии сети, полученной с помощью протоколов маршрутизации. • Статическими маршрутами могут быть: • маршруты, не изменяющиеся во времени; • маршруты, изменяющиеся по расписанию; • маршруты, изменяющиеся по ситуации — административно в момент возникновения стандартной ситуации. • Маршрутизация в компьютерных сетях обычно выполняется специальными программно-аппаратными средствами — маршрутизаторами. В простых конфигурациях может выполняться компьютерами общего назначения.
Таблица маршрутизации • Таблица маршрутизации — электронная таблица (файл) или база данных, хранящаяся на маршрутизаторе или сетевом компьютере, описывающая соответствие между адресами назначения и интерфейсами, через которые следует отправить пакет данных до следующего маршрутизатора. • Таблица маршрутизации обычно содержит: • адрес сети или узла назначения, либо указание, что маршрут является маршрутом по умолчанию; • маску сети назначения (для IPv4-сетей маска /32 (255.255.255.255) позволяет указать единичный узел сети); • шлюз, обозначающий адрес маршрутизатора в сети, на который необходимо отправить пакет, следующий до указанного адреса назначения; • интерфейс (в зависимости от системы это может быть порядковый номер, GUID или символьное имя устройства); • метрику — числовой показатель, задающий предпочтительность маршрута. Чем меньше число, тем более предпочтителен маршрут (интуитивно представляется как расстояние). • В таблице может быть один, а в некоторых операционных системах и несколько шлюзов по умолчанию.
Протоколы маршрутизации • Внутренний протокол маршрутизации RIP • Протокол OSPF (алгоритм Дейкстры) • Протокол IGRP • Внешний протокол BGP • Бесклассовая интердоменная маршрутизация (CIDR)
Схемы маршрутизации • Anycast (дословно — «посылка кому-нибудь») – метод рассылки пакетов (реализованный в протоколе IPv6), позволяющий устройству посылать данные ближайшему из группы получателей. • Из-за особенностей топологии сети или её политики ближайший узел не обязательно будет географически ближайшим. Broadcast (широковещание ) – схема возможна только в пределах одного сегмента сети. Однако пакеты данных могут быть посланы из-за пределов сегмента, в которой будет осуществлено широковещание. Нагрузка на сеть в случае широковещания не отличается от обычной передачи данных одному адресату, поскольку пакеты данных не размножаются (в отличие от групповой передачи, multicast). Multicast (групповая передача) — специальная форма широковещания, при которой сетевой пакет одновременно направляется определённому подмножеству адресатов — не одному (unicast), и не всем (broadcast). Наряду с приложениями, устанавливающими связь между источником и одним получателем, существуют такие, где требуется, чтобы источник посылал информацию сразу группе получателей.
IHL — длина заголовка IP-пакета в 32-битных словах (dword). Это поле указывает на начало блока данных в пакете. Минимальное корректное значение для этого поля равно 5. • Идентификатор — значение, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке дейтаграммы. Для фрагментированного пакета все фрагменты имеют одинаковый идентификатор. • Флаги: • Первый бит должен быть всегда равен нулю, • Второй бит DF (don’tfragment) определяет возможность фрагментации пакета, • Третий бит MF (morefragments) показывает, не является ли этот пакет последним в цепочке пакетов. • Смещение фрагмента — значение, определяющее позицию фрагмента в потоке данных. • Время жизни (TTL) — число маршрутизаторов, которые должен пройти этот пакет. При прохождении маршрутизатора это число уменьшатся на единицу. Если значения этого поля равно нулю то, пакет должен быть отброшен и отправителю пакета может быть послано сообщение TimeExceeded (ICMP код 11 тип 0). • Протокол — идентификатор протокола следующего уровня (номер протокола следующего уровня). • Контрольная сумма заголовка — вычисляется с использованием операций поразрядного сложения 16-разрядных слов заголовка по модулю 2.
Тип обслуживания • Тип обслуживания (TypeofService, TOS) — байт, содержащий набор критериев, определяющих тип обслуживания IP-пакетов. Поле приоритет предоставляет возможность присвоить код приоритета каждой дейтограмме: 0 Обычный уровень 1 Приоритетный 2 Немедленный 3 Срочный 4 Экстренный 5 ceitic/ecp 6 Межсетевое управление 7 Сетевое управление
Биты TOS Биты C, D, T и R характеризуют пожелание относительно способа доставки дейтограммы: • D=1 требует минимальной задержки, • T=1 - высокую пропускную способность, • R=1 - высокую надежность, • C=1 - низкую стоимость. TOS играет важную роль в маршрутизации пакетов. Интернет не гарантирует запрашиваемый TOS, но многие маршрутизаторы учитывают эти запросы при выборе маршрута.
Значения TOS для разных протоколов
Поле опции(дополнительные параметры) • Поле опции не обязательно присутствует в каждой дейтограмме. • Размер поля опции зависит от того, какие опции применены. Если используется несколько опций, они записываются подряд без каких-либо разделителей. • Каждая опция содержит один октет кода опции, за которым может следовать октет длины и серия октетов данных. • Если место, занятое опциями, не кратно 4 октетам, используется заполнитель
Формат поля опции • Флаг копия равный 1 говорит о том, что опция должна быть скопирована во все фрагменты дейтограммы. • Значения разрядов 2-битового поля класс опции: • 0 – дейтограмма пользователя или сетевое управление; • 1 – зарезервировано для будущего использования; • 2 – отладка и измерения (диагностика); • 3 – зарезервировано для будущего использования.
Временные метки и маршрутизация • Опция записать маршрут создает дейтограмму, где зарезервировано место, куда каждый маршрутизатор по дороге должен записать свой IP-адрес (например, утилита traceroute). Формат опции записать маршрут в дейтограмме представлен ниже.
Формы маршрутизации • Существует две формы маршрутизации: • Свободная маршрутизация; • Жесткая маршрутизация. Жесткая маршрутизация означает, что адреса определяют точный маршрут дейтограммы. Проход от одного адреса к другому может включать только одну сеть. Свободная маршрутизация отличается от предшествующей возможностью прохода между двумя адресами списка более чем через одну сеть. Поле длина задает размер списка адресов, а указатель отмечает адрес очередного маршрутизатора на пути дейтограммы.
Порядок просмотра маршрутной таблицы • Просмотр маршрутной таблицы происходит в три этапа: • Ищется полное соответствие адресу места назначения. В случае успеха, пакет посылается соответствующему маршрутизатору или непосредственно интерфейсу адресата. Связи точка-точка выявляются именно на этом этапе. • Ищется соответствие адресу сети места назначения. В случае успеха система действует также как и в предшествующем пункте. Одна запись в таблице маршрутизации соответствует всем ЭВМ, входящим в данную сеть. • Осуществляется поиск маршрута по умолчанию и, если он найден, дейтограмма посылается в соответствующий маршрутизатор.
Запись маршрута • Опция временные метки работает также как и опция запись маршрута. • Каждый маршрутизатор на пути дейтограммы делает запись в одном из полей дейтограммы (два слова по 32 разряда). Смысл полей длина и указатель идентичен тому, что сказано о предыдущих опциях. 4-битовое поле переполнение содержит число маршрутизаторов, которые не смогли записать временные метки из-за ограничений выделенного места в дейтограмме.
Временные метки Значения поля флаги задают порядок записи временных меток маршрутизаторами: Временные метки должны содержать время в миллисекундах, отсчитанное от начала суток.
Заголовок сегмента TCP Флаги (управляющие биты): URG —«Указатель важности»; ACK —«Номер подтверждения» ; PSH (Push function) —инструктирует получателя протолкнуть данные, накопившиеся в приемном буфере, в приложение пользователя; RST(Reset the connection)— оборвать соединения; SYN(Synchronize sequence numbers)— синхронизация номеров последовательности; FIN (FIN bit) — флаг указывает на завершение соединения. Указатель важности – 16-битовое значение положительного смещения от порядкового номера в данном сегменте. Поле указывает порядковый номер байта, которым заканчиваются важные данные. Поле принимается во внимание только для пакетов с установленным флагом URG.
Номер последовательности Выполняет две задачи: • Если установлен флаг SYN, то это начальное значение номера последовательности — ISN (InitialSequenceNumber), и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер последовательности, равный ISN + 1. • В противном случае, если SYN не установлен, первый байт данных, передаваемый в данном пакете, имеет этот номер последовательности. Поскольку поток TCP в общем случае может быть длиннее, чем число различных состояний этого поля, то все операции с номером последовательности должны выполняться по модулю 2^32. Это накладывает практическое ограничение на использование TCP. Если скорость передачи коммуникационной системы такова, чтобы в течение MSL (максимального времени жизни сегмента) произошло переполнение номера последовательности, то в сети может появиться два сегмента с одинаковым номером, относящихся к разным частям потока, и приёмник получит некорректные данные.