Протокол кстп что это такое

Обновлено: 28.06.2024

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

«Мои три главные цели были бы:

сократить человеческую популяцию до

100 миллионов во всем мире, разрушить

промышленную инфраструктуру и

увидеть пустыню с её полным набором

Дэйв Форман (Dave Foreman),

Среди круглых дат событий мировой истории, зримо влияющих на нашу сегодняшнюю жизнь, далеко не последнее место занимает 25-летие с момента вступления в силу Конвенции о биологическом разнообразии (КБР). Этот документ был подписан 5 июня 1992 года на одном из крупнейших в истории человечества международных форумов – Конференции ООН по окружающей среде и устойчивому развитию в Рио-де-Жанейро. А ратифицировали его ровно четверть века назад – 29 декабря 1993 года.

Вид in-situ означает сохранение экосистем и естественных мест обитания, а также поддержание и восстановление жизнеспособных популяций видов в их естественной среде, а применительно к одомашненным или культивируемым видам — в той среде, в которой они приобрели свои отличительные признаки.

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

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

К настоящему времени документ ратифицирован 168 государствами – так, Россия это сделала в 1995 году. Примечательно, что на сегодняшний день лишь одна значимая страна мира не ратифицировала документ – Соединённые Штаты Америки. Президент США Билл Клинтон в 90-е годы проявил полное равнодушие к конвенции: он тогда лицемерно заявил, что, мол, у Америки есть большое количество разных законов на уровне федерации и штатов, которые демонстрируют её приверженность идеалам сохранения биоразнообразия на планете.

КБР: амбициозные цели и задачи

  1. Ведение борьбы с основными причинами утраты биоразнообразия путем включения тематики биоразнообразия в деятельность правительств и общества;
  2. Сокращение прямых нагрузок на биоразнообразие и стимулирование устойчивого использования;
  3. Улучшение состояния биоразнообразия путем охраны экосистем, видов и генетического разнообразия;
  4. Увеличение для всех людей объёма выгод, обеспечиваемых биоразнообразием и экосистемными услугами;
  5. Повышение эффективности этих работ за счет общественного планирования, управления знаниями и создания потенциала.

На бумаге всё выглядит очень красиво и впечатляюще. Но никаких жёстких обязательств юридического характера Стратегический план на страны-участницы КБР не возлагает. Гораздо более важными являются следующие два документа, которые базируются на КБР и являются классическими международно-правовыми актами:

Картахенский протокол по биобезопасности; был подписан в январе 2000 года и вступил в силу в 2003 году;

Нагойский протокол регулирования доступа к генетическим ресурсам и совместного использования на справедливой и равной основе выгод от их применения. Был подписан в октябре 2010 года и вступил в силу в 2014 году.

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

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

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

Другая часть экспертов, однако, полагала, что биотехнологические эксперименты с ГМО лишь ведут к порче биологического и генетического фонда человечества. А вскоре и вовсе выяснилось, что ГМО негативно влияют на здоровье человека, включая его репродуктивные способности. Искусственное стимулирование биоразнообразия с помощью генной инженерии может привести в конечном счете к исчезновению такого вида, как homo sapiens.

Уже к концу 1990-х годов стало понятно, что индустрию ГМО следует если не запретить, то, по крайней мере, поставить под национальный и международный контроль. Так появился Картахенский протокол по биобезопасности. На церемонии подписания протокола в 2000 году было заявлено, что его главная цель – создать условия для безопасной транспортировки живых ГМО через государственные границы и обеспечить безопасное применение ГМО в производстве. К сегодняшнему дню уже более 150 государств мира являются участниками Картахенского протокола.

Некоторые участвуют в нём лишь формально, другие действительно пытаются обезопасить себя от стихийного замещения естественного биоразнообразия противоестественным. Некоторые принципиально запрещают ГМО, другие требуют серьёзных лабораторных исследований и сертификации. По крайней мере, устанавливается контроль над ввозом культур и продуктов, основанных на ГМО. ГМ-продукция официально запрещена в Австрии, Венгрии, Греции, Польше, Болгарии, Люксембурге, Италии, Швейцарии, Японии, Новой Зеландии, Венесуэле, Франции, Германии, Норвегии, Ирландии.

ГМО и ТНК

Надеюсь, читателя не удивит, что среди участников протокола нет США (ибо они не ратифицировали КБР). Было бы странно, если бы США стали бы участником протокола, ограничивающего права их транснациональных корпораций, которые являются главными продавцами и бенефициарами на мировом рынке ГМО.

ГМО и Россия

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

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

В России для реализации населению разрешены 22 линии трансгенных сельскохозяйственных культур. Это соя, кукуруза и рис компаний Monsanto (теперь Bayer), Syngenta, Bayer CropScience, BASF (находится в процессе покупки части активов Bayer) и Pioneer Hi-Bred. Сырье из них используется в мясных продуктах, хлебе, консервах, кондитерской промышленности. Кроме того, как выяснилось, не соблюдается мораторий на импорт семян. Виктор Драгавцев, заслуженный деятель науки РФ, доктор биологических наук, профессор, академик РАСХН этим летом сообщил:

С введением моратория мало что изменилось. Мы сейчас по-прежнему закупаем зарубежные семена, например, сахарной свеклы – 98% от потребностей страны, – отдавая каждый год германским и голландским компаниям по 16 млрд рублей. Мы не закупаем только семена озимой пшеницы, а все остальные приобретаем в размере от 40 до 80%. Однако если мы вдруг сейчас начнем выращивать ГМ-культуры, мы вообще потеряем свой семенной фонд.

Нагойский протокол: homo sapiens как нежелательный вид живой природы

На сегодняшний день 3,6% мирового океана и 14,7% суши носят статус природоохранных зон. По протоколу планируется охранять 10% мирового океана и 17% суши. Но, согласно последним результатам ученых из США и Китая, эти цифры должны быть гораздо больше. К 2030 году заповедной зоной должна стать треть планеты (включая акваторию), а к 2050 – половина. На следующей Конференции сторон Конвенции о биологическом разнообразии, которая состоится в 2020 году в Пекине, будет установлена конкретная цель на ближайшие 10 лет – сделать 30% планеты природоохранной зоной.

Post Scriptum

4.4.5 Протокол XTP

При передаче больших массивов информации последовательные пакеты нумеруются. В случае потери принимающая сторона посылает отправителю список не доставленных пакетов (TCP повторяет пересылку всех пакетов, начиная с потерянного). Именно алгоритм селективной ретрансмиссии и позволяет повысить эффективность использования канала. Длина пакетов XTP кратна 64 бит. Совокупность информации, описывающей состояние XTP, называется контекстом. Каждый контекст управляет как входящим, так и исходящим потоками данных. Два активных контекста и поток данных образуют ассоциацию. В исходном состоянии контекст оконечной системы пассивен и находится в состоянии ожидания. Первый передаваемый пакет содержит полную адресную информацию. После получения первого пакета контекст становится активным. С этого момента ассоциация сформирована и обмен может происходить в обоих направлениях. Каждый последующий пакет несет в себе ключевой код, определяющий его принадлежность к данному контексту. При завершении передачи устанавливаются соответствующие биты опций, связь разрывается, а контексты возвращаются в пассивное состояние. Все виды XTP-пакетов имеют один и тот же формат заголовков. Управление контекстом осуществляется с помощью флагов, содержащихся в заголовке. Всего предусмотрено 15 флагов.

На рис. 4.4.5.1 показана зависимость пропускной способности канала для сети ATM при использовании транспортных протоколов TCP и XTP, в обоих случая использовался в качестве базового протокол IP. Измерения производились для приложений типа FTP. Из рисунка видно, что даже 1% потерянных или поврежденных пакетов понижает пропускную способность на 30% при работе с протоколом TCP. XTP требует только три пакета, чтобы сформировать виртуальный канал, в то время как XTP требует для тех же целей семь пакетов. Благодаря своей простоте XTP может легко подменить любой транспортный протокол в любом существующем телекоммуникационном приложении. Протокол предоставляет некоторые услуги недоступные в других протоколах, что оказывается особенно привлекательным для приложений мультимедиа.

При 5% потерях пакетов XTP обеспечивает в 6 раз большую пропускную способность, чем TCP. В таблице 4.4.5.1 приведены сравнительные результаты измерения пропускной способности канала ATM (155 Мбит/с) при использовании протоколов TCP, UDP и XTP (использовались пакеты длиной 8190 байт).

Таблица 4.4.5.1. Сравнительные характеристики протоколов TCP, UDPи XTP

Название протокола Пропускная способность в Мбит/с
TCP 89-93
UDP 93-94
XTP 112-115

Из таблицы видно, что в нормальных условиях протокол XTP гарантирует пропускную способность на 25% выше, чем TCP или UDP.

Все поля в XTP-пакетах передаются так, что наиболее значимый байт передается первым (порядок байт - "big-endian"). Формат заголовка XTP-пакета показан на рис. 4.4.5.2. Поле ключ определяет принадлежность пакета к тому или иному контексту, поле команда (CMD) задает процедуру обработки пакета. Поле длина (DLEN) определяет объем данных в пакете, а поле номер по порядку (SEQ) представляет собой порядковый номер пакета в последовательности. Поля контрольная сумма и синхронизация используются для проверки корректности доставки. Старший бит поля ключ (RTN - возврат, рис. 4.4.5.3) зарезервирован в качестве флага, указывающего на контекст передающей (=0) или принимающей стороны (принимающая сторона, посылая пакеты, ставит RTN=1). Код поля ключ должен быть уникальным. Для обеспечения этого остальная часть поля делится на два субполя: индекс и инстанция (распределение бит между ними зависит от реализации и реальных потребностей). Индекс служит для выбора контекста, а инстанция подтверждает корректность кода индекс. Так при получении пакета сначала по индексу определяется контекст, а затем производится сравнение кодов инстанции в пакете и в таблице контекстов.

Рис. 4.4.5.2 Формат кадра протокола XTP

Рис. 4.4.5.3 Структура поля ключ

32-разрядное поле команды содержит в себе субполе опции. Названия различных бит этого поля показаны на рис. 4.4.5.4.

Рис. 4.4.5.4. Формат поля команда

XTP-передатчик контролирует все биты поля опции для каждого пакета. Некоторые дополнительные данные о битах субполя опции можно найти в таблице 4.4.5.2.

Таблица 4.4.5.2. Значения битов субполя опции

"По-пакетно" означает, что бит может изменяться от пакета к пакету. "Раз на ассоциацию" означает, что все контексты ассоциации должны иметь этот бит идентичным. "Один раз" означает, что бит может быть установлен один раз за время жизни контекста

Таблица 4.4.5.3. Коды типов пакетов XTP (Pformat)

Формат пакета Код типа Описание
data 0 Информационный пакет пользователя
cntl 1 Пакет управления состоянием
first 2 Исходный пакет ассоциации (содержит адресный сегмент)
ecntl 3 Пакет управления (ошибка)
tcntl 5 Пакет управления трафиком
join 6 Мультикастинг-пакет включения в группу
diag 8 Диагностический пакет

Младший байт поля команда содержит субполе типа пакета (ptype). Биты 0-4 этого субполя содержат код формата пакета (Pformat, см. таблицу 4.4.5.3). Биты 5-7 определяют версию протокола (ver). Для XTP 4.0 код версии равен 001.

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

Поле Check содержит контрольную сумму. Если бит nochek=1, то в поле записана контрольная сумма только заголовка, в противном случае - всего пакета.

Поле приоритет (sort) предназначено для задания приоритета пересылаемой информации. Это поле интерпретируется лишь в случае, если бит sort=1. При sort=0 поле приоритет должно быть обнулено. Контексты с приоритетным трафиком посылают пакеты с sort=1 и с определенным кодом в поле приоритет. Бесприоритетные контексты шлют пакеты с sort=0 и нулевым полем приоритета. На приемной стороне информация доставляется в соответствии с кодом приоритета. Поле приоритет характеризуется беззнаковым 16-разрядным числом. Код приоритет, равный нулю, указывает на самый низкий приоритет, чем больше этот код, тем выше приоритет. XTP обслуживает активные контексты в соответствии с присвоенными им приоритетами. Высокоприоритетная информация посылается раньше низкоприоритетной. Аналогичный порядок обслуживания работает и на принимающей стороне.

