Б1В Системы адресации в стеке ТСР/IP.
Используются 3 типа адресов: локальные, числовые и символьные. Первые два типа используются программами и аппаратными средствами. Третий – пользователями. Локальные адреса – это адреса, которые используются в базовой технологии подсетей для доставки данных в своих пределах. Между локальным и IP адресом нет функциональной связи и зависимости, но соответствие должно быть. Для этих целей применяется протокол ARP. Он нужен для того, чтобы узнать МАС по IP адресу Маршрутизаторы содержат ARP таблицы – соответствие IP-МАС. Если внешняя станция запрашивает компьютер, для которого нет в таблице соответствия, то формируется ARP запрос на поиск соответствия. Та станция, которая в запросе узнает свой адрес формирует ARP ответ со своим МАС. В это время ожидающий пакет для передачи чаще всего уничтожается. Через некоторое время в эту подсеть опять присылается этот пакет, но к этому времени уже в ARP таблице есть соответствие. В стеке TCP/IP локальный адрес – это тот, который используется базовой технологией подсети, который служит для доставки данных в своих пределах. MAC-адрес – это локальный адрес сетевого адаптера. Между локальным адресом и IP-адресом нет никакой функциональной (алгоритмической) связи, но имеется взаимооднозначное соответствие. Зная IP-адрес можно определить локальный адрес (используя протокол ARP –address resolution protocol) Зная локальный адрес можно определить IP-адрес (RARP – reverse ARP) ARP-протокол формирует ARP-запрос и ARP-адрес, для которого формируетсяIP-адрес, т.е. {собственный IP-адрес, локальный адрес}. Этот запрос отправляется в локальную сеть (отправка широковещательная). И станция, которая узнает свой IP-адрес, формирует ARP-ответ, в котором указывается искомый локальный адрес и вARP-таблице появляется соответствие IP-адреса локальному адресу. В это время IP-пакет уничтожается (очень редко остается в буфере). Сама ARP-таблица появляется в маршрутизаторе, и этот маршрутизатор посылает отправителю сообщение, что пакет уже передан и посылает он его по протоколу ICPM – Internet Control Message Protocol. С помощью этого же протокола отправитель посылает сообщение, после чего пакет посылается заново. В глобальных сетях предусмотрены ARP сервера, которые решают соответствие IP-адреса локальному адресу. Символьные имена – есть имена по географическому расположению (.ru), и по организациям (com,org,net). Соответствие между символьными и IP устанавливаетDNS служба. DNS – это служба основана на распределенной базе, отображения типа доменное имя – IP адрес. Данная служба работает по принципу клиент-сервер 147.35.27.80 10001101.00100011.00011011.01010000 Адрес подсети: 141.35.0.0 Адрес узла: 0.0.27.80 Для каждого домена создается свой ДНС-сервер, в котором хранится отображение типа (Доменное имя – IP-адрес), и для всех узлов, которые находятся на нижележащих уровнях. Кроме того, создаются ссылки на ДНС-сервера нижележащих уровней. Пользователь может задать адрес + протокол, например HTTP – hyper text transfer protocol, В ДНС-службе используется технология бесклассовой междоменной адресации.Технология CIDR – classes Inter-Domain Routing Основное назначение групповой адресации: Распространение информации по модели: 1 источник – множество приемников. Для осуществления такой передачи используется протокол IGMP. Класс Е: начинается с комбинации 11110. адреса такого класса зарезервированы. Содержимое первого байта IP адреса: Класс А: 0 – 127, Класс В: 128 – 191, класс С: 192 – 223, класс D: 224 – 239, класс Е: 240 – 247. Классы А, В и С предназначены для однонаправленной адресации, однако каждому классу соответствует свой размер сети. Класс А используется для самых крупных сетей, насчитывающих до 16 777 216 узлов. Класс В – это формат однонаправленной адресации для сетей среднего размера, содержащих до 65 536 узлов. Адреса класса С применяются в небольших сетях с однонаправленными коммуникациями и количеством хостов, не превышающем 254. Адреса класса D не связаны с размером сети, они предназначены лишь для групповых рассылок. Четыре байта адреса используются для указания группы адресов, которым предназначены широковещательные пакеты. Эта группа содержит узлы, являющиеся подписчиками таких пакетов. Адреса класса D выбираются из диапазона значений от 224.0.0.0 до 239.255.255.255. Пятый класс адресов, класс Е, используется для исследовательских задач и в первом байте содержит значения от 240 до 255. Помимо классов, существуют некоторые IP-адреса специального назначения (например, адрес 255.255.255.255, который представляет собой широковещательный пакет, посылаемый всем узлам сети). Пакеты, имеющие в первом байте значение 127, используются для тестирования сети. Чтобы указать всю сеть, задается только идентификатор сети, а другие байты содержат нули. Числовые адреса обычно называют IP адресами. Размер 4 байта. Н-р: 141.35.27.80 (141.35-адрес subnet, 27.80-адрес узла). Основной вид адресов – это 4х-байтовый адрес, каждый из которых хранится в виде десятичного числа, разделенные точками. Граница между адресами подсети и узла зависит от класса Различают следующие классы IP-адресов: A, B, C, D, У – классовая система адресации. Адрес класса А Если 1 бит IP-адреса = 0 -> класс А 0 Адрес сети Адрес узла Граница 0000 0000. 0000 0000. 0000 0000. 0000 0000 0111 111. 0.0.0 – граница этого класса 0 – особый адрес, устанавливающий границу класса – нельзя пользоваться 127 – зарезервирован В классе А доступно пространство от 1 до 126 включительно. Это громадные сети, до 224 = 16,8 млн адресов, поэтому редко встречаются Адрес класса В 10 Адрес сети Адрес узла Граница 1000 0000. 0000 0000. 0. 0 1011 111. 1111 1111 .0.0 – граница этого класса 128.0.0.0 191.255.0.0 – границы класса № сети 214 сетей Узлов 216 - средние сети Адреса класса С 1110 Адрес сети адрес узла 2 21 возможностей вариантов подсетей 28 – 256 вариантов узлов Самые распространенные системы адресации в сетях Сети небольшие, но имеют широкие возможности Адреса класса D 1110 0000. 0. 0. 0 – Класс групповых адресов |<- 28 бит под адреса различных узлов-> Граница 28 адресов 28 бит – это адрес multicast, выделен группе От 1110 0000. 0. 0. 0 До 1110 1111. 255. 255. 255 Т.е. от 224.0.0.0 до 239.255.255.255 Имеем 228 таких адресов Если в пакете адрес назначения является multicast, то этот пакет должен быть сразу доставлен нескольким узлам, которые и образуют группу с соответствующими адресами. Основное назначение групповой адресации – это распространение информации по схеме для всей модели: 1 источник – много адресатов (аудио, видео- информация) Для распространения информации многим адресатам используется IGMP –Internet Group Management Protocol, и маршрутизаторы, которые поддерживают данный протокол доводят информацию до всех узлов. Все станции, желающие подключиться к этому протоколу, информируют источника создания инициатора группы. Модифицируются сами маршрутизаторы и их протоколы. Адреса класса Е 1111 0 000. 0 .0 0. Граница От 240.0.0.0 до 247.255.255.255 Адреса этого класса реально не используются, они все зарезервированы. А: 0 – 127 В: 128 – 191 С: 192 – 223 D: 224 – 239 Е: 240 – 247 Т.о. 141.35.27.80 – класс В 141.35.0.0 – подсеть 0.0.27.80 – узел Адреса класса С Не все 256 адреса узлов могут быть использованы из комбинации 28 из-за особых IP-адресов. Особые IP-адреса [ IP-адрес] = 0 =0.0.0.0 - такой адрес не используется [ IP-адрес] = 1 =255.255.255.255 – нет соответствующего разделения на адреса сети и узлов, пакет с таким адресом передается всем узлам той же сети, которой принадлежит источник – ограниченная широковещательная передача (в рамках одной подсети) [Адрес сети] = 0 - адреса такого пакета предполагаемо принадлежат одной и той же сети. [Адрес узла] = 1 – такой пакет будет передан всем узлам той подсети, адрес которой указан в IP-пакете – широковещательная неограниченная передача Особый смысл имеет IP-адрес, у которого первой содержимое – 127 –loopback – он используется для передачи данных самому себе, имитируя таким образом работу в сети – используется для тестирования работы всех уровней стека Некоторые IP-адреса зарезервированы для локального использования, например в класса А: 10.0.0.0 В: 172.16.0.0 – 172.31.0.0 – 16 адресов С: 192.168.0.0 – 192.168.255.0 – 256 адресов Система адресации является негибкой системой и для достижения определенной гибкости был предусмотрен механизм масок, который имеет широкое распространение. Маска – это 4х байтовое число, которое используется в паре с IP-адресом и позволяет гибко устанавливать границу между адресами сетей и узлов. В тех разрядах, которые относятся к адресу сети, в маске установлена единица (непрерывная последовательность 1) и «налагая» - умножая – IP-адрес на маску из IP-адреса можно извлечь адрес сети. А: 10.0.0.0 – адрес 255.0.0.0 – маска В: 141.35.27.80 - адрес 255.255.0.0 - маска С: 192.168.254.1 – адрес 255.255.255.0 - маска Пример 141.35.27.80 141 35 27 80 IP 1000 1101. 00100011. 0001 1011. 0101 0000 х М 1111 1111. 1111 1111. 0000 0000. 0000 0000 = Адрес сети 1111 1111. 1111 1111. 1111 0000. 0000 0000 Адреса узлов Размер маски как правило кратен 8, но это не обязательно 141.35.16.0 – адреса сети 0.0.11.80 – адреса узлов Расширяем маску на 2 бита, остается 214 на адреса, минус 2 адреса – точки соединения маршрутизаторов, и еще 2 адреса – особые адреса IP: 141.35.0.0 141.35.64.0 141.35.128.0 + М: 255.255.192.0 141.35.192.0 Сеть разбита на 4 части Экономное израсходование адресов используется с использованием масок с переменной длиной Маска для 2х-точечных соединений: 255.255.255.252 ->оптимальная маска для соединения 2х станций.253
17Б2В Концепция "виртуализации" в ОС Методы виртуализации
1.Паравиртуализация Заключается во внесении изменений в основную ОС. Разработчик монитора виртуальной машины переопределяет ее интерфейс, заменяя часть подмножества команд исходной системы более эффективными эквивалентами. Пример: MBM Disco для архитектуры MIPS. Любая ОС предназначена для выполнения под управлением паравиртуального монитора, должна быть встроена в его архитектуру. 2.Трансляция двоичного кода Привилегированный код ядра выполняется под контролер транслятора. Транслятор преобразует блок привилегированного кода, заменяя в нем ряд команд для непосредственного выполнения на процессора. Преобразованный блок сохраняется в КЭШ памяти трассировки для повторного использования. Обрабатывается только часть кода, высокая скорость работы, не поддается исходный код системы. 3.Виртуализация процессора Архитектура ЦП поддается виртуализации, если поддерживает прямое выполнение команд виртуальной машины на реальной. Запускается несколько ОС, позволяя монитору виртуальной машины контролировать процессор. Команды ОС (виртуальных машин) выполняются в пользовательском режиме, а команды мониторов в привилегированном. Когда конкретная ОС пытается выполнить привилегированную команду, она перехватывается ЦП и отсылается на монитор виртуальной машины эмулирующей ее выполнение. Обязательным требованием к архитектуре является наличие механизма перехвата, позволяющего монитору непосредственно использовать ЦП. 4.Виртуализацимя памяти При традиционной виртуализации памяти мониторы виртуальной машины поддерживает теневую копию структуры данных для управления памятью каждой виртуальной машины, она называется теневой таблицей страниц и изменяется монитором в соответствии с изменениями физической таблицы. Поддерживается механизм подкачки страниц. Основные сложности: Гостевая ОС на виртуальной машине эффективнее определяет список выгружаемых страниц. Решение: мониторы виртуальной машины взаимодействуют с выполняющейся внутри гостевой ОС надувным процессом (balloom process). Когда виртуальной машине требуется часть физической памяти, то эта память забирается надувным процессом и выгружается на диск. Выполнение нескольких виртуальных машин может привести к трате больших объемов памяти для хранения избыточных копий кода и данных, идентичен для всех виртуальных машин. Решение: монитор виртуальной машины отслеживает содержание физических страниц, проверяя их идентичность, если страницы одинаковы монитор изменяет теневые таблицы страниц виртуальных машин так, чтобы все они указывали на одну и ту же физическую страницу, соответственно лишняя копия освобождается. Это все называется контентнозависимая схема совместного использования страниц. 5.Виртализация ввода/вывода 1 подход: Для систем с ограниченным количеством специфицированных периферийных устройств используется выделенный канальный процессор. Соответственно при таком процессоре монитор передает доступ к устройствам ввода/вывода на прямую к виртуальным машинам. 2 подход: Для систем с большим количеством разнородных устройств поддерживается специализации структуры виртуализации ввода/вывода. Уровень виртуализации содействует для доступа к устройствам систему ввода/вывода и драйверы устройств в базовой ОС. Когда гостевая ОС генерирует команду, уровень виртуализации преобразует ее в вызов системной процедуры. Достоинства: Мониторы виртуальной машины устанавливаются как обычные приложения Вложенная архитектура поддерживает все доступные типы устройств Возможность использования планирования управления ресурсами хост ОС Недостатки: Снижение производительности В системе с несколькими виртуальными машинами требуется механизм маршрутизации прерываний, сигнализирующей о завершении операции на устройстве между виртуальными машинными Технологии виртуализации 1)Vanderpool (Intel) В процессор вводится аппаратная поддержка специализированной программы, менеджер виртуальной машины. Появляется новый режим работы процессора, позволяющий монитору использовать прямое выполнение кода виртуальных машин. В этом режиме сокращается количество перехватов для реализации виртуальных машин, временный перехват одной команды. При возникновении системных событий в ядре ОС процессор сообщает о них монитору и передает ему управление. Монитор программно имитирует действия программного процесса. Набор событий приводящий к вызову монитору настраивается. 2) Pacifica (AMD) – так же используется менеджером вирт машин с перехватом управления гостевой ОС и неограниченными правами доступа
Основные отличия от 1 метода: 2технология обмена трансляции таблиц виртуальной памяти VT использует физические адреса в таблице трансляции, а технология Р – виртуальные адреса. 2использование в Р TLB – тегированный КЕШ трансляции виртуальных адресов, вычисленная память и физическая хранятся в буфере