Интернет протоколы сети и ip адреса. Использование протоколов Интернета в IP-телефонии

09.04.2019

Стек протоколов TCP/IP

Это стандартизованный набор сетевых протоколов. В настоящее время - это основной набор протоколов взаимодействия в Интернете. Более подробно об этом стеке протоколов и не только о нем можно прочитать в этой статье .

В состав стека протоколов TCP/IP входят два основных протокола: IP, TCP и несколько вспомогательных протоколов.

  • Протокол IP (Internet Protocol) - основной протокол сетевого уровня. Определяет способ адресации на сетевом уровне.
  • Протокол TCP (Transmission Control Protocol ) - протокол, обеспечивающий гарантированную доставку данных.

Как работают эти протоколы?

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

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

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

  • Номер TCP-порта позволяет однозначно идентифицировать программу на компьютере сети,
  • Компьютер в сети однозначно определяется IP-адресом.

Следовательно, комбинация IP-адреса и номера порта позволяет однозначно идентифицировать программу в сети. Такой комбинированный адрес называется сокетом (socket).

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

IP-адреса, IP-сети. Подсети и маски подсетей
Более подробно об этом читаем в этой статье .
IP-адреса

Каждый компьютер в локальной сети имеет свой уникальный адрес, так же как человек имеет свой почтовый адрес. Именно по этим адресам компьютеры находят друг друга в сети. Двух одинаковых адресов в одной сети быть не должно. Формат адреса стандартный и определен протоколом IP.

IP-адрес компьютера записывается в 32 разрядах (4 октета). Каждый октет содержит десятичное число от 0 до 255 (в двоичном виде запись представляет последовательность 0 и 1). IP-адрес представляет собой четыре числа, разделяемых точкой. Например, компьютер с IP-адресом 192.168.3.24. Общее число IP-адресов составляет 4,2 млрд., все адреса уникальны.
IP-адрес может быть присвоен не только компьютеру, но и другим сетевым устройствам, например, принт-серверу или маршрутизатору. Поэтому все устройства в сети принято называть узлами или хостами .
Одно и тоже физическое устройство (компьютер или др.) может иметь несколько IP-адресов. Например, если в компьютер установлено несколько сетевых адаптеров, то каждый адаптер должен иметь свой уникальный IP-адрес. Такие компьютеры используются для соединения нескольких локальных сетей и называются маршрутизаторами .

IP сети

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

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

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

Подсети и маски подсетей

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

  • все биты, установленные в 1, соответствуют идентификатору сети;
  • все биты, установленные в 0, соответствуют идентификатору узла.

Если все биты октета установлены в 1, то это эквивалентно числу 255. Маска рассматривается только в паре с IP-адресом. Например, маска подсети 255.255.255.0 и адрес 192.168.100.5 говорят о том, что 192.168.100 - это номер сети, а 5 - номер компьютера в этой сети.
Просматривая адрес IP через маску подсети IP-протокол, определяет адрес сети, адрес подсети и номер узла.

Таким образом, в паре с IP-адресом компьютеров обязательно указывается маска подсети.

Статические и динамические IP-адреса. DHCP

Все IP-адреса должны быть уникальны во всем пространстве сети. Есть два способа задать эти адреса компьютерам сети.

Статические IP-адреса

Статический IP-адрес присваивается компьютеру вручную. Он прописывается администратором сети в настройках протокола TCP/IP на каждом компьютере сети и жестко закрепляется за компьютером.
Важное преимущество: постоянное соответствие IP-адресов определенным компьютерам. Это позволяет, например, запретить определенному компьютеру выходить в Интернет, или определить, с какого компьютера выходили в Интернет и т.п.
В присвоении статических адресов компьютерам есть определенные неудобства:

  • Администратор сети должен вести учет всех используемых адресов, чтобы исключить повторы
  • При большом количестве компьютеров в локальной сети установка и настройка IP-адресов отнимают много времени

Динамические IP-адреса

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

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

Сети с выделенным сервером

В сетях, управляемых сервером, динамический IP-адрес назначается специальной серверной службой DHCP, входящей в состав Windows Server 2003. В параметрах службы DHCP администратором сети прописывается IP-диапазон, адреса из которого, будут выдаваться другим компьютерам сети.
Сервер, на котором работает эта служба, называется DHCP-сервер. Компьютер, получающий IP-адрес из сети, называется DHCP-клиент.

Одноранговые сети

В одноранговой сети нет DHCP-сервера, а на каждом компьютере установлен (по умолчанию) DHCP-клиент. Во время загрузки операционной системы DHCP-клиент пытается найти в сети доступный DHCP-сервер для получения IP-адреса. После неудачной попытки получить IP-адрес, DHCP-клиент данного компьютера включает встроенную функцию IANA (Internet Assigned Numbers Authority), которая назначает компьютеру IP-адрес и маску подсети, используя один из зарезервированных адресов. При этом служба IANA отслеживает уникальность адресов в сети.

Зарезервированные адреса назначаются из диапазона 169.254.0.0 до 169.254.255.255 с маской подсети 255.255.0.0. Последние два поля адреса представляют уникальный идентификатор клиента.

Автоматическое назначение IP-адреса проводится последовательно на всех компьютерах сети.

Маршрутизаторы и шлюзы.

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

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

В качестве маршрутизатора может работать компьютер под управлением операционной системой Windows 2003 Server или Windows XP Professional. Функции маршрутизации входят в состав этих операционных систем.

Маршрутизатор является шлюзом для каждой сети, которые он объединяет. Точнее шлюзом для локальной сети является сетевой адаптер, установленный в маршрутизаторе, и подключенный к этой сети. Например, рабочая станция локальной сети хочет подключиться к рабочей станции из другой сети. Она отправляет запрос в свою сеть с целью найти нужный IP-адрес. Если адрес не был найден в сети, то запрос отправляется в шлюз этой сети, т.е. на маршрутизатор, который в свою очередь перенаправляет запрос в другую сеть. Если во второй сети компьютер был найден, то они связываются через маршрутизатор.

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

Наиболее распространенные протоколы маршрутизации, входящие в состав стека протоколов TCP/IP:

Address Resolution Protocol, ARP. Протокол разрешения адресов, сопоставляет IP-адрес с адресом физического оборудования MAC-адресом. Посмотреть соответствие адресов из ARP-таблицы можно набрав в командной строке arp и указав IP-адрес.
*Routing Information Protocol, RIP . Протокол маршрутной информации, который используется для обратной совместимости с существующими RIP-сетями.
*Open Shortest Path First, OSPF . Протокол выбора кратчайшего маршрута.

IP-маршрутизация.

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

Маршрутизация осуществляется на узле-отправителе в момент отправки IP-пакета, а затем на IP-маршрутизаторах.

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

Протоколы ARP и RARP.

Основным функциональным достоинством IP-адресации является полная логическая независимость IP-адресов от физических адресов. Однако чтобы средства канального уровня могли осуществить доставку данных, необходимо знание физического адреса получателя. Механизм определения по IP-адресу физического адреса узла-получателя обеспечивает протокол ARP (Address Resolution Protocol, Протокол Разрешения Адреса).

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

Наличие на каждом узле ARP-таблицы позволяет снизить объем широковещательной рассылки, поскольку запрос направляется в сеть только в случае, если нужное соответствие не найдено в ARP-таблице.

В ряде случаев может оказаться необходимым определить IP-адрес по MAC-адресу. Для этого используется протокол RARP (Reverse Address Resolution Protocol). Функционально RARP схож с протоколом ARP.

Протоколы динамической маршрутизации

Протоколы динамической маршрутизации предназначены для автоматизации процесса построения маршрутных таблиц маршрутизаторов. Принцип их использования достаточно прост: маршрутизаторы с помощью устанавливаемого протоколом порядка рассылают определенную информацию из своей таблицы маршрутизации другим и корректируют свою таблицу на основе полученных от других данных.
Такой метод построения и поддержки маршрутных таблиц существенно упрощает задачу администрирования сетей, в которых могут происходить изменения (например, расширение) или в ситуациях, когда какие-либо маршрутизаторы и/или подсети выходят из строя.
Следует отметить, что использование протоколов динамической маршрутизации не отменяет возможность "ручного" внесения данных в таблицы маршрутизаторов. Внесенные таким образом записи называют статическими, а записи, полученные в результате обмена информацией между маршрутизаторами - динамическими. В любой таблице маршрутизации всегда присутствует, по крайней мере, одна статическая запись - маршрут по умолчанию.
Современные протоколы маршрутизации делятся на две группы: протоколы типа "вектор-расстояние" и протоколы типа "состояние канала".
В протоколах типа "вектор-расстояние" каждый маршрутизатор рассылает список адресов доступных ему сетей ("векторов"), с каждым из которых связано параметр "расстояния" (например, количество маршрутизаторов до этой сети, значение, основанное на производительности канала и т.п.). Основным представителем протоколов данной группы является протокол RIP (Routing Information Protocol, протокол маршрутной информации).
Протоколы типа "состояние канала" основаны на ином принципе. Маршрутизаторы обмениваются между собой топологической информацией о связях в сети: какие маршрутизаторы с какими сетями связаны. В результате каждый маршрутизатор имеет полное представление о структуре сети (причем это представление будет одинаковым для всех), на основе которого вычисляет собственную оптимальную таблицу маршрутизации. Протоколом этой группы является протокол OSPF (Open Shortest Path First, "открой кратчайший путь первым").

Протокол RIP.

Протокол RIP (Routing Information Protocol, протокол маршрутной информации) является наиболее простым протоколом динамической маршрутизации. Он относится к протоколам типа "вектор-расстояние".
Под вектором протокол RIP определяет IP-адреса сетей, а расстояние измеряется в переходах ("хопах", hope) - количестве маршрутизаторов, которое должен пройти пакет, чтобы достичь указанной сети. Следует отметить, что максимальное значение расстояния для протокола RIP равно 15, значение 16 трактуется особым образом "сеть недостижима". Это определило основной недостаток протокола - он оказывается неприменимым в больших сетях, где Возможны маршруты, превышающие 15 переходов.
Протокол RIP версии 1 имеет ряд существенных для практического использования недостатков. К числу важных проблем относятся следующие:

  • Оценка расстояния только с учетом числа переходов. Протокол RIP не учитывает реальную производительность каналов связи, что может оказаться неэффективным в гетерогенных сетях, т.е. сетях, объединяющих каналы связи различного устройства, производительности, в которых используются разные сетевые технологии.
  • Проблема медленной конвергенции . Маршрутизаторы, использующие протокол RIP. Рассылают маршрутную информацию каждые 30 с, причем их работа не синхронизирована. В ситуации, когда некоторый маршрутизатор обнаружит, что какая-либо сеть стала недоступной, то в худшем случае (если проблема была выявлена сразу после очередной рассылки) он сообщит об это соседям через 30 с. Для соседних маршрутизаторов все будет происходить также. Это означает, что информация о недоступности какой-либо сети может распространятся маршрутизаторам в достаточно долго, очевидно, что сеть при этом будет находиться в нестабильном состоянии.
  • Широковещательная рассылка таблиц маршрутизации . Протокол RIP изначально предполагал, что маршрутизаторы рассылают информацию в широковещательном режиме. Это означает, что отправленный пакет вынуждены получить и проанализировать на канальном, сетевом и транспортном уровне все компьютеры сети, в которую он направлен.

Частично указанные проблемы решаются в версии 2 (RIP2).

Протокол OSPF

Протокол OSPF (Routing (Open Shortest Path First, "открой кратчайший путь первым") является более новым протоколом динамической маршрутизации и относится к протоколам типа "состояние канала".

Функционирование протокола OSPF основано на использовании всеми маршрутизаторами единой базы данных, описывающей, как и с какими сетями связан каждый маршрутизатор. Описывая каждую связь, маршрутизаторы связывают с ней метрику - значение, характеризующее "качество" канала. Например, для сетей Ethernet со скоростью обмена 100 Мбит/с используется значение 1, а для коммутируемых соединений 56 Кбит/с - значение 1785. Это позволяет маршрутизаторам OSPF (в отличие от RIP, где все каналы равнозначны) учитывать реальную пропускную способность и выявлять эффективные маршруты. Важной особенностью протокола OSPF является то, что используется групповая, а не широковещательная рассылка.
Указанные особенности, такие как групповая рассылка вместо широковещательной, отсутствие ограничений на длину маршрута, периодический обмен только короткими сообщениями о состоянии, учет "качества" каналов связи позволяют использовать OSPF в больших сетях. Однако такое использование может породить серьезную проблему - большое количество циркулирующей в сети маршрутной информации и увеличение таблиц маршрутизации. А поскольку алгоритм поиска эффективных маршрутов является, с точки зрения объема вычислений, достаточно сложным, то в больших сетях могут потребоваться высокопроизводительные и, следовательно, дорогие маршрутизаторы. Поэтому возможность построения эффективных таблиц маршрутизации может рассматриваться и как достоинство, и как недостаток протокола OSPF.

Протокол IP

Основные функции протокола 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-дейтаграмм.

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

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

Рис. 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 (Internet Protocol) является основным протоколом для всего набора TCP/IP и используется для управления рассылкой TCP/IP-пакетов по сети Internet.

Функционируя на сетевом уровне модели OSI, протокол IP относится к протоколам без установления соединения. Перед IP не ставится задача надежной доставки сообщений от отправителя к получателю.

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

Адресация. Протокол IP отвечает за доставку TCP/IP – пакетов до их конечного назначения и адрес назначения не меняется в процессе прохождения пакета по маршруту.

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

Фрагментация. Размер IP – дейтаграмм, используемых для передачи данных транспортного уровня, зависит от применяемого протокола канального уровня. Сети Ethernet, например, могут переносить дейтаграммы размером до 1500 байт, а Token Ring способны поддерживать максимальный размер пакетов, равный 17914 байт. Система, передающая дейтаграммы, ограничивает размер пакета величиной максимально передаваемого блока (MTU – maximum transfer unit) конкретной сети, которая представляет собой наибольший размер кадра, транспортировку которого может осуществлять протокол канального уровня.

На пути следования к месту назначения пакеты могут проходить через сети с различными MTU.

Фрагментация реализуется, если разрешённая длина пакета нижнего уровня недостаточна для размещения первичного пакета, при этом осуществляется «нарезка» пакетов, затем маршрутизатор направляет каждый фрагмент дальше, но уже в изолированном пакете с собственным IP заголовком, аналогично при возврате на первичный уровень пакет должен быть дефрагментирован.

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

Фрагментация нежелательна, но это – необходимое зло.


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

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

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

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

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

Протокол ICMP - Internet Control Message Protocol – протокол контроля сообщений в сети Internet.

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

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

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

TCP/IP-системы могут совершенно свободно посылать ICMP-сообщения об ошибках, кроме некоторых специфических ситуаций:

· TCP/IP-системы не вырабатывают ICMP-сообщения об ошибках в ответ на другие ICMP-сообщения об ошибках. Без подобной оговорки две системы могут обмениваться ICMP-сообщениями об ошибках в обоих направлениях до бесконечности.

· В случае фрагментированной дейтаграммы система генерирует ICMP- сообщение об ошибке только для первого фрагмента.

· TCP/IP-системы никогда не посылают ICMP-сообщения об ошибках в ответ на широковещательные или групповые сообщения.

локальный адрес узла, определяемый технологией, с помощью которой построена отдельная сеть, куда входит данный узел.
  • Сетевой (IP-адрес) , состоящий из 4 байтов, например, 109.26.17.100 . Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно или назначен по рекомендации специального подразделения Интернета (Network Information Center, NIC ), если сеть должна работать как составная часть Интернета. Обычно провайдеры услуг Интернета получают диапазоны адресов у подразделений NIC , а затем распределяют их между своими абонентами.

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

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

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

    Подавляющее большинство сетей сейчас использует протокол IPv4 (интернет-протокол версии 4) , хотя уже разработана шестая версия протокола IP . Схема адресации протокола IPv4 предусматривает размер адресного поля 32 бита, что дает 2 32 (или 4 294 967 296) потенциальных адресов.

    IP - адрес любой рабочей станции состоит из адреса сети и адреса компьютера в этой сети. В архитектуре адресации предусмотрено пять форматов адреса, каждый из которых начинается с одного, двух, трех или четырех битов, идентифицирующих класс сети ( класс А, В, С, D или Е ). Область сетевого идентификатора ( Network ID ) определяет конкретную сеть в классе, а область Host ID идентифицирует конкретный компьютер в сети, а именно:

    • адреса класса А идентифицируются начальным битом 0 . Следующие семь битов определяют конкретную сеть (число возможных значений - 128, или 2 7). Остальные 24 бита определяют конкретный компьютер в сети, при возможном количестве компьютеров 16 777 216 (2 24). Адреса класса А предназначены для очень крупных сетей с большим количеством рабочих станций;
    • адреса класса В идентифицируются начальной двухбитовой двоичной последовательностью 10 . Следующие 14 битов определяют сеть, при возможном количестве сетей 16 384 (2 14). Остальные 16 битов определяют конкретный компьютер, с возможным количеством компьютеров 65 536 (2 16);
    • адреса класса С идентифицируются начальной трехбитовой последовательностью 110 . Следующие 21 бит определяют сеть, с возможным количеством сетей 2 097 152. Остальные 8 битов определяют конкретный компьютер в сети, с возможным количеством компьютеров 256 (2 8). Большинство организаций имеют адреса класса С ;
    • адреса класса D идентифицируются начальной четырехбитовой последовательностью 1110 . Адреса этого класса предназначены для групповой передачи, и оставшиеся 28 битов определяют групповой адрес;
    • адреса класса Е идентифицируются начальной четырехбитовой двоичной последовательностью 1111 . Адреса этого класса зарезервированы для будущего использования.


    Рис. 2.1.

    Способ, при помощи которого записываются все IP -адреса, называется пунктирной десятичной системой обозначений. Каждое 32-битовое адресное поле разделено на четыре поля в виде ххх.ххх.ххх.ххх , и каждому полю дается десятичное числовое значение от 0 до 255, выраженное в виде одного октета (2 8 = 256, или 0-255). Адреса класса А начинаются с 1 до 127, адреса класса В - с 128 до 191, и адреса класса С - с 192 до 223.

    Класс Наименьший адрес Наибольший адрес
    А 1.0.0.0 126.0.0.0
    В 128.0.0.0 191.255.0.0
    С 192.0.0.0 223.255.255.0
    D 224.0.0.0 239.255.255.255
    Е 240.0.0.0 247.255.255.255

    Строго говоря, адрес идентифицирует только сетевой интерфейс рабочей станции, т. е. точку подключения к сети.

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

    Как уже отмечалось, протокол IP версии 4 предусматривает размер адресного поля 32 бита, что дает 2 32 (или 4 294 967 296) потенциальных адресов. Однако возрастающая популярность технологии TCP / IP привела к истощению плана нумерации протокола. Дополнительной проблемой является тот факт, что очень большое количество адресов класса А и класса В было выделено крупным организациям, которые в них на самом деле не нуждались, и поскольку фактически использовался только небольшой процент адресов, огромное количество доступных адресов было потеряно.

    Протокол IPv6 решает этот вопрос путем расширения адресного поля до 128 битов, обеспечивая тем самым 2 128 потенциальных адресов, что составляет величину 340.282.366.920.938.463.463.374.607.431.768.211.456.

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

    Но вернемся к протоколу IPv4. Компьютер , подключенный к сети Интернет , кроме IP -адреса может идентифицироваться доменным именем. Сеть Интернет разделена на логические области (домены). Адреса в системе имен доменов (DNS) , администрирование которых лежит на ICANN , имеют стандартный вид: последовательность имен, разделенных точками. Домены TLD , которые идентифицируются как суффикс доменного имени, бывают двух типов: обобщенные домены верхнего уровня (net, com, org ) и коды стран (ru, fi, ua ).

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

    2.2. Модель OSI

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

    Для того, чтобы классифицировать различные протоколы и понять их место в общей структуре технологии межсетевого взаимодействия, удобно воспользоваться так называемым "многоуровневым представлением сетевых протоколов". В рамках такого представления подразумевается, что протоколы более высокого уровня используют функции протоколов более низкого уровня. Классической моделью такого рода является семиуровневая модель взаимодействия открытых систем ( Open Systems Interconnection - OSI ), разработанная ITU -T.

    Первый уровень модели - уровень сетевого интерфейса - поддерживает физический процесс переноса информации между устройствами в сети, т. е. объединяет функции двух уровней OSI - физического и звена данных. Второй уровень сетевого интерфейса обеспечивает физическое соединение со средой передачи, обеспечивает разрешение конфликтов , возникающих в процессе организации доступа к среде (например, используя технологию CSMA /CD в сети Ethernet ), упаковывает данные в пакеты. Пакет - это протокольная единица , которая содержит информацию верхних уровней и служебные поля ( аппаратные адреса , порядковые номера, подтверждения и т. д.), необходимые для функционирования протоколов этого уровня.

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

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

    Протокол преобразования адресов ( Address Resolution Protocol - ARP ) преобразует IP -адреса в адреса, использующиеся в локальных сетях (например, Ethernet ). На некоторых рисунках, изображающих архитектуру и взаимосвязь протоколов, ARP размещают ниже IP , чтобы показать его тесную взаимосвязь с уровнем сетевого интерфейса.

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

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

    Конечные пользователи взаимодействуют с компьютером на уровне пользовательских приложений. Разработано множество протоколов, применяемых соответствующими приложениями. Например, приложения передачи файлов используют протокол FTP , веб-приложения - протокол HTTP . Оба протокола, FTP и HTTP , базируются на протоколе TCP . Приложение Telnet обеспечивает подключение удаленных терминалов. Протокол эксплуатационного управления сетью SNMP позволяет управлять конфигурацией оборудования в сети и собирать информацию о его функционировании, в том числе и об аварийных ситуациях. Приложения, созданные для организации речевой связи и видеосвязи, используют протокол RTP для передачи информации, чувствительной к задержкам. Х Window - популярный протокол для подключения к интеллектуальному графическому терминалу. Этот список можно еще продолжить рядом протоколов.

    Таким образом, IP -сети используют для передачи информации разнообразные протоколы, причем функции протоколов не зависят от того, какие данные передаются. Иными словами, IP , ARP , ICMP , TCP , UDP и другие элементы стека протоколов TCP / IP предоставляют универсальные средства передачи информации, какой бы природы она ни была ( файл по FTP , веб-страница или аудиоданные).

    2.3. Основные протоколы IP-телефонии

    2.3.1. Протокол IP версии 4

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

    Введение. 1

    Эталонная модель OSI 2

    Анатомия модели TCP/IP. 4

    Прикладной уровень . 4

    Межхостовой уровень . 4

    Межсетевой уровень . 4

    Уровень сетевого доступа . 5

    Преимущества TCP/IP. 5

    Уровни и протоколы TCP / IP . 6

    Модель TCP/IP. 6

    Семейство протоколов TCP/IP. 6

    Протокол IP. 7

    Задачи протокола IP . 8

    Протокол ТСР. 8

    Задачи протокола ТСР . 8

    Протокол UDP. 8

    Задачи протокола UDP . 9

    World Wide Web. 14

    Заключение. 17

    Приложение. 19

    Список используемой литературы.. 20

    Введение

    В общем случае термин TCP/IP обозначает целое семейство протоколов: TCP (Transmission Control Protocol/Internet Protocol) для надежной доставки данных, UDP (User Datagram Protocol) для негарантированной доставки, IP (Internet Protocol) и других прикладных служб.

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

    Благодаря протоколу TCP/IP Интернет стал тем, чем он является сегодня. В результате Интернет произвел в нашем стиле жизни и работы почти такие же революционные изменения, как печатный станок, электричество и компьютер. Без популярных протоколов и служб – таких, как HTTP, SMTP и FTP – Интернет был бы просто большим количеством компьютеров, связанных в бесполезный клубок.

    Протокол TCP/IP встречается повсеместно. Это семейство протоколов, благодаря которым любой пользователь с компьютером, модемом и договором, заключенным с поставщиком услуг Интернета, может получить доступ к информации по всему Интернету. Пользователи служб AOL Instant Messenger и ICQ (также принадлежащей AOL) получают и отправляют свыше 750 миллионов сообщений в день.

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

    В своей курсовой работе я описываю общий обзор семейства протоколов TCP/IP, основные принципы их работы и задачи, краткая история World Wide Web и HTTP.

    Эталонная модель OSI

    Международная организация по стандартизации (ISO, International Organization for Standardization) разработала эталонную модель взаимодействия открытых систем (OSI, Open Systems Interconnection) в 1978/1979 годах для упрощения открытого взаимодействия компьютерных систем. Открытым называется взаимодействие, которое может поддерживаться в неоднородных средах, содержащих системы разных поставщиков. Модель OSI устанавливает глобальный стандарт, определяющий состав функциональных уровней при открытом взаимодействии между компьютерами.

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

    Эталонная модель TCP / IP

    В отличие от эталонной модели OSI, модель ТСР/IP в большей степени ориентируется на обеспечение сетевых взаимодействий, нежели на жесткое разделение функциональных уровней. Для этой цели она признает важность иерархической структуры функций, но предоставляет проектировщикам протоколов достаточную гибкость в реализации. Соответственно, эталонная модель OSI гораздо лучше подходит для объяснения механики межкомпьютерных взаимодействий, но протокол TCP/IP стал основным межсетевым протоколом.

    Гибкость эталонной модель TCP/IP по сравнению с эталонной моделью OSI продемонстрирована на рисунке.

    Анатомия модели TCP/IP

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

    Прикладной уровень

    Прикладной уровень содержит протоколы удаленного доступа и совместного использования ресурсов. Хорошо знакомые приложения- такие, как Telnet, FTP, SMTP, HTTP и многие другие- работают на этом уровне и зависят от функциональности уровней, расположенных ниже в иерархии. Любые приложения, использующие взаимодействие в сетях IP (включая любительские и коммерческие программы), относятся к этому уровню модели.

    Межхостовой уровень

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

    В настоящее время межхостовой уровень состоит из двух протоколов: протокола управления передачей TCP и протокола пользовательских дейтаграмм UDP. С учетом того, что Интернет становится все более транзакционно-ориентированным, был определен третий протокол, условно названный протоколом управления транзакциями/передачей T/TCP (Transaction/Transmission Control Protocol). Тем не менее, в большинстве прикладных сервисов Интернета на межхостовом уровне используются протоколы TCP и UDP.

    Межсетевой уровень

    Межсетевой уровень IPv4 состоит из всех протоколов и процедур, позволяющих потоку данных между хостами проходить по нескольким сетям. Следовательно, пакеты, в которых передаются данные, должны быть маршрутизируемыми. За маршрутизируемость пакетов отвечает протокол IP (Internet Protocol).

    Межсетевой уровень должен поддерживать маршрутизацию и функции управления маршрутами. Эти функции предоставляются внешними протоколами, которые называются протоколами маршрутизации. К их числу относятся протоколы IGP (Interior Gateway Protocols) и EGP (Exterior Gateway Protocols).

    Уровень сетевого доступа

    Уровень сетевого доступа состоит из всех функций, необходимых для физического подключения и передачи данных по сети. В эталонной модели OSI (Open Systems Interconnection) этот набор функций разбит на два уровня: физический и канальный. Эталонная модель TCP/IP создавалась после протоколов, присутствующих в ее названии, и в ней эти два уровня были слиты воедино, поскольку различные протоколы IP останавливаются на межсетевом уровне. Протокол IP предполагает, что все низкоуровневые функции предоставляются либо локальной сетью, либо подключением через последовательный интерфейс.

    Преимущества TCP/IP

    Протокол TCP/IP обеспечивает возможность межплатформенных сетевых взаимодействий (то есть связи в разнородных сетях). Например, сеть под управлением Windows NT/2000 может содержать рабочие станции Unix и Macintosh, и даже другие сети более низкого порядка. TCP/IP обладает следующими характеристиками:

    o Хорошие средства восстановления после сбоев.

    o Возможность добавления новых сетей без прерывания текущей работы.

    o Устойчивость к ошибкам.

    o Независимость от платформы реализации.

    o Низкие непроизводительные затраты на пересылку служебных данных.

    Уровни и протоколы TCP/ IP

    Протоколы TCP и IP совместно управляют потоками данных (как входящими, так и исходящими) в сети. Но если протокол IP просто передает пакеты, не обращая внимания на результат, TCP должен проследить за тем, чтобы пакеты прибыли в положенное место. В частности, TCP отвечает за выполнение следующих задач:

    o Открытие и закрытие сеанса.

    o Управление пакетами.

    o Управление потоком данных.

    o Обнаружение и обработка ошибок.

    Модель TCP/IP

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

    Семейство протоколов TCP/IP

    Семейство протоколов IP состоит из нескольких протоколов, часто обозначаемых общим термином “TCP/IP”:

    o IP – протокол межсетевого уровня;

    o TCP – протокол межхостового уровня, обеспечивающий надежную доставку;