Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

i Задержка доставки данных (delay), определяемая как время от передачи блока информации источником до его приема получателем. Интерес представляют среднее и максимальное значения задержки.

i Уровень ошибок (error ratio) определяется либо как вероятность безошибочной передачи определенной порции данных (от бита до кадра), либо как среднестатистическое число ошибочных бит на общее число переданных. Например, вероятность 0,999 соответствует 1 ошибке на 1000 бит (очень плохой канал). В локальных сетях уровень ошибок порядка 1 на 10^-10^ бит.

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

1.7. Контроль достоверности передачи

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

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

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

Контроль паритета (parity check) использует контрольный бит, дополняющий число единичных бит контролируемого элемента до четного (even parity, контроль четности) или нечетного (odd parity, контроль нечетности) значения, в зависимости от принятого соглашения. Контроль паритета позволяет обнаруживать только ошибки нечетной кратности, искажение двух, четырех и т. д. бит контролируемой области останутся незамеченными. Контроль может быть «горизонтальным» или «вертикальным», что иллюстрирует рис. 1.11. При горизонтальном контроле бит паритета «р» вводится в каждый передаваемый символ, этот вид контроля широко используется в последовательных интерфейсах RS-232С и других. При вертикальном контроле для каждой группы символов (в данном случае — 8 байт) биты паритета подсчитываются для каждой позиции и собираются в отдельный контрольный символ (байт). Эта схема контроля применяется реже. Возможно также сочетание вертикального и горизонтального контроля, накладные расходы — 1 бит на каждый байт.

Байты

о

Биты

•i

2

3

^

5

6

7 ^П

р

1

0

о

0

о

о 1

0

0

1

2

0

о

0

о

' 1

0

-]-

0

1

0

3

о

о

0

о

^ i

0

1

0

0

4

0 1

о

01

0

i

1

1

1

5

-^ -^

^

1

^ 1

0

1

0

0 ^

1

6

i

0

^-^ 1 О

1

0

1

7 8 Контрольный

