2.1.9 Протоколы маршрутизации
Введение
Компьютер в сети TCP/IP может иметь адреса трех уровней (но не менее двух):
- Локальный адрес компьютера. Для узлов, входящих в локальные сети – это МАС-адрес сетевого адаптера. Эти адреса назначаются производителями оборудования и являются уникальными адресами.
- IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов.
- Символьный идентификатор-имя (DNS), например, www.teacherbox.ru
Сетевые протоколы
Сетевой протокол — набор правил, позволяющий осуществлять обмен данными между составляющими сеть устройствами, например, между двумя сетевыми картами ( рис. 1).
TCP/IP
Стэк- это набор разноуровневых протоколов, объединенных в группу.
Стек протоколов TCP/IP — это два протокола, являющиеся основой связи в сети Интернет. Протокол TCP разбивает передаваемую информацию на порции (пакеты) и нумерует их. С помощью протокола IP все пакеты передаются получателю. Далее с помощью протокола TCP проверяется, все ли пакеты получены. При получении всех порций TCP располагает их в нужном порядке и собирает в единое целое. В сети Интернет используются две версии этого протокола:
- Маршрутизируемый сетевой протокол IPv4. В протоколе этой версии каждому узлу сети ставится в соответствие IP-адрес длиной 32 бита (т.е. 4 октета или 4 байта).
- IPv6 позволяет адресовать значительно большее количество узлов, чем IPv4. Протокол Интернета версии 6 использует 128-разрядные адреса, и может определить значительно больше адресов.
IP-адреса версии v6 записываются в следующем виде:X:X:X:X:X:X:X:X, где X является шестнадцатеричным числом, состоящим из 4-х знаков(16 бит), а каждое число имеет размер 4 бит. Каждое число располагается в диапазоне от 0 до F. Вот пример IP-адреса шестой версии: 1080:0:0:0:7:800:300C:427A. В подобной записи незначащие нули можно опускать, поэтому фрагмент адреса: 0800: записывается, как 800:.
IP-адреса принято записывать разбивкой всего адреса по октетам (8), каждый октет записывается в виде десятичного числа, числа разделяются точками. Например, адрес
10100000010100010000010110000011
записывается как
10100000.01010001.00000101.10000011 = 160.81.5.131
Перевод адреса из двоичной системы в десятичную
IP-адрес хоста состоит из номера IP-сети, который занимает старшую область адреса, и номера хоста в этой сети, который занимает младшую часть.
160.81.5.131 – IP-адрес
160.81.5. – номер сети
131 – номер хоста
Базовые протоколы (IP, TCP, UDP)
Стек протоколов TCP/IP
TCP/IP – собирательное название для набора (стека) сетевых протоколов разных уровней, используемых в Интернет. Особенности TCP/IP:
- Открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;
- Независимость от физической среды передачи;
- Система уникальной адресации;
- Стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.
Стек протоколов TCP/IP делится на 4 уровня:
- Прикладной
- Транспортный
- Межсетевой
- Физический и канальный.
Данные передаются в пакетах. Пакеты имеют заголовок и окончание, которые содержат служебную информацию. Данные, более верхних уровней вставляются, в пакеты нижних уровней.
Физический и канальный уровень.
Стек TCP/IP не подразумевает использования каких-либо определенных протоколов уровня доступа к среде передачи и физических сред передачи данных. От уровня доступа к среде передачи требуется наличие интерфейса с модулем IP, обеспечивающего передачу IP-пакетов. Также требуется обеспечить преобразование IP-адреса узла сети, на который передается IP-пакет, в MAC-адрес. Часто в качестве уровня доступа к среде передачи могут выступать целые протокольные стеки, тогда говорят об IP поверх ATM, IP поверх IPX, IP поверх X.25 и т.п.
Межсетевой уровень и протокол IP.
Основу этого уровня составляет IP-протокол.
IP (Internet Protocol) – интернет протокол.
Первый стандарт IPv4 определен в RFC-760 (DoD standard Internet Protocol J. Postel Jan-01-1980)
Последняя версия IPv4 – RFC-791 (Internet Protocol J. Postel Sep-01-1981).
Первый стандарт IPv6 определен в RFC-1883 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1995)
Последняя версия IPv6 – RFC-2460 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1998).
Основные задачи:
- Адресация
- Маршрутизация
- Фрагментация датаграмм
- Передача данных
Протокол IP доставляет блоки данных от одного IP-адреса к другому.
Программа, реализующая функции того или иного протокола, часто называется модулем, например, “IP-модуль”, “модуль TCP”.
Когда модуль IP получает IP-пакет с нижнего уровня, он проверяет IP-адрес назначения.
- Если IP-пакет адресован данному компьютеру, то данные из него передаются на обработку модулю вышестоящего уровня (какому конкретно – указано в заголовке IP-пакета).
- Если же адрес назначения IP-пакета – чужой, то модуль IP может принять два решения: первое – уничтожить IP-пакет, второе – отправить его дальше к месту назначения, определив маршрут следования – так поступают маршрутизаторы.
Также может потребоваться, на границе сетей с различными характеристиками, разбить IP-пакет на фрагменты (фрагментация), а потом собрать в единое целое на компьютере-получателе.
Если модуль IP по какой-либо причине не может доставить IP-пакет, он уничтожается. При этом модуль IP может отправить компьютеру-источнику этого IP-пакета уведомление об ошибке; такие уведомления отправляются с помощью протокола ICMP, являющегося неотъемлемой частью модуля IP. Более никаких средств контроля корректности данных, подтверждения их доставки, обеспечения правильного порядка следования IP-пакетов, предварительного установления соединения между компьютерами протокол IP не имеет. Эта задача возложена на транспортный уровень.
Версия – версия протокола IP (например, 4 или 6)
Длина заг. – длина заголовка IP-пакета.
Тип сервиса (TOS – type of service) – Тип сервиса ().
TOS играет важную роль в маршрутизации пакетов. Интернет не гарантирует за-прашиваемый TOS, но многие маршрутизаторы учитывают эти запросы при выборе маршрута (протоколы OSPF и IGRP).
Идентификатор дейтаграммы, флаги (3 бита) и указатель фрагмента – используются для распознавания пакетов, образовавшихся путем фрагментации исходного пакета.
Время жизни (TTL – time to live) – каждый маршрутизатор уменьшает его на 1, что бы пакеты не блуждали вечно.
Протокол – Идентификатор протокола верхнего уровня указывает, какому протоколу верхнего уровня принадлежит пакет (например: TCP, UDP).
Маршрутизация
Протокол IP является маршрутизируемый, для его маршрутизации нужна маршрутная информация.
Маршрутная информация, может быть:
- Статической (маршрутные таблицы прописываются вручную)
- Динамической (маршрутную информацию распространяют специальные протоколы)
Протоколы динамической маршрутизации:
- RIP (Routing Information Protocol) – протокол передачи маршрутной информации, маршрутизаторы динамически создают маршрутные таблицы.
- OSPF (Open Shortest Path First) – протокол “Открой кротчайший путь первым”, является внутренним протоколом маршрутизации.
- IGP (Interior Gateway Protocols) – внутренние протоколы маршрутизации, распространяет маршрутную информацию внутри одной автономной системе.
- EGP (Exterior Gateway Protocols) – внешние протоколы маршрутизации, распространяет маршрутную информацию между автономными системами.
- BGP (Border Gateway Protocol) – протокол граничных маршрутизаторов.
Протокол ICMP - ICMP (Internet Control Message Protocol) – расширение протокола IP, позволяет передавать сообщения об ошибке или проверочные сообщения.
Другие служебные IP-протоколы - IGMP (Internet Group Management Protocol) – позволяет организовать многоадресную рассылку средствами IP.
- RSVP (Resource Reservation Protocol) – протокол резервирования ресурсов.
ARP (Address Resolution Protocol) – протокол преобразования IP-адреса и адреса канального уровня.
Транспортный уровень
Протоколы транспортного уровня обеспечивают прозрачную доставку данных между двумя прикладными процессами. Процесс, получающий или отправляющий данные с помощью транспортного уровня, идентифицируется на этом уровне номером, который называется номером порта. Таким образом, роль адреса отправителя и получателя на транспортном уровне выполняет номер порта (или проще – порт).
Анализируя заголовок своего пакета, полученного от межсетевого уровня, транспортный модуль определяет по номеру порта получателя, какому из прикладных процессов направлены данные, и передает эти данные соответствующему прикладному процессу. Номера портов получателя и отправителя записываются в заголовок транспортным модулем, отправляющим данные; заголовок транспортного уровня содержит также и другую служебную информацию; формат заголовка зависит от используемого транспортного протокола.
На транспортном уровне работают два основных протокола: UDP и TCP.
Протокол надежной доставки сообщений TCP
TCP (Transfer Control Protocol) – протокол контроля передачи, протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений.
Первая и последняя версия TCP – RFC-793 (Transmission Control Protocol J. Postel Sep-01-1981).
Основные особенности:
- Устанавливается соединение.
- Данные передаются сегментами. Модуль TCP нарезает большие сообщения (файлы) на пакеты, каждый из которых передается отдельно, на приемнике наоборот файлы собираются. Для этого нужен порядковый номер (Sequence Number – SN) пакета.
- Посылает запрос на следующий пакет, указывая его номер в поле “Номер подтверждения” (AS). Тем самым, подтверждая получение предыдущего пакета.
- Делает проверку целостности данных, если пакет битый посылает повторный запрос.
Длина заголовка – задается словами по 32бита.
Размер окна – количество байт, которые готов принять получатель без подтверждения.
Контрольная сумма – включает псевдо заголовок, заголовок и данные.
Указатель срочности – указывает последний байт срочных данных, на которые надо немедленно реагировать.
URG – флаг срочности, включает поле “Указатель срочности”, если =0 то поле игнорируется.
ACK – флаг подтверждение, включает поле “Номер подтверждения, если =0 то поле игнорируется.
PSH – флаг требует выполнения операции push, модуль TCP должен срочно передать пакет программе.
RST – флаг прерывания соединения, используется для отказа в соединении
SYN – флаг синхронизация порядковых номеров, используется при установлении соединения.
FIN – флаг окончание передачи со стороны отправителя
Протокол UDP
UDP (Universal Datagram Protocol) – универсальный протокол передачи данных, более облегченный транспортный протокол, чем TCP.
Первая и последняя версия UDP – RFC-768 (User Datagram Protocol J. Postel Aug-28-1980).
Основные отличия от TCP:
- Отсутствует соединение между модулями UDP.
- Не разбивает сообщение для передачи
- При потере пакета запрос для повторной передачи не посылается
UDP используется если не требуется гарантированная доставка пакетов , например, для потокового видео и аудио, DNS (т.к. данные небольших размеров). Если проверка контрольной суммы выявила ошибку или если процесса, подключенного к требуемому порту, не существует, пакет игнорируется (уничтожается). Если пакеты поступают быстрее, чем модуль UDP успевает их обрабатывать, то поступающие пакеты также игнорируются.
Не все поля UDP-пакета обязательно должны быть заполнены. Если посылаемая дейтаграмма не предполагает ответа, то на месте адреса отправителя могут поме-щаться нули.
Протокол реального времени RTP
RTP (Real Time Protocol) – транспортный протокол для приложений реального времени.
RTCP (Real Time Control Protocol) – транспортный протокол обратной связи для приложения RTP.
Добавить комментарий