Структура заголовка сегмента протокола tcp. Теоретические сведения

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

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

Корпоративная информация, интенсивность ее потоков и способы ее обработки постоянно меняются. Примером резкого изменения технологии обработки корпоративной информации стал беспрецедентный рост популярности глобальной сети Internet за последние 2-3 года. Сеть Internet изменила способ представления информации, собрав на своих серверах все ее виды - текст, графику и звук. Транспортная система сети Internet существенно облегчила задачу построения распределенной корпоративной сети.

Соединение и взаимодействие в рамках одной мощной компьютерной сети явилось целью проектирования и создания семейства протоколов, названных в дальнейшем стеком протоколов TCP/IP (Transmission Control Protocol / Internet Protocol ) . Главной идеей стека является создание механизма межсетевого обмена.

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

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

История создания стека протоколов TCP/IP началась с момента, когда Министерство обороны США столкнулось с проблемой объединения большого числа компьютеров с различными операционными системами. Для этого в 1970 году был составлен набор стандартов. Протоколы, разработанные на базе этих стандартов, получили обобщенное название TCP/IP.

Стек протоколов TCP/IP был изначально предназначен для сети Advanced Research Project Agency Network (ARPANET ). ARPANET рассматривалась как экспериментальная распределенная сеть коммутации пакетов. Эксперимент по применению стека протоколов TCP/IP в этой сети закончился с положительными результатами. Поэтому стек протоколов был принят в промышленную эксплуатацию, а в дальнейшем был расширен и усовершенствовался в течение нескольких лет. Позже стек адаптировали для использования в локальных сетях. В начале 1980 года протокол стал использоваться как интегральная часть операционной системы Вег kley UNIX v 4.2. В этом же году появилась объединенная сеть Internet . Переход к технологии Internet был завершен в 1983 году, когда Министерство обороны США установило, что все компьютеры, присоединенные к глобальной сети, используют стек протоколов TCP/IP.

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

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

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

Основными преимуществами стека протоколов TCP/IP являются:

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

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

Межконцевые подтверждения. Протоколы стека TCP/IP обеспечивают подтверждение правильности прохождения информации при обмене между отправителем и получателем.

Стандартные прикладные протоколы. Протоколы TCP/IP включают в свой состав средства для поддержки наиболее часто встречающихся приложений, таких как электронная почта, передача файлов, удаленный доступ и т.д.

Резкий рост сети Internet и, естественно, ускоренное развитие стека протоколов TCP/IP потребовали от разработчиков создания серии документов, которые способствовали бы дальнейшему упорядоченному развитию протоколов. Организация Internet Activities Board (IAB ) разработала серию документов, называемых RFC (Request For Comments ). Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, другие документы описывают условия их применения. В том числе в RFC опубликованы стандарты стека протоколов TCP/IP. При этом следует иметь в виду, что стандарты TCP/IP всегда публикуются в виде документов RFC , но не все RFC определяют стандарты.

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

1.Состояние стандартизации. Протокол может иметь несколько состояний:

стандарт на протокол утвержден;

стандарт на протокол предлагается к рассмотрению;

предлагается экспериментальный протокол;

протокол устарел и в настоящее время не используется.

2.Статус протокола. Протокол может иметь несколько статусов:

протокол требуется для внедрения;

протокол может внедряться производителем по выбору;

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

распознавать сбои в сети и восстанавливать ее работоспособность;

распределять пропускную способность сети и знать способы уменьшения потока данных при перегрузке;

распознавать задержки и потери пакетов, знать способ уменьшения ущерба от этого;

распознавать ошибки в данных и информировать о них прикладное программное обеспечение;

производить упорядоченное движение пакетов в сети.

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

Так как стек протоколов TCP/IP был разработан до появления эталонной модели OSI , то соответствие его уровней уровням модели OSI достаточно условно. Структура стека протоколов TCP/IP приведена на рис. 1.1.

Рис. 1.1. Структура стека протоколов TCP/IP .

Рис. 1. 2. Путь передачи сообщений .

Теоретически посылка сообщения от одной прикладной программы к другой означает последовательную передачу сообщения вниз через соседние уровни стека у отправителя, передачу сообщений по уровню сетевого интерфейса (уровню IV ) или, в соответствии с эталонной моделью OSI , по физическому уровню, прием сообщения получателем и передачу его вверх через соседние уровни протокольного программного обеспечения. На практике взаимодействие уровней стека организовано гораздо сложнее. Каждый уровень принимает решение о корректности сообщения и производит определенное действие на основании типа сообщения или адреса назначения. В структуре стека протоколов TCP/IP имеется явный «центр тяжести» - это сетевой уровень и протокол IP в нем. Протокол IP может взаимодействовать с несколькими модулями протоколов более высокого уровня и несколькими сетевыми интерфейсами. То есть на практике процесс передачи сообщений от одной прикладной программы к другой будет выглядеть следующим образом: отправитель передает сообщение, которое на уровне III про токолом IP помещается в дейтаграмму и посылается в сеть (сеть 1). На промежуточных устройствах, например маршрутизаторах , дейтаграмма передается вверх до уровня протокола IP , который отправляет ее обратно вниз, в другую сеть (сеть 2). Когда дейтаграмма достигает получате ля, протокол IP выделяет сообщение и передает его на верхние уровни. Рис. 1.2 иллюстрирует данный процесс.