i^i! ijili 1 i~Ti^i 11114 —-- -{ —--f—~- ^---^-—-^IJJLiJLjJLiJLL

1 1 1

i --i-i

1^ 0 1 0 ^p^-^ 0 ^0

Рис. 1.11. Контроль паритета

Контрольные суммы и CRC-коды применяются для контроля целого кадра (или его нескольких нолей). Для них в кадре определяется специальное поле для контрольного кода, обычно 1, 2 или 4 байта. Контрольная сумма применяется для кадров длиной кратных байту (слову). CRC-контроль может выполняться над цепочками бит произвольной длины (не обязательно кратной байту).

Контрольная сумма (checksum) обычно вычисляется как дополнение суммы всех байт кадра до нуля (или FF — всех двоичных единиц). Суммирование выполняется по модулю, соответствующему разрядности поля контрольного кода. При этом приемник, просуммировав по тому же модулю все байты или слова кадра, включая контрольные коды, должен получить то же число (0 или FF). Контрольная сумма является самым простым способом контроля кадра, вероятность обнаружения ошибок с ее помощью достигает 99,6 %. С увеличением длины кадра при той же длине контрольного код^ вероятность обнаружения ошибок падает.

НЕ нашли? Не то? Что вы ищете?

Избыточный циклический контроль CRC (Cyclic Redundancy Check) использует более сложный алгоритм. Выбирается порождающий полином разрядности большей, чем поле контрольного кода. Для 16-битного CRC рекомендуется X^+X^+X^I (lOOOlOOOOOOlOOOOIb). Кадр (как длинное двоичное число) с об-нуленным полем CRC делится на полином, и остаток этого деления (по модулю

разрядности поля CRC) помещается в поле CRC передаваемых данных. Приемник делит принятый кадр (вместе с полем CRC) на тот же полином и сравнивает остаток от деления с некоторым эталоном (нулем или иным числом). Если они совпали, принимается решение о корректности кадра, 16-битный CRC позволяет обнаруживать одиночные, двукратные и все ошибки с нечетной кратностью, а также многие групповые ошибки (искажение группы соседних бит). Вероятность обнаружения ошибок достигает 99,9984 %. 16-разрядный CRC применяется во многих сетевых протоколах. Операция деления может выполняться аппаратно по мере последовательного приема бит с помощью регистров сдвига с обратной связью (функция «исключающее ИЛИ» используемых бит порождающего полинома и входных данных).

Развитием идеи CRC является ЕСС-контроль (Error Correction Code), позволяющий не только обнаруживать, но и исправлять некоторые ошибки. В сетях ЕСС практически не применяется, поскольку требует большей избыточности (он применяется в устройствах хранения, где в случае ошибки «переспросить» не у кого).

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

Управление потоком данных (data flow control) является средством согласования темпа передачи данных с возможностями приемника. Несмотря на то что битовые скорости приемников и передатчиков всегда должны совпадать (иначе невозможно корректное декодирование принятых данных), возможны ситуации, когда передатчик (один или несколько) передает информацию в темпе, неприемлемом для приемника. При этом входной буфер приемника (если таковой имеется) переполняется и часть передаваемой информации теряется. Средства управления потоком позволяют приемнику подать передатчику сигнал на приостановку или продолжение передачи. Эти средства требуют наличия обратного канала передачи (от приемника к передатчику). Сигнал управления потоком может передаваться по тому же каналу, что и данные (например, протокол XON/XOFF в последовательном интерфейсе, см. 10.1.6), а может использовать отдельные линии (протокол RTS/CTS интерфейса RS-232C, см. 10.1.6). Управление потоком может быть реализовано явным образом на нижних уровнях (как в том же RS-232C), а может выполняться и только верхними протокольными уровнями (как, например, в сети Frame Relay). В технологии Ethernet при полнодуплексном режиме контроль потока может быть реализован разными способами (см. п. 6.7), что приводит к некоторым проблемам совместимости и неоднозначности при сравнении оборудования одного и того же класса от разных производителей.

Для контроля получения информации приемником применяют квитирование (handshaking — рукопожатие) — посылку уведомления о получении кадра (пакета). На каждый принятый кадр приемник отвечает коротким кадром-подтверждением. В случае принятия корректного кадра посылается положительное подтверждение АСК (ACKnowledge), в случае ошибочного — отрицательное NACK (Negative ACKnowledge). При получении NACK передатчик сразу повторно посылает кадр. При отсутствии подтверждения в течение определенного времени тайм-аута (timeout) передатчик также делает повторную передачу, но на ожи-

дание теряется время. Схема приема подтверждений может быть разной. В простейшем случае, послав один кадр, передатчик ждет подтверждения приема и только после него посылает следующий кадр или повторяет тот же, если получил NACK или сработал тайм-аут. При этом в кадре подтверждения не требуется идентификации того кадра, в ответ на который он посылается. Такое подтверждение можно использовать и для управления потоком — посылка подтверждения является и сигналом готовности. Недостаток — темп посылки кадров ограничивается временем оборота по сети, в которое входит время на передачу и прохождение кадра по сети, время реакции приемника, время передачи и прохождения подтверждения. Чем «длиннее» (по времени прохождения) сеть, тем меньше будет реальная пропускная способность при одной и той же скорости в линии.

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

Метод «скользящего окна» является эффективным гибридом индивидуальных подтверждений и пакетной передачи. Здесь передатчик посылает серию нумерованных кадров, зная, что приход подтверждения может задерживаться относительно своего кадра на время оборота по сети. Это время может быть предварительно определено, и ширина «окна» определяется числом кадров, которые можно послать на выбранной скорости передачи за время оборота. Подтверждения нумеруются в соответствии с кадрами, эта нумерация может быть циклической с модулем, определяемым шириной окна. Если передатчик не получает подтверждения на кадр, выходящий из окна наблюдения, он считает его потерянным и повторяет его передачу. В случае получения NACK опять-таки повторная передача делается только для этого кадра. На случай повтора передатчик должен держать в своем буфере все кадры окна, замещая выходящие (подтвержденные) новыми. Метод позволяет полностью использовать про-'пускную способность канала независимо от дальности передачи.

(IP Datagram Header) и поле данных (IP Datagram Data). Формат заголовка приведен на рис. 2.1, где он показан в виде 32-битных слов. Конечные узлы — отправители и получатели информации, называются хостами (host), промежуточные устройства, оперирующие IP-пакетами (анализирующие и модифицирующие информацию IP-заголовков), называют и^чюзами (gateway).

Слово\Бит 0 1

3

4 7

8 15

16 19 31

Version

1 IHL

Type of Service

Total Length

2 !

Identification

Flags Fragment Offset

3 \

Time To Live

{ Protocol

Header Checksum

\ 4 \

Source IP Address

Destination IP Address

^

Options

CeTiiBie npOToMWiMi

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

2.1. Протокольный стек TCP/IP

Комплект протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) разрабатывался для сети Интернет (Internet Protocol Suite), в настоящее время он широко распространен как в локальных, так и в глобальных сетях. Комплект протоколов Интернета состоит из набора общедоступных (по сети) документов RFC (Request For Comments — предложения к обсуждению), созданных коллективными усилиями мирового сетевого сообщества.

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

Информация в TCP/IP передается пакетами со стандартизованной структурой, называемыми IP-дейтаграммами (IP Datagram), имеющими поле заголовка

Рис. 2.1. Формат заголовка IP-дейтаграммы

Поля имеют следующее назначение:

I Version, 4 бита — номер версии протокола, определяющий формат заголовка. В настоящее время широко используется версия 4, и дальнейшее описание относится к ней.

I IHL (Internet Header Length), 4 бита — длина заголовка в 32-битных словах (не менее 5).

I Type of Service, 8 бит — абстрактное описание качества сервиса:

а биты 0-2 — Precedence (старшинство, преимущество) — параметр, определяющий приоритет трафика (большему значению соответствует больший приоритет);

d бит 3 — Delay (задержка): 0 — нормальная, 1 — малая;

а бит 4 — Throughput (пропускная способность): 0 — нормальная, 1 — высокая;

d бит 5 — Reliability (надежность): 0 — нормальная, 1 — высокая; п биты 6-7 — резерв.

I Total Length, 16 бит — общая длина дейтаграммы (заголовок и данные) в октетах (байтах). Допускается длина добайт, но все хосты безусловно допускают прием пакетов длиной только до 576 байт. Пакеты большей длины рекомендуется посылать только по предварительной договоренности с принимающим хостом.

I Identification, 16 бит — идентификатор, назначаемый посылающим узлом для сборки фрагментов дейтаграмм. , ^

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17