Основные протоколы прикладного уровня стека tcp ip. Классы IP адресов. Мы будем Вам очень благодарны! Спасибо

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

TCP/IP

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

Стек протоколов сети TCP/IP имеет 4 уровня:

  1. Канальный (Link).
  2. Сетевой (Internet).
  3. Транспортный (Transport).
  4. Прикладной (Application).

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

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

  • HTTP;
  • SMTP;

Каждый протокол определяет собственный порядок и принципы работы с данными.

HTTP (HyperText Transfer Protocol) предназначен для передачи данных. По нему отправляются, например, документы в формате HTML, которые служат основой веб-страницы. Упрощенно схема работы представляется как «клиент - сервер». Клиент отправляет запрос, сервер его принимает, должным образом обрабатывает и возвращает конечный результат.

Служит стандартом передачи файлов в сети. Клиент посылает запрос на некий файл, сервер ищет этот файл в своей базе и при успешном обнаружении отправляет его как ответ.

Используется для передачи электронной почты. SMTP-операция включает в себя три последовательных шага:

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

Заголовок (Header)

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

Например, заголовок, вложенный на транспортном уровне, на другой стороне может быть обработан только транспортным уровнем. Другие просто его проигнорируют.

Транспортный уровень

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

Протоколы передачи данных:

Самый распространенный протокол. Он отвечает за гарантированную передачу данных. При отправке пакетов контролируется их контрольная сумма, процесс транзакции. Это значит, что информация дойдет «в целости и сохранности» независимо от условий.

UDP (User Datagram Protocol) - второй по популярности протокол. Он также отвечает за передачу данных. Отличительное свойство кроется в его простоте. Пакеты просто отправляются, не создавая особенной связи.

TCP или UDP?

У каждого из этих протоколов есть своя область применения. Она логически обусловлена особенностями работы.

Основное преимущество UDP заключается в скорости передачи. TCP является сложным протоколом с множеством проверок, в то время как UDP представляется более упрощенным, а значит, и более быстрым.

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

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

Однако если необходимо отправить пароли или реквизиты банковской карты, то необходимость использования TCP очевидна. Потеря даже самой мизерной части данных может повлечь за собой катастрофические последствия. Скорость в этом случае не так важна, как безопасность.

Сетевой уровень

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

IP-адрес (Internet Protocol address) - логический адрес устройства. Содержит информацию о местоположении устройства в сети. Пример записи: .

MAC-адрес (Media Access Control address) - физический адрес устройства. Используется для идентификации. Присваивается сетевому оборудованию на этапе изготовления. Представлен как шестибайтный номер. Например: .

Сетевой уровень отвечает за:

  • Определение маршрутов доставки.
  • Передачу пакетов между сетями.
  • Присвоение уникальных адресов.

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

Самый популярный протокол этого уровня - IP.

IP (Internet Protocol) - интернет-протокол, предназначенный для адресации в сети. Используется для построения маршрутов, по которым происходит обмен пакетами. Не обладает никакими средствами проверки и подтверждения целостности. Для обеспечения гарантий доставки используется TCP, который использует IP в качестве транспортного протокола. Понимание принципов этой транзакции во многом объясняет основу того, как работает стек протоколов TCP/IP.

Виды IP-адресов

В сетях используются два вида IP-адресов:

  1. Публичные.
  2. Приватные.

Публичные (Public) используются в Интернете. Главное правило - абсолютная уникальность. Пример их использования - маршрутизаторы, каждый из которых имеет свой IP-адрес для взаимодействия с сетью Интернет. Такой адрес называется публичным.

Приватные (Private) не используются в Интернете. В глобальной сети такие адреса не являются уникальными. Пример - локальная сеть. Каждому устройству присваивается уникальный в пределах данной сети IP-адрес.

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

IPv4

Самая распространенная версия интернет-протокола. Предшествует IPv6. Формат записи - четыре восьмибитных числа, разделенные точками. Через знак дроби указывается маска подсети. Длина адреса - 32 бита. В подавляющем большинстве случаев, когда речь идет об IP-адресе, имеется в виду именно IPv4.

Формат записи: .

IPv6

Эта версия предназначается для решения проблем предыдущей версией. Длина адреса - 128 бит.

Основная проблема, которую решает IPv6 - это исчерпание адресов IPv4. Предпосылки начали проявляться уже в начале 80-х годов. Несмотря на то, что эта проблема вступила в острую стадию уже в 2007-2009 годах, внедрение IPv6 очень медленно «набирает обороты».

Главное преимущество IPv6 - более быстрое интернет-соединение. Это происходит из-за того, что для этой версии протокола не требуется трансляции адресов. Выполняется простая маршрутизация. Это является менее затратным и, следовательно, доступ к интернет-ресурсам предоставляется быстрее, чем в IPv4.

Пример записи: .

Существует три типа IPv6-адресов:

  1. Unicast.
  2. Anycast.
  3. Multicast.

Unicast - тип одноадресных IPv6. При отправке пакет достигает только интерфейса, расположенного на соответствующем адресе.

Anycast относится к групповым IPv6-адресам. Отправленный пакет попадет в ближайший сетевой интерфейс. Используется только маршрутизаторами.

Multicast являются многоадресными. Это значит, что отправленный пакет достигнет всех интерфейсов, находящихся группе мультивещания. В отличие от broadcast, который является «вещанием для всех», multicast вещает лишь определенной группе.

Маска подсети

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

Например, IP-адрес имеет маску . В таком случае формат записи будет выглядеть так . Число «24» - это количество бит в маске. Восемь бит равняется одному октету, который также может называться байтом.

Если подробнее, то маску подсети можно представить в двоичной системе счисления таким образом: . В ней имеется четыре октета, и запись состоит из «1» и «0». Если сложить количество единиц, то получим в сумме «24». К счастью, считать по единице не обязательно, ведь в одном октете - 8 значений. Видим, что три из них заполнены единицами, складываем и получаем «24».

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

Рассмотрим небольшой пример. Есть IP-адрес и маска подсети . Считаем и записываем: . Теперь сопоставляем маску с IP-адресом. Те октеты маски, в которых все значения равны единице (255) оставляют соответствующие им октеты в IP-адресе без изменения. Если же в значении нули (0), то октеты в IP-адресе также становятся нулями. Таким образом, в значении адреса подсети получаем .

Подсеть и хост

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

Хост - это адрес сетевого интерфейса (сетевой карты). Определяется из IP-адреса с помощью маски. Например: . Так как первые три октета - подсеть, то остается . Это и есть номер хоста.

Диапазон адресов хоста - от 0 до 255. Хост под номером «0» является, собственно, адресом самой подсети. А хост под номером «255» является широковещательным.

Адресация

Для адресации в стеке протоколов TCP/IP используются три типа адресов:

  1. Локальные.
  2. Сетевые.
  3. Доменные имена.

Локальными называются MAC-адреса. Они используются для адресации в таких технологиях локальной сети как, например, Ethernet. В контексте TCP/IP слово «локальные» означает, что они действуют лишь в пределах подсети.

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

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

Домен первого уровня представляет конкретную информацию. Общие (.org, .net) не ограничены какими-либо строгими границами. Обратная ситуация - с локальными (.us, .ru). Они, как правило, привязаны территориально.

Домены низших уровней - это все остальное. Он может быть любого размера и содержать любое количество значений.

Например, "www.test.quiz.sg" - корректное доменное имя, где «sg» - локальный домен первого (верхнего) уровня, «quiz.sg» - домен второго уровня, «test.quiz.sg» - домен третьего уровня. Доменные имена также могут называться DNS-именами.

DNS (Domain Name System) устанавливает соответствие между доменными именами и публичным IP-адресом. При наборе доменного имени в строке браузера DNS обнаружит соответствующий IP-адрес и сообщит устройству. Устройство обработает этот и вернет его в виде веб-страницы.

Канальный уровень

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

Самые распространенные протоколы:

  1. Ethernet.
  2. WLAN.

Ethernet - наиболее распространенная технология проводных локальных сетей.

WLAN - локальная сеть на основе беспроводных технологий. Взаимодействие устройств происходит без физических кабельных соединений. Пример самого распространенного метода - Wi-Fi.

