Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Межсетевой уровень и протокол IP (Internet Protocol)




АДРЕСАЦИЯ В IP-СЕТЯХ

Типы адресов стека TCP/IP

В стеке TCP/IP используются три типа адресов: локальные (называемые также аппаратными или физическими), IP-адреса (называемые также сетевыми, логическими или протокольными) и символьные доменные имена.

В терминологии TCP/IP под локальным адресом понимается такой тип адреса, который используется средствами базовой технологии для доставки данных в пределах подсети, являющейся элементом составной сети. Если подсетью соста вной сети является локальная сеть, то локальный адрес – это MAC-адрес (Media Access Control-адрес).

MAC-адрес назначается сетевым адаптерам и сетевым интерфейсам маршрутизаторов.

MAC-адрес состоит из двух частей – 24-разрядного уникального идентификатора организации (OUI, Organizationally Unique Identifier), назначаемого Комитетом IEEE каждому производителю оборудования, и 24-разрядного номера, назначаемого самим производителем для каждой изготовленной им платы. Например: 00-60-2F-3A-07-BC.

MAC-адрес – это адрес, используемый на канальном уровне.

Рис. 1 Структура MAC-адреса

Сетевой (IP-адрес) назначается администратором во время конфигурирования компьютеров и маршрутизаторов.

IPv4 – адрес является уникальным 32-битным идентификатором IP-интерфейса в сети Интернет и используется на сетевом уровне. Он состоит из 4 байт.IP-адрес состоит из двух частей: номера сети и номера узла. Номер узла назначается независимо от локального адреса узла.IP-адрес принято записывать разбивкой его на октеты, каждый октет записывается в виде десятичного числа, числа разделяются точками.Например, адрес10100000010100010000010110000011записывается как

10100000.01010001.00000101.10000011 = 160.81.5.131

IPv6 – адрес является уникальным 128-битным идентификатором IP-интерфейса в сети Интернет (иногда называют Internet-2).

Информацию о поддержке протокола IPv6 в новых версиях операционных систем, маршрутизаторах и других сетевых продуктах можно найти на сайтах:

http://www.ipv6forum.com,

http://www.ipv6.ru,
http://playground.sun.com/pub/ipng,
http://www.ipv6.org.

Набор документов RFC для IPv6 и информацию по вопросам перехода с IPv4 на IPv6 можно найти на сервере IETF по адресам:

http://www.ietf.org/rfc.html,
http://www.ietf.org/html.charters/ipngwg-charter.html,
http://www.ietf.org/html.charters/ngtrans-charter.html.

Символьный адрес. Это идентификатор-имя DNS (Domain Name System – доменная система имен), например, оpds.sut.ru. На этапе становления Интернет был составлен полный список, в который включили имена всех компьютеров, подсоединенных к сети. Однако из-за быстрого увеличения их количества, с одной стороны, и ежедневных изменений в подсоединенных сетях, с другой стороны, вскоре оказалось невозможным постоянно обновлять такой список. Эти обстоятельства привели к созданию доменной системы имен.Эта система разделяет адреса по иерархии различных доменов (domain – область), представляющих собой определенную группу компьютеров.Как видно из рассмотренного примера, в полном доменном адресе сначала указывают нужный компьютер: оpds. Затем следуют домены по мере возрастания их уровня. Домен sut включает в себя группу компьютеров, расположенных в Государственном университете телекоммуникаций им проф. М.А. Бонч-Бруевича. Домен ru - это компьютеры, расположенные на территории России.В доменах провайдеры создают так называемые серверы имен. Они представляют собой компьютеры, которые ищут адрес нужного домена и устанавливают связь с сетью, обслуживающей соответствующий домен.Таким образом, вместо полного списка всех компьютеров в Интернет имеются частные списки по доменам.Домены составляются либо по географическим, либо по тематическим признакам.

Примерами доменов, выделенных по тематическим признакам, являются:

com (commercial) – все коммерческие предприятия в Интернет,

edu (educational) – все учебные заведения,

gov (government) – правительственные учреждения разных стран,

org (organization) – некоммерческие организации.

Примеры географических доменов:

jp (Japan) – Япония,

uk (United Kingdom) – Великобритания,

nl (Netherlands) – Нидерланды,

ca (Canada) – Канада.

Классы IP-адресов

Сетевой адрес состоит из двух логических частей - номера сети и номера узла в сети. Класс сети определяется значениями первых битов адреса (рис. 5.18):

• Сети класса А. Номер сети занимает один байт, остальные три байта определяют номер узла в сети. Для сетей класса А разрешено иметь номера в диапазоне от 1.0.0.0 до 126.0.0.0. Сеть с номером 0.0.0.0 зарезервирована для использования в служебных сообщениях, а сеть с номером 127.0.0.0 используется для петлевого соединения (пересылки пакетов самим себе), поэтому общее количество сетей класса А равно 126. Адреса сетей класса А должны иметь первый бит равный 0.

• Сети класса B. Номер сети и номер узла занимают по два байта. Для сетей класса В разрешено иметь номера в диапазоне от 128.0.0.0 до 191.255.0.0. Адреса сетей класса В должны иметь первые два бита равные 10.

• Сети класса С. Номер сети и занимает три байта, номер узла - один. Для сетей класса С разрешено иметь номера в диапазоне от 192.0.1.0 до 223.255.225.0. Адреса сетей класса С должны иметь первые три бита равные 110.

• Сети класса D. Сети этого класса имеют особый групповой адрес - multicast. Для сетей класса D разрешено иметь номера в диапазоне от 224.0.0.0 до 239.255.225.225. Пакет с адресом, принадлежащим сети класса D, будет получен всеми узлами, имеющими данный адрес. Адреса сетей класса D должны начинаться с последовательности 1110.

• Сети класса Е. Сети этого класса не используются и зарезервированы для будущих применений. Для сетей класса Е разрешено иметь номера в диапазоне от 240.0.0.0 до 247.255.225.225. Адреса сети класса Е должны начинаеться с последовательности 11110.

Специальные IP адреса

В протоколе IP существуют несколько специальных IP адресов:

если в поле номера сети стоят 0, то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет;

если в поле номера узла назначения стоят сплошные 1, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером. Такая рассылка называется широковещательным сообщением (broadcast);

адрес 127.0.0.1 зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback.

Пакет, имеющий адрес multicast, будет доставлен сразу нескольким узлам, образующих группу с номером, указанным в поле адреса. Такие сообщения, в отличие от широковещательных, называются мультивещательными. Групповой адрес обрабатывается маршрутизатором особым образом и не делится на поля номера сети и узла.

Рис. 2 Классы IP-адресов

 

Существует ряд адресов, которые используются для организации частных сетей, то есть локальных сетей, осуществляющих обмен данными по протоколам TCP/IP (автономные IP-сети). Применение таких адресов также позволяет легко интегрировать подобную локальную сеть в Интернет при помощи только одного “реального” IP-адреса, выделенного маршрутизатору сети.

Все пакеты, проходящие через этот маршрутизатор, автоматически получают в качестве адреса отправителя адрес маршрутизатора и, таким образом, могут быть корректно обработаны другими маршрутизаторами сети. При этом маршрутизатор, занимающийся преобразованием адресов, ведёт специальную таблицу, в которой записывается, с какого адреса “внутренней” сети на какой адрес “внешней” сети был послан запрос (а также ряд других сведений).

При получении от “внешнего” сервера ответа (пакета с некоторыми данными) маршрутизатор-преобразователь сверяется с таблицей и если находит тот адрес, который запросил пакет, то перенаправляет его получателю. В противном случае пакет уничтожается, и противоположная сторона информируется об этом по протоколу ICMP.

Данный подход может быть также полезен для защиты от несанкционированного доступа как “снаружи” сети, так и “изнутри” (имеется в виду несанкционированная передача некой информации из сети “наружу”).

В соответствии с RFC 1918, это диапазоны: в классе А – 10.0.0.0 ÷ 10.255.255.255; в классе B – 172.16.0.0 ÷ 172.31.255.255; в классе C – 192.168.0.0 ÷ 192.168.255.255.

Маски

Маска сети – число, состоящее из четырёх байт. Она представляется десятичными числами, разделёнными точками и используется в паре с IP-адресом. В разрядах IP-адреса, определяющих номер сети, маска содержит десятичные числа 255. Маски позволяют выделять пользователям более узкие диапазоны адресов, чем это разрешается в сетях различных классов. Наименьшим выделяемым диапазоном без использования масок является сеть класса C, т.е. 256 адресов. При использовании маски, запись 192.168.1.253 mask 255.255.255.252 определяет адрес 192.168.1.253 в подсети из четырех адресов: 192.168.1.252 - 192.168.1.255.

Примеры распределения IP-адресов

Рис. 5.19. Пример распределения IP-адресов

Рис. 5.20. Адреса интерфейсов

Рис. 5.21. Сетевые адреса

Рис. 3 Две локальные сети, соединенные маршрутизатором

Маршрутизатор подключается к двум или более сетям, каждая из которых воспринимает его как хост-ЭВМ. Поэтому маршрутизатор имеет физический интерфейс и специальный IP-адрес в каждой из подключаемых сетей.

Рис. 4 Три маршрутизатора, соединяющие шесть хостов

 

Межсетевой уровень и протокол IP (Internet Protocol)

Основу межсетевого уровня (уровня межсетевого взаимодействия) составляет IP-протокол: версия IPv4 – RFC 791 (1981 г.), версия IPv6 – RFC 2460 (1998 г.).Пакет, передаваемый по сети Интернет, называют IP-дейтаграммой или IP-пакетом. Основными функциями протокола IP являются:• перенос между сетями различных типов адресной информации унифицированной форме;• сборка и разборка пакетов при передаче их между сетями с различным максимальным значением длины пакета.

Основными характеристиками протокола IP являются: • формат IP пакета; • способ обработки конфликтных ситуаций;

• способ маршрутизации.

Ненадежность доставки: • не гарантируется доставка пакетов получателю; • по пути следования пакет может быть утерян, продублирован, задержан;

• пакеты могут быть доставлены с нарушением порядка следования.Для доставки пакетов не требуется предварительного установления соединения (т.е. пути следования пакетов), так как каждый пакет считается независимым от остальных. Поэтому пакеты от отправителя до получателя могут проходить по разным маршрутам.В протоколе IP применяют четыре основных механизма для обеспечения межсетевых услуг: вид обслуживания, время жизни, контрольная сумма заголовка, дополнительные возможности (опции). Вид обслуживания используется для указания требуемого качества обслуживания межсетевой дейтаграммы (МД) при её передаче через межсетевую систему. Время жизни является указателем верхней границы времени существования некоторой межсетевой дейтаграммы в сети. Этот указатель задаётся отправителем и уменьшается по мере движения МД по точкам маршрута (по шлюзам), если время МД становится нулевым до того, как она достигнет получателя, то эта дейтаграмма уничтожается. Контрольная сумма заголовка обеспечивает защиту данных в нём, если модуль обнаруживает ошибку в заголовке, то эта МД уничтожается модулем, который её обнаружит. Дополнительные возможности обеспечивают выполнение некоторых дополнительных услуг, например, по защите данных, специальной маршрутизации.

Межсетевая дейтаграмма

Структура IP-пакета: заголовок и блок данных.

В заголовок IP-пакета включен набор правил, обеспечивающих доставку пакета данных получателю. В этих правилах оговариваются способы обработки пакетов узлами сети и маршрутизаторами, а также условия, при возникновении которых должны генерироваться сообщения об ошибке, а пакеты удаляться из сети.

Версия (Version) Длина заголовка (Header Length) Тип сервиса (Type of Service) Полная длина пакета (Total Length)
Общий идентификатор (Identification) Флаг (Flag) Фрагментное смещение (Fragment Offset)
Время жизни (TTL - Time To Live) Тип протокола (Protocol) Контрольная сумма заголовка (Header Checksum)
IP-адрес отправителя (Source Address)
IP-адрес получателя (Destination Address)
Вспомогательные параметры IP (опции IP) (Options) Заполнитель (Padding) (дополнение до 32 бит)
Данные (Data) ...
           

Рис. 5 Формат IP-пакета

Функциональное назначение полей заголовка.Поле Версия (Version) указывает номер версии данного протокола межсетевого уровня. В настоящее время наряду с 4-й версией протокола (т.е. в поле — 0100) начинается использование протокола 6-й версии (т.е. в поле — 0110).Поле Длина заголовка (Header Length) указывает длину заголовка межсетевой дейтаграммы в 32-разрядных словах. Минимальная длина — пять слов, максимальная длина — пятнадцать 32-разрядных слов (на рисунке заголовок имеет шесть слов).

Поле Тип сервиса (Type of Service) указывает параметры требуемого качества обслуживания.

Рис. 6 Поле Тип сервиса (Type of Service)

Приоритет (precedence) предоставляет возможность присвоить код приоритета каждой дейтаграмме.Биты: 12 - D (delay) — задержка, 13 - Т (throughput) — производительность (пропускная способность), 14 - R (reliability) — надёжность, С (cost) — стоимость. Только один бит может быть установлен в 1. По умолчанию все четыре бита равны 0, что означает обычный сервис.Поле Полная длина пакета (Total Length) определяет общую длину дейтаграммы в октетах (байтах), включая заголовок и полезную нагрузку. Полная длина пакета может достигать 65535 байт (216 - 1=65 535). Рекомендуется использовать дейтаграмму длиной 576 байт (т.е. 4608 разрядов) — 552 байта данные плюс 24 байта заголовок.Поле Общий идентификатор (Identification) предназначено для сборки фрагментов межсетевых дейтаграмм.

Поле Флаг (Flag) обеспечивает возможность фрагментации дейтаграмм и, при использовании фрагментации, позволяет идентифицировать последний фрагмент дейтаграммы.

Рис. 7. Поле Флаг (Flag)

Поле Фрагментное смещение указывает место данного фрагмента в межсетевой дейтаграмме. Первый фрагмент имеет смещение, равное нулю.

Для устранения из сети пакетов, задержанных вследствие каких-либо причин, в заголовке в поле Время жизни (TTL - Time To Live) указывается время, в течение которого пакет должен существовать в сети. Значение этого времени уменьшается при прохождении пакета по сети, а по его истечении пакет уничтожается с уведомлением отправителя соответствующим ICMP-сообщеним. Такая мера защищает сеть от циклических маршрутов и от перегрузок.

“Время жизни” задаётся в секундах — максимально 255 секунд (приблизительно 4,3 минуты). Однако часто в этом поле указывается максимальное количество хостов, через которые может пройти дейтаграмма. Это является полезным в том случае, когда задержки в сети имеют достаточно большие значения; тогда даже при суммарной задержке более 255 секунд есть вероятность доставки дейтаграммы получателю, если количество транзитных хостов не превысило максимально допустимое значение, определённое в данном поле.

Поле Тип протокола (Protocol) идентифицирует протокол верхнего уровня (ICMP - 1, IGMP - 2, TCP - 6, UDP - 17), который будет использован при обработке поля данных межсетевой дейтаграммы.

Протоколы транспортного уровня (протоколы TCP или UDP), пользующиеся сетевым уровнем для отправки пакетов, считают, что максимальный размер поля данных IP-пакета равен 65535, и поэтому могут передать ему сообщение такой длины для транспортировки через сеть. В функции протокола IP входит разбиение слишком длинного для конкретного типа составляющей сети сообщения на более короткие пакеты с созданием соответствующих служебных полей, нужных для последующей сборки фрагментов в исходное сообщение.

В большинстве типов локальных и глобальных сетей определяется такое понятие как максимальный размер поля данных кадра или пакета, в которые должен инкапсулировать свой пакет протокол IP (MTU - Maximum Transfer Unit). Так, например, сети Ethernet имеют значение MTU, равное 1500 байт, сети FDDI - 4096 байт, а сети Х.25 чаще всего работают с MTU в 128 байт.

Поле Контрольная сумма заголовка (Header Checksum). Для уменьшения вероятности искажения адресной части пакета и, как результат, отправки его не по адресу (и потере) заголовок пакета препровождается проверочной последовательностью — контрольной суммой, занимающей 2 байта и рассчитываемой по всему заголовку.

Для вычисления контрольной суммы IP-заголовка в исходящей дейтаграмме значение этого поля сначала устанавливается в 0. Затем выполняется сложение (с циклическим переносом из старшего разряда в младший) всех 16-разрядных слов заголовка, и инвертированное значение результата записывается в поле контрольной суммы. При получении IP-дейтаграммы вновь вычисляется сумма 16-разрядных слов заголовка. Так как в заголовке принятой дейтаграммы уже содержится сосчитанная (и инвертированная) отправителем контрольная сумма, в результате должно получиться слово, состоящее только из единиц (если в заголовке ничего не изменилось). Если же получилась другая комбинация (ошибка контрольной суммы), IP-модуль уничтожает дейтаграмму. Никакого сообщения об ошибке не порождается. Обнаружение потери дейтаграммы и повторная передача считаются проблемой, решаемой на вышестоящих уровнях иерархии протоколов.

Поскольку некоторые поля заголовка меняются в процессе движения пакета (например, время жизни), то проверочные разряды пересчитываются в каждой точке обработки межсетевой дейтаграммы. (Алгоритмы подсчета контрольных сумм в протоколах Интернет и их реализация описаны в RFC 1071).

Пример вычисления контрольной суммы заголовка (Header Checksum) IP-пакета

Вычисление контрольной суммы заголовка IP-пакета покажем на примере кадра, при вычислении контрольной суммы (TCP checksum) TCP-сегмента.

Для вычисления контрольной суммы IP-заголовка значение этого поля сначала устанавливается в 0. Затем выполняется сложение (с циклическим переносом из старшего разряда в младший) всех 16-разрядных слов заголовка, и инвертированное значение результата записывается в поле контрольной суммы.

Заголовок IP-пакета

45 00 00 38
89 28 40 00
80 06 КС=0
C0 A8 01 32
C3 13 DB 88

IP-адреса, содержащиеся в заголовке (IP-адрес отправителя (Source Address), IP-адрес получателя (Destination Address)), являются 32-битовыми идентификаторами объектов сети - оконечных установок и маршрутизаторов.Поле Вспомогательные параметры IP (опции IP) (Options) — определяет наличие дополнительных услуг, имеет переменную длину и может присутствовать или отсутствовать в межсетевой дейтаграмме.

Поле Заполнитель (Padding) применяется для выравнивания заголовка на 32-разрядную границу.

Фрагментация

IP протокол реализует операции сборки и разборки пакетов, связанные с использованием сетей, в которых применяются форматы меньших длин, чем в пакетах получаемых от транспортного уровня. Формат IP-пакета согласуется с форматами пакетов используемых сетей.Части, на которые разделяется дейтаграмма (IP-пакет), называются фрагментами, а сам процесс разделения - фрагментацией.

Рис. 8Пример выполнения фрагментации в сети

В процессе передачи данных в сети Интернет может возникнуть необходимость передать некоторые управляющие сообщения отправителю, например, о недостижимости адресата, истечении времени жизни, о возникновении ошибки в заголовке, а также о переадресации межсетевой дейтаграммы. Для этого используется протокол ICMP, который является составной частью протокола IP и должен быть реализован в каждом межсетевом модуле IP.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...