32-битовое поле синхронизация (Sync) служит для синхронизации диалога. Каждый контекст хранит код последнего посланного значения Sync в переменной Saved_sync. Когда пакет послан с Sreq=1, значение переменной Saved_sync увеличивается на единицу и этот код заносится в поле Sync отправляемого пакета. Получатель запоминает последний полученный код Sync в контекстной переменной Rcvd_sync. Значение этой переменной записывается в поле эхо каждого посылаемого управляющего пакета. Когда управляющий пакет получен, код поля sync сравнивается со значением Rcvd_sync. Если sync і Rcvd_sync, то управляющий пакет обрабатывается нормально. В противном случае управляющий пакет содержит информацию, которая старее полученной с предыдущими пакетами, и обрабатываться не должен.

Поле номер по прядку (SEQ) характеризуется 64-разрядным числом без знака и представляет собой порядковый номер байта в передаваемом потоке. Для первого пакета (first) поле SEQ характеризует объем буферов для потока откликов, а для пакетов Join это поле содержит дентификатор получателя (ключ контекста). Join-пакет отклик на запрос содержит в поле SEQ порядковый номер байта для текущей ассоциации. Диапазон значений поля номер по порядку для информационных пакетов начинается с SEQ и простирается вплоть до SEQ+ DLEN - 1. Для DIAG пакетов поле SEQ содержит код SEQ входного пакета, который вызвал ошибку. Если посылка пакета DIAG вызвана не входным пакетом, код SEQ должен быть равен нулю.

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

Управляющие сегменты несут в себе информацию о состоянии контекста, его приславшего. XTP пакеты, содержащие управляющие сегменты называются контрольными пакетами. Управляющие сегменты содержат пакеты типа Cntl, Ecntl и Tcntl. Управляющий сегмент Cntl-пакета несет в себе информацию об управлении обменом. Ecntl-пакеты включают в себя сегменты управления ошибками, а Tcntl-пакеты - сегменты управления трафиком. Формат управляющего сегмента показан на рис. 4.4.5.5.

Рис. 4.4.5.5 Формат общего управляющего сегмента пакета XTP

Три поля общего управляющего сегмента представляют статусную информацию и содержатся во всех трех типах контрольных пакетов. Первые два поля RSEQ и alloc являются параметрами управления обменом. Поле Echo используется для идентификации контрольных пакетов, которые являются откликом на пакеты с битом SREQ=1. Поле RSEQ содержит в себе номер очередного байта, подлежащего пересылке, и определяет начало окна, управляющего обменом. Поле Alloc интерпретируется, когда разрешено управление обменом. Код поля Alloc определяет объем данных, который отправитель может послать (а получатель принять). Если бит RES=1, то поле Alloc задает размер буфера, зарезервированного для данной ассоциации. Поле Echo используется для установления соответствия между запросом статуса и контрольными пакетами. Код поля Echo равен наибольшему значению sync для полученных пакетов. Это значение хранится в контекстной переменной rcvd_sync. Когда формируется контрольный пакет, значение rcvd_sync заносится в поле Echo этого пакета.

Формат сегмента управления ошибками показан на рис. 4.4.5.6. Этот сегмент включает в себя все поля общего управляющего сегмента, дополнительно использовано только два поля Nspan и Spans, которые сообщают о том, какие пакеты потеряны.

Рис. 4.4.5.6 Формат сегмента управления ошибками

Сегмент управления ошибками используется в пакетах Ecntl. Поле Nspan определяет число Spans в Ecntl-пакете. Так как пакет Ecntl посылается только в случае потери информации, поле Nspan несет в себе код не меньше 1. Поле Spans содержит в себе Nspan пар чисел, которые характеризуют интервалы номеров байт, переданных корректно. Речь здесь идет о данных, имеющих номера больше того, который указан в поле RSEQ. На основании этих данных можно вычислить, какая именно информация потеряна.

Формат сегмента управления трафиком показан на рис. 4.4.5.7. Помимо полей общего управляющего сегмента здесь присутствуют поля RSVD и XKEY, а также спецификация трафика. Поле RSVD является резервным и должно содержать нуль. Поле XKEY является обязательной принадлежностью всех Tcntl-пакетов, величина этого поля должна равняться значению ключа для контекста, посылающего пакет (бит RTN=1). Спецификация трафика используется в пакетах типа first и Tcnnl. Пакет first предлагает параметры режима обмена, а Tcntl несет в себе отклик на это предложение.

Рис. 4.4.5.7 Формат сегмента управления трафиком

Поле tlen определяет длину спецификации трафика, включая 4-байтовый дескриптор (tlen і ). Поле service используется для задания типа транспортного сервиса на фазе установления режима обмена. Коды доступных видов сервиса представлены в таблице 4.4.5.4. Эта информация передается в пакете типа first.

Таблица 4.4.5.4. Коды поля тип сервиса (service)

Код типа сервиса Описание
0x00 Не специфицировано
0x01 Традиционная передача дейтограмм без подтверждения
0x02 Передача дейтограмм с подтверждением
0x03 Реализация транзакций
0x04 Традиционная передача потока данных с гарантированной доставкой
0x05 Передача потока данных в мультикастинг-режиме без подтверждения
0x06 Мультикастинг режим передачи потока данных с гарантированной доставкой

Поле tformat определяет формат поля traffic. Код tformat=0 используется тогда, когда не нужно ни какой спецификации трафика, в 4-байтовое поле traffic в этом случае записываются нули. В противном случае используется код tformat=0x01. Формат поля traffic для этого арианта показан на рис. 4.4.5.8.

Рис. 4.4.5.8 Формат поля traffic

Поле maxdata несет в себе код максимального размера информационного сегмента, который отправитель может послать за время жизни ассоциации. Поля inrate и inburst представляют собой параметры, определяющие входной поток данных. Поля outrate и outburst являются параметрами, задающими выходной поток данных.

Информационный сегмент включает в себя пользовательскую и другую протокольную и диагностическую информацию. XTP-пакеты, содержащие информационный сегмент, называются информационными пакетами. К их числу относятся пакеты типа data, first, join и diag. Информационные пакеты могут включать в себя сегмент данных, адресный сегмент, спецификатор трафика и диагностический сегмент. Формат полей адресного сегмента показан на рис. 4.4.5.9.

Рис. 4.4.5.9 Формат полей адресного сегмента

Адресный сегмент используется в пакетах типа first и join. Протокол XTP использует параметрическую схему адресации, возможны несколько форматов адресов отправителя и места назначения. Поле Alen определяет полную длину адресного сегмента. Поле Adomain представляет собой адресный демультиплексор, допуская работу с несколькими адресными доменами. Поле Adomain используется в частности для того, чтобы обеспечить совместимость с протоколами UDP и TCP (для TCP Adomain=6, для UDP 17, а для XTP 36). Поле Aformat идентифицирует адресный синтаксис в соответствии с таблицей 4.4.5.5.

Таблица 4.4.5.5. Значения кодов поля Aformat

Код поля aformat Синтаксис адреса
0x00 Нулевой адрес
0x01 ip-адрес
0x02 ISO адрес протокольного сетевого уровня для передачи без установления связи
0x03 Адрес сети Ксерокс
0x04 IPX-адрес
0x05 Локальный адрес
0x06 IP-адрес версии 6

Поле адрес несет в себе адреса отправителя и получателя пакетов, форматы которых заданы полем Aformat.

Формат полей сегмента данных показан на рис. 4.4.5.10. Эти сегменты предназначены для применения на прикладных пользовательских уровнях и программами поддержки протокола XTP не интерпретируются. Сегмент включается в пакеты типа first и data.

Рис. 4.4.5.10 Формат полей сегмента данных

Размер поля Data имеет произвольное значение, первые 8 байт (поле Btag) представляют собой специальную метку (если бит опций заголовка btag=1). При Btag=0 метка отсутствует. Интерпретация поля Btag осуществляется исключительно прикладной программой и для XTP его значение безразлично.

Формат полей диагностического сегмента показан на рис. 4.4.5.11. Этот сегмент используется пакетами типа DIAG для информирования протокольной или прикладной программы о случаях ошибок. Поле Code определяет тип и категорию ошибки, вызвавшей отправку пакета типа DIAG. Поле val позволяет уточнить причину ошибки. Поле message является опционным и может иметь произвольную длину. Обычно это поле содержит текстовую интерпретацию полей Code и VAL.

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