Структуру стека протоколов TCP/IP можно разделить на четыре уровня . Самый нижний - уровень сетевого интерфейса (уровень IV ) -соответствует физическому и канальному уровню модели OSI . В стеке протоколов TCP/IP этот уровень не регламентирован. Уровень сетево го интерфейса отвечает за прием дейтаграмм и передачу их по конкрет ной сети. Интерфейс с сетью может быть реализован драйвером уст ройства или сложной системой, которая использует свой протокол ка нального уровня (коммутатор, маршрутизатор ). Он поддерживает стан дарты физического и канального уровня популярных локальных сетей: Ethernet , Token Pang , FDDI и т.д. Для распределенных сетей поддержи ваются проколы соединений РРР и SLIP , а для глобальных сетей - протокол Х.25. Предусмотрена поддержка использования развивающейся технологии коммутации ячеек - ATM . Обычной практикой стало вклю чение в стек протоколов TCP/IP новых технологий локальных или рас пределенных сетей и регламентация их новыми документами RFC .

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

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

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

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

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

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

Рассмотрение принципов функционирования стека протоколов TCP/IP целесообразно проводить, начиная с протоколов третьего уров ня. Это связано с тем, что протоколы более высоких уровней в своей работе опираются на функциональные возможности протоколов нижних уровней. Для понимания проблем маршрутизации в распределен ных сетях изучение протоколов рекомендуется проводить в следующей последовательности: IP , ARP , ICMP , UDP и TCP . Это связано с тем, что для доставки информации между удаленными системами в распределенной сети используется в той или иной степени все семейство сте ка протоколов TCP/IP.

Стек протоколов TCP/IP включает в свой состав большое число протоколов прикладного уровня. Эти протоколы выполняют различные функции, в том числе: управление сетью, передачу файлов, оказание распределенных услуг при использовании файлов, эмуляцию термина лов, доставку электронной почты и т.д. Протокол передачи файлов (File Transfer Protocol - FTP ) обеспечивает перемещение файлов между ком пьютерными системами. Протокол Telnet обеспечивает виртуальную тер минальную эмуляцию. Простой протокол управления сетью (Simple Network Management Protocol - SNMP ) является протоколом управле ния сетью, используемым для сообщений об аномальных условиях в сети и установления значений допустимых порогов в сети. Простой протокол передачи почты (Simple Mail Transfer Protocol - SMTP ) обеспечивает механизм передачи электронной почты. Эти протоколы и другие прило жения используют услуги стека TCP/IP для обеспечения пользователей базовыми сетевыми услугами.

Более подробно протоколы прикладного уровня стека протоколов TCP/IP в рамках данного материала не рассматриваются.

Перед рассмотрением протоколов стека TCP/IP введем базовые термины, определяющие названия фрагментов информации, передава емой между уровнями. Название блока данных, передаваемого по сети, зависит от того, на каком уровне стека протоколов он находится. Блок данных, с которым имеет дело сетевой интерфейс, называется кадром . Если блок данных находится между сетевым интерфейсом и сетевым уровнем, то он называется IP -дейтаграммой (или просто дейтаграм мой). Блок данных, циркулирующий между транспортным и сетевым уровнями и выше, называется IP -пакетом . На рис. 1.3 показано соот ветствие обозначений блоков данных уровням стека протоколов TCP/IP.


Рис. 1. 3. Обозначение фрагментов информации на уровнях стека TCP/IP.

Очень важно дополнить описание уровней стека протоколов TCP/IP описанием различия между передачей от отправителя непосредственно к получателю и передачей через несколько сетей. На рис. 4 показано различие между этими видами передач.


Рис. 1.4. Способы передачи информации.

При доставке сообщения через две сети с применением маршрутизатора оно использует два разных сетевых кадра (кадр 1 и кадр 2). Кадр 1 - для передачи от отправителя до маршрутизатора , кадр 2 - от маршрутизатора до получателя.

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

Протокол управления передачей (Transmission Control Protocol - TCP) обеспечивает надежную передачу данных в среде IP. TCP относится к транспортному уровню эталонной модели OSI (4-й уровень). TCP предоставляет такие службы, как потоковая передача данных, надежность, эффективное управление потоком, дуплексный режим и мультиплексирование.

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

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

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

В дуплексным режиме TCP-процесс может одновременно пересылать и принимать пакеты.

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

Установка ТСР-соединения

Для использования надежных транспортных служб TCP-узлы должны устанавливать друг с другом сеансы, ориентированные на соединение. Установка соединения выполняется по механизму, называемому трехэтапной синхронизацией (three-way handshake).

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

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

Первый узел (Узел А) инициирует соединение, отправляя пакет с начальным порядковым номером и битом синхронизации SYN для индикации запроса соединения. Второй узел (Узел В) получает SYN, записывает порядковый номер X и отвечает подтверждением SYN (вместе с АСК = X + 1). Узел В указывает собственный порядковый номер (SEQ = Y). Тогда, если АСК равен 20, то это означает, что узел принял байты с 0 по 19 и ожидает следующий байт 20. Эта технология называется подтверждением передачи. Затем Узел А подтверждает прием всех байтов, посланных Узлом В с подтверждением передачи, указывая следующий байт, который Узел А ожидает получить (АСК = Y + 1). После этого может начинаться передача данных.

Подтверждение приема и повторная передача

Простой транспортный протокол может обеспечивать надежность и такую технологию управления потоком, при которой исходный узел посылает пакет, запускает таймер и ждет подтверждения приема перед отправкой нового пакета. Если подтверждение не получено по истечении времени, узел передает пакет еще раз. Эта технология называется подтверждением приема и повторной передачей (Positive Acknowledgment and Retransmission - PAR).

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

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

Скользящее окно TCP

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

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

Предположим, что TCP-отправителю надо послать с помощью скользящего окна последовательность байт (пронумерованных от 1 до 10) получателю с размером окна 5. Отправитель помещает в окно первые 5 байт, передает их все сразу и ждет подтверждения приема.

Получатель отвечает с АСК, равным 6, показывая, что получил байты с 1 по 5 и ждет байта 6. В том же пакете получатель показывает, что размер его окна равен 5. Отправитель сдвигает скользящее окно на 5 байт вправо и передает байты с 6 по 10. Получатель отвечает АСК, равным 11, показывая, что он ожидает байта 11. В этом пакете получатель может указать, что его размер окна равен 0 (поскольку, например, его внутренние буферы заполнены). Тогда отправитель больше не сможет посылать байты, пока получатель не пошлет другой пакет с ненулевым размером окна.

Формат ТСР-пакета

Поля и полный формат TCP-пакета показаны на рис. 35.10.

Рис. 35.10. Формат ТСР-пакета

Описание полей ТСР-пакета

Ниже описаны поля TCP-пакета, показанные на рис. 35.10.

Порт источника и порт получателя. Точки, в которых процессы верхнего уровня источника и получателя принимают услуги TCP.

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

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

Сдвиг данных. Число 32-разрядных слов в заголовке TCP.

Резервные. Область, зарезервированная для использования в будущем.

Флаги. Различная управляющая информация, в том числе биты SYN и АСК, используемые для установки соединения, и бит FIN для разрыва соединения.

Окно. Размер приемного окна получателя (объем буфера для входящих данных).

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

Указатель срочности. Указывает на первый байт срочных данных в пакете.

Параметры. Различные дополнительные параметры TCP.

Данные. Информация верхнего уровня.

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. - М.: Издательский дом «Вильяме», 2005. - 1040 с.: ил. – Парал. тит. англ.

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

В этой статье разберем принципы работы стека протоколов TCP/IP и попробуем понять принципы их работы.

Примечание: Зачастую, обревиатурой TCP/IP называют всю сеть, работающую на основе этих двух протоколов, TCP и IP.

В модель такой сети кроме основных протоколов TCP (транспортный уровень) и IP (протокол сетевого уровня) входят протоколы прикладного и сетевого уровней (смотри фото). Но вернемся непосредственно к протоколам TCP и IP.

Что такое протоколы TCP/IP

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

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

Форматы протоколов TCP/IP

Формат IP протокола

Существуют два формата для IP адресов IP протокола.

Формат IPv4. Это 32-битовое двоичное число. Удобная форма записи IP-адреса (IPv4) это запись в виде четырёх групп десятичных чисел (от 0 до 255), разделённых точками. Например: 193.178.0.1.

Формат IPv6. Это 128-битовое двоичное число. Как правило, адреса формата IPv6 записываются в виде уже восьми групп. В каждой группе по четыре шестнадцатеричные цифры разделенные двоеточием. Пример адреса IPv6 2001:0db8:85a3:08d3:1319:8a2e:0370:7889.

Как работают протоколы TCP/IP

