Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Архитектура и технологии построения сетей TCP/IPСодержание книги
Поиск на нашем сайте
Подходу к описанию сети как транспортного средства полностью соот- ветствует концепция сетей TCP/IP. Причина, по которой TCP/IP столь важен сегодня, заключается в том, что он позволяет самостоятельным сетям подключаться к Internet или объединяться для создания корпоративных интрасетей. Уровневая модель TCP/IP отличается от модели OSI (табл. 4.1).
Таблица 4.1 Сравнение уровневых моделей TCP/IP и OSI
Различия моделей заключаются в следующем: 1) количество уровней разное; 2) модель OSI на сетевом уровне поддерживает возможности использова- ния связи с установлением соединения и без установления соединения, на транспортном уровне – только на основе установления соединения; Модель TCP/IP – на сетевом уровне только без установления соединения, на транспортном – оба режима, предоставляя пользователю выбор.
Концептуальная модель сети ТСР/IP TCP/IP – это промышленный стандарт стека протоколов, используемый в глобальных и локальных сетях. Аббревиатура TCP/IP включает обозначение двух базовых протоколов, на основе которых строится сеть: TCP (Transmission Control Protocol) – протокол управления передачей и IP (Internet Protocol) – межсетевой протокол. В целом же стек протоколов TCP/IP включает протоко- лы четырех уровней (прикладного, транспортного, сетевого и уровня доступа, или уровня сетевых интерфейсов, – по сути, это канальный и физический уров-
ни). Данный стек использует в качестве транспортной среды между узлами коммутации (шлюзами/маршрутизаторами) другие сети или выделенные кана- лы. Стек TCP/IP является самым популярным средством организации ассоциа- тивных (объединенных, составных) сетей. Концептуальная модель взаимодействия двух прикладных процессов представлена на рис. 4.2. Рис. 4.2. Концептуальная модель TCP/IP
Узлы коммутации представляют собой маршрутизаторы IP-пакетов, а в роли физической среды обычно выступают различные сети, построенные на других сетевых технологиях (LAN или WAN). В ПБД таких сетей от уровня звена данных и выше инкапсулируются IP-пакеты для передачи от одного маршрутизатора к другому (или от оконечного устройства к ближайшему маршрутизатору). Для соединения маршрутизаторов между собой и с оконеч- ными устройствами используются также выделенные (или коммутируемые) цифровые каналы в сочетании с вспомогательными протоколами пакетной пе- редачи данных типа «точка–точка», в ПБД которых можно инкапсулировать IP- пакеты. В сети Internet, например, различают не только отдельные сети, но и бо- лее крупные объединения – автономные системы. Автономная система – это совокупность сетей под единым административным управлением, обеспечива-
ющим общую для всех входящих в автономную систему маршрутизаторов по- литику маршрутизации. Сегодня Internet представляет собой объединение равноправных авто- номных систем с произвольной топологией связей. Вся эта конструкция «склеивается» благодаря протоколу сетевого уровня IР (Internet Protocol – протокол сети Internet). Его работа заключается в транс- портировке дейтаграмм от отправителя к получателю независимо от того, находятся эти машины в одной и той же сети или нет.
Протокол TCP отслеживает передаваемые блоки данных. У каждого хо- ста должен быть уникальный глобальный адрес (межсетевой). У каждого про- цесса хоста должен быть уникальный адрес в пределах данного хоста – порт. Совокупность номеров сети, узла и порта в узле образует гнездо. Такая адре- сация позволяет транспортному протоколу (ТСР) доставить данные нужному процессу. Хост А передает сообщение протоколу ТСР с указанием переслать его хо- сту В (см. рис. 4.2). Протокол TCP ориентирован на виртуальное соединение – некий логиче- ский (виртуальный) канал связи между двумя оконечными устройствами сети. Это соединение идентифицируется специальным числовым кодом, присваива- емым коммутаторами, участвующими в процессе установления соединения. Более детально на понятии «виртуальный канал» остановимся далее. Протокол TCP использует для транспортировки IP-датаграммы (уро- вень 3), которые пересылаются посредством протокольных кадров второго уровня. Между двумя партнерами может быть прямое соединение, а может располагаться большое число сетевых приборов второго и третьего уровней.
Заголовок сегмента (ТСР) содержит номер порта приемника, номер сег- мента, контрольную сумму. Заголовок датаграммы (IP) хранит адрес хоста по- лучателя. Заголовок уровня доступа содержит информацию, необходимую для передачи пакета по подсети (в данном примере адрес маршрутизатора J, запрос характеристик). На маршрутизаторе J заголовок пакета удаляется, изучается заголовок IP. IP-модуль маршрутизатора направляет дейтаграмму по подсетям 2, 3 и марш-
Блок данных на каждом протокольном уровне называют протокольным модулем данных (Protocol Data Unit, PDU). Протоколы, такие как TCP и IP, задают правила для передачи сообщений, описывают детали форматов сообщений и указывают, как обрабатывать ошиб- ки. Самое важное то, что они позволяют рассматривать стандарты взаимодей- ствия вне зависимости от того, на оборудовании какого производителя они реа- лизуются.
Стек протоколов TCP/IP Стек протоколов TCP/IP включает транспортные протоколы TCP/IP; про- токолы сбора маршрутной информации RIP и OSPF; протоколы управления се- тью ICMP и ARP; прикладные протоколы HTTP, FTP, Telnet, SNMP, SMTP, TFTP, NSP. Соответствие уровней стека протоколов TCP/IP семиуровневой модели OSI показано на рис. 4.3. Соответствие уровней стека протоколовTCP/IP Модели OSI/RM:
В сеть (кадр, фрейм) Рис. 4.3. Уровни стека протоколов TCP/IP Краткое описание основных протоколов семейства TCP/IP с расшифров- кой аббревиатур приведено в Приложении 1. Рассмотрим особенности протоколов стека TCP/IP на каждом из четырех уровней: прикладном, транспортном, сетевом и уровне доступа.
Прикладной уровень Прикладной уровень (уровень приложений – application layer) объединяет службы, предоставляющие телекоммуникационные услуги различным пользо- вательским приложениям. Протоколы прикладного уровня ориентированы на конкретные службы. Они определяют как процедуры по организации взаимо- действия конкретного типа между прикладными процессами, так и форму пред- ставления информации при таком взаимодействии.
В массе своей эти протоколы работают поверх TCP или UDP. Перед тем как обменяться информацией, клиент и сервер должны сначала установить со- единение TCP/IP. Чтобы отличать протоколы, приложения используют для каждого из них уникальные номера. Общие протоколы, такие как FTP и HTTP, используют «хорошо известные» номера портов. Стандартным значением для порта HTTP является 80, хотя сервер и клиент могут работать и по другому но- меру. Наиболее известные протоколы Web и Internet используют следующие номера портов:
Транспортный уровень Транспортный уровень обеспечивает обмен сообщениями между при- кладными процессами. Идентификация процесса получателя осуществляется по адресу, состоящему из двух частей: IP-адреса, идентифицирующего оконечное устройство, и номера порта, идентифицирующего прикладной процесс. В дан- ном случае «порт» – это не физический разъем или канальный вход/выход, а условный номер прикладного процесса или службы прикладного уровня.
На транспортном уровне стека TCP/IP поддерживаются два режима: с установлением соединения (при использовании протокола TCP) и без него (при применении протокола UDP).
Установление логического соединения позволяет нумеровать сегменты, подтверждать их прием квитанциями, в случае потери организовывать повтор- ные передачи, распознавать и уничтожать дубликаты, доставлять прикладному уровню сегменты в том порядке, в котором они были отправлены. Протокол TCP дает возможность объектам одного ранга на компьютере-отправителе и компьютере-получателе поддерживать обмен данными в дуплексном режиме. Протокол TCP предоставляет полноценную транспортную службу, кото- рая обеспечивает обмен потоками данных. При этом он не накладывает ограни- чений на состав потока, освобождая прикладной процесс от функции структу- рирования данных. Передача данных протоколу TCP аналогична их записи в неструктурированный файл. Целостность потока данных обеспечивается квитированием, при этом для управления потоком используется механизм окна. Управление шириной окна позволяет защищать от перегрузок как промежуточные узлы сети, так и буфер- ную память, принимающую данные. Первую задачу решают маршрутизаторы, направляя протоколам оконечных станций требования об уменьшении размера окна. Вторая задача решается непосредственно протоколом TCP, который де- кларирует выбранную ширину окна, используя при необходимости и нулевую ширину, т. е. запрещая передачу. Форматы ПБД транспортного и сетевого уровней TCP/IP показаны на рис. 4.4.
Сегмент TCP/IP (датаграмма UDP) Заг - Заголовок >20 байт
IP-пакет
Фрагменты IP-пакетов Рис. 4.4. Формат протокольных блоков данных TCP/IP Сегмент TCP состоит из полей заголовка и данных. Длина информацион- ного поля данных сегмента может меняться в широких пределах с учетом двух ограничений. Во-первых, каждый сегмент, включая его заголовок и заголовок
IP-пакета, не должен превышать 65 535 = (216–1) байт. Во-вторых, в каждой се- ти есть соответствующая используемым ПБД максимальная единица передачи (MTU – Maximum Transfer Unit), в которую должен помещаться сегмент (вместе с заголовком IP-пакета). Впрочем, если сегмент (пакет) проходит через после- довательность сетей и попадает в сеть, MTU-единица которой оказывается меньше него, то пограничный маршрутизатор фрагментирует такой сегмент на несколько частей. Сегменты могут и не содержать поля данных при передаче квитанций и управляющих сообщений.
Поля «номер порта отправителя» и «номер порта получателя» (по 16 бит каждое) идентифицируют службы прикладного уровня или прикладные про- цессы отправителя и получателя. Поля «номер последнего переданного байта» и «номер первого ожидае- мого на приёме байта» (по 32 бит каждое) используются для управления пото- ком данных. Нумеруются не ПБД (сегменты), а байты в сегменте, причем цикл нумерации составляет 232 байт = 4 Гбайта, т.е. он вполне может применяться не для относительной нумерации (по кругу), а для абсолютной (например, для по- следовательной нумерации байт в передаваемых файлах).
Рис. 4.5. Формат заголовка сегмента TCP Поле «Длина заголовка» (4 бита) определяет длину заголовка сегмента TCP, измеренную в 32-битовых блоках (словах, соответствующих типовой ад- ресуемой единице в 32-разрядных компьютерах). Длина заголовка не фиксиро- вана, она зависит от числа бит в поле «Дополнительная информация», которое округляется с помощью пустого поля «Выравнивание» в большую сторону до кратной 32 битам величины. Минимальный размер заголовка при отсутствии дополнительной информации – 20 байт. Максимальный размер, который можно записать в поле из 4 бит, составляет 32 ( 24 – 1) = 480 бит = 60 байт. Следующие 6 бит зарезервированы для последующего использования. Далее следуют 6 служебных бит (1-битных флагов). Активному состоя- нию служебных бит соответствует значение 1. Флаги используются в качестве следующих признаков (указателей):
• URG – указатель наличия срочных данных в сегменте; • ACK – указатель наличия осмысленных данных в поле «Номер первого ожидаемого на приеме байта» (квитанция на ранее принятые данные). При ACK = 0 указанное поле игнорируется; • PSH – указатель получателю, чтобы он доставил данные в сегменте сразу прикладному процессу, а не хранил его в буфере; • RST – указатель запроса на сброс и переустановку соединения (из-за сбоя хоста или другой тупиковой ситуации); • SYN – признак служебных сегментов Connection Request – запрос со- единения (при ACK = 1) и Connection Accepted – согласие на соединение (при ACK = 0); • FIN – признак того, что у отправителя нет больше данных для переда- чи. Используется для разрыва соединения. У сегментов с битами FIN и SYN есть порядковые номера, что гарантиру- ет правильный порядок их выполнения.
Поле «Контрольная сумма» (16 бит) содержит проверочную последова- тельность, позволяющую обнаруживать ошибки в сегменте. Заполняется и про- веряется данное поле без использования циклического кодирования. Алгоритм вычисления просто складывает все 16-ричные слова в дополнительном до 1 ко- де, затем рассчитывает дополнение для всей суммы. Получатель считает кон- трольную сумму всего сегмента, включая поле «Контрольная сумма», результат должен быть равен нулю.
Использование скользящего окна протоколом TCP сочетается с процеду- рой выборочного повтора, аналогичной процедуре РОС-АП (см. разд. 2.3), под- держиваемой стандартом HDLC. В целом протокол TCP поддерживает множество процедур, обеспечива- ющих эффективное управление TCP-соединением, передачей данных, борьбой с перегрузками, таймерами. Модели реализации протокола TCP. Протокол ТСР функционирует нормально при выполнении ряда условий.
1. Вероятность ошибки доставки невелика, и потеря пакета вероятнее все- го происходит из-за переполнения буфера. Если потеря пакета из-за его иска- жения существенна, уместно поискать оптимальное значение MTU. 2. Время доставки достаточно стабильно. Для его оценки можно исполь- зовать простые линейные аппроксимации и модель виртуального канала. Смена порядка прихода пакетов маловероятна. 3. Сеть имеет фиксированную полосу пропускания и не допускает скач- кообразных ее вариаций. 4.
5. Чтобы минимизировать влияние избыточности, связанной с заголовком (20 байт IP + 20 байт ТСР + МАС-заголовок), используемое поле данных долж- но иметь большой объем. Для узкополосных каналов, где MTU мало, наруше- ние данного требования делает канал низкоэффективным. По этой причине вы- явление допустимого MTU в начале сессии должно приветствоваться. 6. Взаимодействие с другими ТСР-сессиями не должно быть разруши- тельным, приводящим к резкому снижению эффективности виртуального канала. В настоящее время предложено и опробовано несколько разновидностей протокола TCP. Анализируя различные модели работы протокола ТСР, следует учиты- вать, что в сети Internet могут встречаться участки с разными протоколами L2 (Ethernet, ATM, SDH, Frame Relay, PPP и т. д.). Эти технологии имеют разные алгоритмы обработки ситуаций перегрузки (или не имеют их вовсе), а отправи- тель и получатель, как правило, не имеют данных о том, какие протоколы вто- рого уровня реализуют виртуальное соединение четвертого уровня. Модификации (модели) протокола ТСР связаны с алгоритмами регулиро- вания размера окна в зависимости от частоты перегрузок и времени «обраще- ния» сегмента данных (TCP-Reno, TCP Vegas, TCP-Tahoe, TCP Westwood, мо- дель TCP Hybla, модель BIC TCP, модель CUBIC TCP, TCP-Illinois, TCP-Veno). Протокол UDP (User Datagram Protocol) предназначен для передачи дейтаграмм на уровне абонент–абонент без установления соединения, ориен- тирован на транзакции, не гарантирует доставку пакета или отсутствие его дубликата.
«клиент – сервер», чтобы обменяться одним запросом и ответом, предпочитают не устанавливать соединения, а пользоваться протоколом UDP (см. протоколы прикладного уровня, применяющие транспортные услуги UDP).
Как и сегмент TCP, датаграмма UDP состоит из заголовка и блока дан- ных. Длина информационного поля данных датаграммы, как и сегмента, может достигать 65 535 байт. А заголовок датаграммы намного проще, чем заголовок сегмента, и включает всего четыре 16-битных поля (рис. 4.6).
0 15 16 31
Рис. 4.6. Формат заголовка датаграммы UDP
Поле «Длина датаграммы» включает суммарный размер 8-байтового за- головка и поля данных датаграммы. Поле «Контрольная сумма» вычисляется и проверяется таким же спосо- бом, как и в сегменте TCP. Контрольная сумма может не рассчитываться, тогда это поле содержит нули. Протокол UDP самостоятельно не может управлять потоком, следить за порядком следования дейтаграмм и переспрашивать искаженные или потерян- ные датаграммы (хотя обнаруживать искажения может). Таким образом, основные функции протокола UDP – мультиплексирова- ние и демультиплексирование (распределение по портам) потока дейтаграмм между приложениями. Кроме того, использование контрольной суммы позво- ляет контролировать достоверность данных.
Сетевой уровень
Основной протокол сетевого уровня – Internet protocol (IP) – межсетевой протокол, в связи с чем сети TCP/IP часто именуют IP-сетями. Протокол IP обеспечивает только маршрутизацию и доставку пакетов данных и полностью освобожден от задач обеспечения надежности. Функции транспортного и сетевого уровней четко разделены, что исключает их дублиро- вание. Протокол IP реализуется программным обеспечением оконечных устройств пользователей (в том числе граничных хостов) и маршрутизаторов и не зависит от характеристик, связывающих их (т. е. пользователей) WAN и LAN.
Важной особенностью протокола IP является его способность выполнять динамическую фрагментацию пакетов при передаче их между сетями с различ- ными максимально допустимыми значениями поля данных кадров (пакетов) MTU. Свойство фрагментации во многом способствовало тому, что протокол IP смог занять доминирующие позиции в сложных составных сетях.
Поле «Номер версии» (Version) указывает версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), постепенно совершается переход на версию 6 (IPv6). Длина заголовка является переменной величиной, для указания которой выделено поле «Длина заголовка» (IHL). Значение длины заголовка измеряется в 32-битовых словах. Минимальная (обычная) длина заголовка 20 байт (пять 32-битовых слов). При увеличении объема служебной информации эта длина может быть больше за счет использования дополнительных байт в поле «Оп- ции» (Options). Наибольший заголовок занимает 60 октетов. 0 D,N,R 31
Рис. 4.7. Формат заголовка пакета IP Поле «Приоритет» (Precedence) задает приоритетность пакета. Приори- тет может иметь значения от самого низкого – 0 (нормальный пакет) до самого высокого – 7 (пакет управляющей информации). Маршрутизаторы и компьюте- ры могут принимать во внимание приоритет пакета и обрабатывать более важ- ные пакеты в первую очередь. Поле «Критерий» задает критерий выбора маршрута. Выбор осуществля- ется между тремя альтернативами, каждой из которых соответствует свой
1-
Поля «Приоритет» и «Критерий» вместе с полем «Резерв» (из 2 бит) ча- сто объединяют в одно поле, называемое «Тип сервиса» (Type of Service) дли- ной 1 байт. Поле «Общая длина пакета» (Total Length of Packets) содержит длину всей датаграммы, включая заголовок и поле данных. Максимальная длина па- кета ограничена разрядностью поля и составляет 65 535 байт. В настоящее вре- мя этот предел достаточен, однако с появлением гигабитных сетей могут пона- добиться датаграммы большего размера. Поле «Идентификатор фрагмента» (Identification) позволяет хосту определить, какой дейтаграмме принадлежат принятые им фрагменты. Все фрагменты одного пакета содержат одно и то же значение этого поля. Поле «Флаги» (Flags) содержит признаки, связанные с фрагментацией. Установленный бит D (Do not Fragment) запрещает маршрутизатору фрагмен- тировать данный пакет, а установленный бит M (More Fragments) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Еще 1 бит поля зарезервирован. Поле «Смещение фрагмента» (Fragment Offset) указывает положение фрагмента в исходной дейтаграмме. Длина всех фрагментов, кроме длины по- следнего, должна быть кратна 8. Максимальное количество фрагментов в дей- таграмме равно 8192, что покрывает максимальную длину датаграммы 65 535 байт.
Поле «Протокол верхнего уровня» (Protocol) указывает, какому протоколу верхнего уровня (или своего же сетевого) принадлежит информация, разме- щенная в поле данных пакета (например, это могут быть сегменты протокола TCP, датаграммы UDP, пакеты ICMP или OSPF). Поле «Контрольная сумма» (Header Checksum) рассчитывается только по заголовку пакета. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP-заголовка. Она подсчитывается как дополнение к сумме всех 16-битовых слов заголовка. При вычислении контрольной суммы значение самого поля «Контрольная сум- ма» устанавливается в нуль. Если контрольная сумма не верна, то пакет будет отброшен, как только ошибка будет обнаружена.
Поля «IP-адрес отправителя» (Source IP Address) и «IP-адрес получате- ля» (Destination IP Address) задают адресную информацию, необходимую для маршрутизации пакетов (номера сети и хоста). Поле «Опции» (IP Options) является необязательным и используется обычно только при отладке сети. Оно состоит из нескольких подполей. В них можно указывать точный маршрут прохождения маршрутизаторов, регистри- ровать проходимые пакетом маршрутизаторы, помещать данные системы без- опасности, а также временные отметки. Поле «Выравнивание» (Padding) используется для дополнения поля «Оп- ции» (нулями) до значения, кратного 32 битам. Адресация в IP-сетях. В стеке TCP/IP используются три типа адресов: физический (MAC - адрес); сетевой (IP - адрес); символьный (DNS - имя).
Номер узла назначается администратором независимо от локального ад- реса узла. IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение (конечный узел может входить в несколько IP- сетевых связей). Сети IP могут также быть разделены на более мелкие единицы, называе- мые подсетями (subnets). Подсети обеспечивают дополнительную гибкость для администратора сети. Число битов, занимаемых для адреса подсети, является переменной величиной. Адреса IP записываются в формате десятичного числа с проставленными точками, например 192.228.17.57. Адресация IP обеспечивает 5 различных классов сети (табл. 4.2). Самые крайние левые биты обозначают класс сети. Наиболее распространены классы A, B и C. Классы D и E обычно не использу- ются конечными пользователями. Большие сети применяют адреса класса А, средние – класса В, малого размера – класса С. Таблица 4.2 Классы сети адресации IP
1) Сеть с номером 0.0.0.0 зарезервирована для использования в служеб- ных сообщениях, а сеть с номером 127.0.0.0 используется для петлевого соеди-
нения (пересылки пакетов самим себе), поэтому общее количество сетей класса А равно 126. 2) Маршрутизация пакета в публичной сети всегда производится на ос- новании классического IP-адреса номера сети, согласно табл. 4.2, поэтому адрес сети не может быть назначен ни одному узлу. 3) Адрес узла со всеми двоичными «1» предназначен для адресации всем узлам соответствующей сети (широковещательная рассылка), поэтому этот ад- рес не может быть назначен ни одному узлу. Совместно с пунктом 2 это озна- чает, что число узлов в любой сети уменьшается на 2. 4) В каждом классе имеется диапазон сетевых адресов для частного ис- пользования, которые в публичных сетях отсутствуют. Они используются для построения локальных либо корпоративных сетей. В классе А – это сеть 10.0.0.0, в классе В – диапазоны сетей от 172.16.0.0 до 172.31.0.0, в классе С – диапазон с
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-01-14; просмотров: 270; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.183.187 (0.017 с.) |