Настройка TCP/IP для использования статического IPv4-адреса

Статический IPv4-адрес назначается напрямую в настройках устройства или автоматически при подключении к сети и является постоянным.

Для настройки стека протоколов TCP/IP на использование постоянного IPv4-адреса необходимо ввести в консоль команду ipconfig/all и найти следующие данные.

Настройка TCP/IP для использования динамического IPv4-адреса

Динамический IPv4-адрес используется какое-то время, сдается в аренду, после чего меняется. Присваивается устройству автоматически при подключении к сети.

Чтобы настроить стек протоколов TCP/IP на использование непостоянного IP-адреса необходимо зайти в свойства нужного соединения, открыть свойства IPv4 и поставить отметки так, как указано.

Способы передачи данных

Данные передаются через физическую среду тремя способами:

  • Simplex.
  • Half-duplex.
  • Full Duplex.

Simplex - это односторонняя связь. Передача ведется только одним устройством, в то время как другое только принимает сигнал. Можно сказать, что информация транслируется только в одном направлении.

Примеры симплексной связи:

  • Телевещание.
  • Сигнал от спутников GPS.

Half-duplex - это двусторонняя связь. Однако только один узел может передавать сигнал в определенный момент времени. При такой связи два устройства не могут одновременно использовать один канал. Полноценная двусторонняя связь может быть невозможна физически или приводить к коллизиям. Говорится, что они конфликтуют за среду передачи. Этот режим применяется при использовании коаксиального кабеля.

Пример полудуплексной связи - общение по рации на одной частоте.

Full Duplex - полноценная двусторонняя связь. Устройства могут одновременно транслировать сигнал и производить прием. Они не конфликтуют за среду передачи. Этот режим применяется при использовании технологии Fast Ethernet и соединении с помощью витой пары.

Пример - общение по телефону через мобильную сеть.

TCP/IP vs OSI

Модель OSI определяет принципы передачи данных. Уровни стека протоколов TCP/IP прямо соответствуют этой модели. В отличие от четырехуровневого TCP/IP имеет 7 уровней:

  1. Физический (Physical).
  2. Канальный (Data Link).
  3. Сетевой (Network).
  4. Транспортный (Transport).
  5. Сеансовый (Session).
  6. Представительский (Presentation).
  7. Прикладной (Application).

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

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

Транспортный уровень остается без изменений. Выполняет одинаковые функции.

Сетевой уровень также не изменен. Выполняет ровно те же задачи.

Канальный уровень в TCP/IP соответствует двум последним уровням OSI. Канальный уровень устанавливает протоколы передачи данных через физическую среду.

Физический представляет собой собственно физическую связь - электрические сигналы, коннекторы и т.п. В стеке протоколов TCP/IP было решено объединить эти два уровня в один, так как они оба работают с физической средой.


Размещено на http://www.сайт/

по дисциплине «Вычислительные системы и сети»

Тема: Основные протоколы стека TCP/IP

Санкт-Петербург - 2015 год

Введение

История развития стека TCP/IP

Структура стека TCP/IP

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

Транспортный уровень

Сетевой уровень

Канальный уровень

Заключение

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

Введение

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

Осознав важность идеи массового объединения компьютеров в сети и сетей между собой, несколько правительственных организаций в США стали работать над ее реализацией. В результате был создан стек протоколов TCP/IP.

Стек протоколов TCP/IP тесно связан с сетью Internet, ее историей и современностью. Создан он был в 1969 году, когда для сети ARPANET понадобился ряд стандартов для объединения в единую сеть компьютеров с различными архитектурами и операционными системами. На базе этих стандартов и был разработан набор протоколов, получивших название TCP/IP. Вместе с ростом Internet протокол TCP/IP завоевывал позиции и в других сетях. На сегодняшний день этот сетевой протокол используется как для связи компьютеров всемирной сети, так и в подавляющем большинстве корпоративных сетей. В наши дни используется версия протокола IP, известная как IPv4.

История развития стека TCP/IP

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

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

Повышение производительности компьютеров и коммуникационного оборудования. За время существования стека производительность компьютеров возросла на два порядка, объемы оперативной памяти выросли более чем в 30 раз, пропускная способность магистрали Internet в Соединенных Штатах выросла в 800 раз.

Появление новых приложений. Коммерческий бум вокруг Internet и использование ее технологий при создании intranet привели к появлению в сетях TCP/IP, ранее использовавшихся в основном в научных целях, большого количества приложений нового типа, работающих с мультимедийной информацией. Эти приложения чувствительны к задержкам передачи пакетов, так как такие задержки приводят к искажению передаваемых в реальном времени речевых сообщений и видеоизображений. Особенностью мультимедийных приложений является также передача очень больших объемов информации. Некоторые технологии вычислительных сетей, например, frame relay и ATM, уже имеют в своем арсенале механизмы для резервирования полосы пропускания для определенных приложений. Однако эти технологии еще не скоро вытеснят традиционные технологии локальных сетей, не поддерживающие мультимедийные приложения (например, Ethernet). Следовательно, необходимо компенсировать такой недостаток средствами сетевого уровня, то есть средствами протокола IP.

Бурное расширение сети Internet. В начале 90-х годов сеть Internet расширялась очень быстро, новый узел появлялся в ней каждые 30 секунд, но 95-й год стал переломным - перспективы коммерческого использования Internet стали отчетливыми и сделали ее развитие просто бурным. Первым следствием такого развития стало почти полное истощение адресного пространства Internet, определяемого полем адреса IP в четыре байта.

Новые стратегии администрирования. Расширение Internet связано с его проникновением в новые страны и новые отрасли промышленности. При этом в сети появляются новые органы администрирования, которые начинают использовать новые методы администрирования. Эти методы требуют появления новых средств в базовых протоколах стека TCP/IP.

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

Основным предложением по модернизации протокола IP является предложение, разработанное группой IETF. Сейчас принято называть ее предложение версией 6 - IPv6, а все остальные предложения группируются под названием IP Next Generation, IPng.

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

Использование более длинных адресов. Новый размер адреса - наиболее заметное отличие IPv6 от IPv4. Версия 6 использует 128-битные адреса.

Гибкий формат заголовка. Вместо заголовка с фиксированными полями фиксированного размера (за исключением поля Резерв), IPv6 использует базовый заголовок фиксированного формата плюс набор необязательных заголовков различного формата.

Поддержка резервирования пропускной способности. В IPv6 механизм резервирования пропускной способности заменяет механизм классов сервиса версии IPv4.

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

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

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

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

Структура стека TCP/IP

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

Протоколы TCP/IP соответствуют четырехуровневой модели, известной как модель DARPA. Каждый уровень этой модели соответствует одному или нескольким уровням модели OSI.

Стек протоколов TCP/IP включает в себя четыре уровня:

· прикладной уровень (application layer),

· транспортный уровень (transport layer),

· сетевой уровень (internet layer),

· канальный уровень (link layer).

Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.

При отправке сообщения по сети стек протоколов на узле работает от верхнего уровня к нижнему. В этом примере веб-сервера обозреватель на стороне клиента направляет веб-серверу запрос на веб-страницу через порт назначения 80. Начинается процесс отправки веб-страницы клиенту.

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

Сегмент TCP инкапсулирует протокол HTTP и пользовательские данные веб-страницы в формате HTML и передает их на следующий уровень протоколов, то есть в IP. Здесь сегмент TCP инкапсулируется в пакете IP, и к нему добавляется заголовок IP. В заголовке IP указываются IP-адреса источника и назначения.

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

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

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

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

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

Итак, лидирующая роль стека TCP/IP объясняется следующими его свойствами:

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

* Почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.

* Это метод получения доступа к сети Internet.

* Этот стек служит основой для создания intranet- корпоративной сети, использующей транспортные услуги Internet и гипертекстовую технологию WWW, разработанную в Internet.

* Все современные операционные системы поддерживают стек TCP/IP.

* Это гибкая технология для соединения разнородных систем как на уровне транспортных подсистем, так и на уровне прикладных сервисов.

* Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.

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

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

Верхний уровень (уровень I) называется прикладным. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся такие широко используемые протоколы, как протокол копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие. Остановимся несколько подробнее на некоторых из них.

Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Кроме пересылки файлов протокол FTP предлагает и другие услуги. Так, пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов. Наконец, FTP выполняет аутентификацию пользователей. Прежде, чем получить доступ к файлу, в соответствии с протоколом пользователи должны сообщить свое имя и пароль. Для доступа к публичным каталогам FTP-архивов Internet парольная аутентификация не требуется, и ее обходят за счет использования для такого доступа предопределенного имени пользователя Anonymous.

В стеке TCP/IP протокол FTP предлагает наиболее широкий набор услуг для работы с файлами, однако он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файлов TFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP.

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

Протокол SNMP (Simple Network Management Protocol) используется для организации сетевого управления. Изначально протокол SNMP был разработан для удаленного контроля и управления маршрутизаторами Internet, которые традиционно часто называют также шлюзами. С ростом популярности протокол SNMP стали применять и для управления любым коммуникационным оборудованием - концентраторами, мостами, сетевыми адаптерами и т.д. и т.п. Проблема управления в протоколе SNMP разделяется на две задачи.

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

Вторая задача связана с контролируемыми переменными, характеризующими состояние управляемого устройства. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в устройствах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые управляемое устройство должно сохранять, и допустимые операции над ними.

На этом уровне предусмотрено много протоколов и постоянно разрабатываются новые.

Протоколы прикладного уровня:

· FTP (File Transfer Protocol - протокол передачи файлов) - предназначен для передачи файлов в сети и доступа к удалённым хостам. FTP функционирует поверх транспортного протокола TCP.

· TFTP (Trivial File Transfer Protocol - простой протокол передачи файлов) - предназначен для первоначальной загрузки бездисковых рабочих станций.

· BGP (Border Gateway Protocol - протокол граничного шлюза) - предназначен для обмена информацией о маршрутах между автономными системами.

· HTTP (Hyper Text Transfer Protocol - протокол передачи гипертекста) - предназначен для передачи данных на основе клиент-серверной технологии. HTTP в настоящее время используется во всемирной паутине для получения информации с веб-сайтов.

· DHCP (Dynamic Host Configuration Protocol - протокол динамической конфигурации узла) - предназначен для автоматического распределения между компьютерами IP-адресов и конфигурационных параметров, необходимых для работы в сети TCP/IP.

· SNMP (Simple Network Management Protocol - протокол простого управления сетями) - предназначен для управления и контроля за сетевыми устройствами и приложениями в сети передачи данных путём обмена управляющей информацией.

· DNS (Domain Name System - система доменных имён) - компьютерная распределённая иерархическая система для получения информации о доменах, чаще всего для получения IP-адреса по символьному имени хоста.

· SIP (Session Initiation Protocol) - протокол установления сеанса, предназначенный для установления и завершения пользовательского интернет-сеанса, включающего обмен мультимедийным содержимым.

· SMTP (Simple Mail Transfer Protocol) - простой протокол передачи почты, предназначенный для передачи электронной почты в сетях TCP/IP.

· POP3 (Post Office Protocol Version 3) - протокол почтового отделения версии 3. Обычно используется почтовым клиентом в паре с SMTP для получения сообщений электронной почты с сервера.

· IMAP (Internet Message Access protocol) - протокол доступа к электронной почте Интернета.

· TELNET (TELetype NETwork) - виртуальный текстовый терминал, предназначенный для реализации текстового интерфейса в сети с использованием транспортного протокола TCP.

· PPTP (Point-to-Point tunneling protocol) - туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в незащищённой сети.

Транспортный уровень

Следующий уровень (уровень II) называется основным. На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования виртуальных соединений. Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным способом, как и IP, и выполняет только функции связующего звена между сетевым протоколом и многочисленными прикладными процессами.

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

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

Протоколы транспортного уровня:

· TCP (Transmission Control Protocol) - протокол управления передачей данных с установлением соединения, реализующий обмен данных между двумя узлами на основе некоторого соглашения об управлении потоком данных.

· UDP (User Datagram Protocol) - дейтаграммный протокол передачи данных в виде независимых единиц - дейтаграмм (datagram).

· RTP (Real-time transport Protocol) - предназначен для передачи трафика в реальном времени.

· На четвёртом уровне (Application - прикладной) находятся прикладные задачи, запрашивающие сервис у транспортного уровня.

Сетевой уровень

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

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

К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизаторами сети и узлом - источником пакета. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п.

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

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

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

Если канальный уровень оперирует кадрами (frame), то сетевой имеет дело с пакетами (packet). Примером протокола сетевого уровня является IP, входящий в стек TCP/IP. К сетевому уровню относится также протокол IPX стека IPX/SPX. Это так называемые маршрутизируемые протоколы (Routed Protocols) - протоколы, которые занимаются доставкой информации в сети. К этому же уровню относятся специфические протоколы, с помощью которых маршрутизаторы управляют трафиком. Эти так называемые протоколы маршрутизации (Routing Protocols) служат для сбора и анализа информации о топологии сети. Они, не перенося по сети данные, которые могут быть полезны пользователю, тем не менее, играют важную роль.

Протоколы сетевого уровня:

· SLIP (Serial Line IP) - первый стандарт канального уровня для выделенных линий. Разработан специально для стека протоколов TCP/IP, который благодаря простоте может использоваться как для коммутируемых, так и для выделенных каналов. SLIP поддерживается только протоколом сетевого уровня IP. Позволяет организовать межсетевое взаимодействие, используя различные физические и канальные протоколы обмена данными.

· HDLC (High-level Data Link Control Procedure) - высокоуровневый протокол управления каналом - стандарт ISO для выделенных линий, представляющий собой семейство протоколов LAP (Link Access Protocol), HDLC относится к бит-ориентированным протоколам.

· PPP (Point-to-Point Protocol) - протокол двухточечного соединения, пришедший на смену протоколу SLIP и построенный на основе формата кадров протоколов семейства HDLC с дополнением собственных полей. PPP является стандартным протоколом интернета и так же, как протокол HDLC, представляет собой семейство протоколов. Назначение - управление передачей данных по выделенным или коммутируемым линиям связи, обеспечивается двунаправленная одновременная передача данных.

Канальный уровень

стек пропускной сетевой управление

Канальный уровень, он же Data Link Layer, - это уровень более «интеллектуальный», чем физический. Канальный уровень оперирует самими данными. Он разбивает поток данных, поступающих с высшего уровня, на куски, которые называются кадрами (frame). Каждый кадр оформляется особым образом. При этом помимо полезных данных передаются контрольные данные, в кадр включаются адреса принимающего и передающего оборудования и так далее. Если получатель получит поврежденный кадр (целостность кадров проверяется путем подсчета контрольной суммы), канальный уровень повторит передачу.

Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN, для глобальных сетей - протоколы соединений "точка-точка" SLIP и PPP, протоколы территориальных сетей с коммутацией пакетов X.25, frame relay. Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции пакетов IP в ее кадры.

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

Протоколы межсетевого (канального) уровня:

· IP (Internet Protocol) - основной протокол стека TCP/IP, реализующий передачу пакетов по IP-сети от узла к узлу.

Протокол IP:

Не гарантирует: доставку пакетов; целостность пакетов; сохранение порядка потока пакетов.

Не различает логические объекты (процессы), порождающие поток данных.

Эти задачи решают протоколы транспортного уровня TCP и UDP, реализующие различные режимы доставки данных. В отличие от IP протоколы транспортного уровня различают приложения и передают данные от приложения к приложению.

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

· IGMP (Internet Group Management Protocol) - протокол управления группами Интернета, предназначенный для управления групповой (multicast) передачей данных в IP сетях версии 4. IGMP используется маршрутизаторами и IP-узлами для организации групп сетевых устройств, а также для поддержки потокового видео и онлайн-игр, обеспечивая эффективное использование сетевых ресурсов.

· ADP (Address Resolution Protocol - протокол разрешения адресов) - предназначен для определения физического адреса устройства (MAC-адреса) по его IP-адресу.

· RARP (Reverse Address Resolution Protocol - протокол обратного определения адреса) - предназначен для определения IP-адреса устройства по его физическому адресу (MAC-адресу).

· RIP (Routing Information Protocol) - протокол маршрутизации типа DVA, реализующий алгоритм обмена информацией о доступных сетях и расстояниях до них путём периодической рассылки широковещательных пакетов.

· OSPF (Open Shortest Path First) - протокол маршрутизации типа LSA, реализующий алгоритм обмена информацией о состоянии каналов, путём периодического тестирования состояния каналов с соседними маршрутизаторами. Протокол OSPF разработанный для применения в сети Интернет и используется в других больших сетях (DECNet, NetWare, SNA, XNS).

Заключение

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

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

1. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер.-СПб.: Питер, 2002. - 672с.: ил.

2. Администрирование локальных сетей Windows NT/2000/.NET: Учебное пособие. Назаров С. В. - 2-е изд., перераб. и доп. - М.: Финансы и статистика, 2003. - 480 с.: ил.

3. Администрирование сети на примерах. Поляк-Брагинский А. В. - СПб.: БХВ-Петербург, 2005. - 320 с.: ил.

4. Аппаратные средства локальных сетей. Энциклопедия / М. Гук, - СПб.: Питер, 2004. - 573 с.: ил.

5. Архитектура компьютерных систем и сетей: Учеб. пособие / Т.П. Барановская, В.И. Лойко и др.; под ред. В.И. Лойко. - М.: Финансы и статистика, 2003. - 256 с.: ил.

6. «TCP/IP Архитектура, протоколы, реализация», Фейт С., Лори, 2000г. (http://citforum.ru/book/tcpip/tcpip_vv.shtml)

7. «Принципы маршрутизации в Internet. Второе издание», Сэм Хелеби, 2001 г.,Вильямс, (http://citforum.ru/book/prmarshin/prmarshin_str.shtml)

9. https://ru.wikipedia.org/wiki/TCP/IP#cite_ref-1

10. http://www.servicecall.ru/training/course/course3/lesson39/

11. http://citforum.ru/nets/ip/glava_2.shtml

12. http://bibliofond.ru/view.aspx?id=66415#1

Подобные документы

    Создание сетевой игры "Кости". Протоколы, используемые в сетевой игре: IPX предоставляет возможность программам обмениваться пакетами данных без подтверждения; протоколы SPX и NETBIOS сделаны на базе IPX и поэтому требуют дополнительных ресурсов.

    курсовая работа , добавлен 27.05.2008

    Алгоритмы сети Ethernet/Fast Ethernet: метод управления обменом доступа; вычисления циклической контрольной суммы (помехоустойчивого циклического кода) пакета. Транспортный протокол сетевого уровня, ориентированный на поток. Протокол управления передачей.

    контрольная работа , добавлен 14.01.2013

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

    реферат , добавлен 02.06.2008

    Характеристика устройства глобальных сетей с коммутацией каналов. Описание принципа архитектуры "клиент-сервер". Ознакомление со структурой стека TCP\IP. Изучение технологии многопротокольной коммутации по меткам. Функции сетевых команд Windows XP.

    реферат , добавлен 01.02.2011

    Особенности профиля Smart Energy стека протоколов ZigBee. Обзор современных IPS дисплеев. Технология разработки программного обеспечения системы. Создание функциональной и электрической принципиальной схем устройства, описание микроконтроллера и блоков.

    дипломная работа , добавлен 10.01.2013

    Расчет пропускной способности каналов и нагрузки распределенного абонентского коммутатора сетевого оборудования NGN. Характеристики абонентских концентраторов и транспортных шлюзов мультисервисной пакетной сети. Капитальные затраты на модернизацию сети.

    дипломная работа , добавлен 02.12.2013

    Теоретические основы организации локальных компьютерных сетей: определение ЛС, топология, используемые протоколы обмена данными для связи рабочих станций и ЭВМ; программные средства. Сетевое окружение; идентификация компьютера с помощью IP-адреса.

    курсовая работа , добавлен 15.05.2014

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

    дипломная работа , добавлен 21.09.2012

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

    дипломная работа , добавлен 20.03.2017

    Характеристика Оренбургского государственного университета, цели и задачи деятельности. Сущность сетевого мониторинга и особенности его осуществления. Описание разрабатываемой методики анализа сетевого трафика, обзор инструментов его проведения.

Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) является основой глобальной сети Интернет, что обеспечило ему широкую популярность. Его гибкость и возможности маршрутизации трафика позволяют использовать его в сетях различного масштаба (начиная небольшой локальной сетью и заканчивая глобальной корпоративной сетью).
Стек протоколов TCP/IP представляет собой набор сетевых протоколов, регламентирующих все стороны процесса взаимодействия сетевых устройств. Этот стек протоколов основан на открытых спецификациях. Благодаря этому реализации данного стека протокола различными производителями совместимы между собой. В частности, реализация TCP/IP, предложенная Microsoft в рамках семейства операционных систем Windows, позволяет осуществлять взаимодействие с системами, находящимися под управлением ОС, созданных не фирмой Microsoft (например, UNIX).

Можно выделить следующие достоинства стека протоколов TCP/IP:

  • в рамках стека реализована стандартизованная схема маршрутизации, являющаяся наиболее полным и доступным общепринятым механизмом маршрутизации сетевого трафика. Практически все современные операционные системы поддерживают TCP/IP (даже Novell признала первенство стека протоколов TCP/IP и реализовала его поддержку в своем семействе операционных систем NetWare). Практически все корпоративные сети строятся с использованием стека TCP/IP;
  • технология объединения разнородных систем. В рамках стека TCP/IP доступно множество стандартных утилит для организации взаимодействия и передачи данных между разнородными системами, включая протокол передачи файлов FTP и протокол эмуляции терминала (Telnet). Некоторые стандартные утилиты поставляются непосредственно с Windows Server 2003;
  • технология, позволяющая подключать сеть или одиночный компьютер к глобальной сети Интернет. Поскольку Интернет функционирует на базе стека протоколов TCP/IP, поддержка компьютером этого стека является одним из обязательных требований при подключении его к этой сети. Реализованный в рамках стека протокол РРР, протокол туннелирования РРТР и архитектура Windows Sockets обеспечивают необходимую основу для организации подключения к Интернету и использования всех его служб;
  • основа для организации устойчивого, масштабируемого, межплатформенного, клиент-серверного взаимодействия. В TCP/IP поддерживается интерфейс Windows Sockets, который является реализацией в среде Windows широко распространенного интерфейса Berkeley Sockets, используемого для создания сетевых приложений.

Реализация стека протоколов TCP/IP в Windows Server 2003

В Windows Server 2003 реализована поддержка основных протоколов стека TCP/IP, включая протокол управления передачей (TCP), протокол Интернета (IP), протокол пользовательских датаграмм (UDP), протокол разрешения адресов (ARP), протокол управляющих сообщений Интернета (1СМР), а также протокол управлениями группами Интернет (IGMP). Реализация стека протоколов TCP/IP включает в себя базовые утилиты TCP/IP, в том числе Finger, Ftp, Lpr, Rep, Rexec, Rsh, Telnet и Tftp. Эти утилиты позволяют пользователям, работающим в Windows Server 2003, использовать ресурсы и взаимодействовать с компьютерами под управлением операционных систем сторонних производителей (например, операционные системы семейства UNIX). В распоряжении администратора имеется также целый ряд диагностических утилит TCP/IP, включая Arp, Hostname, Ipconfig, Lpq, Nbtstat, Netstat, Ping, Route и Tracert. Системные администраторы могут использовать эти утилиты, чтобы обнаружить и решить проблемы работы с сетями TCP/IP.

В Windows Server 2003 протокол TCP/IP устанавливается по умолчанию и не может быть удален или переустановлен. Если возникает необходимость сбросить установки TCP/IP, то следует использовать утилиту командной строки Netsh.exe.

Следует заметить, что разработанные в ходе развития стека TCP/IP спецификации охватывают различные стороны сетевого взаимодействия. Не все они реализованы в рамках стека протоколов TCP/IP, предложенного Microsoft в Windows Server 2003. Реализация стека протоколов TCP/IP в Windows Server 2003 имеет следующие характерные особенности:

  • поддержка окна передачи большого размера. Эта возможность улучшает производительность TCP/IP в случае, когда передается большое количество данных или не требуется передача подтверждения при связи между двумя компьютерами в течение длительного периода времени. В случае взаимодействия на базе протокола TCP окно (максимальное число пакетов, переданных в виде непрерывного потока до первого пакета подтверждения) обычно имеет фиксированный размер и устанавливается в начале сеанса связи между принимающим и передающим компьютерами. С поддержкой больших окон фактический размер окна может быть динамически вычислен повторно и соответственно увеличен в течение более длинных сеансов. Это позволяет передать большее количество пакетов данных за один раз и увеличивает эффективную полосу пропускания;
  • размер окна передачи устанавливается локальным сетевым адаптером. Данная возможность позволяет устанавливать размер окна передачи сетевым адаптером в соответствии с имеющейся пропускной способностью сети. Например, в ситуации, когда компьютер подключен к Интернету посредством модемного соединения, размер окна передачи будет значительно меньше, чем в случае соединения с локальной вычислительной сетью. Применительно к серверу удаленного доступа описываемая возможность позволяет уменьшить размер очереди пакетов и, как следствие, увеличить эффективность устанавливаемых соединений;
  • выборочные подтверждения. Эта возможность позволяет сетям быстро восстанавливать свою работоспособность после возникновения сетевых конфликтов или временного сбоя в физической среде. Получатель может выборочно подтверждать или требовать повторную передачу у отправителя только для тех пакетов, которые были опущены или повреждены во время передачи данных. В предыдущих реализациях TCP/IP, если компьютер-получатель не смог получить одиночный TCP-пакет, отправитель был вынужден повторно передавать не только поврежденный или отсутствующий пакет, но и всю последовательность пакетов, идущую после неподтвержденного пакета. С новой возможностью будут повторно посланы только действительно поврежденные или пропущенные пакеты. Это приводит к передаче меньшего количества пакетов, т. е. к лучшему использованию сети;
  • лучшая оценка времени кругового пути (Round Trip Time, RTF). Эта возможность повышает эффективность стека протоколов TCP/IP, позволяя точно оценивать время, затрачиваемое на путешествие пакета туда и обратно (RTT) между двумя хостами сети. (RTT - количество времени, которое требуется для кругового прохождения пакета между отправителем и получателем по установленному TCP-соединению.) Повышение точности оценки RTT позволяет установить более точное значение тайм-аута, до истечения которого компьютеры не будут перезапрашивать пакет. Лучшая синхронизация приводит к повышению эффективности работы в сетях с большими значениями RTT (например, в глобальных сетях), покрывающих большие расстояния (нередко целые континенты), или при использовании TCP/IP в беспроводных или спутниковых каналах;
  • поддержка протокола IPv6. Протокол IPv6 представляет собой новую версию протокола IP (старая версия протокола получила название IPv4). Новая версия протокола позволяет преодолеть ограничения и недостатки, характерные для протокола IPv4;
  • поддержка механизмов маршрутизации. Реализация стека протоколов TCP/IP в Windows Server 2003 включает в себя механизмы маршрутизации. Благодаря этому компьютер под управлением Windows Server 2003 может выступать в качестве маршрутизатора, соединяя между собой две или более подсетей;
  • возможность назначения одного IP-адреса нескольким сетевым адаптерам (создание так называемого подключения типа "сетевой мост", network media bridge). Например, компьютер может иметь два сетевых подключения (одно посредством модема с телефонной линией, а второе посредством сетевого адаптера к беспроводной сети). При этом другие компьютеры, подключаясь по телефонной линии к данному компьютеру, могут через мост осуществлять взаимодействие с компьютерами, подключенными к беспроводной сети;
  • встроенный брандмауэр. Непосредственно на уровне операционной системы реализован простейший брандмауэр подключений к Интернету (Internet Connection Firewall, ICF). Встроенный брандмауэр представляет собой службу, осуществляющую фильтрацию информации, поступающей
  • из глобальной сети Интернет. Служба пропускает только разрешенные администратором типы пакетов и отбрасывает все остальные;
  • поддержка служб просмотра сети (browser service), позволяющая осуществлять поиск ресурсов в сложных IP-сетях.

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

  • службы Интернета (Internet Information Services, IIS);
  • служба DHCP для автоматического конфигурирования TCP/IP;
  • служба WINS (Windows Internet Name Service) для разрешения NetBIOS-имен в IP-адреса;
  • служба доменных имен (Domain Name Service, DNS) для разрешения доменных имен в IP-адреса;
  • службы печати для доступа через TCP/IP к принтерам, подключенным к UNIX-системам, или к принтерам, подключенным непосредственно к сети;
  • агент простого протокола управления сетью (Simple Network Management Protocol, SNMP). Протокол SNMP был разработан как средство реализации централизованного управления разнообразными сетевыми устройствами посредством специализированного программного обеспечения (например, Sun Net Manager или HP Open View);
  • серверное программное обеспечение для простых сетевых протоколов, включая генератор символов (Chargen), Daytime, Discard, Echo и Quote of The Day. Эти протоколы позволяют компьютеру под управлением Windows Server 2003 отвечать на запросы других систем, поддерживающих эти протоколы.

Реализация стека протоколов TCP/IP в Windows Server 2003 не включает полный набор утилит TCP/IP или серверных служб (которые традиционно называются демонами, daemons). Тем не менее, существует множество прикладных программ и утилит такого рода, совместимых с реализацией TCP/IP производства Microsoft из состава Windows Server 2003, - как свободно распространяемых, так и сторонних производителей.

Архитектура стека протоколов TCP/IP в Windows Server 2003
Рис. 12.5 позволяет получить представление об архитектуре стека протоколов. TCP/IP, реализованного в рамках операционной системы Windows Server 2003. Условно можно выделить четыре уровня данной реализации.

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

Рис. 12.5. Архитектура стека протоколов TCP/IP в Windows Server 2003

  • Уровень прикладных интерфейсов. Прикладные интерфейсы представляют собой стандартизированные точки доступа к сетевым компонентам операционной системы. Операционной системой Windows Sewer 2003 поддерживается целый ряд разнообразных прикладных интерфейсов (NetBIOS, WNET/WinNET, Windows Socket, RFC). Прикладные интерфейсы взаимодействуют с транспортными протоколами через интерфейс транспортного драйвера (Transport Driver Interface, TDI).
  • Реализация транспортных механизмов. На этом уровне функционируют транспортные протоколы, отвечающие за упаковку сетевых запросов к приложениям в соответствующие форматы и отправку этих запросов на соответствующий сетевой адаптер посредством интерфейса сетевых драйверов (Network Driver Interface Specifications, NDIS).
  • Интерфейс сетевых драйверов. Интерфейс сетевых драйверов позволяет использовать несколько сетевых протоколов поверх разнообразных типов сред и сетевых адаптеров. Благодаря этому интерфейсу множество протоколов могут совместно использовать один сетевой адаптер.

В Windows Server 2003 реализована спецификация NDIS 5.1. Ниже перечислены характерные особенности данной версии этого интерфейса.

  • Поддержка данных, передаваемых вне полосы пропускания (используется в широкополосной передаче).
  • Расширение для средств Wireless WAN.
  • Высокоскоростные передача и прием пакетов (что приводит к значительному повышению производительности).
  • Расширение для средств высокоскоростных портов инфракрасной передачи IrDA.
  • Автоматическое определение среды (это требуется для получения эмблемы "Разработано для Windows" в соответствии с руководством по построению аппаратных средств спецификации РС"98).
  • Фильтрация пакетов (предотвращает монопольный захват процессора утилитой Сетевой монитор (Network Monitor)).
  • Многочисленные новые системные функции интерфейса NDIS (требуются для двоичной совместимости мини-порта Windows 95 и Windows NT).
  • Управление питанием NDIS (требуется для сетевого управления питанием и включения компьютера через сеть).
  • Поддержка технологии Plug and Play.
  • Поддержка инструментария управления Windows (Windows Management Instrumentation, WMI), что обеспечивает создание совместимых с WBEM (Управление предприятием на основе технологии Web) средств управления аппаратурой мини-портов ND1S и связанных с ними адаптеров.
  • Поддержка единого формата INF для всех операционных систем Windows. Новый формат INF основан на формате 1NF, принятом в Windows 95.
  • Механизмы разгрузки процессора для служебных процессов типа расчета контрольной суммы пакетов протоколов TCP и UDP, а также для быстрой пересылки пакетов.
  • Расширение для средств широковещания (необходимо для широковещательных служб в Windows).
  • Поддержка механизмов установления логического соединения (требуется для сетей ATM и ADSL, а также для работы WDM-CSA (Windows Driver Model-Connection Streaming Architecture) - модели драйвера потоковой архитектуры соединения для Windows поверх всех сред с установлением логического соединения).
  • Поддержка для реализации служб качества обслуживания (Quality of Service, QoS).
  • Поддержка промежуточных драйверов (требуется для широковещания PC, виртуальных ЛВС, планирования пакетов для QoS и для поддержки сетевых устройств IEEE-1394).

Интерфейс Windows Socket 2

Интерфейс Windows Socket 2 (достаточно часто можно встретить другое название - WinSock 2) представляет собой реализованный в Windows интерфейс сокетов, разработанный в Университете Беркли. Данный интерфейс выступает в качестве связующего звена между приложениями и транспортным механизмом. Формат сокета зависит от протокола. Применительно к TCP/IP сокет представляет собой комбинацию информации об адресе хоста и номере порта. Для каждого сокета эта комбинация является уникальной.
Обеспечивая полную совместимость с предыдущей версией, Windows Socket 2 расширяет первоначальную реализацию интерфейса. Его характеризуют:

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

В дополнение к поддержке доступа к нескольким сетевым транспортам и механизмам разрешения имен, по сравнению со спецификацией WinSock 1.1, изменилась и архитектура Windows Sockets 2, которая теперь включает два основных уровня: уровень динамических библиотек (DLL), обеспечивающих интерфейс Windows Sockets API, и уровень поставщиков услуг, располагающихся ниже библиотек API и взаимодействующих с ними через интерфейс поставщика услуг (Service Provider Interface, SPI). Описание Windows Sockets 2 включает три отдельных спецификации: описание Windows Sockets 2 API, описание Windows Sockets 2 SPI и приложение (Appendix), определяющие особенности протокола транспортного уровня.
DLL-библиотека Windows Sockets 2 (WS2-32.DLL) включает все API, используемые разработчиками приложений. Она включает существующий Windows Sockets 1.1 API, а также новый API для расширенных средств обмена данными и API обобщенной службы имен. Многие поставщики теперь предлагают параллельный доступ к их собственным транспортам, создавая DLL-библиотеку поставщика услуг, соответствующую спецификации Windows Sockets 2 SPI. Это означает, что можно разработать приложение, обращающееся через новый прикладной интерфейс, например, к TCP/IP и IPX/SPX одновременно.
Интерфейс поставщика услуг позволяет обращаться к нескольким службам разрешения имен (Name Resolution Services) через единый API. Поскольку производители поставляют программные модули уровня поставщика услуг для DNS, для службы каталогов NetWare (NDS) и Х.500 все их функции разрешения имен будут доступны через API пространства имен Windows Sockets 2.


Протокол IPv6

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

  • Ограниченное адресное пространство. Стремительный рост Интернета выявил одно из самых ощутимых ограничений - нехватку IP-адресов. По оценкам специалистов, заложенное в рамках архитектуры протокола IPv4 количество IP-адресов приблизительно равно количеству хостов Интернета. Уже в ближайшем будущем все доступные IP-адреса будут задействованы. Для дальнейшего развития Интернета необходимо предложить и задействовать новый способ адресации хостов.
  • Сложность конфигурации. Версия протокола IPv4 предусматривает только два способа определения конфигурации протокола: ручная настройка либо использование службы автоматической конфигурации хостов DHCP. В случае большого количества хостов возникает потребность в механизме конфигурации хостов, требующем минимального участия со стороны администратора.
  • Недостаточная защищенность. При взаимодействии хостов через открытые сети (какой является, например, Интернет) данные передаются в открытом виде. Существуют различные механизмы защиты сетевого трафика на разных уровнях OSI модели. Специалистами был разработан протокол шифрования данных на сетевом уровне, получивший название протокола IP Security (IPSec). Однако использование этого протокола носит опциональный характер.
  • Отсутствие механизмов управления качеством обслуживания (Quality of Service, QoS). Развитие информационных технологий предъявляет жесткие требования к сетевому транспорту (особенно при передаче потоковых данных - таких, например, как голос и изображение). Хотя имеются механизмы, позволяющие управлять качеством обслуживания и в рамках протокола IPv4, существующий формат заголовка IP-пакета имеет ограниченную функциональность.

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

  • Новый формат заголовка IP-пакета. В новой версии протокола IP существенным образом был переработан формат заголовка пакета с целью повышения эффективности его обработки сетевыми устройствами. Следует заметить, что заголовок 1Ру6-пакета не совместим обратно с заголовком IРv4-пакета. Поэтому в случае использования в сети обеих версий протоколов сетевое устройство (такое, например, как маршрутизатор) должно поддерживать обе версии протокола.
  • Увеличенное адресное пространство. Протокол IPv4 использует 32-битные адреса. В протоколе IPv6 используются 128-битные IP-адреса (что составляет 2128 возможных адресов). Имеющееся количество IP-адресов достаточно как для построения открытых сетей, так и для реализации корпоративных сетей. Благодаря этому, в частности, отпадает необходимость в механизмах трансляции адресов (NAT).
  • Иерархическая инфраструктура адресации и маршрутизации. Схема адресации, используемая в IPv6, позволяет упростить процесс построения таблиц маршрутиазции, используемых маршрутизаторами для определения пути доставки пакета.
  • Новый механизм конфигурации хостов. Протокол IPv6 поддерживает как традиционные способы конфигурации хостов (ручной и с использованием DHCP), так и новые способы конфигурации, не требующие участия DHCP-сервера. В последнем случае хост может определить собственную конфигурацию, основываясь на информации о настройках ближайшего маршрутизатора, либо использовать конфигурацию по умолчанию.
  • Встроенный механизм обеспечения безопасности. Поддержка протокола IPSec является одним из обязательных условий функционирования протокола IPv6.
  • Улучшенная поддержка механизмов управления качеством сервиса. Новый формат заголовка изначально ориентирован на работу механизмов управления качеством обслуживания (QoS).
  • Новый протокол взаимодействия с соседними хостами. Протокол обнаружения соседних хостов (Neighbor Discovery Protocol) представляет собой набор ICMP-сообщений, который регламентирует процесс взаимодействия хоста с его соседями. Этот протокол соответственно заменяет протоколы ARP, ICMPv4 Router Protocol и ICMPv4 Redirect.

Применительно к реализации IPv6 в Windows Server 2003 следует заметить, что данная версия протокола поддерживается разнообразными службами TCP/IP. В частности, служба DNS может быть использована для регистрации хостами своих доменных имен и, в последующем, для разрешения этих имен в соответствующие 1Ру6-адреса.

Протокол IP Security

Протокол IP Security (или как его еще называют - IPSec) разработан с целью реализации защищенного обмена данными по протоколу IP. При этом протокол IPSec позволяет администратору решить следующие задачи обеспечения безопасности:

  • обеспечение конфиденциальности передаваемых данных;
  • контроль доступа;
  • обеспечение целостности передаваемых данных;
  • защита от повторения;
  • подтверждение подлинности данных.

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

  • Создание защищенного заголовка IP-пакета (Authentication Header, АН). Данный уровень предполагает защиту заголовка передаваемого пакета. В случае использования только этого уровня собственно данные пакета передаются в открытом, незащищенном виде. Тем не менее, данный уровень наиболее оптимален в ситуации, когда конфиденциальность передаваемых данных не является критически важной. Уровень обеспечения безопасности АН позволяет гарантировать целостность данных, подтверждение подлинности их происхождения, а также защиту от повторений.
  • Инкапсуляция содержимого пакета (Encapsulated Security Payload, ESP). На этом уровне реализуется защита содержимого пакета путем его шифрования. На уровне обеспечения безопасности ESP гарантируется конфиденциальность передаваемых данных, их целостность, подлинность их происхождения, а также защита от повторения.

В основе работы этого протокола лежит сразу несколько криптографических алгоритмов:

  • системы шифрования с симметричным ключом шифрования (алгоритм DES);
  • системы шифрования с открытым ключом;
  • алгоритм открытого распределения ключей;
  • алгоритмы хэширования (MD5).
  • IP-адрес хоста. Каждый хост в среде TCP/IP должен иметь уникальный IP-адрес. Если хост имеет несколько сетевых соединений, для каждого из них (в том числе и использующих телефонные линии и подключенных к серверу удаленного доступа) должен быть выделен свой IP-адрес. Этот адрес может быть статически назначен администратором или выделен динамически службой DHCP.
  • Определение метода разрешения символических имен. Windows Server 2003 поддерживает четыре способа разрешения символических имен в IP-адреса: службу доменных имен (Domain Name System, DNS), службу интернет-имен Windows (Windows Internet Name System, WINS), широковещательное разрешение имен и разрешение имен с помощью файлов HOSTS и LMHOSTS.

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

Набор многоуровневых протоколов, или как называют стек TCP/IP (табл. 2.1), предназначен для использования в различных вариантах сетевого окружения. Стек TCP/IP с точки зрения системной архитектуры соответствует эталонной модели OSI (Open Systems Interconnection – взаимодействие открытых систем) и позволяет обмениваться данными по сети приложениям и службам, работающим практически на любой платформе, включая Unix, Windows, Macintosh и другие.

Таблица 2.1. Семейство протоколов TCP/IP

Название протокола

Описание протокола

Сетевой программный интерфейс

Связь с приложениями ОС Windows

Интерфейс транспортного драйвера (Transport Driver Interface) позволяет создавать компоненты сеансового уровня.

Протокол управления передачей (Transmission Control Protocol)

Протокол пользовательских дейтаграмм (User Datagram Protocol)

Протокол разрешения адресов (Address Resolution Protocol)

Протокол обратного разрешения адресов (Reverse Address Resolution Protocol)

Протокол Internet(Internet Protocol)

Протокол управляющих сообщений Internet (Internet Control Message Protocol)

Протокол управления группами Интернета (Internet Group Management Protocol),

Интерфейс взаимодействия между драйверами транспортных протоколов

Протокол пересылки файлов (File Transfer Protocol)

Простой протокол пересылки файлов (Trivial File Transfer Protocol)

Реализация TCP/IP фирмы Microsoft соответствует четырехуровневой модели вместо семиуровневой модели, как показано на рис. 2.2. Модель TCP/IP включает большее число функций на один уровень, что приводит к уменьшению числа уровней. В модели используются следующие уровни:

Уровень Приложения модели TCP/IP соответствует уровням Приложения, Представления и Сеанса модели OSI;

Уровень Транспорта модели TCP/IP соответствует аналогичному уровню Транспорта модели OSI;

Рис. 2.2. Соответствие семиуровневой модели OSI и четырехуровневой модели TCP/IP

Межсетевой уровень модели TCP/IP выполняет те же функции, что и уровень Сети модели OSI;

Уровень сетевого интерфейса модели TCP/IP соответствует Канальному и Физическому уровням модели OSI.

Уровень Приложения

Через уровень Приложения модели TCP/IP приложения и службы получают доступ к сети. Доступ к протоколам TCP/IP осуществляется посредством двух программных интерфейсов (API – Application Programming Interface):

Сокеты Windows;

Интерфейс сокетов Windows, или как его называют WinSock, является сетевым программным интерфейсом, предназначенным для облегчения взаимодействия между различными TCP/IP – приложениями и семействами протоколов.

Интерфейс NetBIOS используется для связи между процессами (IPC – Interposes Communications) служб и приложений ОС Windows. NetBIOS выполняет три основных функции: определение имен NetBIOS; служба дейтаграмм NetBIOS; служба сеанса NetBIOS.

Уровень транспорта

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

Подтверждение получения информации;

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

Упорядочение и ретрансляция пакетов.

В зависимости от типа службы могут быть использованы два протокола:

TCP (Transmission Control Protocol – протокол управления передачей);

UDP (User Datagram Protocol – пользовательский протокол дейтаграмм).

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

Протокол управления передачей (TCP)

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

Надежность протокола TCP заключается в следующем:

– он диагностирует ошибки,

– при необходимости посылает данные повторно,

– если не может самостоятельно исправить ошибку, сообщает о ней на другие уровни.

Перед отправкой сегментов информации вниз по модели отправляющий протокол TCP контактирует с принимающим протоколом TCP с целью установления связи. В результате создается виртуальный канал. Такой тип коммуникации называется ориентированным на соединение.

Установление соединения происходит в три шага:

1. Клиент, запрашивающий соединение, отправляет серверу пакет, указывающий номер порта, который клиент желает использовать, а также код (определенное число) ISN (Initial Sequence number).

2. Сервер отвечает пакетом, содержащий ISN сервера, а также ISN клиента, увеличенный на 1.

3. Клиент должен подтвердить установление соединения, вернув ISN сервера, увеличенный на 1.

Принцип работы TCP:

Берет из приложения большие блоки информации, разбивает их на сегменты,

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

Согласовывает с протоколом принимающей стороны количество информации, которое должно быть отправлено до получения подтверждения от принимающего TCP;

После отправки сегментов TCP ждет подтверждения от целевого TCP о получении каждого из них;

Заново отправляет те сегменты, получение которых не было подтверждено.

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

Пользовательский протокол дейтаграмм (UDP)

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

Принцип работы UDP:

Получает с верхних уровней блоки информации, разбивает их на сегменты;

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

Отправляет сегменты и «забывает» о них;

Не ждет подтверждений о получении и даже не допускает таких подтверждений и потому считается ненадежным протоколом. Но это не значит, что UDP неэффективен – просто он не относится к надежным протоколам.

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

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

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

Протокол Интернета IP

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

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

Адресация в IP-сетях

Каждый компьютер в сетях TCP/IP имеет адреса трех уровней: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя) .

Физический, или локальный адрес узла, определяемый технологией, с помощью которой построена сеть, в которую входит узел. Для узлов, входящих в локальные сети – это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.

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

При разработке протокола IP на основе размера сетей были выделены их классы (табл. 2.2):

· Класс а – немногочисленные сети с очень большим количеством узлов; номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети.

· Класс В – сети средних размеров; под адрес сети и под адрес узла отводится по 16 битов (по 2 байта).

· Класс С – сети с малым числом узлов; под адрес сети отводится 24 бита (3 байта), а под адрес узла – 8 битов (1 байт).

Таблица 2.2. Классы сетей

Диапазон адресов

Максимальное количество сетей

Максимальное количество узлов в одной сети

0Сеть.узел.узел.узел

0.0.0.0 ‑ 0.255.255.255

зарезервировано

1.0.0.0 ‑ 126.255.255.255

127.0.0.0 – 127.255.255.255

зарезервировано

10Сеть.сеть.узел.узел

128.XXX.0.0 – 191.XXX.255.255

110Сеть.сеть.сеть.узел

192.XXX.XXX.0 ‑ 223.XXX.255.255

1110Группа.группа. группа.группа

224.0.0.0 – 239.255.255.255

1111Резерв.резерв. резерв.резерв

240.0.0.0 – 255.255.255.255

зарезервировано

· Адреса класса D – особые, групповые адреса – multicast; могут использоваться для рассылки сообщений определенной группе узлов. Если в пакете указан адрес назначения, принадлежащий классу D, то такой пакет должны получить все узлы, которым присвоен данный адрес.

· Адреса класса Е зарезервированы для будущих применений.

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

Если в поле номера сети стоят 0

0 0 0 0...................................0 Номер узла,

то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет: если адрес компьютера 128.187.0.0, то указанный в сообщении адрес 0.0.25.31 неявно преобразуется в адрес 128.187.25.31;

Адрес 127.0.0.Х зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback или localhost. Если программа отправит пакет с таким адресом, то этот пакет, не выйдя за пределы компьютера, пройдется по всем уровням сетевой подсистемы и вернется к этой программе. Позволяет разрабатывать и тестировать сетевое программное обеспечение на локальном компьютере, в т. ч. и вообще не имеющем сетевого адаптера.

Если все двоичные разряды IP-адреса равны 1

1 1 1 1...................................1 1,

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

Если в поле адреса узла назначения стоят сплошные 1

Адрес сети 1111................11,

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

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

Символьный адрес, или DNS-имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес используется на прикладном уровне, например, в протоколах FTP или telnet.

Числовая адресация удобна для машинной обработки таблиц маршрутов. Для использования человеком она представляет определенные трудности. Для облегчения взаимодействия вначале применялись таблицы соответствия числовых адресов именам машин. Например, в ОС UNIX в каталоге /etc находится файл с именем hosts, который может иметь следующий вид:

IP-адрес Имя машины

127.0.0.1 localhost

144.206.160.32 Polyn

144.206.160.40 Apollo

По мере роста сети была разработана система доменных имен – DNS (Domain Name System), которая позволяет присваивать компьютерам легко запоминаемые имена, например yahoo.com, и отвечает за перевод этих имен обратно в IP-адреса. DNS строится по иерархическому принципу, однако эта иерархия не является строгой. Фактически нет единого корня всех доменов Internet.

Компьютерное имя имеет по меньшей мере два уровня доменов, отделяемых друг от друга точкой (.). Идущие после доменов верхнего уровня домены обычно определяют либо регионы (msk), либо организации (ulstu). Следующие уровни иерархии могут быть закреплены за небольшими организациями, либо за подразделениями больших организаций или частными лицами (например, alvinsoft.h11.ru).

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

Наиболее популярной программой поддержки DNS является BIND, или Berkeley Internet Name Domain, – сервер доменных имен, который широко применяется в Internet. Он обеспечивает поиск доменных имен и IP-адресов для любого узла сети. BIND обеспечивает также рассылку сообщений электронной почты через узлы Internet.

BIND реализован по схеме «клиент-сервер». Различают четыре вида серверов:

· primary master-сервер поддерживает свою базу данных имен и обслуживает местный домен;

· secondary master-сервер обслуживает свой домен, но данные об адресах части своих машин получает по сети с другого сервера;

· caching-сервер не имеет своего домена. Он получает данные либо с одного из master-серверов, либо из буфера;

· удаленный сервер обычный master-сервер, установленный на удаленной машине, к которому обращаются программы по сети.

Primary или secondary master-серверы устанавливаются обычно на машинах, которые являются шлюзами для локальных сетей.

Шлюз (Gateway) – система, выполняющая преобразование из одного формата в другой.

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

Протоколы сопоставления адреса ARP и RARP

Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol (ARP) . ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети – протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу – нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP – RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

В локальных сетях ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным
IP-адресом.

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

Протокол ICMP

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

Протокол ICMP для своих целей использует сообщения, два из которых называются эхо-запрос ICMP и эхо-ответ ICMP:

· Эхо-запрос подразумевает, что компьютер, которому он был отправлен, должен ответить на этот пакет.

· Эхо-ответ – это тип ICMP-сообщения, которое используется для ответа на такой запрос.

Эти сообщения отправляются и принимаются с помощью команды ping (Packet Internet Groper).

С помощью специальных пакетов ICMP можно получить информацию:

· о невозможности доставки пакета,

· о превышении времени жизни пакета,

· о превышении продолжительности сборки пакета из фрагментов,

· об аномальных величинах параметров,

· об изменении маршрута пересылки и типа обслуживания,

· о состоянии системы и т. п.

Протокол IGMP

Узлы локальной сети используютпротокол управления группами Интернета (IGMP – Internet Group Management Protocol), чтобы зарегистрировать себя в группе. Информация о группах содержится на маршрутизаторах локальной сети. Маршрутизаторы используют эту информацию для передачи групповых сообщений.

Групповое сообщение, как и широковещательное, используется для отправки данных сразу нескольким узлам.

Network Device Interface Specification (NDIS) – спецификация интерфейса сетевого устройства, программный интерфейс, обеспечивающий взаимодействие между драйверами транспортных протоколов, и соответствующими драйверами сетевых интерфейсов. Позволяет использовать несколько протоколов, даже если установлена только одна сетевая карта.

Уровень сетевого интерфейса

Этот уровень модели TCP/IP отвечает за распределение IP-дейтаграмм. Он работает с ARP для определения информации, которая должна быть помещена в заголовок каждого кадра. Затем на этом уровне создается кадр, подходящий для используемого типа сети, такого как Ethernet, Token Ring или ATM, затем IP-дейтаграмма помещается в область данных этого кадра, и он отправляется в сеть.

Стек протоколов TCP/IP – это альфа и омега Интернета, и нужно не только знать, но также понимать модель и принцип работы стека.

Мы разобрались с классификацией, стандартами сетей и моделью OSI. Теперь поговорим о стеке, на базе которого построена всемирная система объединенных компьютерных сетей Интернет.

Модель TCP/IP

Изначально данный стек создавался для объединения больших компьютеров в университетах по телефонным линиям связи соединения «точка-точка». Но когда появились новые технологии, широковещательные (Ethernet) и спутниковые, возникла необходимость адаптировать TCP/IP, что оказалось непростой задачей. Именно поэтому наряду с OSI появилась модель TCP/IP.

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

В таблице представлено сравнение моделей OSI и TCP/IP. Последняя включает в себя 4 уровня:

  1. Самый нижний, уровень сетевых интерфейсов , обеспечивает взаимодействие с сетевыми технологиями (Ethernet, Wi-Fi и т. д.). Это объединение функций канального и физического уровней OSI.
  2. Уровень интернет стоит выше, и по задачам перекликается с сетевым уровнем модели OSI. Он обеспечивает поиск оптимального маршрута, включая выявление неполадок в сети. Именно на этом уровне работает маршрутизатор.
  3. Транспортный отвечает за связь между процессами на разных компьютерах, а также за доставку переданной информации без дублирования, потерь и ошибок, в необходимой последовательности.
  4. Прикладной объединил в себе 3 уровня модели OSI: сеансовый, представления и прикладной. То есть он выполняет такие функции, как поддержка сеанса связи, преобразование протоколов и информации, а также взаимодействие пользователя и сети.

Иногда специалисты пытаются объединить обе модели в нечто общее. Например, ниже приведено пятиуровневое представление симбиоза от авторов «Компьютерные сети» Э. Таненбаума и Д. Уэзеролла:

Модель OSI обладает хорошей теоретической проработкой, но протоколы не используются. С моделью TCP/IP все иначе: протоколы широко используются, но модель подходит исключительно для описания сетей на базе TCP/IP.

Не путайте их:

  • TCP/IP – это стек протоколов, представляющий собой основу Интернета.
  • Модель OSI (Базовая Эталонная Модель Взаимодействия Открытых Систем) подходит для описания самых разных сетей.

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

Рассмотрим каждый уровень более подробно.

Нижний уровень сетевых интерфейсов включает в себя Ethernet, Wi-Fi и DSL (модем). Данные сетевые технологии формально не входят в состав стека, но крайне важны в работе интернета в целом.

Основной протокол сетевого уровня – IP (Internet Protocol). Это маршрутизированный протокол, частью которого является адресация сети (IP-адрес). Здесь также работают такие дополнительные протоколы, как ICMP, ARRP и DHCP. Они обеспечивают работу сетей.

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

Прикладной уровень – это HTTP (для web), SMTP (передача почты), DNS (назначение IP-адресам понятных доменных имен), FTP (передача файлов). Протоколов на прикладном уровне стека TCP/IP больше, но приведенные можно назвать самыми значимыми для рассмотрения.

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