Если удобно представьте передаче пакетов данных в сети, как отправку письма по почте.

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

Протокол IP

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

По аналогии с почтой, IP- адрес это номер дома. Но номера дома для получения письма недостаточно.

Передаваемая по сети информация передается не компьютером, как таковым, а приложениями, установленными на него. Такими приложениями являются сервер почты, веб-сервер, FTP и т.п. Для идентификации пакета передаваемой информации, каждое приложение прикрепляется к определенному порту. Например: веб-сервер слушает порт 80, FTP слушает порт 21, почтовый SMTP сервер слушает порт 25, сервер POP3 читает почту почтовых ящиков на порте 110.

Таким образом, в адресном пакете в протоколе TCP/IP, в адресатах появляется еще одна строка: порт. Аналог с почтой — порт это номер квартиры отправителя и адресата.

Пример:

Source address (Адрес отправителя):

IP: 82.146.47.66

Destination address (Адресполучателя):

IP: 195.34.31.236

Стоит запомнить: IP адрес + номер порта — называется «сокет». В примере выше: с сокета 82.146.47.66:2049 пакет отправляется на сокет 195.34.31.236: 53.

Протокол TCP

Протокол TCP это протокол следующего после протокола IP уровня. Предназначен этот протокол для контроля передачи информации и ее целостности.

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

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

Как уже было отмечено ранее, главная задача транспортного уровня заключается в пере­даче данных между прикладными процессами. Эту задачу решают протокол управ­ления передачейTCP (Transmission Control Protocol) и протокол пользовательских дейтаграмм UDP (User Datagram Protocol). Протоколы TCP и UDP имеют много общего. Тот и другой обеспечивают интерфейс с вышележащим прикладным уровнем, передавая дан­ные, поступающие на входной интерфейс хоста, соответствующему приложению. При этом оба протокола используют концепции «порт» и «сокет». Оба они так­же поддерживают интерфейс с нижележащим сетевым уровнем IP, упаковывая свои пакеты в IP-пакеты.

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

Существует и обратная задача: пакеты, которые отправляют в сеть разные при­ложения, работающие на одном конечном узле, обрабатываются общим для них протоколом IP. Следовательно, в стеке должно быть предусмотрено средство «сбора» пакетов от разных приложений дляпередачи протоколу IP. Эту работу выполняют протоколы TCP и UDP.

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

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

Если процессы представляют собой популярные общедоступные службы (например, FTP, telnet, HTTP, DNS и т. п.), то за ними закрепляются стандарт­ные, назначенные номера, также называемые хорошо известными (well-known) номерами портов .Эти номера закрепляются и публикуются в стандартах Ин­тернета RFC. Так, номер 21 закреплен за службой удаленного доступа к файлам FTP, a 23 – за службой удаленного управления telnet. Назна­ченные номера являются уникальными в пределах Интернета и выделяются приложениям централизованноиз диапазона от 0 до 1023.


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

В дальнейшем все сетевые приложения должны адресоваться к данному прило­жению с указанием назначенного ему номера порта. После того как приложение завершит работу, выделенный ему локальный номер порта возвращается в спи­сок свободных и может быть назначен другому приложению. Динамические но­мера являются уникальными в пределах каждого компьютера, но при этом обыч­ной ситуацией является совпадение номеров портов приложений, выполняемых на разных компьютерах. Как правило, клиентские части известных приложений (DNS, WWW, FTP, telnet и др.) получают динамические номера портов от операционной системы.

Нет никакой зависимости меж­ду назначением номеров для приложений, использующих протокол TCP, и при­ложений, работающих с протоколом UDP. Приложения, которые передают дан­ные на уровень IP по протоколу UDP, получают номера, называемые UDP-портами. Аналогично приложениям, обращающимся к протоколу TCP, выделя­ются ТСР-порты.

В том и другом случаях это могут быть как назначенные, так и динамические номера. Диапазоны чисел, из которых выделяются номера TCP- и UDP-портов, совпадают: от 0 до 1023 для назначенных и от 1024 до 65535 для динамических. Однако никакой связи между назначенными номерами TCP- и UDP-портов нет. Даже если номера TCP- и UDP-портов совпадают, они идентифицируют разные приложения. Например, одному приложению может быть назначен ТСР-порт 1750, а другому – UDP-порт 1750. В некоторых случаях, когда приложение может об­ращаться по выбору к протоколу TCP или UDP (например, таким приложением является DNS), ему, исходя из удобства запоминания, назначаются совпадаю­щие номера TCP- и UDP-портов (в данном примере – это номер 53) .

2.5.1 Протокол UDP

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

Заголовок UDP, состоящий из четырех 2-х-байтовых полей, содержит номера пор­тов отправителя и получателя , контрольную сумму и длину дейтаграммы (рис.2.11) .

