Какие функции выполняет протокол ip маршрутизация коррекция ошибок установка соединения

14.1. Основные функции протокола ip

Основу
транспортных средств стека протоколов
TCP/IP составляет протокол
межсетевого взаимодействия (Internet
Protocol, IP)
. Он обеспечивает
передачу дейтаграмм от отправителя к
получателям через объединенную систему
компьютерных сетей.

Название
данного протокола — Intrenet Protocol — отражает
его суть: он должен передавать пакеты
между сетями.
В каждой очередной сети, лежащей на пути
перемещения пакета, протокол IP вызывает
средства транспортировки, принятые в
этой сети, чтобы с их помощью передать
этот пакет на маршрутизатор, ведущий к
следующей сети, или непосредственно на
узел-получатель.

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

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

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

14.2. Структура ip-пакета

IP-пакет
состоит из заголовка и поля данных.
Заголовок, как правило, имеющий длину
20 байт, имеет следующую структуру (рис.
14.1).


Рис.
14.1.

Структура заголовка IP-пакета

Поле
Номер версии (Version),
занимающее 4 бит, указывает версию
протокола IP. Сейчас повсеместно
используется версия 4 (IPv4), и готовится
переход на версию 6 (IPv6).

Поле
Длина заголовка (IHL)
IP-пакета занимает 4 бит и указывает
значение длины заголовка, измеренное
в 32-битовых словах. Обычно заголовок
имеет длину в 20 байт (пять 32-битовых
слов), но при увеличении объема служебной
информации эта длина может быть увеличена
за счет использования дополнительных
байт в поле Опции (IP
Options)
. Наибольший
заголовок занимает 60 октетов.

Поле
Тип сервиса (Type of
Service)
занимает один
байт и задает приоритетность пакета и
вид критерия выбора маршрута. Первые
три бита этого поля образуют подполе
приоритета
пакета (Precedence).
Приоритет может иметь значения от самого
низкого — 0 (нормальный пакет) до самого
высокого — 7 (пакет управляющей информации).
Маршрутизаторы и компьютеры могут
принимать во внимание приоритет пакета
и обрабатывать более важные пакеты в
первую очередь. Поле Тип
сервиса
содержит
также три бита, определяющие критерий
выбора маршрута. Реально выбор
осуществляется между тремя альтернативами:
малой задержкой, высокой достоверностью
и высокой пропускной способностью.
Установленный бит D (delay) говорит о том,
что маршрут должен выбираться для
минимизации задержки доставки данного
пакета, бит Т — для максимизации пропускной
способности, а бит R — для максимизации
надежности доставки. Во многих сетях
улучшение одного из этих параметров
связано с ухудшением другого, кроме
того, обработка каждого из них требует
дополнительных вычислительных затрат.
Поэтому редко, когда имеет смысл
устанавливать одновременно хотя бы два
из этих трех критериев выбора маршрута.
Зарезервированные биты имеют нулевое
значение.

Поле
Общая длина (Total Length)
занимает 2 байта и означает общую длину
пакета с учетом заголовка и поля данных.
Максимальная длина пакета ограничена
разрядностью поля, определяющего эту
величину, и составляет 65 535 байт, однако
в большинстве хост-компьютеров и сетей
столь большие пакеты не используются.
При передаче по сетям различного типа
длина пакета выбирается с учетом
максимальной длины пакета протокола
нижнего уровня, несущего IP-пакеты. Если
это кадры Ethernet, то выбираются пакеты с
максимальной длиной в 1500 байт, умещающиеся
в поле данных кадра Ethernet. В стандарте
предусматривается, что все хосты должны
быть готовы принимать пакеты вплоть до
576 байт длиной (приходят ли они целиком
или по фрагментам). Хостам рекомендуется
отправлять пакеты размером более чем
576 байт, только если они уверены, что
принимающий хост или промежуточная
сеть готовы обслуживать пакеты такого
размера.

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

Поле
Флаги (Flags)
занимает 3 бита и содержит признаки,
связанные с фрагментацией. Установленный
бит DF (Do not Fragment) запрещает маршрутизатору
фрагментировать данный пакет, а
установленный бит MF (More Fragments) говорит
о том, что данный пакет является
промежуточным (не последним) фрагментом.
Оставшийся бит зарезервирован.

Поле
Смещение фрагмента
(Fragment Offset)
занимает
13 бит и задает смещение в байтах поля
данных этого пакета от начала общего
поля данных исходного пакета, подвергнутого
фрагментации. Используется при
сборке/разборке фрагментов пакетов при
передачах их между сетями с различными
величинами MTU. Смещение должно быть
кратно 8 байт.

Поле
Время жизни (Time to Live)
занимает один байт и означает предельный
срок, в течение которого пакет может
перемещаться по сети. Время жизни данного
пакета измеряется в секундах и задается
источником передачи. На маршрутизаторах
и в других узлах сети по истечении каждой
секунды из текущего времени жизни
вычитается единица; единица вычитается
и в том случае, когда время задержки
меньше секунды. Поскольку современные
маршрутизаторы редко обрабатывают
пакет дольше, чем за одну секунду, то
время жизни можно считать равным
максимальному числу узлов, которые
разрешено пройти данному пакету до того
сак он достигнет места назначения. Если
параметр времени жизни станет нулевым
до того, как пакет достигнет получателя,
этот пакет будет уничтожен. Время жизни
можно рассматривать как часовой механизм
самоуничтожения. Значение этого поля
изменяется при обработке заголовка
IP-пакета.

Идентификатор
Протокол верхнего
уровня (Protocol)
занимает
один байт и указывает, какому протоколу
верхнего уровня принадлежит информация,
размещения в поле данных пакета (например,
это могут быть сегменты протокола TCP
(дейтаграммы UDP, пакеты ICMP или OSPF). Значения
идентификаторов для различных протоколов
приводятся в документе RFC “Assigned Numbers”.

Контрольная
сумма (Header Checksum)
занимает 2 байта и
рассчитывается только по заголовку.
Поскольку некоторые поля заголовка
меняют свое значение в процессе передачи
пакета по сети (например, время жизни),
контрольная сумма проверяется и повторно
рассчитывается при каждой обработке
IP-заголовка. Контрольная сумма — 16 бит
— подсчитывается как дополнение к сумме
всех 16-битовых слов заголовка. При
вычислении контрольной суммы значение
самого поля “контрольная сумма”
устанавливается в нуль. Если контрольная
сумма неверна, о пакет будет отброшен,
как только ошибка будет обнаружена.

Поля
IP-адрес источника
(Source IP Address)
и IP-адрес
назначения (Destination Address)

имеют одинаковую длину — 32 бита — и
одинаковую структуру.

Поле
Опции (IP Options)
является необязательным и используется
обычно только при отладке сети. Механизм
опций предоставляет функции управления,
которые необходимы или просто полезны
при определенных ситуациях, однако он
не нужен при обычных коммуникациях. Это
поле состоит из нескольких подполей,
каждое из которых может быть одного из
восьми предопределенных типов. В этих
подполях можно указывать точный маршрут
прохождения маршрутизаторов, регистрировать
проходимые пакетом маршрутизаторы,
помещать данные системы безопасности,
а также временные отметки. Так как число
подполей может быть произвольным, то в
конце поля Опции
должно быть добавлено несколько байт
для выравнивания заголовка пакета по
32-битной границе.

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

Ниже
приведена распечатка значений полей
заголовка одного из реальных IP-пакетов,
захваченных в сети Ethernet средствами
анализатора протоколов Microsoft Network
Monitor.

  • IP:  
    Version = 4 (0х4)

  • IP:  
    Header Length = 20 (0х14)

  • IP:  
    Service Type = 0 (0х0)

  • IP:  
    Precedence = Routine

  • IP:  
    …0…. = Normal Delay

  • IP:  
    ….0… = Normal Throughput

  • IP:  
    …..0.. = Normal Reliability

  • IP:  
    Total Length = 54 (0х36)

  • IP:  
    Identification = 31746 (0x7C02)

  • IP:  
    Flags Summary = 2 (0х2)

  • IP:  
    …….0 = Last fragment in datagram

  • IP:  
    ……1. = Cannot fragment datagram

  • IP:  
    Fragment Offset = 0 (0х0)
    bytes

  • IP:  
    Time to Live = 128 (0х80)

  • IP:  
    Protocol = TCP — Transmission Control

  • IP:  
    Checksum = OxEB86

  • IP:  
    Source Address = 194.85.135.75

  • IP:  
    Destination Address = 194.85.135.66

  • IP:  
    Data: Number of data bytes remaining = 34 (0х0022)

Соседние файлы в папке Cетевые технологий

  • #
  • #

Протокол IP (Internet Protocol) является одним из главных компонентов стека протоколов TCP/IP. Он выполняет функции в области адресации и маршрутизации данных, позволяя организовать глобальную сеть компьютеров (интернет) и обеспечивать их взаимодействие. В данной статье мы рассмотрим основные функции протокола IP, его применение и особенности работы.

  1. Что такое протокол IP
  2. Какие функции выполняет протокол IP
  3. Как работает протокол маршрутизации в протоколе IP
  4. Применение протокола IP
  5. Советы по использованию протокола IP
  6. Выводы

Что такое протокол IP

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

Какие функции выполняет протокол IP

Протокол IP выполняет следующие основные функции:

  1. Адресация узлов сети. IP-адрес, назначенный каждому узлу в сети, обеспечивает его идентификацию в глобальном масштабе и позволяет передавать данные между различными компьютерами в сети. Адресация выполняется на уровне сетевых интерфейсов устройств, которые подключены к глобальной сети.
  2. Маршрутизация данных в сети. IP-пакеты, содержащие данные для передачи, передаются по сети от узла к узлу, пока не достигнут конечного пункта назначения. Маршрутизация осуществляется с помощью маршрутизаторов, которые выбирают оптимальный маршрут на основе информации о текущем состоянии сети и о пропускной способности узлов.
  3. Фрагментация и сборка пакетов. Если размер передаваемых данных превышает максимально допустимый размер IP-пакета, данные разбиваются на несколько фрагментов. При доставке эти фрагменты объединяются. Фрагментация и сборка обеспечивают целостность передаваемых данных и эффективный трафик в сети.

Как работает протокол маршрутизации в протоколе IP

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

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

Применение протокола IP

Протокол IP используется в большинстве компьютерных сетей, включая локальные и глобальные сети. Он является базовым протоколом в стеке протоколов TCP/IP, который обеспечивает логическое соединение между компьютерами и передачу данных через сеть.

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

Советы по использованию протокола IP

  • Убедитесь в правильном настройке IP-адресов для каждого устройства на сети. Неправильная адресация может вызвать проблемы в передаче данных и маршрутизации пакетов.
  • Используйте протокол маршрутизации для оптимизации передачи данных в сети. Это позволит выбирать наиболее оптимальный маршрут для передачи данных и обеспечить эффективное использование пропускной способности узлов.
  • Периодически проверяйте состояние сети и наличие проблем в передаче данных. Это поможет предотвратить возможные проблемы и обеспечить бесперебойную работу сети.

Выводы

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

Какие функции обеспечивает протокол IP

Протокол IP (Internet Protocol) — это основной протокол Интернета, который обеспечивает передачу дейтаграмм данных между компьютерами. Его функции включают в себя идентификацию и адресацию устройств в сети через уникальные IP-адреса, фрагментацию сообщений на пакеты, их маршрутизацию и обнаружение ошибок. Он гарантирует, что сообщения будут доставлены на правильный адрес и в правильной последовательности без сохранения состояния соединения. Для передачи данных между компьютерами используется сетевой стек протоколов TCP/IP, где протокол IP работает на уровне Интернета. IP-адреса являются основой работы протокола IP, поскольку именно они определяют адреса отправителя и получателя. Он также обеспечивает использование различных протоколов на верхних уровнях стека, таких как HTTP, FTP, SMTP и других.

Что обеспечивает протокол TCP IP

Протокол TCP/IP обеспечивает возможность подключения компьютера к сети Интернет в качестве хоста, а также установление связи между хостами Интернет. Он является основой функционирования Интернета и используется для передачи данных между устройствами. Протокол TCP/IP состоит из двух основных протоколов: протокола управления передачей (TCP) и протокола Интернета (IP). TCP гарантирует правильную передачу данных, устанавливает соединение между хостами и обеспечивает контроль над передачей данных. А протокол IP позволяет датаграммам пересылаться между хостами в Интернете и определяет адреса хостов. Благодаря протоколу TCP/IP возможна межсетевая коммуникация, передача данных в режиме реального времени и обеспечение безопасности при передаче информации.

Что обеспечивает IP протокол информатика

IP протокол информатика обеспечивает соединение между компьютерами в интернете. Этот протокол является основным протоколом Интернета и отвечает за передачу пакетов данных в сети. Он устанавливает адреса для каждого устройства в сети и определяет кратчайший путь для передачи данных между ними.

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

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

Таким образом, IP протокол информатика обеспечивает надежную и эффективную связь между компьютерами в сети Интернет.

Что обеспечивает протокол IP

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

From Wikipedia, the free encyclopedia

The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.

IP has the task of delivering packets from the source host to the destination host solely based on the IP addresses in the packet headers. For this purpose, IP defines packet structures that encapsulate the data to be delivered. It also defines addressing methods that are used to label the datagram with source and destination information.

IP was the connectionless datagram service in the original Transmission Control Program introduced by Vint Cerf and Bob Kahn in 1974, which was complemented by a connection-oriented service that became the basis for the Transmission Control Protocol (TCP). The Internet protocol suite is therefore often referred to as TCP/IP.

The first major version of IP, Internet Protocol Version 4 (IPv4), is the dominant protocol of the Internet. Its successor is Internet Protocol Version 6 (IPv6), which has been in increasing deployment on the public Internet since c. 2006.[1]

Function[edit]

Encapsulation of application data carried by UDP to a link protocol frame

The Internet Protocol is responsible for addressing host interfaces, encapsulating data into datagrams (including fragmentation and reassembly) and routing datagrams from a source host interface to a destination host interface across one or more IP networks.[2] For these purposes, the Internet Protocol defines the format of packets and provides an addressing system.

Each datagram has two components: a header and a payload. The IP header includes source IP address, destination IP address, and other metadata needed to route and deliver the datagram. The payload is the data that is transported. This method of nesting the data payload in a packet with a header is called encapsulation.

IP addressing entails the assignment of IP addresses and associated parameters to host interfaces. The address space is divided into subnetworks, involving the designation of network prefixes. IP routing is performed by all hosts, as well as routers, whose main function is to transport packets across network boundaries. Routers communicate with one another via specially designed routing protocols, either interior gateway protocols or exterior gateway protocols, as needed for the topology of the network.[3]

Version history[edit]

A timeline for the development of the transmission control Protocol TCP and Internet Protocol IP.

In May 1974, the Institute of Electrical and Electronics Engineers (IEEE) published a paper entitled «A Protocol for Packet Network Intercommunication».[4] The paper’s authors, Vint Cerf and Bob Kahn, described an internetworking protocol for sharing resources using packet switching among network nodes. A central control component of this model was the «Transmission Control Program» that incorporated both connection-oriented links and datagram services between hosts. The monolithic Transmission Control Program was later divided into a modular architecture consisting of the Transmission Control Protocol and User Datagram Protocol at the transport layer and the Internet Protocol at the internet layer. The model became known as the Department of Defense (DoD) Internet Model and Internet protocol suite, and informally as TCP/IP.

IP versions 1 to 3 were experimental versions, designed between 1973 and 1978.[5] The following Internet Experiment Note (IEN) documents describe version 3 of the Internet Protocol, prior to the modern version of IPv4:

  • IEN 2 (Comments on Internet Protocol and TCP), dated August 1977 describes the need to separate the TCP and Internet Protocol functionalities (which were previously combined). It proposes the first version of the IP header, using 0 for the version field.
  • IEN 26 (A Proposed New Internet Header Format), dated February 1978 describes a version of the IP header that uses a 1-bit version field.
  • IEN 28 (Draft Internetwork Protocol Description Version 2), dated February 1978 describes IPv2.
  • IEN 41 (Internetwork Protocol Specification Version 4), dated June 1978 describes the first protocol to be called IPv4. The IP header is different from the modern IPv4 header.
  • IEN 44 (Latest Header Formats), dated June 1978 describes another version of IPv4, also with a header different from the modern IPv4 header.
  • IEN 54 (Internetwork Protocol Specification Version 4), dated September 1978 is the first description of IPv4 using the header that would be standardized in RFC 760.

The dominant internetworking protocol in the Internet Layer in use is IPv4; the number 4 identifies the protocol version, carried in every IP datagram. IPv4 is described in RFC 791 (1981).

Versions 2 and 3, and a draft of version 4, allowed an address length of up to 128 bits,[6] but this was mistakenly[citation needed] reduced to 32 bits in the final version of IPv4.

Version number 5 was used by the Internet Stream Protocol, an experimental streaming protocol that was not adopted.[5]

The successor to IPv4 is IPv6. IPv6 was a result of several years of experimentation and dialog during which various protocol models were proposed, such as TP/IX (RFC 1475), PIP (RFC 1621) and TUBA (TCP and UDP with Bigger Addresses, RFC 1347). Its most prominent difference from version 4 is the size of the addresses. While IPv4 uses 32 bits for addressing, yielding c. 4.3 billion (4.3×109) addresses, IPv6 uses 128-bit addresses providing c. 3.4×1038 addresses. Although adoption of IPv6 has been slow, as of January 2023, most countries in the world show significant adoption of IPv6,[7] with over 41% of Google’s traffic being carried over IPv6 connections.[8]

The assignment of the new protocol as IPv6 was uncertain until due diligence assured that IPv6 had not been used previously.[9] Other Internet Layer protocols have been assigned version numbers,[10] such as 7 (IP/TX), 8 and 9 (historic). Notably, on April 1, 1994, the IETF published an April Fools’ Day joke about IPv9.[11] IPv9 was also used in an alternate proposed address space expansion called TUBA.[12] A 2004 Chinese proposal for an «IPv9» protocol appears to be unrelated to all of these, and is not endorsed by the IETF.

Reliability[edit]

The design of the Internet protocol suite adheres to the end-to-end principle, a concept adapted from the CYCLADES project. Under the end-to-end principle, the network infrastructure is considered inherently unreliable at any single network element or transmission medium and is dynamic in terms of the availability of links and nodes. No central monitoring or performance measurement facility exists that tracks or maintains the state of the network. For the benefit of reducing network complexity, the intelligence in the network is located in the end nodes.[13]

As a consequence of this design, the Internet Protocol only provides best-effort delivery and its service is characterized as unreliable. In network architectural parlance, it is a connectionless protocol, in contrast to connection-oriented communication. Various fault conditions may occur, such as data corruption, packet loss and duplication. Because routing is dynamic, meaning every packet is treated independently, and because the network maintains no state based on the path of prior packets, different packets may be routed to the same destination via different paths, resulting in out-of-order delivery to the receiver.

All fault conditions in the network must be detected and compensated by the participating end nodes. The upper layer protocols of the Internet protocol suite are responsible for resolving reliability issues. For example, a host may buffer network data to ensure correct ordering before the data is delivered to an application.

IPv4 provides safeguards to ensure that the header of an IP packet is error-free. A routing node discards packets that fail a header checksum test. Although the Internet Control Message Protocol (ICMP) provides notification of errors, a routing node is not required to notify either end node of errors. IPv6, by contrast, operates without header checksums, since current link layer technology is assumed to provide sufficient error detection.[14][15]

Link capacity and capability[edit]

The dynamic nature of the Internet and the diversity of its components provide no guarantee that any particular path is actually capable of, or suitable for, performing the data transmission requested. One of the technical constraints is the size of data packets possible on a given link. Facilities exist to examine the maximum transmission unit (MTU) size of the local link and Path MTU Discovery can be used for the entire intended path to the destination.[16]

The IPv4 internetworking layer automatically fragments a datagram into smaller units for transmission when the link MTU is exceeded. IP provides re-ordering of fragments received out of order.[17] An IPv6 network does not perform fragmentation in network elements, but requires end hosts and higher-layer protocols to avoid exceeding the path MTU.[18]

The Transmission Control Protocol (TCP) is an example of a protocol that adjusts its segment size to be smaller than the MTU. The User Datagram Protocol (UDP) and ICMP disregard MTU size, thereby forcing IP to fragment oversized datagrams.[19]

Security[edit]

During the design phase of the ARPANET and the early Internet, the security aspects and needs of a public, international network could not be adequately anticipated. Consequently, many Internet protocols exhibited vulnerabilities highlighted by network attacks and later security assessments. In 2008, a thorough security assessment and proposed mitigation of problems was published.[20] The IETF has been pursuing further studies.[21]

See also[edit]

  • ICANN
  • IP routing
  • List of IP protocol numbers
  • Next-generation network
  • New IP (proposal)

References[edit]

  1. ^ OECD (2014-11-06). «The Economics of Transition to Internet Protocol version 6 (IPv6)». OECD Digital Economy Papers. doi:10.1787/5jxt46d07bhc-en.
  2. ^ Charles M. Kozierok, The TCP/IP Guide
  3. ^ «IP Technologies and Migration — EITC». www.eitc.org. Archived from the original on 2021-01-05. Retrieved 2020-12-04.
  4. ^ Cerf, V.; Kahn, R. (1974). «A Protocol for Packet Network Intercommunication» (PDF). IEEE Transactions on Communications. 22 (5): 637–648. doi:10.1109/TCOM.1974.1092259. ISSN 1558-0857. The authors wish to thank a number of colleagues for helpful comments during early discussions of international network protocols, especially R. Metcalfe, R. Scantlebury, D. Walden, and H. Zimmerman; D. Davies and L. Pouzin who constructively commented on the fragmentation and accounting issues; and S. Crocker who commented on the creation and destruction of associations.
  5. ^ a b Stephen Coty (2011-02-11). «Where is IPv1, 2, 3, and 5?». Archived from and-5/ the original on 2020-08-02. Retrieved 2020-03-25.
  6. ^ Postel, Jonathan. «Internet Protocol Version 2» (PDF). rfc-editor. Retrieved 6 October 2022.
  7. ^ «IPv6 Adoption in 2021». RIPE Labs. Retrieved 2021-09-20.
  8. ^ «IPv6 – Google». www.google.com. Retrieved 2023-05-19.
  9. ^ Mulligan, Geoff. «It was almost IPv7». O’Reilly. O’Reilly Media. Archived from the original on 5 July 2015. Retrieved 4 July 2015.
  10. ^ «Version Numbers». www.iana.org. Retrieved 2019-07-25.
  11. ^ RFC 1606: A Historical Perspective On The Usage Of IP Version 9. April 1, 1994.
  12. ^ Ross Callon (June 1992). TCP and UDP with Bigger Addresses (TUBA), A Simple Proposal for Internet Addressing and Routing. doi:10.17487/RFC1347. RFC 1347.
  13. ^ «internet protocols». hfhr.pl. Retrieved 2020-12-04.[permanent dead link]
  14. ^ RFC 1726 section 6.2
  15. ^ RFC 2460
  16. ^ Rishabh, Anand (2012). Wireless Communication. S. Chand Publishing. ISBN 978-81-219-4055-9.
  17. ^ Siyan, Karanjit. Inside TCP/IP, New Riders Publishing, 1997. ISBN 1-56205-714-6
  18. ^ Bill Cerveny (2011-07-25). «IPv6 Fragmentation». Arbor Networks. Retrieved 2016-09-10.
  19. ^ Parker, Don (2 November 2010). «Basic Journey of a Packet». symantec.com. Symantec. Retrieved 4 May 2014.
  20. ^ Fernando Gont (July 2008), Security Assessment of the Internet Protocol (PDF), CPNI, archived from the original (PDF) on 2010-02-11
  21. ^ F. Gont (July 2011). Security Assessment of the Internet Protocol version 4. doi:10.17487/RFC6274. RFC 6274.

External links[edit]

  • Manfred Lindner. «IP Technology» (PDF). Retrieved 2018-02-11.
  • Manfred Lindner. «IP Routing» (PDF). Retrieved 2018-02-11.

🔍 Простой поиск по базе знаний

Протокол IP — основной протокол стека протоколов TCP/IP и основной протокол сетевого уровня. Именно он отвечает за передачу информации по сети и между отдельными сетями (подсетями). В его основе заложен дейтаграммный метод, который не гарантирует доставку пакета.

Функции протокола IP определены в стандарте RFC-791 следующим образом:

“Протокол IP обеспечивает передачу блоков данных, называемых дейтаграммами, от отправителя к получателям, где отправители и получатели являются компьютерами, идентифицируемыми адресами фиксированной длины (IP-адресами). Протокол IP обеспечивает при необходимости также фрагментацию и сборку дейтаграмм для передачи данных через сети с малым размером пакетов”.

Протокол IP является ненадежным протоколом без установления соединения. Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию квитирования (handshaking) – обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных.

Протокол IP обрабатывает каждую дейтаграмму как независимую единицу, не имеющую связи ни с какими другими дейтаграммами в Интернет.

После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP). Если дейтаграмма не может быть доставлена, она уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу ICMP-сообщение о причине сбоя.

Гарантию правильной передачи данных предоставляют протоколы вышестоящего уровня (например, протокол TCP или сервисы прикладного уровня), которые имеют для этого необходимые механизмы.

Одна из основных задач, решаемых протоколом IP, – маршрутизация дейтаграмм, т.е. определение пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.

Общий сценарий работы модуля IP на каком-либо узле сети, принимающего дейтаграмму из сети, не зависимо от конкретной реализации, то-есть операционной системы, таков:

  • с одного из интерфейсов уровня доступа к среде передачи (например, с Ethernet-интерфейса) в модуль реализующий протокол IP поступает дейтаграмма;
  • модуль IP анализирует заголовок дейтаграммы;
  • если пунктом назначения дейтаграммы является данный компьютер:
    • если дейтаграмма является фрагментом большей дейтаграммы, ожидаются остальные фрагменты, после чего из них собирается исходная большая дейтаграмма;
    • из дейтаграммы извлекаются данные и направляются на обработку одному из протоколов вышележащего уровня (какому именно – указывается в заголовке дейтаграммы);
  • если дейтаграмма не направлена ни на один из IP-адресов данного узла, то дальнейшие действия зависят от того, разрешена или запрещена ретрансляция (forwarding) “чужих” дейтаграмм;
    • если ретрансляция разрешена, то-есть узел выполняет маршрутизирующие функции, то определяются следующий узел сети, на который должна быть переправлена дейтаграмма для доставки ее по назначению, и интерфейс нижнего уровня, после чего дейтаграмма передается на нижний уровень этому интерфейсу для отправки; при необходимости может быть произведена фрагментация дейтаграммы;
    • если же дейтаграмма ошибочна или по каким-либо причинам не может быть доставлена, она уничтожается; при этом, как правило, отправителю дейтаграммы отсылается ICMP-сообщение об ошибке.

При получении данных от вышестоящего уровня для отправки их по сети IP-модуль формирует дейтаграмму с этими данными, в заголовок которой заносятся адреса отправителя и получателя (также полученные от транспортного уровня) и другая информация; после чего выполняются следующие шаги:

  • если дейтаграмма предназначена этому же узлу, из нее извлекаются данные и направляются на обработку одному из протоколов транспортного уровня (какому именно – указывается в заголовке дейтаграммы);
  • если дейтаграмма не направлена ни на один из IP-адресов данного узла, то определяются следующий узел сети, на который должна быть переправлена дейтаграмма для доставки ее по назначению, и интерфейс нижнего уровня, после чего дейтаграмма передается на нижний уровень этому интерфейсу для отправки; при необходимости может быть произведена фрагментация дейтаграммы;
  • если же дейтаграмма ошибочна или по каким-либо причинам не может быть доставлена, она уничтожается.

Формат заголовка дейтаграммы IP (v4):

Октет 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 Версия IHL Тип обслуживания Длина пакета
4 Идентификатор Флаги Смещение фрагмента
8 Время жизни (TTL) Протокол Контрольная сумма заголовка
12 IP-адрес отправителя
16 IP-адрес получателя
20 Параметры (от 0 до 10-и 32-х битных слов)
  Данные
  • Версия — для IPv4 значение поля должно быть равно 4.
  • IHL — (Internet Header Length) длина заголовка IP-пакета в 32-битных словах (dword). Именно это поле указывает на начало блока данных (англ. payload — полезный груз) в пакете. Минимальное корректное значение для этого поля равно 5.
  • Тип обслу́живания (Type of Service, акроним TOS) — байт, содержащий набор критериев, определяющих тип обслуживания IP-пакетов. Поле в заголовке пакета IPv4, которое с годами приобретало различные цели, и описывалось почти в пяти RFC. В настоящее время TOS поле имеет 6 bit поля DiffServ Code Point (DSCP) и 2-bit поля Explicit Congestion Notification.Тип обслуживания позволяет приоритизировать IP-трафик на сетевых маршрутизаторах, с целью обеспечения высокого качества передачи данныхБайт побитно (0 – старший, 7 – младший):
    • 0-2 — приоритет (precedence) данного IP-сегмента
    • 3 — требование ко времени задержки (delay) передачи IP-сегмента (0 — нормальная, 1 — низкая задержка)
    • 4 — требование к пропускной способности (throughput) маршрута, по которому должен отправляться IP-сегмент (0 — низкая, 1 — высокая пропускная способность)
    • 5 — требование к надежности (reliability) передачи IP-сегмента (0 — нормальная, 1 — высокая надежность)
    • 6-7 — ECN — явное сообщение о задержке (управление IP-потоком).

    На практике в большинстве реализаций протокола IP данное поле почти всегда равно 0.

  • Длина пакета — (Total Length) длина пакета в октетах, включая заголовок и данные. поле содержит общую длину пакета, размер которого не может превышать 65535 байт. Практически пакеты такой длины никогда не используются, поскольку технологии канального уровня накладывают свои ограничения. Так, Ethernet не допускает кадров с длиной более 1500 байт, FDDI – 4096 байт и т.д. В этой связи, протокол IP выполняет фрагментацию сегментов данных, поступающих к нему от TCP и UDP протоколов. Следует отметить, что маршрутизатор не выполняет сборку пакетов, даже если следующая сеть имеет параметр MTU (Maximum Transmission Unit), допускающий более крупные пакеты. Сборка пакетов в исходный сегмент производится на месте назначения.
  • Идентификатор — (Identification) значение, назначаемое отправителем пакета и предназначенное для определения корректной последовательности фрагментов при сборке пакета. Для фрагментированного пакета все фрагменты имеют одинаковый идентификатор.
  • 3 бита флагов. Первый бит должен быть всегда равен нулю, второй бит DF (don’t fragment) определяет возможность фрагментации пакета и третий бит MF (more fragments) показывает, не является ли этот пакет последним в цепочке пакетов.
  • Смещение фрагмента — (Fragment Offset) значение, определяющее позицию фрагмента в потоке данных. Смещение задается количеством восьмибайтовых блоков, поэтому это значение требует умножения на 8 для перевода в байты.
  • Время жизни (TTL) — поле, определяющее максимальное время, которое пакет может существовать в сети. Значение этого поля (в секундах) устанавливается при отправке пакета и уменьшается на единицу по мере прохождения им маршрутизаторов. При достижении нулевого значения этого поля пакет уничтожается. Максимальное значение поля – 255 секунд. Этот механизм помогает избежать перегрузок сети при возникновении ошибок в таблицах маршруизации, приводящих к образованию петель.
  • Протокол — идентификатор интернет-протокола следующего уровня указывает, данные какого протокола содержит пакет, например, TCP, UDP, или ICMP.
  • Контрольная сумма заголовка — (Header Checksum) поле содержит значение контрольной суммы, рассчитанной только по заголовку. Поскольку значения некоторых полей заголовка изменяются по мере прохождения пакета по маршруту (поле TTL, например), то значения рассматриваемого поля проверяются и пересчитываются на каждом маршрутизаторе. Этот механизм является единственным средством обеспечения достоверности передачи, содержащимся в протоколе IP.
  • Адрес отправителя (Source IP address) и Адрес получателя (Destination IP address) – поля одинаковой длины (32 бита), содержащие соответствующие адреса. Правила адресации в IP-сетях будут рассмотрены далее.
  • Опции (Options) – необязательное поле, используемое при отладке сетей и для запроса определенных специфических процедур обработки. В настоящее время используется крайне редко. В связи с разработкой новых протоколов, обеспечивающих большую гибкость в обработке IP-трафика, возможность использования этих полей вновь стала предметом обсуждения комитетов по стандартизации.При получении пакета маршрутизатор вычисляет контрольную сумму заголовка пакета и, если она не совпадает со значением поля «Контрольная сумма», то пакет отбрасывается. При положительном результате проверки, производится изменение некоторых полей и рассчитывается новое значение поля «Контрольная сумма». Затем по таблице маршрутизации определяется адрес следующего маршрутизатора, на который должен быть направлен этот пакет, и он передается на соответствующий интерфейс.


Глава №4:»Сетевой уровень как средство построения больших сетей»

4.3. Протокол IP

4.3. Протокол IP

4.3.1. Основные функции
протокола IP

Основу транспортных средств стека протоколов TCP/IP составляет
протокол межсетевого взаимодействия (Internet Protocol, IP). Он
обеспечивает передачу дейтаграмм от отправителя к получателям через объединенную
систему компьютерных сетей.

Название данного протокола — Intrenet Protocol — отражает его
суть: он должен передавать пакеты между сетями. В каждой очередной сети,
лежащей на пути перемещения пакета, протокол IP вызывает средства
транспортировки, принятые в этой сети, чтобы с их помощью передать этот пакет на
маршрутизатор, ведущий к следующей сети, или непосредственно на
узел-получатель.

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

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

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

4.3.2. Структура IP-пакета

IP-пакет состоит из заголовка и поля данных. Заголовок, как
правило, имеющий длину 20 байт, имеет следующую структуру (рис. 4.12).

Рис. 4.12. Структура заголовка IP-пакета

Поле Номер версии (Version), занимающее 4 бит, указывает
версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), и
готовится переход на версию 6 (IPv6).

Поле Длина заголовка (IHL) IP-пакета занимает 4 бит и
указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно
заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема
служебной информации эта длина может быть увеличена за счет использования
дополнительных байт в поле Опции (IP Options). Наибольший заголовок
занимает 60 октетов.

Поле Тип сервиса (Type of Service) занимает один байт и
задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита
этого поля образуют подполе приоритета пакета (Precedence),
Приоритет может иметь значения от самого низкого — 0 (нормальный пакет) до
самого высокого — 7 (пакет управляющей информации). Маршрутизаторы и компьютеры
могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты
в первую очередь. Поле Тип сервиса содержит также три бита, определяющие
критерий выбора маршрута. Реально выбор осуществляется между тремя
альтернативами: малой задержкой, высокой достоверностью и высокой пропускной
способностью. Установленный бит D (delay) говорит о том, что маршрут должен
выбираться для минимизации задержки доставки данного пакета, бит Т — для
максимизации пропускной способности, а бит R — для максимизации надежности
доставки. Во многих сетях улучшение одного из этих параметров связано с
ухудшением другого, кроме того, обработка каждого из них требует дополнительных
вычислительных затрат. Поэтому редко, когда имеет смысл устанавливать
одновременно хотя бы два из этих трех критериев выбора маршрута.
Зарезервированные биты имеют нулевое значение.

Поле Общая длина (Total Length) занимает 2 байта и
означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина
пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65
535 байт, однако в большинстве хост-компьютеров и сетей столь большие пакеты не
используются. При передаче по сетям различного типа длина пакета выбирается с
учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты.
Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт,
умещающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все
хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (приходят ли
они целиком или по фрагментам). Хостам рекомендуется отправлять пакеты размером
более чем 576 байт, только если они уверены, что принимающий хост или
промежуточная сеть готовы обслуживать пакеты такого размера.

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

Поле Флаги (Flags) занимает 3 бита и содержит признаки,
связанные с фрагментацией. Установленный бит DF (Do not Fragment) запрещает
маршрутизатору фрагментировать данный пакет, а установленный бит MF (More
Fragments) говорит о том, что данный пакет является промежуточным (не последним)
фрагментом. Оставшийся бит зарезервирован.

Поле Смещение фрагмента (Fragment Offset) занимает 13
бит и задает смещение в байтах поля данных этого пакета от начала общего поля
данных исходного пакета, подвергнутого фрагментации. Используется при
сборке/разборке фрагментов пакетов при передачах их между сетями с различными
величинами MTU. Смещение должно быть кратно 8 байт.

Поле Время жизни (Time to Live) занимает один байт и
означает предельный срок, в течение которого пакет может перемещаться по сети.
Время жизни данного пакета измеряется в секундах и задается источником передачи.
На маршрутизаторах и в других узлах сети по истечении каждой секунды из текущего
времени жизни вычитается единица; единица вычитается и в том случае, когда время
задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают
пакет дольше, чем за одну секунду, то время жизни можно считать равным
максимальному числу узлов, которые разрешено пройти данному пакету до того, как
он достигнет места назначения. Если параметр времени жизни станет нулевым до
того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни
можно рассматривать как часовой механизм самоуничтожения. Значение этого поля
изменяется при обработке заголовка IP-пакета.

Идентификатор Протокол верхнего уровня (Protocol)
занимает один байт и указывает, какому протоколу верхнего уровня принадлежит
информация, размещенная в поле данных пакета (например, это могут быть сегменты
протокола TCP, дейтаграммы UDP, пакеты ICMP или OSPF). Значения идентификаторов
для различных протоколов приводятся в документе RFC «Assigned Numbers».

Контрольная сумма (Header Checksum) занимает 2 байта и
рассчитывается только по заголовку. Поскольку некоторые поля заголовка меняют
свое значение в процессе передачи пакета по сети (например, время жизни),
контрольная сумма проверяется и повторно рассчитывается при каждой обработке
IP-заголовка. Контрольная сумма — 16 бит — подсчитывается как дополнение к сумме
всех 16-битовых слов заголовка. При вычислении контрольной суммы значение самого
поля «контрольная сумма» устанавливается в нуль. Если контрольная сумма неверна,
то пакет будет отброшен, как только ошибка будет обнаружена.

Поля IP-адрес источника (Source IP Address) и
IP-адрес назначения (Destination IP Address) имеют одинаковую длину — 32
бита — и одинаковую структуру.

Поле Опции (IP Options) является необязательным и
используется обычно только при отладке сети. Механизм опций предоставляет
функции управления, которые необходимы или просто полезны при определенных
ситуациях, однако он не нужен при обычных коммуникациях. Это поле состоит из
нескольких подполей, каждое из которых может быть одного из восьми
предопределенных типов. В этих подполях можно указывать точный маршрут
прохождения маршрутизаторов, регистрировать проходимые пакетом маршрутизаторы,
помещать данные системы безопасности, а также временные отметки. Так как число
подполей может быть произвольным, то в конце поля Опции должно быть
добавлено несколько байт для выравнивания заголовка пакета по 32-битной
границе.

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

Ниже приведена распечатка значений полей заголовка одного из
реальных IP-пакетов, захваченных в сети Ethernet средствами анализатора
протоколов Microsoft Network Monitor.

IP Version = 4 (0х4)

IP Header Length = 20 (0х14)

IP Service Type = 0 (0х0)

IP Precedence = Routine

IP …0…. = Normal Delay

IP ….0… = Normal Throughput

IP …..0.. = Normal Reliability

IP Total Length = 54 (0х36)

IP Identification = 31746 (0x7C02)

IP Flags Summary ° 2 (0х2)

IP ……. 0 = Last fragment in datagram

IP …… 1. = Cannot fragment datagram

IP Fragment Offset = 0 (0х0) bytes

IP Time to Live = 128 (0х80)

IP Protocol = TCP — Transmission Control

IP Checksum =0xEB86

IP Source Address = 194.85.135.75

IP Destination Address = 194.85.135.66

IP Data: Number of data bytes remaining = 34 (0х0022)

4.3.3. Таблицы
маршрутизации в IP-сетях

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

Примеры таблиц
различных типов маршрутизаторов

Структура таблицы маршрутизации стека TCP/IP соответствует
общим принципам построения таблиц маршрутизации, рассмотренным выше. Однако
важно отметить, что вид таблицы IP-маршрутизации зависит от конкретной
реализации стека TCP/IP. Приведем пример трех вариантов таблицы маршрутизации, с
которыми мог бы работать маршрутизатор Ml в сети, представленной на рис.
4.13.

Рис. 4.13. Пример маршрутизируемой сети

Если представить, что в качестве маршрутизатора Ml в данной
сети работает штатный программный маршрутизатор MPR операционной системы
Microsoft Windows NT, то его таблица маршрутизации могла бы иметь следующий вид
(табл. 4.9).

Таблица 4.9. Таблица программного маршрутизатора MPR Windows NT

Если на месте маршрутизатора М1 установить аппаратный
маршрутизатор NetBuilder II компании 3 Com, то его таблица маршрутизации для
этой же сети может выглядеть так, как показано в табл. 4.10.

Таблица 4.10. Таблица маршрутизации аппаратного маршрутизатора
NetBuilder II компании 3 Com

Таблица 4.11 представляет собой таблицу маршрутизации для
маршрутизатора Ml, реализованного в виде программного маршрутизатора одной из
версий операционной системы Unix.

Таблица 4.11. Таблица маршрутизации Unix-маршрутизатора


ПРИМЕЧАНИЕ^ Заметим, что поскольку между структурой сети
и таблицей маршрутизации в принципе нет однозначного соответствия, то и для
каждого из приведенных вариантов таблицы можно предложить свои «подварианты»,
отличающиеся выбранным маршрутом к той или иной сети. В данном случае внимание
концентрируется на существенных различиях в форме представления маршрутной
информации разными реализациями маршрутизаторов.


Назначение полей таблицы
маршрутизации

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

К таким параметрам, безусловно, относятся адрес сети назначения
(столбцы «Destination» в маршрутизаторах NetBuilder и Unix или «Network Address»
в маршрутизаторе MPR) и адрес следующего маршрутизатора (столбцы «Gateway» в
маршрутизаторах NetBuilder и Unix или «Gateway Address» в маршрутизаторе
MPR).

Третий ключевой параметр — адрес порта, на который нужно
направить пакет, в некоторых таблицах указывается прямо (поле «Interface» в
таблице Windows NT), а в некоторых — косвенно. Так, в таблице
Unix-маршрутизатора вместо адреса порта задается его условное наименование — 1е0
для порта с адресом 198.21.17.5, lei для порта с адресом 213.34.12.3 и 1о0 для
внутреннего порта с адресом 127.0.0.1.

В маршрутизаторе NetBuilder II поле, обозначающее выходной порт
в какой-либо форме, вообще отсутствует. Это объясняется тем, что адрес выходного
порта всегда можно косвенно определить по адресу следующего маршрутизатора.
Например, попробуем определить по табл. 4.10 адрес выходного порта для сети
56.0.0.0. Из таблицы следует, что следующим маршрутизатором для этой сети будет
маршрутизатор с адресом 213.34.12.4. Адрес следующего маршрутизатора должен
принадлежать одной из непосредственно присоединенных к маршрутизатору сетей, и в
данном случае это сеть 213.34.12.0. Маршрутизатор имеет порт, присоединенный к
этой сети, и адрес этого порта 213.34.12.3 мы находим в поле «Gateway» второй
строки таблицы маршрутизации, которая описывает непосредственно присоединенную
сеть 213.34.12.0. Для непосредственно присоединенных сетей адресом следующего
маршрутизатора всегда является адрес собственного порта маршрутизатора. Таким
образом, адрес выходного порта для сети 56.0.0 — это адрес 213.34.12.3.

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

Наличие или отсутствие поля маски в таблице говорит о том,
насколько современен данный маршрутизатор. Стандартным решением сегодня является
использование поля маски в каждой записи таблицы, как это сделано в таблицах
маршрутизаторов MPR Windows NT (поле «Netmask») и NetBuilder (поле «Mask»).
Обработка масок при принятии решения маршрутизаторами будет рассмотрена ниже.
Отсутствие поля маски говорит о том, что либо маршрутизатор рассчитан на работу
только с тремя стандартными классами адресов, либо он использует для всех
записей одну и ту же маску, что снижает гибкость маршрутизации.

Метрика, как видно из примера таблицы Unix-маршрутизатора,
является необязательным параметром. В остальных двух таблицах это поле имеется,
однако оно используется только в качестве признака непосредственно подключенной
сети. Действительно, если в таблице маршрутизации каждая сеть назначения
упомянута только один раз, то поле метрики не будет приниматься во внимание при
выборе маршрута, так как выбор отсутствует. А вот признак непосредственно
подключенной сети маршрутизатору нужен, поскольку пакет для этой сети
обрабатывается особым способом — он не передается следующему маршрутизатору, а
отправляется узлу назначения. Поэтому метрика 0 для маршрутизатора NetBuilder
или 1 для маршрутизатора MPR просто говорит маршрутизатору, что эта сеть
непосредственно подключена к его порту, а другое значение метрики соответствует
удаленной сети. Выбор значения метрики для непосредственно подключенной сети
является достаточно произвольным, главное, чтобы метрика удаленной сети
отсчитывалась с учетом этого выбранного начального значения. В
Unix-маршрутизаторе используется поле признаков, где флаг G отмечает удаленную
сеть, а его отсутствие — непосредственно подключенную.

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

Флаги записей присутствуют только в таблице Unix-маршрутизатора. Они
описывают характеристики записи.

  • U — показывает, что маршрут активен и работоспособен.
    Аналогичный смысл имеет поле «Status» в маршрутизаторе NetBuilder.

  • Н — признак специфического маршрута к определенному хосту.
    Маршрут ко всей сети, к которой принадлежит данный хост, может отличаться от
    данного маршрута.

  • G — означает, что маршрут пакета проходит через промежуточный
    маршрутизатор (gateway). Отсутствие этого флага отмечает непосредственно
    подключенную сеть.

  • D — означает, что маршрут получен из сообщения Redirect
    (перенаправление) протокола ICMP. Этот признак может присутствовать только в
    таблице маршрутизации конечного узла. Признак означает, что конечный узел в
    какой-то предыдущей передаче пакета выбрал не самый рациональный следующий
    маршрутизатор на пути к данной сети, и этот маршрутизатор с помощью протокола
    ICMP сообщил, что все последующие пакеты к данной сети нужно отправлять через
    другой следующий маршрутизатор. Протокол ICMP может посылать сообщения только
    узлу-отправителю, поэтому у промежуточного маршрутизатора этот признак
    встретиться не может. Признак никак не влияет на процесс маршрутизации, он
    только указывает администратору источник появления записи. В таблице
    Unix-маршрутизатора используются еще два поля, имеющих справочное значение.
    Поле «Refcnt» показывает, сколько раз на данный маршрут ссылались при
    продвижении пакетов. Поле «Use» отражает количество пакетов, переданных по
    данному маршруту.

В таблице маршрутизатора NetBuilder также имеются два
справочных поля. Поле времени жизни «TTL» (Time To Live) имеет смысл для
динамических записей, которые имеют ограниченный срок жизни. Текущее значение
поля показывает оставшийся срок жизни записи в секундах. Поле «Source» отражает
источник появления записи в таблице маршрутизации. Хотя это поле имеется не во
всех маршрутизаторах, но практически для всех маршрутизаторов существуют три
основных источника появления записи в таблице.

Источники и типы
записей в таблице маршрутизации

Первым источником является программное обеспечение стека
TCP/IP. При инициализации маршрутизатора это программное обеспечение
автоматически заносит в таблицу несколько записей, в результате чего создается
так называемая минимальная таблица маршрутизации.

Это, во-первых, записи о непосредственно подключенных сетях и
маршрутизаторах по умолчанию, информация о которых появляется в стеке при ручном
конфигурировании интерфейсов компьютера или маршрутизатора. К таким записям в
приведенных примерах относятся записи о сетях 213.34.12.0 и 198.21.17.0, а также
запись о маршрутизаторе по умолчанию — default в Unix-маршрутизаторе и 0.0.0.0 в
маршрутизаторе MPR Windows NT, В приведенном примере таблицы для маршрутизатора
NetBuilder маршрутизатор по умолчанию не используется, следовательно, при
поступлении пакета с адресом назначения, отсутствующим в таблице маршрутизации,
этот пакет будет отброшен.

Во-вторых, программное обеспечение автоматически заносит в
таблицу маршрутизации записи об адресах особого назначения. В приведенных
примерах таблица маршрутизатора MPR Windows NT содержит наиболее полный набор
записей такого рода. Несколько записей в этой таблице связаны с особым адресом
127.0.0.0 (loopback), который используется для локального тестирования стека
TCP/IP. Пакеты, направленные в сеть с номером 127.0.0.0, не передаются
протоколом IP на канальный уровень для последующей передачи в сеть, а
возвращаются в источник — локальный модуль IP. Записи с адресом 224.0.0.0
требуются для обработки групповых адресов (multicast address). Кроме того, в
таблицу могут быть занесены адреса, предназначенные для обработки
широковещательных рассылок (например, записи 8 и 11 содержат адрес отправки
широковещательного сообщения в соответствующих подсетях, а последняя запись в
таблице — адрес ограниченной широковещательной рассылки сообщения). Заметим, что
в некоторых таблицах записи об особых адресах вообще отсутствуют.

Вторым источником появления записи в таблице является
администратор, непосредственно формирующий запись с помощью некоторой системной
утилиты, например программы route, имеющейся в операционных системах Unix и
Windows NT. В аппаратных маршрутизаторах также всегда имеется команда для
ручного задания записей таблицы маршрутизации. Заданные вручную записи всегда
являются статическими, то есть не имеют срока истечения жизни. Эти записи могут
быть как постоянными, то есть сохраняющимися при перезагрузке маршрутизатора,
так и временными, хранящимися в таблице только до выключения устройства. Часто
администратор вручную заносит запись default о маршрутизаторе по умолчанию.
Таким же образом в таблицу маршрутизации может быть внесена запись о специфичном
для узла маршруте. Специфичный для узла маршрут содержит вместо номера сети
полный IP-адрес, то есть адрес, имеющий ненулевую информацию не только в поле
номера сети, но и в поле номера узла. Предполагается, что для такого конечного
узла маршрут должен выбираться не так, как для всех остальных узлов сети, к
которой он относится. В случае когда в таблице есть разные записи о продвижении
пакетов для всей сети и ее отдельного узла, при поступлении пакета,
адресованного узлу, маршрутизатор отдаст предпочтение записи с полным адресом
узла.

И наконец, третьим источником записей могут быть протоколы
маршрутизации, такие как RIP или OSPF. Такие записи всегда являются
динамическими, то есть имеют ограниченный срок жизни. Программные маршрутизаторы
Windows NT и Unix не показывают источник появления той или иной записи в
таблице, а маршрутизатор NetBuilder использует для этой цели поле «Source». В
приведенном в табл. 4.10 примере первые две записи созданы программным
обеспечением стека на основании данных о конфигурации портов маршрутизатора —
это показывает признак «Connected». Следующие две записи обозначены как
«Static», что указывает на то, что их ввел вручную администратор. Последняя
запись является следствием работы протокола RIP, поэтому в ее поле «TTL» имеется
значение 160.


При использовании материалов сайта ссылка на проект http://www.compnets.narod.ru обязательна.
All
rights reserved.
©2006
compnets@yandex.ru — пишите письма
Дизайн сайта

  • Какие факторы вызывают ошибки мышления soft skills
  • Какие факторы влияют на величину средней ошибки выборки
  • Какие факторы влияют на величину средней ошибки выборки
  • Какие утверждения верны а какие нет исправьте ошибки биология 5 класс
  • Какие угрозы иб могут быть вызваны ошибками пользователей сдо ржд