Вторая часть этой статьи, где рассматривается практическое применение изложенных здесь основ: Заметки о Cisco Catalyst: настройка VLAN, сброс пароля, перепрошивка операционной системы IOS

Понятие о стеке протоколов

Задача — передать информацию от пункта А в пункт В. Её можно передавать непрерывно. Но задача усложняется, если надо передавать информацию между пунктами A B и A C по одному и тому же физическому каналу. Если информация будет передаваться непрерывно, то когда С захочет передать информацию в А — ему придётся дождаться, пока В закончит передачу и освободит канал связи. Такой механизм передачи информации очень неудобен и непрактичен. И для решения этой проблемы было решено разделять информацию на порции.

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

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

Как правило, извлечённые данные в свою очередь сформированы в соответствии с протоколом IP и имеют другой вид идентификационной информации — ip адрес получателя (число размером в 4 байта), ip адрес отправителя и данные. А так же много другой необходимой служебной информации. Данные, сформированные в соответствии с IP протоколом, называются пакетами.

Вложность протоколов (в данном случае TCP поверх IP поверх Ethernet) называется стеком протоколов.

ARP: протокол определения адреса


Сейчас нам не надо знать значения всех полей на приведённой картинке. Остановимся лишь на основных.

В поля записываются ip адрес источника и ip адрес назначения, а так же mac адрес источника.

Построение сетей

Задача построения сетей

На практике, как правило, требуется построить сети, число компьютеров в которой будет не менее ста. И кроме функций файлообмена, наша сеть должна быть безопасной и простой в управлении. Таким образом, при построении сети, можно выделить три требования:

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

Виртуальные локальные сети

Фактически, создание двух VLAN-ов на одном коммутаторе эквивалентно покупке двух коммутаторов, т.е. создание двух VLAN-ов — это всё равно, что один коммутатор разделить на два. Таким образом происходит разбиение сети из ста компьютеров на более маленькие сети, из 5-20 компьютеров — как правило именно такое количество соответствует физическому местонахождению компьютеров по надобности файлообмена.

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

VLAN-ы, теория

Как было сказано в пункте ARP: протокол определения адреса каждый компьютер соединён с сетью одним физическим каналом. Т.е. к коммутатору на 24 порта можно присоединить 24 компьютера. Витая пара физически пронизывает все помещения предприятия — все 24 провода от этого коммутатора тянутся в разные кабинеты. Пусть, к примеру, 17 проводов идут и подсоединяются к 17-ти компьютерам в аудитории, 4 провода идут в кабинет спецотдела и оставшиеся 3 провода идут в только что отремонтированный, новый кабинет бухгалтерии. И бухгалтера Лиду, за особые заслуги, перевели в этот самый кабинет.

Как сказано выше, VLAN можно представлять в виде списка принадлежащих сети портов. К примеру, на нашем коммутаторе было три VLAN-а, т.е. три списка, хранящиеся во flash-памяти коммутатора. В одном списке были записаны цифры 1, 2, 3… 17, в другом 18, 19, 20, 21 и в третьем 22, 23 и 24. Лидин компьютер раньше был присоединён к 20-ому порту. И вот она перешла в другой кабинет. Перетащили её старый компьютер в новый кабинет, или она села за новый компьютер — без разницы. Главное, что её компьютер присоединили витой парой, другой конец которой вставлен в порт 23 нашего коммутатора. И для того, что бы она со своего нового места могла по прежнему пересылать файлы своим коллегам, администратор должен удалить из второго списка число 20 и добавить число 23. Замечу, что один порт может принадлежать только одному VLAN-у, но мы нарушим это правило в конце этого пункта.

Как вы, наверное, заметили, изначально (в пункте Построение сетей) я говорил, что компьютеров в нашей сети будет не менее 100. Но к коммутатору можно присоединить лишь 24 компьютера. Конечно, есть коммутаторы с большим количеством портов. Но компьютеров в корпоративной сети/сети предприятия всё равно больше. И для соединения бесконечно большого числа компьютеров в сеть, соединяют между собой коммутаторы по так называемому транк-порту (trunk). При настройки коммутатора, любой из 24-портов можно определить как транк-порт. И транк-портов на коммутаторе может быть любое количество (но разумно делать не более двух). Если один из портов определён как trunk, то коммутатор формирует всю пришедшую на него информацию в особые пакеты, по протоколу ISL или 802.1Q, и отправляет эти пакеты на транк-порт.