Глава 6

Прошлое, настоящее

и будущее протокола TCP/IP

По прочтении этой главы и после выполнения практических заданий вы сможете:

· рассказать историю появления TCP/IP;

· объяснить принципы работы протоколов TCP и IP, а также методы использования протоколов UDP вместо TCP;

· рассказать об адресации IP и понять способы ее реализации в локальных и глобальных сетях;

· рассказать о новом протоколе IP version 6 и его назначении;

· обсудить способы использования прикладных протоколов, входящих в стек TCP/IP;

· понять назначение прикладных протоколов стека TCP/IP;

· соотнести реализацию TCP/IP с эталонной моделью OSI.

Когда компьютеры общаются через Интернет, то в качестве языка общения они используют Transmission Control Protocol/Internet Protocol (TCP/IP). Также протоколы TCP/IP широко распространены в большинстве средних и крупных сетей. Эти протоколы поддерживают сети на основе платформ Novell NetWare, UNIX и Windows, в особенности – развивающиеся сети и сети, в которых используются клиент-серверные или веб-ориентированные приложения. Широкое распространение, проверенные технологии и возможности расширения делают TCP/IP удачным выбором для большинства проектов, обеспечивающих взаимодействие локальных и глобальных сетей. Даже в небольших сетях развертывание TCP/IP может оказаться жизненно важным для дальнейшего развития сети.

В данной главе будет подробно рассказано о протоколах TCP/IP, включая описание пакетов TCP и IP, а также способы адресации IP. Также вы узнаете об альтернативе TCP – протоколе User Datagram Protocol (UDP), который применяется тогда, когда подтверждение переданных данных не так важно, как скорость и малая нагрузка на сеть. В главе обсуждается новейшая версия протокола IP, названная IPv6, и сравнивается с предшествующей версией, IPv4. Кроме того, рассказывается о прикладных протоколах входящих в стек TCP/IP и предназначенных для эмуляции терминалов передачи файлов и сообщений электронной почты , преобразований и назначения IP-адресов, а также для управления сетями. И, наконец, вы узнаете как архитектура TCP/IP соотносится с эталонной моделью OSI.

Краткая история стека TCP/IP

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

Первая попытка создания средств взаимодействия различных компьютеров была предпринята несколькими университетами, которые разработали сетевой протокол, названный Network Control Protocol (NCP ) и позволивший хост-компьютерам разных компаний, включая DEC и IBM, обменивал информацией. NCP был простейшим протоколом, который обеспечивал различным типам компьютеров DEC и IBM возможность сетевых взаимодействий и запуска приложений через сеть, в которой хосты были географически удалены друг от друга. Например, одним из приложений протокола NCP была передача файлов между компьютерами. Это было хорошее начало, однако протокол NCP не мог обеспечить достаточно надежной передачи данных, поэтому управление ARPA для его модернизации запустило проект. Разработанный протокол на самом деле являлся комбинацией двух протоколов – Transmission Control Protocol (TCP ) и Internet Protocol (IP ) названия которых обычно сокращаются до аббревиатуры TCP/IP.

Примечание

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

Внимание

Компания IBM использует аббревиатуру NCP для названия Программы управления сетью – Network Control Program. Эта программа представляет собой приложение, выполняющееся на оконечном процессоре (небольшом компьютере) или на шлюзе SNA, который подключен к мэйнфрейму, обеспечивая последнему возможность сетевых взаимодействий.

Основы стека TCP/IP

Протокол TCP, описанный в RFC 793, первоначально был разработан для двухточечных взаимодействий между компьютерами одной сети, а протокол IP (RFC 791) предназначался для обеспечения коммуникаций между компьютерами, подключенными к разным сетям или к глобальным сетям. Вскоре после своего появления оба протокола были объединены как стек TCP/IP для использования в популярных операционных системах Berkeley UNIX и были встроены в ОС Virtual Memory System (VMS, ныне – OpenVMS) компании DEC и Multiple Virtual Storage (MVS, ныне – OpenMVS) компании IBM.

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

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

· Transmission Control Protocol (TCP);

· User Datagram Protocol (UDP);

· Internet Protocol (IP).

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

Функционирование протокола TCP

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

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

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

· текущий сетевой трафик;

Коммерческие кооперативы (принадлежащие работающим в них сотрудникам)

Образовательные

Правительственные

Организации, занимающиеся регистрацией доменных имен

Организации, созданные согласно международным договорам

Музейные

Домены для личного пользования

Поставщики сетевых услуг

Некоммерческие

Профессиональные (например, объединения врачей, бухгалтеров или юристов)

Таблица 6.4. Доменные имена ДМШ

Таблица 6.5. Предлагаемые глобальные доменные имена первого уровня (TLD )

Распознаватели имен DNS и пространства имен

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

Использование зон

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

Зона, ассоциирующая имена компьютеров с соответствующими JH адресами, называется зоной прямого просмотра (forward lookup zone). Эта зона содержит записи имен хостов, называемые адресными записями. Каждый сервер и клиент IP-сети должен иметь адресную запись, позволяющую найти его с помощью DNS. Например, если DNS-сервер называется NetAdmin и имеет адрес 129.70.10.1, то зона прямого просмотра связывает имя NetAdmin с адресом 129.70.10.1. Для протокола IPv4 запись хоста называется ресурсной записью адреса хоста (типа A) (host address (A) resource record). Для протокола IPv6 такая запись называется ресурсной записью адреса хоста (типа АААА) (IPv6 host address (АААА) resource record).

Примечание

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

В другой зоне, называемой зоной обратного просмотра (reverse lookup zone) хранятся ресурсные записи указателей (типа PTR ) (pointer (PTR) resourse record), которые связывают IP-адреса с именами хостов. Зоны обратного просмотра используются не так часто, как зоны прямого просмотра, однако не следует создавать в тех случаях, когда для обеспечения сетевых коммуникаций требуется связывать IP-адрес с некоторым компьютерным именем (например для мониторинга сети с использованием IP-адресов ).

Роли DNS -серверов

Обычно DNS-сервер в сети играет одну из двух ролей: он может выступать или в качестве основного DNS-сервера, или выполнять функции дополнительного DNS-сервера. Основным DNS -сервером (primary DNS server) считается сервер, отвечающий за некоторую зону и поэтому называющийся авторитетным (authoritative) сервером для этой зоны. Например, если на некотором DNS-сервере первый раз создается зона прямого просмотра ДД домена, то при этом создается ресурсная запись начала зоны (SOA ) (start of authority (SOA) resource record), идентифицирующая данный сервер в качестве авторитетного DNS-сервера для домена., Это означает, что все изменения зоны (например, создание ресурсных записей адреса хоста (типа А)) должны выполняться на этом сервере.

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

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

Совет

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

Чтобы познакомиться с зонами, ресурсной записью начала зоны (SOA) и другой информацией, хранящейся на DNS-сервере, выполните практическое задание 6-8.

Стандарты DNS

Авторитетные серверы обычно поддерживают два стандарта DNS: ресурсные записи служб и протокол динамического обновления DNS. Ресурсная запись службы (типа SVR ) (service resource record (SVR RR)) описана в RFC 2052 и представляет собой тип DNS-записи, позволяющей DNS распознавать различные серверы и определять местоположение широко используемых служб TCP/IP, выполняющихся на конкретных серверах. SRV-записи позволяют DNS-серверу генерировать список серверов сети, предоставляющих услуги TCP/IP-сервисов. Также эти записи сообщают о протоколах, поддерживаемых этими серверами, и позволяют определить предпочтительный сервер для некоторой службы. Формат SRV-записи содержит информацию о типе службы, выполняющейся на некотором сервере, имени домена, который обслуживается этим сервером, а также о протоколе, используемом сервером.

Протокол динамического обновления DNS (DNS dynamic update protocol) описан в RFC 2136, с его помощью можно автоматически обновлять информацию на 1 DNS-сервере. Примером может служить рабочая станция под управлением Windows ХР Professional, обновляющая свой IP-адрес, полученный от сервера DHCP. Протокол динамического обновления DNS может сэкономить сетевому администратору массу времени, поскольку ему не понадобится вручную регистрировать каждую новую рабочую станцию или выполнять регистрация компьютера каждый раз по истечении срока арендованного ему 1Р-адресзи при получении нового адреса.

Совет

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

Dynamic Host Configuration Protocol (DHCP)

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

Совет

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

Address Resolution Protocol (ARP)

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

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

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

Simple Network Management Protocol (SNMP)

Simple Network Management Protocol (SNMP ) (Простой протокол сетевого управления) позволяет администраторам сети непрерывно следить за активностью сети. Протокол SNMP был разработан в 1980-х годах для того, чтобы снабдить стек TCP/IP механизмом, альтернативным стандарту OSI на управление сетями – протоколу Common Management Interface Protocol (CMIP ) (Протокол общей управляющей информации).

Хотя протокол SNMP был создан для стека TCP/IP, он соответствует эталонной модели OSI. Большинство производителей предпочли использовать SNMP, а не CMIP, что объясняется большой популярностью протоколов TCP/IP, а также простотой SNMP. Протокол SNMP поддерживают многие сотни сетевых устройств, включая файловые серверы, карты сетевых адаптеров, маршрутизаторы, повторители, мосты, коммутаторы и концентраторы. В сравнении с этим, протокол CMIP применяется компанией IBM в некоторых сетях с маркерным кольцом, однако во многих других сетях он не встречается.

Достоинства SNMP

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

Еще одно достоинство SNMP состоит в том, что контрольные функции выполняются на некоторой станции управления сетью. В этом SNMP отличается от протокола CMIP, для которого функции управления распре делены между отдельными сетевыми узлами, которые одновременно являются и объектами мониторинга. Кроме того, SN. MP требует меньше оперативной памяти, чем CMIP. Для работы CMIP нужно до 1,5 Мбайт памяти на каждом исследуемом узле, a SNMP требует только 64 Кбайт.

Типы узлов, используемых протоколом SNMP

Протоколом SNMP предусмотрены два типа узлов: станция управления сетью (network management station, NMS) и агенты сети (network agents). Станция управления сетью следит за сетевыми устройствами, поддерживающими SNMP. На этих устройствах выполняется агентское программное обеспечение, взаимодействующее со станцией. Большинство устройств, подключаемых к современным сетям, являются агентами. К их числу относятся маршрутизаторы, повторители, концентраторы, коммутаторы, мосты, персональные компьютеры (через свои сетевые адаптеры), серверы печати, серверы доступа и источники бесперебойного питания.

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

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

Каждый агент сети хранит информационную базу, содержащую количество посланных или полученных пакетов, число пакетных ошибок и другие данные. Такая база называется базой управляющей информации (Management Information Base, MIB). У станции управления сетью имеется множество команд, позволяющих обращаться к данным этой базы и управлять ею. Такие команды передаются с помощью OSI-совместимых модулей данных протокола (PDU) и содержат тип сообщения (например, запрос на получение, запрос на получение следующих данных, ответ на запрос, запрос на присваивание значения и системное прерывание). Получаемые данные позволяют определить, включено ли устройство и имеются ли сетевые проблемы. Станция управления сетью обеспечивает даже удаленную перезагрузку устройства. Сообщения между станцией и агентом передаются поверх протокола UDP, к пакетам которого добавляется заголовок SNMP. Полезная нагрузка SNMP содержит групповое имя (community name), представляющее собой некоторый пароль, общий для станции управления сетью и агента.

В базе управляющей информации хранятся сведения о сетевых объектах (таких как рабочие станции, серверы, мосты, маршрутизаторы, концентраторы и повторители). Основной набор переменных, содержащихся в этой базе, представлен в табл. 6.6. Изначально таблица базы MIB была описана в стандарте Management Information Base-I. Этот стандарт определяет сведения об устройстве и множество соответствующих переменных. Стандарты MIВ разрабатываются Проблемной группой проектирования Интернета (IETF).

Таблица 6.6. Переменные базы управляющей информации (Ml В)

Переменные MIB

Назначение

Address translation group (группа преобразования адресов)

Преобразует сетевые адреса в адреса подсетей или физические адреса

Electronic gateway protocol group (Группа шлюзового протокола электронных устройств)

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

Interfaces group (Группа интерфейсов)

Отслеживает количество сетевых адаптеров и количество подсетей

Internet control message protocol group (Группа протокола управляющих сообщений Интернета)

Собирает данные о количестве. сообщений, посланных агентом и полученных им

Internet protocol group (Группа протокола Интернета)

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

SNMP group (Группа SNMP)

Собирает данные об обращениях к базе MIB

System group (Системная группа)

Содержит информацию об агенте сети

Transmission control protocol group (Группа протокола управления передачей)

Предоставляет информацию о ТСР-соединениях в сети, включая данные об адресах и тайм-аутах

User datagram protocol group (Группа пользовательского протокола данных)

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

Новый, более совершенный стандарт MIB-II описывает дополнительные средства безопасности, поддержку сетей с маркерным кольцом и высокоскоростных интерфейсов, а также поддержку для телекоммуникационных интерфейсов. Стандарт MIB-II принят многими производителями сетевого оборудования.

Новые возможности протокола SNMPv 2

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

SNMPv2 позволяет шифровать групповое имя, улучшить обработку ошибок и обеспечить взаимодействие со многими протоколами. Он поддерживает также IPX и AppleTalk. Кроме того, SNMPv2 обеспечивает быструю передачу информации и позволяет одновременно получать больше данных из базы MIB-II.

Мониторинг с использованием протоколов SNMP и SNMPv 2

Протоколы SNMP и SNMPv2 можно применять для управления любыми сетями: локальными, глобальными и смешанными. Имеется множество средств и программных пакетов для сетевого мониторинга, которые используют SNMP и SNMPv2. В их число входят программы Sniffer компании Network Associates (см. www . sniffer . com ) и Network Monitor компании Microsoft (см. www.).

Важным SNMP-совместимым инструментом, используемым для мониторинга локальных сетей, соединенных через глобальные сети, является разработанный в начале 1990-х годов стандарт Remote Network Monitoring (RMON ) (удаленный мониторинг сети). RMON не только использует протокол SNMP, но также задействует специальную базу данных для удаленного мониторинга, называемую RMON MIB-II. Эта база позволяет удаленным сетевым узлам собирать сетевую статистику практически в любой точке локальной или глобальной сети. Эти удаленные узлы являются агентами, или зондами. Информация, полученная агентами, может быть передана на некоторую станцию управления, которая заносит ее в базу данных. В настоящее время стандарты RMON MIB-II адаптированы к сетям FDDI, Ethernet и Token Ring.

Другие прикладные протоколы стека TCP/IP

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

Таблица 6.7. Приложения и протоколы стека TCP/IP

Протокол или приложение

Описание

Приложение, позволяющее пользователю стека TCP/IP находить FTP-сайты, содержащие информацию по определенной тематике

Bootstrap Protocol (ВООТР)

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

Distance Vector Multicast Routing Protocol (DVMRP)

Протокол групповой маршрутизации, используемый вместе с протоколом RIP для определения узлов, подписанных на определенные групповые посылки приложений мультимедиа (см. главу 10)

С помощью данной утилиты сетевой пользователь может определить, какие еще пользователи и хосты активны в сети

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

Hypertext Transfer Protocol (HTTP)

Протокол для передачи документов HTML (Hypertext Markup Language) через Интернет по запросам от веб-браузеров; эти документы могут включать в себя аудио - и видеофайлы, а также изображения и графику

Internet Group Management Protocol (IGMP)

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

Multicast Open Shortest Path First Protocol (MOSPF)

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

Open Shortest Path First Protocol (OSPF)

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

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

Real-Time Protocol (RIP)

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

Real-Time Transport Control Protocol (RTCP)

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

Resource Reservation Protocol (RSVP)

Протокол, позволяющий выделять сетевые ресурсы для определенных приложений (например, резервировать полосу пропускания для приложений мультимедиа) (см. главу 10)

Routing Information Protocol (RIP)

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

Simple Network Management Protocol (SNMP)

Протокол, обеспечивающий сбор сетевой статистики, хранит эту информацию в базе данных

Traceroute (tracert)

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

В практических заданиях 6-9 и 6-10 вы можете попрактиковаться в работе с командой ping, а в заданиях 6-11 и 6-12 вы узнаете, как с помощью команд tracert и ping определить количество ретрансляций от одной точки сети до другой.

Сравнение архитектуры стека TCP/IP и эталонной модели OSI

Как показано на рис. 6.11, компоненты стека TCP/IP, о которых рассказывалось в этой главе, соответствуют уровням эталонной модели OSI. По мере развития стека TCP/IP его компоненты все в большей степени следуют модели OSI. Например, на Физическом и Канальном уровнях стек TCP/IP совместим с сетями Ethernet, Token Ring, FDDI и ATM, а также с шинными сетями с передачей маркера (token bus). На Физическом уровне стек TCP/IP поддерживает коаксиал, витую пару и оптоволокно, а также беспроводные коммуникации. Кроме того, на Канальном уровне стек совместим со стандартом IEEE 802.2 на управление логическим каналом и МАС-адресацию.

Эквивалентом Сетевого уровня в стеке TCP/IP является протокол IP. Следующим уровнем совместимости служит Транспортный уровень, на этом уровне могут работать оба протокола – TCP и UDP. Верхние уровни модели OSI представляются прикладными протоколами TCP/IP. Например, протокол Telnet функционирует на уровне, эквивалентном Сеансовому, а протоколы SMTP и FTP работают на уровнях, аналогичных Представительскому и Прикладному уровням OSI.

Резюме

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

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

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

· Важно понимать, что главное назначение протокола IPv6 – обеспечит логический переход от IPv4, чтобы приложения и сетевые устройства могли справляться с новыми требованиями по мере их возникновения

· Фактически TCP/IP является стеком протоколов и приложений, предоставляющих важные возможности. Для подключения рабочих станций к хост-компьютерам используется протокол Telnet (при этом рабочие станции выступают в роли терминалов). FTP – протокол, который миллионы клиентов используют ежедневно для загрузки файлов из Интернета. Протокол SMTP обеспечивает работу почтовых служб, a DNS преобразует имена компьютеров в их IP-адреса. Протокол DHCP автоматически назначает IP-адреса сетевым компьютерам. Протокол SNMP важен для сетей, поскольку может собирать информацию о производительности сети и может использоваться для поиска неисправностей. Протокол ARP позволяет компьютерам или устройствам определять МАС-адрес другого компьютера или устройства.

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

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