Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Sergey Korolew                       2:6053/1.2     21 Jan 2004  14:13:16
 To : All
 Subject : mpd и потерянные пакеты (no buffer space available)
 -------------------------------------------------------------------------------- 
 
 
 Прошу у всех прощения за задержку - приболел слегка :-(
 В этом письме предистория, в следующем - патч.
 
 В pptpgre-ноде измеряется время от передачи пакета до получения подтверждения
 gre-ack на него, накапливается статистика и корректируется
 размер окна передачи. Что это означает - нода передает бурстом (в пачке)
 только n-ое количество пакетов, остальные притормаживаются до получения
 подтверждения на уже отосланные, в это время при попытке отослать еще
 нода возвращает NOMBUFS (то самое no buffer space available).
 
 В моем случае засада возникает из-за чрезмерно умного железа (радиокарты),
 которые имеют тенденцию накапливать мелкие пакеты в буфере и потом передавать
 их за один раз. При просмотре tcpdumpом я наблюдал до 32 (!) gre-ack пакетов
 за один раз с запаздыванием до секунды (!!!). Hо максимальный размер окна
 передачи 16, плюс с того конца линка работает тот же самый адаптивный
 алгоритм, в результате имеем следующую ситуацию - у обоих передатчиков
 размер окна становится 1. Самостоятельно разрулиться это в случае с WinXP
 не может (mpt-mpd линк теоретически способен, при определенной настройке).
 Сервер на poptop работает неплохо - он просто тупо шлет пакеты, без
 излишнего интеллекта.
 
 Теперь об грустном. Hа этом же линке у нас повреждаются gre-пакеты :-(
 Как ни странно - ни tcp ни udp пакеты не повреждаются (либо нормально работают
 контрольные суммы - у gre контрольных сумм нет). Поэтому немалая часть изменений
 была сделана для попыток отбраковки битых пакетов и разрешения
 пересинхронизации последовательности (в публичном патче все это выкинуто).
 Увы, я понял, что бороться подобным образом с битыми пакетами -
 примерно то же самое что вычерпывать море ложкой :-( То есть в принципе
 оно получается (с кучей изменений в ng_pptpgre и ng_mppc), но все равно
 остается вторая сторона - XP..
 
 Сейчас этот вариант работает на нескольких production-серверах, проблем нет.
  Всего наилучшего,
   Sergey aka DS
 
 --- GoldED+/W32 snapshot-2001.03.04
  * Origin: Hету. Придумывать лень. (2:6053/1.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 mpd и потерянные пакеты (no buffer space available)   Sergey Korolew   21 Jan 2004 14:13:16 
 Re: mpd и потерянные пакеты (no buffer space available)   Gleb Smirnoff   22 Jan 2004 13:53:57 
 mpd и потерянные пакеты (no buffer space available)   Slawa Olhovchenkov   22 Jan 2004 14:57:24 
 Re: mpd и потерянные пакеты (no buffer space available)   Gleb Smirnoff   23 Jan 2004 17:50:53 
Архивное /ru.unix.bsd/2220400e514f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional