Лекция №3
«IP -транспорт»
|
|
Сетевой уровень должен предоставлять средства для решения следующих задач:
доставки пакетов в сети с произвольной топологией,
структуризации сети путем надежной локализации трафика,
согласования различных протоколов канального уровня.
| Принципы построения составных сетей
| Локализация трафика и изоляция сетей
| В трафике отражены многие закономерности. Пользователи, работающие над общей задачей, часто обмениваются информацией между собой, а также с пользователями, работающими над одной или другой задачей.
Желательно, чтобы структура сети соответствовала структуре информационных потоков. В зависимости от сетевого трафика компьютеры в сети могут быть разделены на сегменты сети.
Для разделения сети на сегменты используются мосты и коммутаторы. Они экранируют локальный трафик внутри сегмента, не передавая за его пределы никаких кадров, кроме тех, которые адресованы компьютерам, находящимся в других сегментах. Тем самым, сеть распадается на отдельные подсети. Это позволяет более рационально выбирать пропускную способность имеющихся линий связи, учитывая интенсивность трафика внутри каждой группы, а также активность обмена данными между группами. Однако локализация трафика средствами мостов и коммутаторов имеет существенные ограничения.
С одной стороны, логические сегменты сети, расположенные между мостами, недостаточно изолированы друг от друга, а именно, они не защищены от, так называемых, широковещательных штормов. Защита от широковещательных штормов в сетях, построенных на основе мостов, имеет количественный, а не качественный характер.
С другой стороны, использование механизма виртуальных сегментов, реализованного в коммутаторах локальных сетей, приводит к полной локализации трафика - такие сегменты полностью изолированы друг от друга, даже в отношении широковещательных кадров. Поэтому в сетях, построенных только на мостах и коммутаторах, компьютеры, принадлежащие разным виртуальным сегментам, не образуют единой сети. Имеются недостатки мостов и коммутаторов.
| Современные вычислительные сети часто строятся с использованием нескольких различных базовых технологий - Ethernet, Token Ring или FDDI. Такая неоднородность возникает либо при объединении уже существовавших ранее сетей, использующих в своих транспортных подсистемах различные протоколы канального уровня, либо при переходе к новым технологиям, таким, как Fast Ethernet или 100VG-AnyLAN.
Когда две или более сетей организуют совместную транспортную службу, то такой режим взаимодействия обычно называют межсетевым взаимодействием (internetworking).
| Согласование протоколов канального уровня
| Согласование протоколов канального уровня
| Среди протоколов канального уровня некоторые обеспечивают доставку данных в сетях с произвольной топологией, но только между парой соседних узлов (протокол PPP), а некоторые - между любыми узлами (Ethernet), но при этом сеть должна иметь топологию определенного и весьма простого типа.
| При объединении в сеть нескольких сегментов с помощью мотов или коммутаторов продолжают действовать ограничения на ее топологию: в получившейся сети должны отсутствовать петли.
Сетевой уровень позволяет передавать данные между любыми, произвольно связанными узлами сети. Реализация протокола сетевого уровня подразумевает наличие в сети специального устройства - маршрутизатора. Маршрутизаторы объединяют отдельные сети в общую составную сеть. Маршрут - это последовательность маршрутизаторов, которые должен пройти пакет от отправителя до пункта назначения.
| Маршрутизация в сетях с произвольной топологией
| Сетевой уровень и модель OSI
| В модели OSI, называемой также моделью взаимодействия открытых систем, средства сетевого взаимодействия делятся на семь уровней, для которых определены стандартные названия и функции. Физический уровень выполняет передачу битов по физическим каналам, таким, как коаксиальный кабель, витая пара или оптоволоконный кабель. Канальный уровень обеспечивает передачу кадра данных между любыми узлами в сетях с типовой топологией либо между двумя соседними узлами в сетях с произвольной топологией. Сетевой уровень обеспечивает доставку данных между любыми двумя узлами в сети с произвольной топологией, при этом он не берет на себя никаких обязательств по надежности передачи данных. Транспортный уровень обеспечивает передачу данных между любыми узлами сети с требуемым уровнем надежности. Сеансовый уровень предоставляет средства управления диалогом, позволяющие фиксировать, какая из взаимодействующих сторон является активной в настоящий момент, а также предоставляет средства синхронизации в рамках процедуры обмена сообщениями. Уровень представления. На этом уровне могут выполняться различные виды преобразования данных, такие как компрессия и декомпрессия, шифровка и дешифровка данных. Прикладной уровень - это в сущности набор разнообразных сетевых сервисов, предоставляемых конечным пользователям и приложениям.
| В протоколах сетевого уровня термин "сеть" означает совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи пакетов общую базовую сетевую технологию.
Внутри сети доставка сообщений регулируется канальным уровнем. Доставкой пакетов между сетями занимается сетевой уровень.
Существует два подхода к назначению номера узла в заголовке сетевого пакета. Первый основан на использовании для каждого узла нового адреса, отличного от того, который использовался на канальном уровне. Преимуществом такого подхода является его универсальность и гибкость - каков бы ни был формат адреса на канальном уровне, формат адреса узла на сетевом уровне выбирается единым. Однако, здесь имеются и некоторые неудобства, связанные с необходимостью заново нумеровать узлы, причем чаще всего вручную.
Второй подход состоит в использовании на сетевом уровне того же адреса узла, что был дан ему на канальном уровне. Это избавляет администратора от дополнительной работы по присвоению новых адресов, снимает необходимость в установлении соответствия между сетевым и канальным адресом одного и того же узла, но может породить сложную задачу интерпретации адреса узла при соединении сетей с разными форматами адресов.
| Функции сетевого уровня
| Протоколы передачи данных и протоколы обмена маршрутной информацией
| С помощью протоколов обмена маршрутной информацией маршрутизаторы составляют карту межсетевых связей той или иной степени подробности и принимают решение о том, какому следующему маршрутизатору нужно передать пакет для образования рационального пути. На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов.
| Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения. Стандарты TCP/IP всегда публикуются в виде документов RFC, но не все RFC определяют стандарты.
лидирующая роль стека TCP/IP объясняется следующими его свойствами:
Это наиболее завершенный стандартный и в то же время популярный стек сетевых протоколов, имеющий многолетнюю историю.
Почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.
Это метод получения доступа к сети Internet.
Этот стек служит основой для создания intranet- корпоративной сети, использующей транспортные услуги Internet и гипертекстовую технологию WWW, разработанную в Internet.
Все современные операционные системы поддерживают стек TCP/IP.
Это гибкая технология для соединения разнородных систем как на уровне транспортных подсистем, так и на уровне прикладных сервисов.
Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.
| Стек протоколов TCP/IP. История и перспективы стека TCP/IP
| Структура стека TCP/IP. Краткая характеристика протоколов
| Так как стек TCP/IP был разработан до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно.
Самый нижний (уровень IV) соответствует физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN, для глобальных сетей - протоколы соединений "точка-точка" SLIP и PPP, протоколы территориальных сетей с коммутацией пакетов X.25, frame relay.
Следующий уровень (уровень III) - это уровень межсетевого взаимодействия, который занимается передачей пакетов с использованием различных транспортных технологий локальных сетей, территориальных сетей, линий специальной связи и т. п.
К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP и OSPF, а также протокол межсетевых управляющих сообщений ICMP.
Следующий уровень (уровень II) называется основным. На этом уровне функционируют протокол управления передачей TCP и протокол дейтаграмм пользователя UDP.
Верхний уровень (уровень I) называется прикладным. К ним относятся такие широко используемые протоколы, как протокол копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие.
Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP.
Протокол telnet обеспечивает передачу потока байтов между процессами, а также между процессом и терминалом. Наиболее часто этот протокол используется для эмуляции терминала удаленного компьютера. При использовании сервиса telnet пользователь фактически управляет удаленным компьютером так же, как и локальный пользователь, поэтому такой вид доступа требует хорошей защиты.
Протокол SNMP используется для организации сетевого управления.
| Каждый компьютер в сети TCP/IP имеет адреса трех уровней:
Локальный адрес узла, определяемый технологией, с помощью которой построена отдельная сеть, в которую входит данный узел.
IP-адрес, состоящий из 4 байт, например, 109.26.17.100
Символьный идентификатор-имя, например, SERV1.IBM.COM.
| Адресация в IP-сетях. Типы адресов. Три основных класса IP-адресов
| Соглашения о специальных адресах: broadcast, multicast, loopback
| В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов:
если IР-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет;
если в поле номера сети стоят 0, то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет;
если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);
если в поле адреса назначения стоят сплошные 1, то пакет, имеющий такой адрес рассылается всем узлам сети с заданным номером. Такая рассылка называется широковещательным сообщением (broadcast);
адрес 127.0.0.1 зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback.
| Технология стека TCP/IP сложилась в основном в конце 1970-х годов и с тех пор основные принципы работы базовых протоколов, таких как IP, TCP, UDP и ICMP, практически не изменились. TCP/IP сейчас стали необходимостью.
Основными обстоятельствами, из-за которых требуется модификация базовых протоколов стека TCP/IP, являются следующие:
Повышение производительности компьютеров и коммуникационного оборудования.
Появление новых приложений.
Бурное расширение сети Internet.
Новые стратегии администрирования.
Адреса назначения и источника в IPv6 имеют длину 128 бит или 16 байт. Версия 6 обобщает специальные типы адресов версии 4 в следующих типах адресов:
Unicast - индивидуальный адрес.
Cluster - адрес кластера. Обозначает группу узлов, которые имеют общий адресный префикс (например, присоединенных к одной физической сети).
Multicast - адрес набора узлов, возможно в различных физических сетях.
| Развитие стека TCP/IP: протокол IPv.6
| Отображение физических адресов на IP-адреса: протоколы ARP и RARP
| Тип сети
| Тип протокола
| Длина локального адреса
| Длина сетевого адреса
| Операция
| Локальный адрес отправителя (байты 0 - 3)
|
| Локальный адрес отправителя (байты 4 - 5)
| IP-адрес отправителя (байты 0-1)
| IP-адрес отправителя (байты 2-3)
| Искомый локал
| Искомый локальный адрес (байты 2-5) ный адрес (байты 0 - 1)
|
| Искомый IP-адрес (байты 0 - 3)
|
|
| DNS (Domain Name System) - это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. Спецификация DNS определяется стандартами RFC 1034 и 1035. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес.
База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена. Пример полного DNS-имени: citint.dol.ru.
Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:
com - коммерческие организации (например, microsoft.com);
edu - образовательные (например, mit.edu);
gov - правительственные организации (например, nsf.gov);
org - некоммерческие организации (например, fidonet.org);
net - организации, поддерживающие сети (например, nsf.net).
| Отображение символьных адресов на IP-адреса: служба DNS
| Автоматизация процесса назначения IP-адресов узлам сети - протокол DHCP
| Протокол Dynamic Host Configuration Protocol (DHCP) был разработан для того, чтобы освободить администратора от этих проблем. Основным назначением DHCP является динамическое назначение IP-адресов. Однако, кроме динамического, DHCP может поддерживать и более простые способы ручного и автоматического статического назначения адресов.
В ручной процедуре назначения адресов активное участие принимает администратор, который предоставляет DHCP-серверу информацию о соответствии IP-адресов физическим адресам или другим идентификаторам клиентов. Эти адреса сообщаются клиентам в ответ на их запросы к DHCP-серверу.
При автоматическом статическом способе DHCP-сервер присваивает IP-адрес (и, возможно, другие параметры конфигурации клиента) из пула наличных IP-адресов без вмешательства оператора.
При динамическом распределении адресов DHCP-сервер выдает адрес клиенту на ограниченное время, что дает возможность впоследствии повторно использовать IP-адреса другими компьютерами.
Протокол DHCP использует модель клиент-сервер. Во время старта системы компьютер-клиент DHCP, находящийся в состоянии "инициализация", посылает сообщение discover (исследовать), которое широковещательно распространяется по локальной сети и передается всем DHCP-серверам частной интерсети. Каждый DHCP-сервер, получивший это сообщение, отвечает на него сообщением offer (предложение), которое содержит IP-адрес и конфигурационную информацию.
| Основу транспортных средств стека протоколов TCP/IP составляет протокол межсетевого взаимодействия - Internet Protocol (IP). К основным функциям протокола IP относятся:
перенос между сетями различных типов адресной информации в унифицированной форме,
сборка и разборка пакетов при передаче их между сетями с различным максимальным значением длины пакета.
| Протокол межсетевого взаимодействия IP
| Формат пакета IP
| Пакет IP состоит из заголовка и поля данных. Заголовок пакета имеет следующие поля:
Поле Номер версии (VERS) указывает версию протокола IP.
Поле Длина заголовка (HLEN) пакета IP занимает 4 бита и указывает значение длины заголовка, измеренное в 32-битовых словах.
Поле Тип сервиса (SERVICE TYPE) занимает 1 байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (PRECEDENCE).
Поле Общая длина (TOTAL LENGTH) занимает 2 байта и указывает общую длину пакета с учетом заголовка и поля данных.
Поле Идентификатор пакета (IDENTIFICATION) занимает 2 байта и используется для распознавания пакетов, образовавшихся путем фрагментации исходного пакета.
Поле Флаги (FLAGS) занимает 3 бита, оно указывает на возможность фрагментации пакета, а также на то, является ли данный пакет промежуточным или последним фрагментом исходного пакета (установленный бит More Fragments - MF - говорит о том пакет переносит промежуточный фрагмент).
Поле Смещение фрагмента (FRAGMENT OFFSET) занимает 13 бит, оно используется для указания в байтах смещения поля данных этого пакета от начала общего поля данных исходного пакета, подвергнутого фрагментации.
Поле Время жизни (TIME TO LIVE) занимает 1 байт и указывает предельный срок, в течение которого пакет может перемещаться по сети.
Идентификатор Протокола верхнего уровня (PROTOCOL) занимает 1 байт и указывает, какому протоколу верхнего уровня принадлежит пакет.
Контрольная сумма (HEADER CHECKSUM) занимает 2 байта, она рассчитывается по всему заголовку.
Поля Адрес источника (SOURCE IP ADDRESS) и Адрес назначения (DESTINATION IP ADDRESS) имеют одинаковую длину - 32 бита, и одинаковую структуру.
Поле Резерв (IP OPTIONS) является необязательным и используется обычно только при отладке сети.
| В большинстве типов локальных и глобальных сетей определяется такое понятие как максимальный размер поля данных кадра или пакета, в которые должен инкапсулировать свой пакет протокол IP. Эту величину обычно называют максимальной единицей транспортировки - Maximum Transfer Unit, MTU. Сети Ethernet имеют значение MTU, равное 1500 байт, сети FDDI - 4096 байт, а сети Х.25 чаще всего работают с MTU в 128 байт. При приходе первого фрагмента пакета узел назначения запускает таймер, который определяет максимально допустимое время ожидания прихода остальных фрагментов этого пакета.
| Управление фрагментацией
| Маршрутизация с помощью IP-адресов
| Длина маршрута может существенно измениться в зависимости от того, какой маршрутизатор выберет компьютер для передачи своего пакета на сервер. В стеке TCP/IP маршрутизаторы и конечные узлы принимают решения о том, кому передавать пакет для его успешной доставки узлу назначения, на основании так называемых таблиц маршрутизации (routing tables).
Следующая таблица представляет собой типичный пример таблицы маршрутов, использующей IP-адреса сетей:
Адрес сети назначения
| Адрес следующего маршрутизатора
| Номер выходного порта Расстояние до сети назначения
| 56.0.0.0
| 198.21.17.7
| 1 20
| 56.0.0.0
| 213.34.12.4.
| 2 130
| 116.0.0.0
| 213.34.12.4
| 2 1450
| 129.13.0.0
| 198.21.17.6
| 1 50
| 198.21.17.0
| -
| 2 0
| 213. 34.12.0
| -
| 1 0
| default
| 198.21.17.7
| 1 -
| | |