Всю пришедшую информацию — имеется в виду, всю информацию, что пришла на него с остальных портов. А протокол 802.1Q вставляется в стек протоколов между Ethernet и тем протоколом, по которому были сформированные данные, что несёт этот кадр.

В данном примере, как вы, наверное, заметили, администратор сидит в одном кабинете вместе с Лидой, т.к. витая пора от портов 22, 23 и 24 ведёт в один и тот же кабинет. 24-ый порт настроен как транк-порт. А сам коммутатор стоит в подсобном помещении, рядом со старым кабинетом бухгалтеров и с аудиторией, в которой 17 компьютеров.

Витая пара, которая идёт от 24-ого порта в кабинет к администратору, подключается к ещё одному коммутатору, который в свою очередь, подключён к роутеру, о котором будет рассказано в следующих главах. Другие коммутаторы, которые соединяют другие 75 компьютеров и стоят в других подсобных помещениях предприятия — все они имеют, как правило, один транк-порт, соединённый витой парой или по оптоволокну с главным коммутатором, что стоит в кабинете с администратором.

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

Как говорилось в середине этого пункта, порт может находиться лишь в одном VLAN-е. И это действительно так, однако, лишь для коммутаторов серии Cisco Catalyst 1900 и старше и у некоторых младших моделей, таких как Cisco Catalyst 2950. У остальных коммутаторов, в частности Cisco Catalyst 2900XL это правило можно нарушить. При настройке портов в таких коммутаторах, каждый пор может иметь пять режимов работы: Static Access, Multi-VLAN, Dynamic Access, ISL Trunk и 802.1Q Trunk. Второй режим работы именно то, что нам нужно для выше поставленной задачи — дать доступ к серверу сразу с трёх сетей, т.е. сделать сервер принадлежащим к трём сетям одновременно. Так же это называется пересечением или таггированием VLAN-ов. В таком случае схема подключения может быть такой:


Продолжение следует

Вторая часть этой статьи, где рассматривается практическое применение изложенных здесь основ: Заметки о Cisco Catalyst: настройка VLAN, сброс пароля, перепрошивка операционной системы IOS

Об этой статье


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

TCP/IP

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

Что такое TCP/IP

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

Что такое TCP/IP

Стек протоколов TCP/IP был создан в 1972 году на базе NCP (Network Control Protocol), в январе 1983 года он стал официальным стандартом для всего интернета. Техническая спецификация уровней взаимодействия описана в документе RFC 1122.

В составе стека есть и другие известные протоколы передачи данных – UDP, FTP, ICMP, IGMP, SMTP. Они представляют собой частные случаи применения технологии: например, у SMTP единственное предназначение заключается в отправке электронных писем.

Уровни модели TCP/IP

Протокол TCP/IP основан на OSI и так же, как предшественник, имеет несколько уровней, которые и составляют его архитектуру. Всего выделяют 4 уровня – канальный (интерфейсный), межсетевой, транспортный и прикладной.

Уровни модели TCP/IP

Канальный (сетевой интерфейс)

Аппаратный уровень обеспечивает взаимодействие сетевого оборудования Ethernet и Wi-Fi. Он соответствует физическому из предыдущего стандарта OSI. Здесь задача состоит в кодировании информации, ее делению на пакеты и отправке по нужному каналу. Также измеряются параметры сигнала вроде задержки ответа и расстояния между хостами.

Межсетевой (Internet Layer)

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

Транспортный уровень (Transport Layer)

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

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

Прикладной уровень (Application Layer)

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

Порты и сокеты – что это и зачем они нужны

Комбинация IP-адреса и порта называется сокетом и используется при идентификации компьютера. Если первый критерий уникален для каждого хоста, второй обычно фиксирован для определенного типа приложений. Так, получение электронной почты проходит через 110 порт, передача данных по протоколу FTP – по 21, открытие сайтов – по 80.

Преобразование IP-адресов в символьные адреса

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

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

Протокол TCp

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

p, blockquote 3,0,0,0,0 -->

Протокол TCP в модели OSI

p, blockquote 4,0,0,0,0 -->

