Архитектура и технологии построения сетей TCP/IP 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Архитектура и технологии построения сетей TCP/IP



Подходу к описанию сети как транспортного средства полностью соот- ветствует концепция сетей TCP/IP.

Причина, по которой TCP/IP столь важен сегодня, заключается в том, что он позволяет самостоятельным сетям подключаться к Internet или объединяться для создания корпоративных интрасетей. Уровневая модель TCP/IP отличается от модели OSI (табл. 4.1).

 

Таблица 4.1

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

Уровневая модель

OSI TCP/IP
Прикладной Прикладной
Уровень представления Не присутствует
Сеансовый Не присутствует
Транспортный Транспортный
Сетевой Межсетевой
Канальный

От хоста к сети

Физический

Различия моделей заключаются в следующем:

1) количество уровней разное;

2) модель OSI на сетевом уровне поддерживает возможности использова- ния связи с установлением соединения и без установления соединения, на транспортном уровне – только на основе установления соединения;

Модель TCP/IP – на сетевом уровне только без установления соединения, на транспортном – оба режима, предоставляя пользователю выбор.

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

 

Концептуальная модель сети ТСР/IP

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


 

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

Концептуальная модель взаимодействия двух прикладных процессов представлена на рис. 4.2.

 

Рис. 4.2. Концептуальная модель TCP/IP

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

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

В сети Internet, например, различают не только отдельные сети, но и бо- лее крупные объединения – автономные системы. Автономная система – это совокупность сетей под единым административным управлением, обеспечива-


 

ющим общую для всех входящих в автономную систему маршрутизаторов по- литику маршрутизации.

Сегодня Internet представляет собой объединение равноправных авто- номных систем с произвольной топологией связей.

Вся эта конструкция «склеивается» благодаря протоколу сетевого уровня IР (Internet Protocol – протокол сети Internet). Его работа заключается в транс- портировке дейтаграмм от отправителя к получателю независимо от того, находятся эти машины в одной и той же сети или нет.

 
Транспортный уровень берет сегмент из потока данных и разбивает его на датаграммы. Теоретически размер каждой датаграммы может достигать 64 Кбайт, однако на практике они обычно не более 1500 байт (укладываются в один кадр Ethernet). Каждая датаграмма пересылается по Internet, возможно, раз- биваясь при этом на более мелкие фрагменты, собираемые сетевым уровнем по- лучателя в исходную дейтаграмму. Затем эта датаграмма передается транспорт- ному уровню, вставляющему ее во входной поток получающего процесса. На пути следования дейтаграммы может оказаться несколько промежуточных сетей.

Протокол TCP отслеживает передаваемые блоки данных. У каждого хо- ста должен быть уникальный глобальный адрес (межсетевой). У каждого про- цесса хоста должен быть уникальный адрес в пределах данного хоста – порт. Совокупность номеров сети, узла и порта в узле образует гнездо. Такая адре- сация позволяет транспортному протоколу (ТСР) доставить данные нужному процессу.

Хост А передает сообщение протоколу ТСР с указанием переслать его хо- сту В (см. рис. 4.2).

Протокол TCP ориентирован на виртуальное соединение – некий логиче- ский (виртуальный) канал связи между двумя оконечными устройствами сети. Это соединение идентифицируется специальным числовым кодом, присваива- емым коммутаторами, участвующими в процессе установления соединения. Более детально на понятии «виртуальный канал» остановимся далее.

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

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

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

На маршрутизаторе J заголовок пакета удаляется, изучается заголовок IP. IP-модуль маршрутизатора направляет дейтаграмму по подсетям 2, 3 и марш-


 

 
рутизатору F хосту В. Для этого в маршрутизаторах к дейтаграмме добавляется заголовок доступа к сети. На хосте В происходит обратный процесс.

Блок данных на каждом протокольном уровне называют протокольным модулем данных (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) объединяет службы, предоставляющие телекоммуникационные услуги различным пользо- вательским приложениям. Протоколы прикладного уровня ориентированы на конкретные службы. Они определяют как процедуры по организации взаимо- действия конкретного типа между прикладными процессами, так и форму пред- ставления информации при таком взаимодействии.

 
Протоколы ТСР и IР являются «стержнем» Internet. С точки зрения поль- зователя Internet TCP/IP – набор прикладных программ, использующих сеть для выполнения полезных коммуникационных задач. Эти программы имеют свои собственные протоколы обмена информацией, например HTTP для WWW, FTP (передача файлов), SMTP (электронная почта), SSH (безопасное соединение с удаленной машиной), DNS (преобразование символьных имен в IP-адреса) и мн. др.

В массе своей эти протоколы работают поверх TCP или UDP. Перед тем как обменяться информацией, клиент и сервер должны сначала установить со- единение TCP/IP. Чтобы отличать протоколы, приложения используют для каждого из них уникальные номера. Общие протоколы, такие как FTP и HTTP, используют «хорошо известные» номера портов. Стандартным значением для порта HTTP является 80, хотя сервер и клиент могут работать и по другому но- меру. Наиболее известные протоколы Web и Internet используют следующие номера портов:

 

File Transfer Protocol (FTP) ………………... 21
TELNET Protocol …………………………... 23
Simple Mail Transfer Protocol (SMTP) …….. 25
Trivial File Transfer Protocol ……………… 69
Gopher Protocol ……………………………. 70
Finger Protocol ……………………………... 79
HTTP Protocol ……………………………... 80
Эти порты определены Агентством по выделению имен и уникальных

 
параметров протоколов (IANA). Все порты с номером менее 1024 называются привилегированными, и только их используют в качестве стандартных. Невоз- можно создать свой порт с номером меньше чем 1024.

 

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

Транспортный уровень обеспечивает обмен сообщениями между при- кладными процессами. Идентификация процесса получателя осуществляется по адресу, состоящему из двух частей: IP-адреса, идентифицирующего оконечное устройство, и номера порта, идентифицирующего прикладной процесс. В дан- ном случае «порт» – это не физический разъем или канальный вход/выход, а условный номер прикладного процесса или службы прикладного уровня.


 

На транспортном уровне стека TCP/IP поддерживаются два режима: с установлением соединения (при использовании протокола TCP) и без него (при применении протокола UDP).

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

Установление логического соединения позволяет нумеровать сегменты, подтверждать их прием квитанциями, в случае потери организовывать повтор- ные передачи, распознавать и уничтожать дубликаты, доставлять прикладному уровню сегменты в том порядке, в котором они были отправлены. Протокол 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-единица которой оказывается меньше него, то пограничный маршрутизатор фрагментирует такой сегмент на несколько частей. Сегменты могут и не содержать поля данных при передаче квитанций и управляющих сообщений.

 
Формат заголовка сегмента приведен на рис. 4.5. В заголовке сегмента 11 полей и 6 служебных бит.

Поля «номер порта отправителя» и «номер порта получателя» (по 16 бит каждое) идентифицируют службы прикладного уровня или прикладные про- цессы отправителя и получателя.

Поля «номер последнего переданного байта» и «номер первого ожидае- мого на приёме байта» (по 32 бит каждое) используются для управления пото- ком данных. Нумеруются не ПБД (сегменты), а байты в сегменте, причем цикл нумерации составляет 232 байт = 4 Гбайта, т.е. он вполне может применяться не для относительной нумерации (по кругу), а для абсолютной (например, для по- следовательной нумерации байт в передаваемых файлах).

 
0                                            15 16                                         31

Рис. 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 бит) используется для управления потоком данных в виртуальном соединении и сообщает, сколько байт может быть послано после получившего подтверждение байта. Нулевое значение дан- ного поля является командой приостановки передачи (что напоминает служеб- ный кадр RNR в протоколе HDLC). Командой продолжения передачи служит ненулевое значение поля «Ширина скользящего окна» при таком же значении поля «Номер первого ожидаемого на приеме байта», как у команды приоста- новки передачи (служебный кадр RR в протоколе HDLC).

