Протокол IP — основной протокол стека протоколов TCP/IP и основной протокол сетевого уровня. Именно он отвечает за передачу информации по сети и между отдельными сетями (подсетями). В его основе заложен дейтаграммный метод, который не гарантирует доставку пакета.
Функции протокола IP определены в стандарте RFC-791 следующим образом:
“Протокол IP обеспечивает передачу блоков данных, называемых дейтаграммами, от отправителя к получателям, где отправители и получатели являются компьютерами, идентифицируемыми адресами фиксированной длины (IP-адресами). Протокол IP обеспечивает при необходимости также фрагментацию и сборку дейтаграмм для передачи данных через сети с малым размером пакетов”.
Протокол IP является ненадежным протоколом без установления соединения. Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию квитирования (handshaking) – обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных.
IP-адреса | Курс «Компьютерные сети»
Протокол IP обрабатывает каждую дейтаграмму как независимую единицу, не имеющую связи ни с какими другими дейтаграммами в Интернет.
После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP). Если дейтаграмма не может быть доставлена, она уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу ICMP-сообщение о причине сбоя.
Гарантию правильной передачи данных предоставляют протоколы вышестоящего уровня (например, протокол TCP или сервисы прикладного уровня), которые имеют для этого необходимые механизмы.
Одна из основных задач, решаемых протоколом IP, – маршрутизация дейтаграмм, т.е. определение пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.
Общий сценарий работы модуля IP на каком-либо узле сети, принимающего дейтаграмму из сети, не зависимо от конкретной реализации, то-есть операционной системы, таков:
- с одного из интерфейсов уровня доступа к среде передачи (например, с Ethernet-интерфейса) в модуль реализующий протокол IP поступает дейтаграмма;
- модуль IP анализирует заголовок дейтаграммы;
- если пунктом назначения дейтаграммы является данный компьютер:
- если дейтаграмма является фрагментом большей дейтаграммы, ожидаются остальные фрагменты, после чего из них собирается исходная большая дейтаграмма;
- из дейтаграммы извлекаются данные и направляются на обработку одному из протоколов вышележащего уровня (какому именно – указывается в заголовке дейтаграммы);
- если ретрансляция разрешена, то-есть узел выполняет маршрутизирующие функции, то определяются следующий узел сети, на который должна быть переправлена дейтаграмма для доставки ее по назначению, и интерфейс нижнего уровня, после чего дейтаграмма передается на нижний уровень этому интерфейсу для отправки; при необходимости может быть произведена фрагментация дейтаграммы;
- если же дейтаграмма ошибочна или по каким-либо причинам не может быть доставлена, она уничтожается; при этом, как правило, отправителю дейтаграммы отсылается ICMP-сообщение об ошибке.
При получении данных от вышестоящего уровня для отправки их по сети IP-модуль формирует дейтаграмму с этими данными, в заголовок которой заносятся адреса отправителя и получателя (также полученные от транспортного уровня) и другая информация; после чего выполняются следующие шаги:
Какую кассу выбрать для ИП? Советы индивидуальным предпринимателям
- если дейтаграмма предназначена этому же узлу, из нее извлекаются данные и направляются на обработку одному из протоколов транспортного уровня (какому именно – указывается в заголовке дейтаграммы);
- если дейтаграмма не направлена ни на один из IP-адресов данного узла, то определяются следующий узел сети, на который должна быть переправлена дейтаграмма для доставки ее по назначению, и интерфейс нижнего уровня, после чего дейтаграмма передается на нижний уровень этому интерфейсу для отправки; при необходимости может быть произведена фрагментация дейтаграммы;
- если же дейтаграмма ошибочна или по каким-либо причинам не может быть доставлена, она уничтожается.
Формат заголовка дейтаграммы IP (v4):
Версия | 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-потоком).
Похожие статьи на сайте
- Протокол обмена управляющими сообщениями ICMP
- DSL — высокоскоростная цифровая линия до пользователя (Digital Subscriber Line)
- Протокол транспортного уровня — UDP
- Основные сведения о DNS. Зоны и серверы DNS.
- Общие принципы функционирования NAT
- Протокол сетевого уровня — IP
- Сетевой уровень модели OSI. Общие понятия.
- Основные понятия DHCP
- Виртуальная локальная сеть — VLAN (Virtual Local Area Network)
- Устройства канального уровня модели OSI (L2)
- Канальный уровень модели OSI. Общие понятия.
- Физический уровень модели OSI
- Что такое QoS?
- Файлы и записи зон DNS
- Открытые DNS сервера
- Основные сведения о DNS. Введение.
- Коды ответа сервера по протоколу HTTP
- Модели OSI и TCP/IP
- Протоколы ARP и RARP
- Основные понятия WWW
- Что такое CSS?
- WebDAV
Источник: www.oslogic.ru
Что такое TCP/IP
5 Декабря 2021
История стека протоколов TCP/IP началась в 1972 году, с разработок на основе протокола NCP (Network Control Protocol). В 1976 г. осуществилась демонстрация передачи данных по трем различным сетям с использованием TCP (Transmission Control Protocol), а в 1978 г. TCP разделился на обособленные направления: TCP и IP (Internet Protocol), причем TCP отвечал за составление датаграмм из сообщений и его сборку в конечной точке, а IP контролировал транспортировку отдельных датаграмм. В январе 1983 года TCP/IP был принят в качестве официального стандарта Internet с четким описанием взаимодействующих уровней в технической документации RFC 1122.
Что такое TCP/IP
Протокол TCP/IP является обобщенной сетевой моделью, где описаны технологии передачи оцифрованных данных — составления пакетов, методик их передачи, маршрутизации, доставки, распаковки и взаимодействия с ПО. Для работы в интрасетях, базирующихся на стеке TCP/IP, всю информацию представляют специально сформированными блоками — IP-пакетами (IP packets) или IP-датаграммами (IP datagrams).
Основной принцип работы TCP/IP — это послойная группировка решений задач связи, причем пакеты данных пропускаются через все уровни сперва в прямом порядке перед отправкой на целевое устройство, а затем — в обратной последовательности для преобразования сообщения в первоначальный формат. Такой способ передачи данных позволяет стандартизировать процесс и не требует управления оборудованием и ПО.
TCP/IP дает самостоятельным сетям возможность подключения к Internet или объединения в частные интрасети с физическим соединением через IP-маршрутизаторы — оборудование, передающее пакеты внутри и между сетями.
Помимо сокета TCP/IP, группа протоколов представлена:
- ARP (Address Resolution Protocol), который задействуется при конвертации 32-разрядных IP-адресов в физические адреса (к примеру, в 48-разрядные адреса Ethernet);
- FTP (File Transfer Protocol), задействующим TCP-соединения при передаче файлов между устройствами;
- ICMP(Internet Control Message Protocol), служащим для отправки с IP-маршрутизатора сведений о сбоях и прочей управляющей информации на остальные IP-маршрутизаторы и центральные устройства сети. Передача ICMP-сообщений проводится в формате полей данных IP-датаграмм и неотъемлема к реализации для IP независимо от ее версии;
- IGMP (Internet Group Management Protocol), работающим с подсетями Internet, который поддерживает распространение IP-датаграмм в multicast-режиме между компьютерами, принадлежащими к той или иной группе;
- RARP (Reverse Address Resolution Protocol), преобразующим физические сетевые адреса в IP-адреса;
- POP3 (Post Office Protocol version 3) и SMTP (Simple Mail Transfer Protocol), которые устанавливают формат сообщений, отправляемых по e-mail через SMTP-клиент на исходном устройстве на SMTP-сервер на принимающем;
- UDP (User Datagram Protocol), передающим блоки данных в формате UDP-датаграмм. Надежность UDP невысока, потому что информация, подтверждающая прием такой датаграммы, отправителем не получается.
Для установки связки клиента с сервером TCP/IP использует систему трехстороннего квитирования, которое позволяет передавать одновременно несколько соединенных сокетов TCP в прямом и обратном направлениях. При этом устройством и сервером синхронизация и согласование информационных блоков проводится перед запуском процесса обмена данными.
Протокол TCP
TCP-протокол применяется для установки подключений и при передаче пакетированной информации — TCP-сегментов, состоящих из заголовков TCP и данных. Надежность протокола TCP обеспечивается здесь проверкой контрольных сумм, определяющим сохранность данных, и сообщениями о приеме полученных данных без нарушений их состояния и смысла.
Установка и поддержка каналов связи между приложениями и устройствами осуществляется TCP-протоколом до тех пор, пока ими не будет завершен обмен данными. Также протоколом TCP определяется схема разбивки исходного сообщения по номерам и пакетам, повторной сборки пакетов, их отправки через маршрутизаторы, шлюзы безопасности и коммутаторы к устройствам назначения.
Востребованность TCP обусловлена его возможностью выполнять сквозную доставку данных из высокоуровневых протоколов, таких как Telnet и SSH, а также из протоколов почтовых отделений (POP). Кроме того, TCP применяется для установки доступа в интернет по протоколу передачи гипертекста (HTTP).
Протокол IP. Преобразование IP-адресов
Протокол IP (IP-модуль) — это система отправки пакетов данных (IP-датаграмм) через маршрутизаторы между устройствами, каждое из которых идентифицируется уникальным IP-адресом. Обмен данными между отправными приложениями или устройствами и пунктами назначения осуществляется с применением различных методов и структур, размещающих теги адресных строк в пакетах данных.
Определение прямого или опосредованного маршрута доставки, и уточнение типа сетевого интерфейса, для отправляемых с модулей верхнего уровня IP-пакетов, производится IP-модулем по итогам поисков в маршрутной таблице (APR). В качестве ключа поиска выступает номер IP-сети, выделяемый из IP-адреса точки получения IP-пакета. При этом решение о маршрутизации принимается перед отправкой IP-пакета на сетевой драйвер и перед использованием ARP-таблицы.
При получении IP-пакетов, переданных с сетевого драйвера, модулем IP определяется необходимость перенаправки IP-пакета по другой сети или передачи его уровнем выше. При выполнении ретрансляции последующая работа с таким IP-пакетом осуществляется по тому же принципу, что и с отправляемым. Ретрансляция входящего IP-пакета никогда не проводится по сетевому интерфейсу, с которого был принят пакет.
Чтобы имя хоста в сети Internet оказалось легким для запоминания, пользователь имеет возможность применить предусмотренную в протоколе TCP/IP систему имен, позволяющую присваивать имя в сети как с одноуровневой, так и с иерархической структурой. В случае работы в одноуровневой структуре необходимо обратиться к файлу /etc/hosts, содержащему таблицу преобразования имен всех имеющихся хостов в IP-адреса. Иерархическая структура имен (DNS) в TCP/IP поддерживается протоколом DOMAIN, реализованным демоном named. Применяя такой демон, можно преобразовывать символьные имена сетей и хостов в IP-адреса.
Разница TCP и IP протоколов
Несмотря на то, что TCP и IP используются совместно при доставке данных в пункт назначения в сети, они являются самостоятельными протоколами, выполняющими разные функции:
- TCP обеспечивает передачу данных и их доставку на конкретное IP-устройство или на заданные приложения;
- IP определяет IP-адреса приложений и устройств и отвечает за получение данных этими устройствами.
Проводя аналогию TCP/IP с работой смартфона, можно сравнить IP-адрес с номером телефона, выделенным устройству, а TCP — считать компьютерной сетевой версией технологии, активирующей звонок смартфона и дающей возможность разговора.
Для чего служит этот протокол и его особенности
На сегодняшний день стек TCP/IP применяется для поддержки всех популярных стандартов физического и канального уровней:
- в локальных сетях — Ethernet, Token Ring, FDDI;
- в глобальных сетях — как протокол работы аналоговых коммутируемых и выделенных линий SLIP, PPP и как протоколы территориальных сетей Х.25 и 150К.
Также TCP/IP используется во всемирной сети Internet и в самых разнообразных корпоративных сетях.
TCP/IP имеет перечень команд и средств, позволяющих осуществлять:
- транспортировку файлов к другим системам;
- вход в удаленные системы;
- выполнение команд в удаленной системе;
- распечатку файлов из удаленных систем;
- отправку электронных сообщений удаленным пользователям;
- ведение интерактивных диалогов с удаленными пользователями;
- управление сетями.
Создание протокола ТСР/IР для сети Internet обеспечивает этому стеку такие особенности, как возможность фрагментировать пакеты (что важно для работы в сложных сетях с разным для каждой составляющей максимальным объемом фрагмента передаваемых данных), гибкость системы адресации, дающая возможность внедрять в многосоставную сеть подсети с технологиями разного рода, и экономное применение рассылок широкого вещания, важное условие работы на низкоскоростных каналах связи в территориальных сетях.
Уровни стека TCP/IP
Структура TCP/IP базируется на модели DARPA, включающей четыре уровня:
- прикладной уровень (Application Layer) — решающий вопросы поддержки сеансов связи, трансформации данных, взаимодействия с пользователями и сетями. Этот уровень применяет стандарты интерфейса API, что обеспечивает передачу команд на выполнение заданных процессов;
- транспортный уровень (Transport Layer) — отвечающий за контроль доставки пакетов данных без дублирования и за повторный запрос информации при обнаружении ошибок. Благодаря этому процессы передачи данных полностью автоматизируются и не зависят от скорости и качества связи на отдельных участках интернета или внутри конкретных подсетей;
- межсетевой (сетевой) уровень (Internet Layer) — регламентирующий маршрутизацию, происходящую через запрос на определенный IP-адрес с использованием маски, причем для хостов, маркированных одной маской и находящихся в общей подсети, передача данных проходит напрямую. В других случаях информация проходит до точки назначения по промежуточным звеньям, а IP-адрес назначается по стандарту IPv4 или IPv6 (при условиях их несовместимости);
- канальный уровень (Network Access Layer) — поддерживает шифровку данных, разбивку их на пакеты и транспортировку по конкретным каналам. Также в функционал этого уровня входит измерение параметров сигналов, таких, например, как задержка ответов или расстояние между хостами.
На канальном уровне дается определение передачи данных при помощи аппаратных средств и других передающих устройств (драйверов, устройств компьютера, кабелей Ethernet, сетевых интерфейсных карт (NIC) и беспроводных систем) через сети.
Что такое порты и сокет
Поскольку процессы, происходящие на Application Layer, связаны с Transport Layer, но воспринимаются им как «секретные материалы» с информацией в виде шифровок, для уточненного распределения пакетов по сети ему необходимо точно знать IP-адрес и порт приемного пункта данных.
IP-адреса и привязанные к нему номера портов носят название сокетов. При этом IP-адрес уникален для каждого хоста, а порт привязан к тому или иному приложению. Порты с 0 до 1023 резервируются для ОС, остальные, в диапазоне от 1024 до 49151, условно не заняты и могут задействоваться сторонними приложениями. Например, порт 21 предназначен для FTP, порт 25 — для SMTP-сервера, порт 110 — для почтового сервера POP3.
Проблемы протокола TCP/IP
Активное использование интернета на мобильных устройствах и постоянного соединения, расширение сети Интернет и создание систем виртуализации привело к повышению спроса на IP-адреса и, как результат, к исчерпанию адресного пространства IPv4.
Израсходование резерва нераспределенных адресов протокола IPv4 (изначально их насчитывалось 4,22 миллиарда) привело к вводу ограничений на их выдачу и к постепенному переходу на IPv6. Помимо этого, есть перспективы сокращения дефицита IP-адресов при использовании технологии NAT (когда нескольким компьютерам присваивается общий внешний IP-адрес), применении прокси-серверов и внутрисетевой адресации, и виртуального хостинга веб-сайтов с доступом по доменному имени.
Источник: servergate.ru
Протокол IP — протокол интернет. Формат заголовка IP-пакета.
IP расшифровывается как Internet Protocol, часто его называют протокол интернет. Но строго говоря это не совсем так, правильный перевод межсетевой протокол или протокол межсетевого взаимодействия.
Протокол Ip возник задолго до того, как появилась и стала набирать популярность сеть, которую мы называем интернет. В англоязычной терминологии internetworking означает объединение сетей, и цель протокола ip как раз объединить сети, построенные с помощью разных технологий канального уровня. У этой терминологии словом internet называлась объединенная сеть, а subnet — подсеть или отдельная сеть. Словом Internet с большой буквы сейчас называется самая крупная объединенная сеть построенная по протоколу ip.
Место в моделях OSI и TCP/IP
В модели взаимодействия открытых систем и в модели TCP/IP протокол IP, находится на одном и том же уровне — сетевом.
Сетевой уровень стека протоколов TCP/IP включая также и другие протоколы кроме ip. Это ARP, DHCP и ICMP, но для передачи данных используется только протокол ip, остальные протоколы служат для обеспечения корректной работы крупной составной сети.
Сервисы IP
IP также, как и Ethernet обеспечивают передачи данных без гарантии доставки, не гарантируется как доставка, так и порядок следования сообщений. Протокол Ip так же как и Ethernet использует передачу данных без установки соединения.
IP пакет просто отправляется в сеть в надежде, что он дойдет до получателя, если пакет по каким-то причинам не дошел, не предпринимается никаких попыток оповестить отправителя, и также не предпринимается попыток запросить этот пакет снова. Считается, что ошибка должна быть исправлена протоколами, которые находятся на вышестоящих уровнях.
Задачей IP является объединение сети, построенных на основе разных технологий канального уровня, которые могут значительно отличаться друг от друга в одну крупную объединенную сеть, в которой компьютеры могут свободно общаться друг с другом не взирая на различия конкретной сетевой технологии. Вторая важная задача протокола IP, это маршрутизация, то есть поиск маршрута от отправителя к получателю в крупной составной сети через промежуточные узлы маршрутизаторы. Также IP обеспечивает необходимое качество обслуживания.
Формат заголовка IP-пакета
Для того чтобы понять, как протокол IP реализует эту задачу, рассмотрим формат заголовка IP пакета.
Номер версии
Первое поле номер версии. Сейчас используется две версии протокола IP 4 и 6. Большая часть компьютеров использует IPv4. Длина адреса в этой версии 4 байта. Формат адреса IP версии 4 мы рассматривали подробно. Проблема в том, что адресов IPv4, четыре с небольшим миллиарда, что уже сейчас не хватает для всех устройств в сети, а в будущем точно не хватит.
Поэтому была предложена новая версия IPv6 в которой длина IP адреса составляет 16 байт. Сейчас эта версия вводится в эксплуатацию, но процесс занимает очень долгое время.
Длина заголовка
Следующее поле длина заголовка. В отличии от Ethernet заголовок IP включает обязательные поля, а также может включать дополнительные поля, которые называются опции. В поле длина заголовка записывается полная длина, как обязательной части, так и опции.
Тип сервиса
Следующее поле тип сервиса. Это поле нужно для обеспечения необходимого качества обслуживания, но сейчас на практике используется очень редко.
Общая длина
Следующее поле общая длина. Общая длина содержит длину всего IP пакета, включая заголовок и данные. Максимальная длина пакета 65 535 байт, но на практике такие большие пакеты не используются, а максимальный размер ограничен размером кадра канального уровня, а для Ethernet это 1 500 байт. В противном случае для передачи одного IP пакета необходимо было бы несколько кадров канального уровня что неудобно.
Идентификатор пакета
Поля идентификатор пакета, флаги и смещение фрагмента используются для реализации фрагментации.
Время жизни
Дальше идет поле время жизни. Время жизни Time To Live или TTL — это максимальное время в течение которого пакет может перемещаться по сети. Оно введено для того чтобы пакеты не гуляли по сети бесконечно, если в конфигурации сети возникла какая-то ошибка. Например, в результате неправильной настройке маршрутизаторов в сети, может образоваться петля.
Раньше, время жизни измерялось в секундах, но сейчас маршрутизаторы обрабатывают пакет значительно быстрее чем за секунду, поэтому время жизни уменьшается на единицу на каждом маршрутизаторе, и оно измеряется в количествах прохождения через маршрутизаторы по-английски (hop) от слова прыжок. Таким образом название время жизни сейчас стало уже некорректным.
Тип протокола
После времени жизни, указывается тип протокола следующего уровня. Это поле необходимо для реализации функции мультиплексирования и демультиплексирования, то есть передачи с помощью протокола IP данных от разных протоколов следующего уровня. В этом поле указывается код протокола следующего уровня, некоторые примеры кодов для TCP код 6, UDP — 17 и ICMP — 1.
Контрольная сумма
Затем идет контрольная сумма, которая используется для проверки правильности доставки пакета, если при проверке контрольные суммы обнаруженные ошибки, то пакет отбрасывается, никакой информации отправителю пакета не отправляется. Контрольная сумма рассчитывается только по заголовку IP пакета и она пересчитывается на каждом маршрутизаторе из-за того что данные в заголовке меняются. Как минимум изменяется время жизни пакета, а также могут измениться некоторые опции.
IP адрес получателя и отправителя
После контрольной суммы идут IP адрес отправителя, и IP адрес получателя. В IPv4 длина IP адреса четыре байта, 32 бита на этом обязательная часть IP заголовка заканчивается, после этого идут не обязательные поля которые в IP называются опции.
Опции
Некоторые примеры опций. Для диагностики работы сети используется опция — записать маршрут, при которой в IP пакет записывается адрес каждого маршрутизатора через которую он проходит.
И опция — временные метки, при установке которой, каждый маршрутизатор записывает время прохождения пакеты.
Также опции позволяют отказаться от автоматической маршрутизации, и задать маршрут отправитель:
- Это может быть жесткая маршрутизация, где в пакете явно указывается перечень маршрутизаторов через которые необходимо пройти.
- И свободные маршрутизации в этом случае указываются только некоторые маршрутизаторы, через которые пакет должен пройти обязательно, также при необходимости он может пройти через другие маршрутизаторы.
Опции в заголовке IP может быть несколько и они могут иметь разный размер. В то же время длина IP заголовка должна быть кратна 32, поэтому при необходимости, в конце IP заголовок заполняются нулями до выравнивание по границе 32 бита. Следует отметить, что сейчас опции в заголовке IP почти не используются.
В статье был рассмотрен протокол IP (Internet Protocol) — протокол межсетевого взаимодействия. Протокол IP является основой интернета. В OSI находится на сетевом уровне.
Источник: zvondozvon.ru