Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Назначение максимального размера кадра в гетерогенной сети




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

Если в каждой из частей такой сети используется свой протокол канального уровня со своим значением MTU, то проблема согласования разных значений MTU может возникнуть при передаче кадров из сети с большим значением MTU в сеть с меньшим значением MTU. Например, при передаче кадра размером в 2048 байт из сети FDDI в сеть Ethernet поле данных кадра FDDI не помещается в поле данных кадра Ethernet, максимальный размер которого равен 1500 байт.

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

Рис. 2.4. Проблема согласования максимального размера кадров в гетерогенной сети

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

Многие приложения и протоколы прикладного уровня умеют динамически находить в составной гетерогенной сети такое значение MTU, которое позволяет выполнять обмен данными с требуемым сервером. Например, клиентская часть файлового сервиса сетей NovellNetWare первоначально пытается установить связь с сервером с использованием максимально возможного размера кадра протокола той сети, к которой подключен клиентский компьютер. Если в течение заданного тайм-аута клиент не получает ответа, то он начинает уменьшать размер кадра до тех пор, пока ответы не начнут поступать.

В сети Internet для уменьшения перегрузок администраторы также начали широко применять подобную технику. Вместо динамической фрагментации используется предварительная процедура выяснения минимального значения MTU вдоль маршрута следования пакетов к серверу назначения. Эта процедура состоит в следующем. Пакеты IP, используемые в процедуре определения MTU, отправляются с установленным значением признака DF (Don'tFragment), который запрещает маршрутизаторам фрагментировать данный пакет даже при невозможности инкапсулировать его в кадр канального уровня очередной сети. В таком случае маршрутизаторы возвращают узлу-отправителю сообщение по протоколу ICMP "Требуется фрагментация, а бит DF установлен". Узел-отправитель, получив такое сообщение должен уменьшить размер отправляемого пакета и вновь попытаться передать его узлу назначения с установленным битом DF, и так до тех пор, пока сообщения о невозможности доставки не перестанут приходить от маршрутизаторов, находящихся на пути следования. После этого узел-отправитель может начать передачу данных кадрами такого размера, который не требует фрагментации ни в одной из составных сетей. Такая техника, называемая PathMTUDiscovery (исследование MTU на пути следования), принята в качестве стандартной в новой версии протокола IP - IPv6, c целью освобождения маршрутизаторов от дополнительной работы по фрагментации.

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

Время жизни пакета

Параметр, который определяет, как долго может путешествовать пакет по составной сети, имеется во многих протоколах сетевого уровня. В протоколе IP этот параметр называется Time-To-Live, TTL (Время жизни), а в протоколе IPX - Distance (Расстояние). Этот параметр используется для того, чтобы маршрутизаторы, обрабатывающие заголовки сетевого протокола, имели информацию о том, как долго перемещался пакет по сети до того, как прибыл в данный маршрутизатор. Если пакет путешествует по сети слишком долго, то имеется большая вероятность, что он по каким-то причинам "заблудился". Причинами некорректного перемещения пакетов по сети могут быть неверные значения таблиц маршрутизации в некоторых маршрутизаторах, которые в свою очередь являются следствием ошибок администраторов при ручном формировании таблиц, либо несовершенством протоколов обмена маршрутной информации. Например, протокол RIP иногда неустойчиво работает при изменениях состояния сети - отказе каналов связи, отказе, появлении или отключении других маршрутизаторов и т.п.

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

В протоколе IP поле TTL устанавливается узлом-отправителем в некоторое ненулевое значение, а маршрутизаторы при продвижении пакета уменьшают его, обычно на 1. Пакет удаляется из сети в том случае, если после уменьшения значение поля TTL становится равным 0.

В протоколе IPX поле Distance обрабатывается по-другому - узел-отправитель устанавливает его в 0, а каждый маршрутизатор наращивает его на 1. Пакет удаляется из сети при достижении этим полем значения 16.

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

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

Параметры квитирования

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

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

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

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

Рис. 2.5. Реализация квитирования с простоями приемника

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

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

Рис. 2.6. Влияние тайм-аута на работу протокола

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

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

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

Рассмотрим пример, иллюстрирующий возможное снижение пропускной способности сети NovellNetWare из-за слишком большого значения тайм-аута времени ожидания квитанций.

Клиент и сервер NetWare по умолчанию используют алгоритм квитирования с простоями при организации передачи файлов. Если на сервере и клиенте работает стек IPX/SPX, то протокол прикладного уровня NCP, отвечающий за файловый сервис, не использует для транспортировки своих сообщений протокол SPX, работающий с установлением соединения, а обращается непосредственно к протоколу IPX. Это делается для ускорения работы файлового сервиса, так как использование каждого дополнительного уровня в стеке протоколов снижает общую производительность стека.

Протокол IPX - это протокол дейтаграммного типа, который повторную передачу искаженных и утернных пакетов не выполняет. В результате при утере или искажении данных в локальной сети, где на нижнем уровне также работают протоколы дейтаграммного типа (Ethernet, TokenRing и т.п.), повторная передача пакетов организуется только протоколом NCP, который работает по алгоритму квитирования с простоем источника. По умолчанию протокол NCP использует тайм-аут в 0.5 секунды, после истечения которого выполняется повторная передача пакета, на который не пришла квитанция.

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

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

Пусть в обоих случаях между клиентом и сервером передается файл размером в 240 000 байт. Файл передается с помощью протокола IPX со служебным заголовком в 30 байт и протокола Ethernet с размером служебного заголовка в 26 байт (с учетом преамбулы). Размер служебного заголовка самого протокола NCP составляет 20 байт.

Пусть файл передается частями по 1000 байт. Всего для передачи файла потребуется 240 пакетов.

Размер кадра Ethernet, переносящего 1000 байт передаваемого файла, составит 1000+20+30+26 = 1076 байт или 8608 бит.

Размер квитанции NCP, которая подтверждает получение пакета, равен 10 байтам, что дает размер кадра Ethernet, переносящего квитанцию в 86 байт (вместе с преамбулой) или 688 бит.

Предположим, что время обработки одного пакета на клиентской стороне составляет 650 мкс, а на сервере - 50 мкс.

В этих условиях время одного цикла передачи очередной части файла в идеальной сети составит 860.8 + 68.8 +650 + 50 = 1629.6 мкс.

Общее время передачи файла в 240 000 байт составит при этом 240х1629.6 = 0.391 секунды, а эффективная пропускная способность сети - 240000/0.391 = 613810 байт/с или 4.92 Мб/c.

При потере (независимо от причины) 3% кадров Ethernet повторная передача кадра начинается только после истечения тайм-аута в 0.5 сек. Всего таких случаев за время передачи файла будет 240х0.03 = 7. Следовательно, время передачи файла возрастет на 7х0.5 = 3.5 сек, а общее время передачи файла составит 0.391 + 3.5 = 3.891 сек. Пропускная способность сети при этом становится равной 240000/3.891 = 61680 байт/c или 0.49 Мб/c.

Таким образом, при наличии в сети NetWare всего 3% потерянных или искаженных пакетов пропускная способность этой сети снижается в 10 раз.

Рис. 2.7. Влияние потерь пакетов на производительность сети

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

Рис. 2.8. Квитирование с передачей "неподтвержденных" пакетов

Количество пакетов, которые разрешается передавать таким образом, называется размером окна. Рисунок 2.9 иллюстрирует данный метод для размера окна в 8 пакетов.

Рис. 2.9. Обмен квитанциями в режиме окна

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

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

Многие протоколы используют механизм скользящего окна для повышения своей пропускной способности. К ним относятся такие популярные протоколы как LAP-B, LAP-D и LAP-M семейства HDLC, используемые в территориальных сетях, протокол V.42, работающий в современных модемах, протоколы SPX, TCP и многие протоколы прикладного уровня.

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

В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее максимальный номер байта в полученном сегменте. Если размер окна равен W, а последняя квитанция содержала значение N, то отправитель может посылать новые сегменты до тех пор, пока в очередной сегмент не попадет байт с номером N+W. Этот сегмент выходит за рамки окна, и передачу в таком случае необходимо приостановить до прихода следующей квитанции.

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

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

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...