Поле «Контрольная сумма» (16 бит) содержит проверочную последова- тельность, позволяющую обнаруживать ошибки в сегменте. Заполняется и про- веряется данное поле без использования циклического кодирования. Алгоритм вычисления просто складывает все 16-ричные слова в дополнительном до 1 ко- де, затем рассчитывает дополнение для всей суммы. Получатель считает кон- трольную сумму всего сегмента, включая поле «Контрольная сумма», результат должен быть равен нулю.

 
Поле «Указатель на срочные данные» содержит смещение в байтах от те- кущего порядкового номера байта до места расположения срочных данных. Поле проверяется в случае, когда флаг URG установлен в 1. Так в протоколе TCP/IP реализуются прерывающие сообщения прикладного уровня.

Использование скользящего окна протоколом TCP сочетается с процеду- рой выборочного повтора, аналогичной процедуре РОС-АП (см. разд. 2.3), под- держиваемой стандартом HDLC.

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

Модели реализации протокола TCP. Протокол ТСР функционирует нормально при выполнении ряда условий.


 

1. Вероятность ошибки доставки невелика, и потеря пакета вероятнее все- го происходит из-за переполнения буфера. Если потеря пакета из-за его иска- жения существенна, уместно поискать оптимальное значение MTU.

2. Время доставки достаточно стабильно. Для его оценки можно исполь- зовать простые линейные аппроксимации и модель виртуального канала. Смена порядка прихода пакетов маловероятна.

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

4.
 
Буферы сетевых устройств используют схему «первым вошел – первым вышел» (FIFO). Предполагается, что размер этих буферов соответствует произ- ведению RTT×B, где B – полоса пропускания; RTT – сумма времен транспор- тировки сегмента от отправителя к получателю и времени движения отклика от получателя к отправителю. Если это условие нарушено, пропускная способ- ность неизбежно понизится и будет определяться размером буфера, а не поло- сой пропускания канала.

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 (см. протоколы прикладного уровня, применяющие транспортные услуги UDP).


 

Как и сегмент TCP, датаграмма UDP состоит из заголовка и блока дан- ных. Длина информационного поля данных датаграммы, как и сегмента, может достигать 65 535 байт. А заголовок датаграммы намного проще, чем заголовок сегмента, и включает всего четыре 16-битных поля (рис. 4.6).

 

0                                                    15 16                                                 31

Номер порта отправителя Номер порта отправителя
Длина датаграммы Контрольная сумма

Рис. 4.6. Формат заголовка датаграммы UDP

 
Поля заголовка «Номер порта отправителя» и «Номер порта получате- ля» (по 16 бит каждое) так же, как аналогичные поля в заголовке сегмента, идентифицируют службы прикладного уровня или прикладные процессы от- правителя и получателя.

Поле «Длина датаграммы» включает суммарный размер 8-байтового за- головка и поля данных датаграммы.

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

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

Таким образом, основные функции протокола UDP – мультиплексирова- ние и демультиплексирование (распределение по портам) потока дейтаграмм между приложениями. Кроме того, использование контрольной суммы позво- ляет контролировать достоверность данных.

 

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

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

Основной протокол сетевого уровня – Internet protocol (IP) – межсетевой протокол, в связи с чем сети TCP/IP часто именуют IP-сетями.

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

Протокол IP реализуется программным обеспечением оконечных устройств пользователей (в том числе граничных хостов) и маршрутизаторов и не зависит от характеристик, связывающих их (т. е. пользователей) WAN и LAN.


 

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

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

Поле «Номер версии» (Version) указывает версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), постепенно совершается переход на версию 6 (IPv6).

Длина заголовка является переменной величиной, для указания которой выделено поле «Длина заголовка» (IHL). Значение длины заголовка измеряется в 32-битовых словах. Минимальная (обычная) длина заголовка 20 байт (пять 32-битовых слов). При увеличении объема служебной информации эта длина может быть больше за счет использования дополнительных байт в поле «Оп- ции» (Options). Наибольший заголовок занимает 60 октетов.

0                                                   D,N,R                                                                      31

 

Номер версии (4 бита) Длина заголовка (4 бита)

 

Приоритет (3 бита)

  Критерий (3 бита)   Резерв (2 бита)

 

Общая длина пакета (16 бит)

Идентификатор фрагмента (16 бит)

Флаги

(3 бита)

Смещение фрагмента (13 бит)

 

D

M

Время жизни

(8 бит)

Протокол верхнего

уровня (8 бит)

Контрольная сумма (16 бит)

IP-адрес отправителя (32 бита)

IP-адрес получателя (32 бита)

Опции

Выравнивание

                     

Рис. 4.7. Формат заголовка пакета IP

Поле «Приоритет» (Precedence) задает приоритетность пакета. Приори- тет может иметь значения от самого низкого – 0 (нормальный пакет) до самого высокого – 7 (пакет управляющей информации). Маршрутизаторы и компьюте- ры могут принимать во внимание приоритет пакета и обрабатывать более важ- ные пакеты в первую очередь.

Поле «Критерий» задает критерий выбора маршрута. Выбор осуществля- ется между тремя альтернативами, каждой из которых соответствует свой


 

1-
 
битный флаг: с малой задержкой – бит D (delay), с высокой достоверностью – бит Т (true) и с высокой пропускной способностью – бит R (rate).

Поля «Приоритет» и «Критерий» вместе с полем «Резерв» (из 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 байт.

 
Поле «Время жизни» (Time to Live) содержит предельный срок, в течение которого пакет может перемещаться по сети. Время жизни этого пакета измеря- ется в секундах и задается источником передачи. На маршрутизаторах и в дру- гих узлах сети по истечении каждой секунды из текущего времени жизни вычи- тается единица; она вычитается и в том случае, когда время задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше чем за 1 с, то время жизни можно считать равным максимальному чис- лу узлов, которые разрешено пройти такому пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен.

Поле «Протокол верхнего уровня» (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 (32 бита, IPv4) разделена на две части. Первая обозначает адрес сети, вторая – адрес узла (хоста). Такое деление поз- воляет передавать сообщения между сетями только на основании номера сети, а номер узла используется после доставки сообщения в нужную сеть.

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

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

Адреса IP записываются в формате десятичного числа с проставленными точками, например 192.228.17.57. Адресация IP обеспечивает 5 различных классов сети (табл. 4.2). Самые крайние левые биты обозначают класс сети. Наиболее распространены классы A, B и C. Классы D и E обычно не использу- ются конечными пользователями.

Большие сети применяют адреса класса А, средние – класса В, малого размера – класса С.

Таблица 4.2

Классы сети адресации IP

Класс Первые биты IP-адреса Наименьший номер сети Наибольший номер сети Максимальное число сетей Максимальное число узлов в каждой сети
A 0 0.0.0.0 127.0.0.0 27 – 2 224 – 2
B 10 128.0.0.0 191.255.0.0 214 – 2 216 – 2
C 110 192.0.0.0 223.255.255.0 221 – 2 28 – 2
D 1110 224.0.0.0 239.255.255.255
E 1111 240.0.0.0 247.255.255.255

 
В версии 4 (IPv4) существуют определенные соглашения об использова- нии адресов.

1) Сеть с номером 0.0.0.0 зарезервирована для использования в служеб- ных сообщениях, а сеть с номером 127.0.0.0 используется для петлевого соеди-


 

нения (пересылки пакетов самим себе), поэтому общее количество сетей класса А равно 126.

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

3) Адрес узла со всеми двоичными «1» предназначен для адресации всем узлам соответствующей сети (широковещательная рассылка), поэтому этот ад- рес не может быть назначен ни одному узлу. Совместно с пунктом 2 это озна- чает, что число узлов в любой сети уменьшается на 2.



Поделиться:


Последнее изменение этой страницы: 2021-01-14; просмотров: 238; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.66.178 (0.171 с.)