• использование более длинных адресов. Новый размер адреса – наиболее заметное отличие IPv6 от IPv4. Версия 6 использует 128-битные адреса (16 байтов);
• гибкий формат заголовка. Вместо заголовка с фиксированными полями фиксированного размера (за исключением поля Резерв), IPv6 использует базовый заголовок фиксированного формата плюс набор необязательных заголовков различного формата;
• поддержка резервирования пропускной способности;
• поддержка расширяемости протокола. Это одно из наиболее значительных изменений в подходе к построению протокола – от полностью детализированного описания протокола к протоколу, который разрешает поддержку дополнительных функций.
Адресация в IPv6
Адреса в IPv6 имеют длину 128 битов или 16 байтов. Версия 6 обобщает специальные типы адресов версии 4 в следующих типах адресов:
• Unicast – индивидуальный адрес. Определяет отдельный узел – компьютер или порт маршрутизатора. Пакет должен быть доставлен узлу по кратчайшему маршруту;
• Cluster – адрес кластера. Обозначает группу узлов, которые имеют общий адресный префикс (например, присоединенных к одной физической сети). Пакет должен быть маршрутизирован группе узлов по кратчайшему пути, а затем доставлен только одному из членов группы (например, ближайшему узлу);
• Multicast – адрес набора узлов, находящихся в том числе в различных физических сетях. Копии пакета должны быть доставлены каждому узлу набора с использованием аппаратных возможностей групповой или широковещательной доставки, если это возможно.
Как и в версии IPv4, адреса в версии IPv6 делятся на классы, в зависимости от значения нескольких старших битов адреса.
Большая часть классов зарезервирована для будущего применения. Наиболее интересным для практического использования является класс, предназначенный для провайдеров услуг Интернета, названный Provider-Assigned Unicast.
Для обеспечения совместимости со схемой адресации версии IPv4, в версии IPv6 имеется класс адресов, имеющих 0000 0000 в старших битах адреса. Младшие 4 байта адреса этого класса должны содержать адрес IPv4. Маршрутизаторы, поддерживающие обе версии адресов, должны обеспечивать трансляцию при передаче пакета из сети, поддерживающей адресацию IPv4, в сеть, поддерживающую адресацию IPv6, и наоборот.
Сетевые пакеты
Как уже упоминалось, информация по сети передается определенными порциями – пакетами. Причем, на каждом уровне пакет имеет свой размер и структуру. В результате в пакет нижнего уровня вкладывается пакет следующего уровня и т. д. Так же понятно, что чем более высокого уровня пакет, тем меньше информации он может содержать в себе. Размеры пакетов ограничиваются как особенностями аппаратуры, так и требованиями протоколов.
Маршрутизация пакетов
Маршрутизация – механизм передачи пакетов между сетями. При маршрутизации пакетов решается задача, как за наименьшее время, по кратчайшему пути, с минимальной стоимостью доставить пакет. Как правило, в совокупности решить эту задачу не представляется возможным. Поэтому протоколы маршрутизации пакетов должны иметь возможность задавать различные правила и стратегии маршрутизации. К примеру, доставить пакет с максимальной скоростью или с минимальной стоимостью.
Протоколы маршрутизации
Протоколы маршрутизации классифицируются как протокол внутреннего шлюза (Interior Gateway Protocol, IGP) или протокол внешнего шлюза (Exterior Gateway Protocol, EGP).
Протокол внутреннего шлюза управляет маршрутизацией в пределах сети или группы сетей одного владельца, носящей название "автономная система". Внутри автономных систем имеется только список сетей, входящих в автономную систему, и известны точки взаимодействия с внешним миром.
Протокол внешнего шлюза отвечает за маршрутизацию между автономными системами.
На сегодняшний день широко используются следующие протоколы маршрутизации:
• RIP (Routing Information Protocol) – протокол данных маршрутизации. Устаревший протокол. Тем не менее, достаточно широко распространен благодаря утилите routed, которая является стандартной программой для операционных систем UNIX-семейства;
• OSPF (Open Shortest Path First) – протокол выбора кратчайшего пути. Протокол промышленного уровня. Рассчитан на крупные сети со сложной топологией. Более гибок, чем протокол RIP, однако по сравнению с ним сложнее в администрировании;
• IGRP (Interior Gateway Routing Protocol) – протокол маршрутизации внутреннего шлюза. Используется маршрутизаторами CISCO. По всей видимости, скоро сойдет со сцены;
• EGP (Exterior Gateway Protocol) – протокол внешнего шлюза. Старый протокол времен зарождения Интернета. Практически вытеснен протоколом BGP;
• BGP (Border Gateway Protocol) – протокол граничного шлюза. Протокол, в отличие от EGP, поддерживает сложную топологию сети. Имеет возможность широкой настройки стратегии маршрутизации;
• DVMRP (Vector Multicast Routing Protocol) – протокол групповой маршрутизации по вектору расстояния;
• RIP, OSPF и IGRP – внутренние протоколы; EGP и BGP – внешние протоколы.
Адресация в TCP/IP
Каждый компьютер в сети IP имеет адреса трех уровней:
1. Локальный адрес узла , определяемый технологией (например, Ethernet), с помощью которой построена отдельная сеть, в которую входит данный узел. Для узлов, входящих в локальные сети – это МАС-адрес (Media Access Control) сетевого адаптера. МАС-адреса назначаются производителями оборудования и являются (теоретически) уникальными адресами, т. к. управляются централизованно, однако большинство производителей Ethernet-карт предоставляют утилиту для переназначения МАС-адреса. Для всех существующих технологий локальных сетей МАС-адрес имеет 6-байтовый формат: старшие 3 байта – идентификатор фирмы-производителя, а младшие 3 байта назначаются уникальным образом самим производителем.
• IP-adpec , состоящий из 4 байтов (стандарт IPv4) или 16 байтов (стандарт IPv6). Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования сети. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно либо назначен по рекомендации специального подразделения Интернета (Network Information Center, NIC), если сеть должна работать как составная часть Интернета.
• Символьный идентификатор-имя , например, tosser.mail.ru. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени фирмы, имени домена. Такой идентификатор-имя используется на прикладном уровне, например, в протоколе FTP.
IP-адрес состоит из двух частей: сетевой части и адреса хоста. На основании сетевой части адреса принимается решение о сетевой маршрутизации. Адрес хоста однозначно определяет сетевое устройство, которое, в большинстве случаев, совпадает с хостом (как обычно, не обойтись без исключений – некоторые компьютеры имеют несколько IP-адресов). Стандартно IP-адреса записываются как десятичные числа (по одному на каждый байт адреса), разделенные точками. К примеру, 192.168.44.2. Однако не все сетевые адреса могут использоваться для назначения их компьютерам. Исключениями являются адреса 0.0.0.0, 127.0.0.1, 255.255.255.255 и некоторые другие. Существует несколько классов сетевых адресов (табл. 3.6).
Таблица 3.6. Распределение сетевых адресов по классам сетей
* В колонке «Формат» буквы С обозначают сетевую часть адреса, а буквы М – его компьютерную часть.
Выделением IP-адресов занимается служба регистрации информационного центра InterNIC, но если необходимо получить 4–5 IP-адресов, то их вполне может предоставить любой интернет-провайдер. Однако не все адреса предназначены для доступа из Интернета. Существует группа адресов, предназначенных для использования только в локальных сетях. Вот эти адреса:
• 10.0.0.0-10.255.255.255
• 172.16.0.0-172.31.255.255
• 192.168.0.0-192.168.255.255
Как можно видеть, это адреса классов А, В и С соответственно.
Несколько IP-адресов имеют специальное значение:
• адрес, в котором сетевая часть содержит нули, соответствует хосту в локальной сети. Например, 0.0.0.145 соответствует рабочей станции 145 в локальной сети, а адрес 0.0.0.0 – текущему хосту;
• сеть с адресом 127.Х.Х.Х – является фиктивной сетью, не имеющей никаких аппаратных сетевых интерфейсов и состоящей только из локального компьютера. Адрес 127.0.0.1 всегда обозначает текущую машину и имеет символическое имя localhost;
• адрес, содержащий в какой-либо части число 255, обозначает широковещательный адрес. Например, пакет, посланный по адресу 192.168.3.255, будет отослан всем компьютерам в сети 192.168.3, а пакет, посланный по адресу 255.255.255.255, отправится по всем компьютерам Интернета.
Символьные имена Интернета имеют следующую структуру:
Имя_компьютера.домен3уровня.домен2уровня.домен1уровня
Например: www.rambler.ru, www.yahoo.com, www.fklan.com.ua.
Домены первого уровня стандартизированы и состоят из двух или трех букв латинского алфавита. Правда, в последнее время вводятся домены первого уровня, состоящие из более чем трех букв, но пока массового распространения они не получили. Как правило, домен первого уровня может иметь имя типа com, org, net, mil или двухсимвольного названия страны, за которой закреплен домен: ru – Россия, иа – Украина, uk – Великобритания. Относительно имени домена второго уровня строгих правил нет. Для доменов первого уровня типа com домен второго уровня имеет имя компании или фирмы. Для домена страны правило именования несколько другие. В частности, для России имя домена второго уровня определяется покупателем -k примеру, exler.ru, а для Украины имя домена второго уровня – это либо название областного центра (odessa.ua), либо имя типа com, org, net, mil. Похожая ситуация наблюдается и в других странах – Швеция, Франция, Германия имена доменов второго уровня жестко не закрепляют, а Великобритания, Тайвань, Япония – закрепляют.