неверно что к протоколу ip относится такая функция как
Неверно что к протоколу ip относится такая функция как
2.1. Классовая модель 2.2. Бесклассовая модель(CIDR) 2.3. Запись адресов в бесклассовой модели
1. Функции протокола IP
Протокол IP находится на межсетевом уровне стека протоколов TCP/IP. Функции протокола IP определены в стандарте RFC-791 следующим образом: “Протокол IP обеспечивает передачу блоков данных, называемых дейтаграммами, от отправителя к получателям, где отправители и получатели являются компьютерами, идентифицируемыми адресами фиксированной длины (IP-адресами). Протокол IP обеспечивает при необходимости также фрагментацию и сборку дейтаграмм для передачи данных через сети с малым размером пакетов”.
Гарантию правильной передачи данных предоставляют протоколы вышестоящего уровня (например, протокол TCP), которые имеют для этого необходимые механизмы.
Общий сценарий работы модуля IP на каком-либо узле сети, принимающего дейтаграмму из сети, таков:
При получении данных от вышестоящего уровня для отправки их по сети IP-модуль формирует дейтаграмму с этими данными, в заголовок которой заносятся адреса отправителя и получателя (также полученные от транспортного уровня) и другая информация; после чего выполняются следующие шаги:
Здесь и далее узлом сети называется компьютер, подключенный к сети и поддерживающий протокол IP. Узел сети может иметь один и более IP-интерфейсов, подключенных к одной или разным сетям, каждый такой интерфейс идентифицируется уникальным IP-адресом.
IP-сетью называется множество компьютеров (IP-интерфейсов), часто, но не всегда подсоединенных к одному физическому каналу связи, способных пересылать IP-дейтаграммы друг другу непосредственно (то есть без ретрансляции через промежуточные компьютеры), при этом IP-адреса интерфейсов одной IP-сети имеют общую часть, которая называется адресом, или номером, IP-сети, и специфическую для каждого интерфейса часть, называемую адресом, или номером, данного интерфейса в данной IP-сети.
Маршрутизатором, или шлюзом, называется узел сети с несколькими IP-интерфейсами, подключенными к разным IP-сетям, осуществляющий на основе решения задачи маршрутизации перенаправление дейтаграмм из одной сети в другую для доставки от отправителя к получателю.
Хостами называются узлы IP-сети, не являющиеся маршрутизаторами. Обычно хост имеет один IP-интерфейс (например, связанный с сетевой картой Ethernet или с модемом), хотя может иметь и несколько.
Маршрутизаторы представляют собой либо специализированные вычислительные машины, либо компьютеры с несколькими IP-интерфейсами, работа которых управляется специальным программным обеспечением. Компьютеры конечных пользователей, различные серверы Интернет и т.п. вне зависимости от своей вычислительной мощности являются хостами.
Неотъемлемой частью IP-модуля является протокол ICMP (Internet Control Message Protocol), отправляющий диагностические сообщения при невозможности доставки дейтаграммы и в других случаях. Совместно с протоколом IP работает также протокол ARP (Address Resolution Protocol), выполняющий преобразования IP-адресов в MAC-адреса (например, адреса Ethernet).
2. IP-адреса
IP-адрес является уникальным 32-битным идентификатором IP-интерфейса в Интернет. Часто говорят, что IP-адрес присваивается узлу сети (например, хосту); это верно в случае, если узел является хостом с одним IP-интерфейсом, иначе следует уточнить, об адресе какого именно интерфейса данного узла идет речь. Далее для краткости там, где это не вызовет неверного толкования, вместо адреса IP-интерфейса узла сети говорится об IP-адресе хоста.
IP-адреса принято записывать разбивкой всего адреса по октетам, каждый октет записывается в виде десятичного числа, числа разделяются точками. Например, адрес
IP-адрес хоста состоит из номера IP-сети, который занимает старшую область адреса, и номера хоста в этой сети, который занимает младшую часть. Положение границы сетевой и хостовой частей (обычно оно характеризуется количеством бит, отведенных на номер сети) может быть различным, определяя различные типы IP-адресов, которые рассматриваются ниже.
2.1. Классовая модель
В классовой модели IP-адрес может принадлежать к одному из четырех классов сетей. Каждый класс характеризуется определенным размером сетевой части адреса, кратным восьми; таким образом, граница между сетевой и хостовой частями IP-адреса в классовой модели всегда проходит по границе октета. Принадлежность к тому или иному классу определяется по старшим битам адреса.
Класс А. Старший бит адреса равен нулю. Размер сетевой части равен 8 битам. Таким образом, может существовать всего примерно 2 7 сетей класса А, но каждая сеть обладает адресным пространством на 2 24 хостов. Так как старший бит адреса нулевой, то все IP-адреса этого класса имеют значение старшего октета в диапазоне 0 — 127, который является также и номером сети.
Класс В. Два старших бита адреса равны 10. Размер сетевой части равен 16 битам. Таким образом, может существовать всего примерно 2 14 сетей класса В, каждая сеть обладает адресным пространством на 2 16 хостов. Значения старшего октета IP-адреса лежат в диапазоне 128 — 191, при этом номером сети являются два старших октета.
В классе А выделены две особые сети, их номера 0 и 127. Сеть 0 используется при маршрутизации как указание на маршрут по умолчанию и в других особых случаях.
Другой пример: в сети 135.198.0.0 (класс В, номер хоста занимает два октета) широковещательный адрес 135.198.255.255, диапазон номеров хостов: 0.1 — 255.254 (135.198.0.1 — 135.198.255.254).
2.2. Бесклассовая модель (CIDR)
Предположим, в локальной сети, подключаемой к Интернет, находится 2000 компьютеров. Каждому из них требуется выдать IP-адрес. Для получения необходимого адресного пространства нужны либо 8 сетей класса C, либо одна сеть класса В. Сеть класса В вмещает 65534 адреса, что много больше требуемого количества. При общем дефиците IP-адресов такое использование сетей класса В расточительно. Однако если мы будем использовать 8 сетей класса С, возникнет следующая проблема: каждая такая IP-сеть должна быть представлена отдельной строкой в таблицах маршрутов на маршрутизаторах, потому что с точки зрения маршрутизаторов — это 8 абсолютно никак не связанных между собой сетей, маршрутизация дейтаграмм в которые осуществляется независимо, хотя фактически эти IP-сети и расположены в одной физической локальной сети и маршруты к ним идентичны. Таким образом, экономя адресное пространство, мы многократно увеличиваем служебный трафик в сети и затраты по поддержанию и обработке маршрутных таблиц.
С другой стороны, нет никаких формальных причин проводить границу сеть-хост в IP-адресе именно по границе октета. Это было сделано исключительно для удобства представления IP-адресов и разбиения их на классы. Если выбрать длину сетевой части в 21 бит, а на номер хоста отвести, соответственно, 11 бит, мы получим сеть, адресное пространство которой содержит 2046 IP-адресов, что максимально точно соответствует поставленному требованию. Это будет одна сеть, определяемая своим уникальным 21-битным номером, следовательно, для ее обслуживания потребуется только одна запись в таблице маршрутов.
Единственная проблема, которую осталось решить: как определить, что на сетевую часть отведен 21 бит? В случае классовой модели старшие биты IP-адреса определяли принадлежность этого адреса к тому или иному классу и, следовательно, количество бит, отведенных на номер сети.
В случае адресации вне классов, с произвольным положением границы сеть-хост внутри IP-адреса, к IP-адресу прилагается 32-битовая маска, которую называют маской сети (netmask) или маской подсети (subnet mask). Сетевая маска конструируется по следующему правилу:
2.3. Запись адресов в бесклассовой модели
Для удобства записи IP-адрес в модели CIDR часто представляется в виде a.b.c.d / n, где a.b.c.d — IP адрес, n — количество бит в сетевой части.
Маска сети для этого адреса: 17 единиц (сетевая часть), за ними 15 нулей (хостовая часть), что в октетном представлении равно
Представив IP-адрес в двоичном виде и побитно умножив его на маску сети, мы получим номер сети (все нули в хостовой части). Номер хоста в этой сети мы можем получить, побитно умножив IP-адрес на инвертированную маску сети.
Пример: IP = 205.37.193.134/26 или, что то же,
IP = 205.37.193.134 netmask = 255.255.255.192.
Распишем в двоичном виде:
или, в октетном представлении, 205.37.193.128/26, или, что то же, 205.37.193.128 netmask 255.255.255.192.
Хостовая часть рассматриваемого IP адреса равна 000110, или 6. Таким образом, 205.37.193.134/26 адресует хост номер 6 в сети 205.37.193.128/26. В классовой модели адрес 205.37.193.134 определял бы хост 134 в сети класса С 205.37.193.0, однако указание маски сети (или количества бит в сетевой части) однозначно определяет принадлежность адреса к бесклассовой модели.
Упражнение. Покажите, что адрес 132.90.132.5 netmask 255.255.240.0 определяет хост 4.5 в сети 132.90.128.0/20 (в классовой модели это был бы хост 132.5 в сети класса В 132.90.0.0). Найдите адрес broadcast для этой сети.
Очевидно, что сети классов А, В, С в бесклассовой модели представляются при помощи масок, соответственно, 255.0.0.0 (или /8), 255.255.0.0 (или /16) и 255.255.255.0 (или /24).
3. Маршрутизация
Процесс маршрутизации дейтаграмм состоит в определении следующего узла (next hop) в пути следования дейтаграммы и пересылки дейтаграммы этому узлу, который является либо узлом назначения, либо промежуточным маршрутизатором, задача которого — определить следующий узел и переслать ему дейтаграмму. Ни узел-отправитель, ни любой промежуточный маршрутизатор не имеют информации о всей цепочке, по которой пересылается дейтаграмма; каждый маршрутизатор, а также узел-отправитель, основываясь на адресе назначения дейтаграммы, находит только следующий узел ее маршрута.
Маршрутизация дейтаграмм осуществляется на уровне протокола IP.
Маршрутизация выполняется на основе данных, содержащихся в таблице маршрутов. Строка в таблице маршрутов состоит из следующих полей:
Таблица может составляться вручную или с помощью специализированных протоколов. Каждый узел сети, в том числе и хост, имеет таблицу маршрутов, хотя бы самую простую.
Курс по основам компьютерных сетей на базе оборудования Cisco. Этот курс поможет вам подготовиться к экзаменам CCENT/CCNA, так как за его основу взят курс Cisco ICND1.
4.1 Протокол IP (IPv4) и его назначение
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать основы работы компьютерных сетей, начнем разбираться с протоколом IP и особенностями его работы. На данный момент каких-то серьезных альтернатив у протокола IP на сетевом уровне нет, поэтому бок о бок работают две версии этого протокола: IPv4 и IPv6. IPv4 преобладает просто потому, что появился значительно раньше, а версия IPv6 более продумана и лишена многих недостатков IPv4, но она по-прежнему является протоколом IP и в ее основе лежат всё те же принципы работы. Четвертая часть у нас будет про IPv4, новую версию мы трогать пока не будем, поскольку в самом конце нашего курса будет тема про IPv6.
Если тема компьютерных сетей вам интересна, то можете ознакомиться с другими записями курса.
4.1.1 Введение
Этой темой мы открываем четвертую часть нашего курса на основе Cisco ICND1, в которой мы будем знакомиться с протоколом IP, а конкретно с его версией IPv4. Насколько глубоко мы будем рассмотрим протокол IPv4? Настолько, чтобы хватило спокойно настраивать и устранять проблемы в компьютерных сетях. То есть мы разберем все самые важные и основные вещи, связанные с IPv4, необходимые администратору компьютерной сети, но не будем вдаваться в неважные тонкости, которые больше интересны и важны разработчикам сетевого оборудования и его программного обеспечения.
Мы не будем разбираться с историей появления протокола IPv4 и его предшественниками, так как жалко тратить время на информацию, которая никому не пригодится. В первой теме мы познакомимся с протоколом IP и посмотрим на него в общих чертах, то есть первая наша тема — это коротко обо всем, что будет в этой части.
4.1.2 Роль и назначение протокола IP в модели TCP/IP
Internet Protocol или IP— маршрутизируемый протокол сетевого уровня модели стека протоколов TCP/IP. Благодаря протоколу IP существует нынешняя сеть Интернет, поскольку именно этот протокол стал связующей нитью между разрозненными компьютерными сетями во всем мире. На данный момент нам нужно выделить два ключевых понятия в протоколе IP: минимально единицей измерения данных здесь является IP-пакет (о единицах измерения в компьютерных сетях), который чаще всего инкапсулируется в Ethernet кадр, а также каждый узел на сетевом уровне в модели TCP/IP должен иметь IP-адрес.
Мы уже не раз говорили, что протокол IP относится к сетевому уровню модели TCP/IP, это также справедливо и для эталонной модели OSI 7. Также мы уже не раз применяли этот протокол на практике, а значит косвенно касались вопроса о значении протокола IP в компьютерных сетях или сетях передачи данных. Если говорить коротко, то протокол IP нужен для логической адресации устройств в компьютерной сети или сети передачи данных.
Тут стоит сразу заметить, что IP-адреса делятся на две большие группы: публичные IP-адреса, которые должны быть уникальными во всем мире и частные IP-адреса, которые могут использоваться в любых частных/локальных сетях. Так, например, каждый в мире знает, что IP-адрес 8.8.8.8 принадлежит компании Google и это адрес их публичного DNS-сервера.
А, например, в моей домашней сети есть четыре устройства, которые подключатся к роутеру, то есть моя домашняя сеть состоит из пяти железяк, для этих пяти железяк на роутере выделена сеть 192.168.1.0/24, это означает, что чисто теоретически в этой сети может работать сразу 254 устройства включая роутер, так как IP-адрес 192.168.1.0 – это номер сети, а адрес 192.168.1.255 – это адрес широковещательной рассылки (эти адреса нельзя задавать узлам сети), пропинговав который можно опросить все узлы данной сети. Но главное здесь то, что у каждого устройства должен быть уникальный IP-адрес из выделенной подсети, например, у роутера будет адрес 192.168.1.1, у настольного ПК будет адрес 192.168.1.2, а у ноутбука 192.168.1.3, а если я захочу подключиться к роутеру мобильным телефоном, то на нем нужно будет настроить любой адрес от 192.168.1.4 до 192.168.1.254, чтобы этот телефон смог взаимодействовать с другими устройствами моей локальной сети.
Какие выводы мы делаем? Правильно, первая функция протокола IP заключается в том, чтобы дать уникальные имена узлам в компьютерной сети. Чтобы было более наглядно обратите внимание на Рисунок 4.1.1, на нем показана схема, описанная словами выше.
Рисунок 4.1.1 Пример использования IP-адресов в локальной сети
Стоит обратить внимание на то, что сейчас для нас неважно как узлы получают IP-адреса: назначаются они руками, или их выдает DHCP-сервер, также мы сейчас даже не затрагиваем вопрос: как частные IP-адреса превращаются в публичные при выходе в сеть Интернет, забегая вперед отмечу, что делается это при помощи протокола NAT.
Вторая функция протокола IP заключает в том, чтобы предоставить услугу вышестоящему уровню, то есть транспортному уровню. Тут нужно заметить, что модель TCP/IP не предполагает взаимодействие с установлением соединения на сетевом уровне, вид взаимодействия определяется транспортным уровнем (при помощи выбора одного из двух протоколов: TCP или UDP), следовательно сам протокол IP работает без установления соединения и как бы это странно не прозвучала, но услугой протокола IP для транспортного уровня является передача данных между сетями или же транспортировка. То есть протоколы TCP и UDP рассматривают IP как рабочую лошадку, которая таскает пакеты из точки А в точку Б, минуя множество различных подсетей, если мы говорим о сети Интернет.
Как мы знаем, протокол IP связан с канальным уровнем при помощи протокола ARP, который можно отнести к метафорическому уровню 2.5, так как он работает между канальным и сетевым уровнем. Сейчас мы этот факт просто для себя отмечаем и запоминаем, в дальнейшем пригодится. Также на сетевом уровне работают протоколы динамической маршрутизации, такие как OSPF, IS-IS, RIP, EIGRP, в английской литературе эти протоколы объединены общим словом Routing, то есть те, кто маршрутизирует, сам же IP именуется Routed, то есть тот, кого маршрутизируют. Internet Control Message Protocol или просто ICMP также относится к сетевому уровню. Просто чтобы напомнить приведу здесь рисунок, на котором показана модель TCP/IP.
Рисунок 4.1.2 Модель стека протоколов TCP/IP
Собственно, на этом можно завершить разговор о назначении протокола IP, у которого мы выделили две важные функции: первая заключается в логическом именовании узлов сети передачи данных на сетевом уровня, вторая заключается в том, чтобы доставить пакет из точки А в точку Б через множество промежуточных сетей. При этом IP-пакеты при передаче данных могут быть изменены (иногда это не стороннее вмешательство с целью взлома, а необходимость), потеряны, повреждены, пакеты могут прийти получателю не в той последовательности, в которой они были отправлены, обо всем этом протокол IP не заботится, его задача организовать маршрут между точкой А находящейся в одной сети и точкой Б, находящей в другой сети. Задачи, описанные выше, решают другие протоколы.
Протоколу IP не важно какими характеристиками обладает компьютерная сеть, какая топология у сети передачи данных, протоколу IP даже не важно поверх какого протокола канального уровня работать, протокол IP будет точно будет работать, если между устройствами будет один из следующих каналов: Ethernet (например, IP поверх Ethernet II есть RFC 894), ATM (RFC 1932), линки типа точка-точка (например, протоколы PPP или HDLC), есть даже документ, описывающий работу протокола IP поверх голубей (RFC 1149), и это далеко не полный список. Протоколу IP не важен даже размер компьютерной сети, его можно использовать как в сетях BAN, так и в сетях WAN.
4.1.2 Типы адресов в модели TCP/IP
Теперь стоит поговорить не конкретно о видах IP-адресов, а о видах адресов в сети, построенной по архитектуре TCP/IP, тут для нас будут важны четыре вида адресов:
Начнем двигаться снизу-вверх по иерархии модели TCP/IP.
Рисунок 4.1.3 Схема, в которой четыре узла и две подсети
Здесь мы видим четыре узла, для них подписаны IP-адреса и маски подсети в префиксной записи, где /24 означает, что в маски подсети двадцать четыре единицы, из подписей можно сделать вывод, что стационарные ПК находятся в одной канальной среде или в одной подсети, а ноутбуки находятся в другой подсети. В данном случае взаимодействие между этими подсетями невозможно, то есть ноутбук не сможет достучаться до компьютера и наоборот, поскольку узлы соединены коммутатором, а как вы помните, обычный L2 коммутатор ничего не знает про IP-адреса (хорошо еще, что здесь мы не использовали хаб/сетевой концентратор, который работает на физическом уровне), он оперирует MAC-адресами (про разницу между хабами, коммутаторами и роутерами можно почитать здесь).
Как же тогда сделать так, чтобы компьютер смог общаться с ноутбуком? Тут у нас два варианта: первый заключается в том, чтобы «поместить» ноутбуки в одну подсеть с компьютерами, изменив их сетевые настройки, ну например: Laptop1 задать адрес и маску 192.168.2.3/24, а второму 192.168.2.4/24. Второй вариант заключается в использование роутера, тогда один интерфейс роутера будет смотреть в сеть с ноутбуками и на этом интерфейсе будет задан адрес из этой подсети, например, IP-адрес 192.168.1.3/24, а второй интерфейс роутера будет смотреть в сеть стационарных ПК и на нем будет задан адрес из этой подсети: 192.168.2.25/24.
Но это еще не все, для устройств из подсети «компьютеры» нам нужно будет прописать основной шлюз: 192.168.2.25, таким образом компьютеры будут знать: на какое устройство слать пакеты, если IP-адрес не из их локальной сети, ну а устройствам из сети «ноутбуки» нужно задать шлюз по умолчанию 192.168.1.3, для этих же целей. Что делает с Ethernet кадрами и IP-пакетами роутер, когда пересылает данные из одной сети в другую, мы смотрели, когда говорили про назначение роутеров и более обстоятельно эта тема раскрыта в теме разница между хабами коммутаторами и роутерами, сейчас на этом не останавливаемся, но для наглядности приведу схему.
Рисунок 4.1.4 Схема, в которой четыре узла, две подсети и роутер
Все схемы собраны в программе Cisco Packet Tracer, вот инструкция по установке Cisco Packet Tracer в Windows, а вот мануал по установке Packet Tracer на Linux дистрибутив Ubuntu. Чтобы быстро разобраться с интерфейсом Cisco Packet Tracer, вы можете ознакомиться с публикацией простая схема сетевого взаимодействия.
4.1.2.2 Сетевые адреса или IP-адреса
Вы же помните, что IP решает две задачи: транспортировку и глобальную адресацию. И то, и другое возможно благодаря IP-адресу, который выглядит непрезентабельно, например, так: 192.168.1.1. Каких-то четыре числа разделенных точками. Хотя на самом деле число одно и для железок оно представлено в двоичном виде, а для нас как-то так. В IP-адресе зашифровано две важные вещи: номер сети и номер узла. В современно мире разделение делается на основе маски, раньше IP сети делились на классы, но и там были маски подсети, только сейчас используются маски переменной длинны, а раньше размер маски был фиксированный.
В нашем случае, описанном выше, номер сети «ноутбуки» выглядит так: 192.168.1.0, в этой сети у нас три узла, у каждого из этих узлов есть номер: у первого ноутбука это 1, у второго 2, а у порта роутера 3. По аналогии можно понять, что творится в подсети «компьютеры». Определять где заканчивается номер сети и начинается номер узла в IP-адресе мы научимся позже, сейчас просто обозначаем. Нам важно сделать вывод о том, что в Интернете все сети имеют уникальные номера, но и это еще не все, все узлы в этих сетях также имеют уникальные номера. То же самое справедливо и для локальной сети, если она разбита на подсети, например, как наша, у нас есть две сети с уникальными номерами: 192.168.1.0 и 192.168.2.0, а внутри этих сетей есть узлы, у которых тоже номера уникальны.
Классический маршрутизатор по своему определению должен смотреть своими интерфейсами в разные подсети, ведь его задача заключается в том, чтобы объединить две или более подсети в единую сеть, а это означает, что маршрутизатор будет иметь несколько IP-адресов из разных подсетей.
4.1.2.3 Адреса транспортного уровня
На транспортном уровне тоже есть свои адреса, эти адреса называются сокетами, которые представляют собой пару IP-адрес + номер TCP/UDP порта. Так, например, чтобы попасть на сайт по протоколу HTTP, наш компьютер будет посылать запрос удаленному серверу на 80-ый TCP порт, выглядеть это будет примерно так 192.168.1.1:80. Но это еще не все, дело в том, что серверу надо как-то ответить своему клиенту, для этого он тоже будет использовать TCP. А это означает, что клиент должен заранее позаботиться о том, чтобы сервер знал – на какой TCP порт нужно отвечать, поэтому в TCP-сегменте (так называются сообщения в протоколе TCP) указывается два порта: порт источника, чаще всего это случайно сгенерированное число и порт назначения (чаще всего этот порт относится к хорошо известным и закреплен за каким-нибудь протоколом), в нашем случае порт является хорошо известным (80 порт закреплен за HTTP).
Для примера, у нас есть компьютер с IP-адресом 10.10.10.25 и где-то в нашей сети есть веб-сервер, доступ к которому осуществляется по HTTPs, пусть у этого сервера будет IP-адрес 192.168.1.67. Тогда наш клиент сформирует TCP сообщение, в котором будет два сокета, сокет источника 10.10.10.25:45678 (в данном случае число 45678 является случайно сгенерированным), этим сокетом воспользуется сервер, чтобы ответить клиенту; а также у нас будет сокет назначения: 192.168.1.67:443, в данном случае число 443 означает, что мы обращаемся к серверу по протоколу HTTPs, TCP порт 443 является хорошо известным. Разобраться со схемой взаимодействия клиент-сервер, вам поможет эта публикация.
Какие выводы можно сделать? Да все очень просто! Адресация на транспортном уровне нужна и важна для конечных устройств. Именно благодаря ей конечные узлы понимают: для какого приложения приходят данные. Здесь мы поговорили очень сжато и скомкано, поскольку у нас будет отдельная тема по транспортному уровню, где мы все расставим по своим местам.
4.1.3 Версии протокола IP: IPv4 и IPv6
Из запланированного нам осталось коротко поговорить о версиях протокола IP, коих на данный момент две: IPv4 и IPv6. С версией IPv4 мы разберемся в данной теме, а вот версии IPv6 мы уделим свое внимание в отдельной теме ближе к концу. Сделаем поверхностный разбор каждой из представленных версий протокола IP.
Начнем с IPv4, цифра четыре здесь не означает четыре октета в IP-адресе, просто так случайно вышло. Больше всего нас интересует IP-адрес, под него в IPv4 выделено четыре байта или октета, как известно, в байте 8 бит, то есть восемь двоичных значений (0 или 1), следовательно, максимально возможное десятичное число равно 255, минимально допустимое 0. Думаю, приводить примеры IP-адресов для IPv4 не нужно, вам они уже знакомы. Более детальное описание у нас будет в отдельной теме.
Обмен информацией в IPv4 происходит при помощи IP-пакетов, у данной версии протокола этот пакет делится на два больших поля: поле данных, в котором переносится полезная информация и заголовок, в котором заложен весь функционал протокола, заголовок пакета IPv4 содержит 14 полей, тринадцать из которых обязательные и одно опциональное. Вообще, протокол IPv4 дает нам в распоряжение 2 в 32 степени IP-адресов или же 4 294 967 296. Но этих адресов уже начинает не хватать, дело все в том, что этот протокол был разработан 1980-ом году, тогда это число выглядело ужасающе большим, сейчас во времена интернет-чайников и тостеров со встроенным Wi-Fi этого пространства начинает не хватать.
Осознание того, что 4.2 млрд адресов не хватит начало приходить в 90-ых годах, а в 1996 году появился протокол IPv6, который должен когда-нибудь заменить IPv4. Дело всё в том, что под IP-адрес в IPv6 выделено 128 бит или 16 байт, а это уже совсем другая история. Теперь давайте попытаемся немного по сравнивать IPv4 и IPv6. Во-первых, IPv6 делает такую технологию, как NAT в текущих условиях бесполезной (для кого-то это плюс, а для кого-то это минус, поскольку NAT не только позволяет «перебивать» много частных IP-адресов в один публичный, но является первой линией защиты вашей компьютерной сети).
Маршрутизация в чистом своем виде (а есть и нечистые маршрутизации, которые очень ускоряют процесс обработки пакетов роутером) в IPv6 стала быстрее, чем в IPv4 даже несмотря на то, что адрес IPv6 значительно больше, дело все в том, что количество полей в IPv6 стало меньше, хотя сам заголовок оказался несколько длиннее, также немного изменен алгоритм обработки IPv6 пакетов маршрутизатором. Сейчас не будем далее углубляться в IPv6, а лучше перейдем к следующим темам, в которых мы разберемся с IPv4.
4.1.4 Выводы
Итак, что нам нужно вынести из этой темы? Да всё очень просто. Нам нужно запомнить, что IP-адрес состоит из двух частей: номер сети и номер узла, благодаря чему можно однозначно идентифицировать узел в сети Интернет. А также нам нужно помнить: сетевой уровень находится между транспортным и канальным, с канальным уровнем протокол IP в нашем случае взаимодействует при помощи протокола ARP, а для транспортного он является рабочей лошадкой, которая должна обеспечить транспорт между точкой А и точкой Б, и неважно что точка А где-нибудь в Японии, а Б в Египте.
Протокол IP работает на сетевом уровне, а это означает, что он используется для передачи данных между узлами, которые не соединены прямым каналом, данные передаются по цепочке каналов (канальных сред, подсетей), протокол IP работает без установления соединения, IP-пакеты передаются по сети независимо друг от друга и даже может случиться такая ситуация, при которой первый пакет пойдет одним маршрутом, а второй другим. Естественно, что пакеты могут теряться где-нибудь в сетевых дебрях в процессе своего путешествия, а также приходить в неправильном порядке, а еще в протоколе IP нет механизма по контролю доставки пакетов, это мы увидим, когда разберем его заголовок. И еще стоит добавить, что протокол IP не зависит от среды, которая работает уровнем ниже, он может работать поверх различных протоколов канального уровня, но самым интересным для нас будет Ethernet.