Сетевая маршрутизация

Формат IP-пакета

Основным протоколом межсетевого уровня является протокол IP (Internet Protocol). IP — протокол выполняет функцию продвижения пакета между подсетями. Формат IP-пакета включает поле заголовка этого пакета и поле полезного груза. Под полезным грузом понимается поле, включающее заголовок сообщения транспортного уровня и данные прикладного уровня. В отличие от протоколов прикладного и транспортного уровней протокол IP устанавливается не только на оконечных станциях, но и на всех маршрутизаторах сети. IP — протокол является дейтаграммным ненадежным (без подтверждения) протоколом без установления соединений, т.е. . Термин “ненадежный” отражает тот факт, что протокол IP не делает ничего, чтобы гарантировать доставку пакета, гарантировать последовательность доставленных пакетов, нет подтверждений, нет контроля ошибок и управления потоками данных. Если пакеты потеряны, то оконечному пункту (хосту) об этом не сообщается, а решением этой проблемы должны заниматься более высокие уровни.

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

IP-пакет состоит из заголовка и инкапсулированного сегмента транспортного уровня. Приведём некоторые поля заголовка пакета IP.

Поле протокола верхнего уровня содержит идентификатор, указывающий какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета. Например, 6 означает, что в пакете находится заголовок протокола TCP, 17 — протокола UDP.

Поле IP — адресов источника и приемника имеют одинаковую длину 4 байта. IP-адреса представляются в в формате десятичного представления с разделительными точками, где каждый байт представляется своим десятичным эквивалентом. Эти четыре десятичных числа разделяются точкой (например, 128.67.38.255). Каждый IP-адреса состоит из двух частей: идентификатора сети (подсети) NETID (network identifier) и идентификатора хоста HOSTID (host identifier). NETID идентифицирует определенную сеть, к которой подключен хост. Маршрутизаторы используют только NETID, который иногда называют префиксом сети. IP-адрес 128.67.38.255 имеет идентификатор сети 128.67 (в двоичном виде третий и четвертый байты – 10000000 и 01000011) и идентификатор хоста 38.255 (в двоичном виде первый и второй байты – 00100110 11111111). В протоколе IP для извлечения идентификатора сети NETID используется маска с использованием слэша (/). В маске каждый бит, которй является частью идентификатора сети NETID, равен 1, а биты, являющиеся частью идентификатора хоста HOSTID, равны 0. Например, 128.67.38.255/16 означает, что первые 16 битов этого адреса – это идентификатор NETID 128.67.0.0. За счет управления битами в маске группа IP-адресов может быть разбита на меньшие сети. Например, добавив 3 бита к 24 разрядной маске сети 3 бита, добавляется 8 новых сетей, каждая из которых содержит меньшее количество идентификаторов хостов.

Поле общей длины IP — пакета (т.е. заголовка и данных).

Поле время жизни. Определяет, как долго дейтаграмма может оставаться в сети. Каждый маршрутизатор уменьшает значение поля, как минимум, на единицу. Поэтому поле является механизмом самоуничтожения пакета.

Контрольная сумма циклического кода заголовка, контрольно-проверочная комбинация (КПК) занимает 2 байта и рассчитывается только по заголовку.

Поскольку некоторые поля заголовка могут изменяться (например, время жизни), это поле проверяется на каждом маршрутизаторе. Если контрольная сумма неверна, то пакет отбрасывается, как только обнаруживается ошибка.

Функциональность

Протокол управления передачей данных (TCP) работает с Интернет-протоколом (IP). Отправка пакетов данных с одного компьютера на другой является его основной функцией. TCP и IP, вместе взятые, являются двумя протоколами, которые управляют Интернетом. В документе № 793 о стандартах Запроса комментариев (RFC) протокол управления передачей определен Целевой группой по инженерно-техническому обеспечению Интернета (IETF).

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

В некоторых случаях пакеты теряются или доставляются не по назначению. Это связано с непредсказуемым сетевым поведением. Чтобы свести эту проблему к минимуму, ПТС запрашивает повторный заказ и доставку товаров. Это, однако, меняет скорость доставки на пару секунд. Необходимость в повторном упорядочении пакетов и ретрансляции после их получения создает задержку в потоке TCP. Согласно исследованиям, такие приложения, как FTP, Telnet, электронная почта и World Wide Web (WWW), предпочитают именно эту транспортную услугу — около 90% трафика этих сетей.

TCP/IP Адресация

Интернет-адреса, такие как IP (интернет-протокол), имеют полный механизм и являются одним из наиболее распространенных. TCP, с другой стороны, не нуждается в одной сложной системе адресации. TCP использует только номера, также называемые «портами», которые предоставляются устройством, с которым он в данный момент работает. Это делается для того, чтобы определить, для какой службы предназначены отправка и получение пакетов.

Например, порт 80 для TCP используется в основном для веб-браузеров, а порт 25 — для электронной почты. Для данной услуги вводится IP-адрес и номер порта, например 192.168.66.5:80.

Адресация

IPv4 идентифицирует отправителя и получателя при помощи 32-битного адреса, что ограничивает число возможных адресов 4 294 967 296. Из этого количества IPv4 резервирует специальные диапазоны адресов, называемые частными (~18 млн.) и мультикаст (~270 млн).

Адреса обычно записываются в виде четырех десятичных октетов через точку, например: 198.51.100.25 соответствует числу C633641916.

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

В первых версиях стандарта, первый октет использовался для идентификации сети, остальные – для идентификации узла. Довольно быстро стало ясно, что 256 сетей – это мало. Поэтому были введены классы сетей:

Класс Первые биты Длина адреса сети Длина адреса узла
A 8 24
B 10 16 16
C 110 24 8
D 1110 N/A N/A
E 1111 N/A N/A
Класс Начало диапазона Конец диапазона
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 255.255.255.255

Класс D зарезервирован для мультикаста, класс E – просто зарезервирован “на всякий случай”.

Длина адреса сети и длина адреса узла определялись первыми битами адреса. Примерно с 1985 года от этого тоже отказались. Причины этого в том, что многие организации требовали больше адресов, чем предоставляла сеть класса C и получали сеть класса B. Сеть класса B, однако, превышала требования организации в разы.

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

Например, 192.0.2.0/24 означает, что первые 24 бита (три октета) относятся к адресу сети, а остальные – к адресу узла. /24 эквивалентно маске сети 255.255.255.0.

Использование масок сетей описано в RFC 1517.

Многочисленные стандарты так же резервируют различные диапазоны адресов для специальных нужд.

Диапазон Описание RFC
0.0.0.0/8 Текущая сеть (адрес источника) 6890
10.0.0.0/8 Частная сеть 1918
100.64.0.0/10 Разделяемое адресное пространство CGN 6598
127.0.0.0/8 Loopback 6890
169.254.0.0/16 Автоконфигурация 3927
172.16.0.0/12 Частная сеть 1918
192.0.0.0/24 IETF Protocol Assignments 6890
192.0.2.0/24 Документация и примеры 1 5737
192.88.99.0/24 Релей ipv6 to ipv4 3068
192.168.0.0/16 Частная сеть 1918
198.18.0.0/15 Тестирование пропускной способности сети 2544
198.51.100.0/24 Документация и примеры 2 5737
203.0.113.0/24 Документация и примеры 3 5737
224.0.0.0/4 Мультикаст 5771
240.0.0.0/4 Зарезервировано 1700
255.255.255.255 Широковещательный запрос 919

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

Например, 203.0.113.0 означает (в тексте) сеть 203.0.113.0/24, а 203.0.113.255 – широковещательный запрос в эту сеть.

Набор протоколов в OSI:

Пора рассказать на мой взгляд самое интересное, это распределение протоколов по уровням модели OSI, тут будут описаны самые основные протоколы, так как, их очень много.

1. Протоколы физического уровня модели OSI:

  • Ethernet — Протокол для работы кабеля Ethernet, или кабеля для интернета;
  • GSM — Протокол для работы со сотовой связи;
  • 802.11 — Протокол для работы Wi-Fi;
  • USB — Протокол для работы шины в компьютере или флешки;
  • IrDA — Протокол для работы с  инфракрасным портом;
  • Bluetooth — Протокол для работы с Bluetooth;

2. Протоколы канального уровня модели OSI:

  • Ethernet — Протокол самого кабеля интернет;
  • Frame Relay — Протокол для передачи сотовой связи;
  • PPP — Протокол передачи данных один на один, между двумя компьютерами;

3. Протоколы сетевого уровня модели OSI:

  • IPv4 — Протокол для работы IP адресов версии четыре;
  • IPv6 — Протокол для работы IP адресов версии шесть;
  • ICMP — Протокол для ошибок в сотовой связи;
  • RiP — Протокол позволяет маршрутизаторам быстро и динамически находить путь;

4. Протоколы транспортного уровня модели OSI:

  • TCP — Протокол который отправляет пакет проверяя, но медленно, используется для сайтов;
  • UDP — Протокол который отправляет пакет не проверяя, но быстро, используется в онлайн играх;

5. Протоколы сеансового уровня модели OSI:

  • PPTP — Протокол для туннельного соединена с компьютер на компьютер или VPN;
  • L2TP — Подобный протокол PPTP
  • SSH — Протокол позволяет производить удалённое управление операционной системой;

6. Протоколы представления уровня модели OSI:

  • SSL — Криптографический протокол для безопасного соединения;
  • XDR — Протокол позволяет организовать не зависящую от платформы передачу данных между компьютерами в гетерогенных сетях;

7. Протоколы прикладного уровня модели OSI:

  • HTTP — Протокол для передачи гипертекста или HTML;
  • FTP, TFTP, SFTP — Протоколы для передачи файлов;
  • TELNET — Протокол для уделённого управления другим компьютером;
  • DHCP — Протокол для автоматического получение IP адреса;
  • IRC — Протокол для обмена сообщениями в режиме реального времени;
  • SNMP — Протокол для управление устройствам в IP-ситах;
  • DNS — Протокол позволяющий получать информацию о доменах;
  • BitTorrent — Пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет;
  • SMTP, POP3, IMAP4— Протоколы для отправки, доставки электронной почты;
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector