Лекция 5. Функции сетевого уровня Функции протокола IP Протокол IP (Internet Protocol) входит в состав стека протоколов TCP/IP и является основным протоколом сетевого уровня, использующимся в Интернет и обеспечивающим единую схему логической адресации устройств в сети и маршрутизацию данных. Для выполнения своих функций протокол определяет свой формат пакета. Основными информационными полями заголовка пакета являются; IP-адреса отправителя и получателя – предназначены для идентификации отправителя и получателя; Время жизни пакета – определяет время, которое IP-пакет может находиться в сети, и предназначено для предотвращения «захламления» в сети «заблудившимися» пакетами; Поля, предназначенные для фрагментации пакета (см. IP-фрагментация); Поля, предназначенные для управления обработкой пакета(длина пакета и заголовка, контрольная сумма заголовка, тип обслуживания). С точки зрения протокола IP, сеть рассматривается как логическая совокупность взаимосвязанных объектов, каждый из которых представлен уникальным IP-адресом, называемых узлами или хостами. Ключевым здесь является слово «логическая», поскольку одно и тоже физическое устройство (компьютер, маршрутизатор) может иметь несколько IPадресов, т.е. соответствовать нескольким узлам логической сети. IP-адресация в компьютерной сети Для правильной доставки данных с одного компьютера на другой необходимо знать адреса отправителя и получателя. Одной из главных и важнейших особенностей Интернет является общее адресное пространство, в котором каждый подключаемый компьютер имеет собственный уникальный адрес. Так как в компьютерах вся информация представляется в цифровом виде, то и адрес, который используют компьютеры, является цифровым. IP-адрес – уникальный числовой адрес компьютера в сети, который имеет длину 32 бита и записывается в виде четырех частей по 8 бит каждая. По формуле определения количества информации легко подсчитать, что общее количество различных IP-адресов составляет более 4 миллиардов: N=232 =4 294 967 296. Поскольку двоичное представление IP-адреса для человека крайне не удобно, то на практике используется так называемая десятичная форма записи IP-адреса. В данном представлении IP-адрес записывается в виде четырех десятичных чисел, называемых октетами, разделенных точками: W.X.Y.Z. Следовательно, каждая часть может быть числом от 0 до 255, а весь IP-адрес имеет вид 192.23.34.45 или 10.2.0.12. Такие адреса состоят из двух частей – номер сети и номер узла. Такая схема аналогична схеме почтовых индексов – первые три цифры кодируют регион, а остальные почтовое отделение внутри региона IP – адреса первых трех классов предназначены для адресации отдельных узлов и отдельных сетей… Существует 5 классов IP – адресов – A, B, C, D, E. Принадлежность IP – адреса к тому или иному классу, определяется значением первого октета. Адреса разных классов отличаются разрядностью их номеров, что определяет возможный их диапазон значений. Адреса D используются для адресации групп компьютеров, а диапазон адресов E зарезервирован и в настоящее время не используется. Класс А Класс B Класс C Класс D Класс E 0 1 1 1 1 7 бит Идентификатор сети 24 бита Идентификатор хоста 14 бит Идентификатор сети 0 1 0 1 1 1 1 16 бит Идентификатор хоста 21 бит Идентификатор сети 28 бит Идентификатор группы 0 1 8 бит Идентификатор хоста 0 27 бит Зарезервировано для использования Класс Диапазон A 0.0.0.0 - 127.255.255.255 B 128.0.0.0 - 191.255.255.255 C 192.0.0.0 - 223.255.255.255 D 224.0.0.0 - 239.255.255.255 E 240.0.0.0 - 247.255.255.255 В таблице отражены основные характеристики IP – адресов классов A,B,C. Характеристика Номер сети Номер узла Адрес сети широковещательный адрес A W X.Y.Z W.0.0.0 W.255.255.255 B W.X Y.Z W.X.0.0 W.X.255.255 C W.X.Y Z W.X.Y.0 W.X.Y.255 При использовании широковещательного адреса, информация передается всем компьютерам данной сети. Наряду с традиционной десятичной формой записи IP – адресов, может использоваться и двоичная форма, отражающая непосредственно способ представления адреса в памяти компьютера. Например, в адресе 190.167.34.2 первые 24 бита могут быть адресом сети, а последние 8 - адресом хоста. Тогда наш адрес будет выглядеть как 10111110101001110010001000000010, где красным цветом выделена часть адреса, адресующая хост внутри локальной сети. Использование масок для IP-адресации Для того, чтобы быстро вычислять по IP-адресу адрес сети или хоста, используется понятие маски подсети (subnet mask). Это двоичное число, в котором все биты адреса сетевой части адреса равны 1, а все остальные биты равны нулю. В нашем случае для адреса 10111110101001110010001000000010 получим маску подсети 11111111111111111111111100000000. Маску подсети принято записывать в том же десятичном формате, что и IP-адрес. Для этого нужно каждый байт маски перевести в десятичное число и записать полученные десятичные числа через точки. В нашем случае 111111112=255 111111112=255 111111112=255 000000002=0 Ответ: 255.255.255.0 - маска подсети. Маску подсети в настоящее время все чаще называют маской сети, что точней отображает ее смысл. IP- маршрутизация Маршрутизация (routing) процесс выбора пути для передачи пакета в сети. Под путем (маршрутом) понимается последовательность маршрутизаторов, через которые проходит пакет по пути к узлу-назначению. Маршрутизатор – это специальное устройство, предназначенное для объединения сетей и обеспечивающее определение пути прохождения пакетов в составной сети. Маршрутизатор должен иметь несколько IP-адресов с номерами сетей, соответствующими номерам объединяемых сетей. В качестве маршрутизатора может быть использован компьютер. Если ваш компьютер, имеющий IP адрес 192.169.204.12 и маску подсети 255.255.192.0 должен отправить информацию компьютеру с адресом 192.169.198.15, то, прежде всего ваш компьютер проверит, находится ли получатель информации в той же сети. Для этого двоичное представление адреса получателя он побитово умножит на двоичное представление маски подсети, то в результате получится адрес сети: 11000000101010001100011000001100 (адрес компьютера - получателя) * 11111111111111111100000000000000 (текущая маска подсети) ---------------------------------------------------------11000000101010001100000000000000 (адрес сети получателя) Аналогичную процедуру компьютер проделает со своим адресом для того, чтобы узнать адрес своей собственной сети: 11000000101010011100110000001100 (адрес компьютера - отправителя) * 11111111111111111100000000000000 (текущая маска подсети) ---------------------------------------------------------11000000101010011100000000000000 (адрес своей собственной сети) Адрес сети получателя совпадает с адресом собственной сети. Следовательно, получатель находится в локальной сети, и информация может быть послана напрямую. Если бы совпадения не произошло, то информация была бы отправлена маршрутизатору (с адресом, например,192.168.192.2) с указанием адреса получателя 192.169.204.15, а он переслал бы ее в другую сеть. Этот процесс продолжался бы до тех пор, пока информация не дошла бы до получателя. Выбор пути на маршрутизаторе осуществляется на основе информации, представленной в таблице маршрутизации. Таблица маршрутизации – это пециальная таблица, сопоставляющая IP-адресам сетей адреса следующих маршрутизаторов, на которые следует отправлять пакеты с целью их доставки в эти сети. Обязательной записью в таблице маршрутизации является маршрут по умолчанию, содержащий информацию о том, как направлять пакеты в сети, адреса которых не присутствуют в таблице, поэтому нет необходимости описывать в таблице маршруты для всех сетей. IP-фрагментация Иногда на маршрутизаторе может потребоваться разделение IP-пакетов на более мелкие пакеты. Для того, чтобы данные могли быть правильно собраны получателем, в заголовки новых IP-пакетов помещается числовой идентификатор, позволяющий однозначно определить, что эти пакеты являются фрагментами одного большого пакета.