p, blockquote 5,0,0,0,0 -->

Поток байт

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

p, blockquote 6,0,0,0,0 -->

поток байт в протоколе TCP

p, blockquote 7,0,0,0,0 -->

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

p, blockquote 8,0,0,0,0 -->

Гарантия доставки: подтверждение получения

p, blockquote 9,0,0,0,0 -->

Гарантия доставки в TCP

p, blockquote 10,0,0,0,0 -->

Гарантия доставки: повторная отправка

p, blockquote 11,0,0,0,0 -->

Гарантия доставки, повторное отправление

p, blockquote 12,0,0,0,0 -->

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

p, blockquote 13,0,0,0,0 -->

Повторная доставка прошла успешно

p, blockquote 14,0,1,0,0 -->

Протокол TCP: скользящее окно

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

p, blockquote 15,0,0,0,0 -->

  • Остановка и ожидание (Wi-Fi, канальный уровень)
  • Скользящее окно (TCP, транспортный уровень)

Варианты подтверждения доставки

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

p, blockquote 17,0,0,0,0 -->

Варианты подтверждения доставки: скользящее окно

p, blockquote 18,0,0,0,0 -->

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

p, blockquote 19,0,0,0,0 -->

p, blockquote 20,0,0,0,0 -->

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

p, blockquote 21,0,0,0,0 -->

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

Рассмотрим на примере работу сети.

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

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

p, blockquote 23,0,0,0,0 -->

скользящее окно

p, blockquote 24,0,0,0,0 -->

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

p, blockquote 26,0,0,0,0 -->

перемещается скользящее окно

p, blockquote 27,0,0,0,0 -->

Тип подтверждения

Есть два типа подтверждения, которые могут использоваться совместно с алгоритмом скользящего окна.

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

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

p, blockquote 29,0,0,0,0 -->

p, blockquote 30,0,0,0,0 -->

p, blockquote 31,0,0,0,0 -->

Дублирование сегментов

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

p, blockquote 32,0,0,0,0 -->

Пример передачи данных в TCP

p, blockquote 33,0,0,0,0 -->

p, blockquote 34,0,0,0,0 -->

p, blockquote 35,0,0,0,0 -->

p, blockquote 36,0,0,0,0 -->

В нашем примере 4 сегмента первый сегмент содержит байты от 0 до 1023, второй от 1024 до 2047 и так далее.

p, blockquote 37,0,0,0,0 -->

Нумерация байтов

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

p, blockquote 38,0,0,0,0 -->

Нумерация байтов

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

Дублирование сегментов

Рассмотрим как решается ситуация с дублированием сегментов.

p, blockquote 40,0,0,0,0 -->

Дублирование сегментов

  • Отправитель включает в сегмент номер первого передаваемого байта 1024.
  • Получатель отправляет подтверждение, где говорит что ждет байт в 2048.
  • Но так как подтверждение не дошло, то отправитель передает тот же самый сегмент 1024.
  • Однако получатель видит, что этот сегмент у него уже есть поэтому он этот сегмент игнорирует и снова отправляет подтверждение, где говорит что он ожидает байт 2048.

Соединение TCP

TCP для передачи данных использует соединение. Соединение нужно установить перед тем, как начать передачу данных, а после того как передача данных завершена, соединение разрывается.

p, blockquote 42,0,0,1,0 -->

Задачи соединения

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

Установка соединения в TCP

p, blockquote 43,0,0,0,0 -->

Установка соединения в TCP

p, blockquote 44,0,0,0,0 -->

p, blockquote 45,0,0,0,0 -->

p, blockquote 46,0,0,0,0 -->

Разрыв соединения в TCP

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

p, blockquote 47,0,0,0,0 -->

p, blockquote 48,0,0,0,0 -->

p, blockquote 49,0,0,0,0 -->

Разрыв соединения в TCP

p, blockquote 50,0,0,0,0 -->

p, blockquote 51,0,0,0,0 -->

Заключение

p, blockquote 52,0,0,0,0 -->

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

p, blockquote 53,0,0,0,0 -->

p, blockquote 54,0,0,0,0 -->

p, blockquote 55,0,0,0,0 --> p, blockquote 56,0,0,0,1 -->

Читайте также: