Internet Protokol (IP) или интернет протокол использует пакеты, называемые IP-пакетами для передачи информации. Каждый IP-пакет представляет собой единый блок информации, и помимо данных он передает информацию о том, куда отправить пакет. IP определяет, куда отправлять пакеты, просматривая IP-адрес получателя.
Давайте рассмотрим некоторые из характеристик IP:
- Работает на сетевом уровне модели OSI.
- Протокол без установки соединения: сам IP не устанавливает соединение, для транспортировки данных вам нужен «транспортный» уровень, используйте TCP или UDP.
- Каждый пакет обрабатывается независимо; нет порядка, в котором пакеты поступают в пункт назначения.
- Иерархический: IP-адреса имеют иерархию; мы обсудим это немного подробнее, когда будем говорить о подсетях и масках подсети.
Нам нужен IP-адрес, чтобы однозначно идентифицировать каждое сетевое устройство в сети. IP-адрес можно представить, как телефонный номер (мы говорим об обычных телефонных номерах, без сотовых телефонов). У каждого в городе, у которого есть телефон дома, есть уникальный номер телефона, по которому вы можете с ним связаться.
IP-адрес 32-разрядный (32 бита) и состоит из двух частей: сетевой части (network) и узловой части (host):
IP-адрес 32-битный, но мы записываем его в 4 блока по 8 бит. 8 бит — это то, что мы называем байтом. Таким образом, IP-адрес будет выглядеть так:
Сетевая часть сообщит нам, к какой «сети» относится IP-адрес, вы можете сравнить это с городским или региональным кодом номера телефона. Часть «узел (хост)» уникально идентифицирует сетевое устройство; они похожи на последние цифры вашего номера телефона.
Вероятно, вы уже видели IP-адрес 192.168.1.1 это широко используемый IP-адрес в локальных сетях. Для этого IP-адреса первые 3 байта являются «сетевым» адресом, а последний 1 байт является адресом «узла»:
Хорошо, но почему первые 3 байта являются частью сети и почему последний 1 байт является частью «узла»? Хороший вопрос! Мы дали вам только IP-адрес, но вы могли бы заметить, что если вы настроите IP-адрес, вам также нужно указать маску подсети. Наш IP-адрес 192.168.1.1 будет поставляться вместе с маской подсети 255.255.255.0. IP-адрес всегда должен быть с маской подсети.
Маска подсети сообщает компьютеру, какая часть является «сетевой» частью, а какая часть является «узловой». Несмотря на название, она не «скрывает» или «маскирует» что-либо. В дальнейшем мы поговорим о маске подсети подробнее, а пока давайте просто будем думать, что ваша маска подсети сообщает нам, какая часть IP-адреса является «сетевой» частью, а какая часть «узловая».
Давайте посмотрим, как фактически выглядит IP-пакет:
Да тут много полей! Перестаньте смотреть на них в недоумении, скоро вы познакомитесь с каждым из них. А пока что нам интересно только несколько полей. Поля, которые нам не нужны, серые, я хочу сосредоточиться на красных и синем полях.
- Интернет протокол: Здесь вы найдете, какой протокол мы используем поверх IP, так мы указываем, какой протокол транспортного уровня мы используем в сегменте (TCP, UDP).
- Адрес источника: здесь вы найдете IP-адрес устройства, создавшего этот IP-пакет.
- Адрес назначения: это IP-адрес устройства, которое должно получать этот IP-пакет.
- Данные: это фактические данные, которые мы пытаемся отправить на другую сторону.
Не сложно, не так ли? Не нужно беспокоиться о других разделах CCNA. Если вы когда-либо пользовались Wireshark, вы уже видели эти поля. Вот скриншот IP-пакета в Wireshark:
Давайте еще раз взглянем на IP-адрес:
192.168.1.1
Что мы знаем об этом IP-адресе? Прежде всего, мы знаем, что это 32-битное значение, поэтому в двоичном виде это будет выглядеть так:
Теперь это значение, которое не очень привычно для восприятия человеком, поэтому, чтобы облегчить нам жизнь, мы можем по крайней мере поместить это число в «блоки» из 8 бит. 8 бит также называют байтом или октетом:
Теперь мы можем преобразовать каждый байт в десятичный формат, возьмем первый блок и преобразуем его из двоичного в десятичный, используя следующую таблицу:
Биты | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Первый байт:
Bits | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
128 + 64 = 192
Второй байт:
Биты | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
128 + 32 + 8 = 168
Третий байт:
Биты | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
У нас возведён в первую степень только последний (младший) бит, так что это и значит «1».
Четвертый байт:
Bits | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
То же, что и в предыдущем случае.
Это дает нам IP-адрес:
Отлично, теперь вы знаете, почему IP-адреса выглядят так и почему мы записываем их так, мы даже сделали некоторые базовые двоичные вычисления в десятичных числах.
Последнее, что нужно рассмотреть, это классы, которые мы используем для сетей. Возможно, вы уже слышали о классах A, B или C. Наш IP-адрес, который мы только что использовали (192.168.1.1), является примером сети класса C.
У нас есть 3 разных класса для работы с сетью:
- Класс А
- Класс B
- Класс C
Так в чем разница между ними? Разница между ними заключается в том, сколько узлов вы можете поместить в каждую сеть, позвольте мне показать вам пример:
Первые 3 октета, синего цвета, являются «сетевой» частью этого IP-адреса. Красная часть предназначена для «узлов». Таким образом, мы можем использовать последний октет (октет или байт — одно и то же), чтобы наши узлы получили уникальный IP-адрес.
Следующие компьютеры будут в одной сети:
- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
Как видите, их «сетевая» часть одинаковая.
Компьютер с 192.168.2.1 не находится в одной сети, так как его «сетевая» часть отличается от 192.168.2.X по сравнению с 192.168.1.X.
Как вы думаете, что ваш компьютер будет делать, когда он захочет отправить IP-пакет в другую сеть? Вы можете найти ответ на своем компьютере:
Если вы используете Windows, просто нажмите кнопку «Пуск», введите CMD и нажмите «Ввод». Используйте команду ipconfig для поиска информации IP:
C:Documents and SettingsComputer>ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.254
Компьютер из примера выше находится в сети 192.168.1.X. Когда он хочет отправить что-то в другую сеть, он будет использовать свой шлюз по умолчанию. Это будет ваш маршрутизатор; в приведенном выше примере маршрутизатор имеет IP-адрес 192.168.1.254.
Вернёмся к нашим классам; позвольте мне начать, показав вам разницу между классами:
Если вы используете сеть класса A, вы можете иметь множество хостов в каждой создаваемой сети.
Если вы используете класс B, вы можете создавать больше сетей, но меньше хостов для каждой сети.
А с классом C вы можете создать много сетей, но только с несколькими узлами в каждой сети.
Я только что объяснил вам, что 192.168.1.1 — это IP-адрес класса C. Откуда я знаю это? Это потому, что первые биты «фиксированы» для разных классов, позвольте мне показать вам следующее:
- Класс A: первый бит всегда должен быть 0.
- Класс B: Первые 2 бита всегда должны быть 10.
- Класс C: Первые 3 бита всегда должны быть 110.
Поэтому, если вы рассчитаете это значение из двоичного кода в десятичный, вы получите следующие диапазоны:
- Класс A начинается с 0.0.0.0
- Класс B начинается с 128.0.0.0
- Класс C начинается с 192.0.0.0
Итак, каковы точные диапазоны, которые у нас есть?
- Класс A: 0.0.0.0 — 126.255.255.255
- Класс B: 128.0.0.0 — 191.255.255.255
- Класс C: 192.0.0.0 — 223.255.255.255
Хм, теперь возникает 2 вопроса:
- Если вы посмотрите внимательно, вы увидите подсеть 127.0.0.0? Она не в диапазоне класса А, что же это такое?
- Почему класс C заканчивается на 223.255.255.255?
Чтобы ответить на первый вопрос: перейдите в командную строку вашего компьютера и введите «ping 127.0.0.1», и вы получите ответ. Этот сетевой диапазон используется как «loopback». Ваш loopback-интерфейс — это команда (ping 127.0.0.1) используется, чтобы проверить правильно ли работает ваш IP-стек.
Чтобы ответить на второй вопрос, я должен сказать вам, что на самом деле существует диапазон класса D, мы не используем эти IP-адреса для назначения компьютерам, но он используется для «многоадресной рассылки». Он начинается с диапазона 224.0.0.0.
Последнее, что мне нужно рассказать о классах, — это различие между «частными» и «публичными» IP-адресами.
- Публичные IP-адреса используются в Интернете.
- Частные IP-адреса используются в вашей локальной сети и не должны использоваться в Интернете.
Это диапазоны частных IP-адресов:
- Класс A: 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
Вы видите, что наш пример (192.168.1.1) IP-адреса попадает в класс C и является частным IP-адресом? Мне нравится использовать этот IP-адрес, поскольку он наиболее распространен среди обычных людей, он часто используется в домашних сетях и маршрутизаторах SOHO.
Есть ли что-то еще, что нам нужно знать о IP-адресах? Ну да, последнее! Существует 2 IP-адреса, которые мы не можем использовать в нашей сети.
- Сетевой адрес.
- Широковещательный адрес.
Сетевой адрес не может использоваться на компьютере в качестве IP-адреса, поскольку он используется для «определения» сети.
Широковещательный адрес не может использоваться на компьютере в качестве IP-адреса, поскольку он используется широковещательными приложениями. Широковещательная передача — это IP-пакет, который будет приниматься всеми устройствами в вашей сети.
Итак, как мы узнаем эти два IP-адреса, которые мы не можем использовать? Позвольте мне привести вам пример:
Давайте используем диапазон класса C и наш IP-адрес 192.168.1.1.
Нам нужно посмотреть на последний октет, который используется для узлов. Если мы установим все биты в 0 в нашей части «узла», мы получим такой сетевой адрес:
Таким образом, 192.168.1.0 является сетевым адресом в этом случае, и мы не можем использовать этот IP-адрес для компьютеров. Если мы установим все биты в 1, у нас будет широковещательный IP-адрес, и мы также не сможем использовать его для компьютеров:
Итак, подведём небольшие итоги:
- Устанавливая все биты узла в 0, вы указываете сетевой адрес.
- Устанавливая все биты узла в 1, вы получите широковещательный адрес.
- Это и есть 2 IP-адреса, которые мы не можем использовать для компьютеров.
Теперь вы знаете, как реализован этот Интернет протокол.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый