|
Работа сетей Ethernet с медленными каналами связи, методы сопряжения и конвертации |
|
|
|
May 16 2006, 09:08
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Здравствуйте! Кто сталкивался с подобной проблемой, когда разные фрагменты сети Ethernet, отстоящие друг от друга на десятки километров, соединены между собой низкоскоростными телекоммуникационными каналами связи типа ИКМ30. Такие каналы используют конверторы и структура канала такая: Ethernet-ИКМ30-Соединительная Линия-ИКМ30-Ethernet, а пиковая скорость передачи равна 64кБит*N, где N=1..30. Для согласования скорости из Ethernet в ИКМ30, по моему представлению, используются такие методы: - «шлюза», когда принятые, но еще не переданные пакеты накапливаются в очереди; - «метод обратного давления», когда во время передачи текущего пакета, прием всех новых пакетов блокируется путем создания коллизий – одновременной передачей из конвертора в сеть Ethernet любого встречного пакета. Мне нужно найти правильный выход, так как с помощью сниффера Ethereal четко заметил, что новый пакет приходит из Ethernet в конвертор до того, как в ИКМ30 передан предыдущий - а это приводит к отказам. Возможно, здесь есть еще тонкости применения в протоколе TCP/IP. Хотел бы обменяться мнениями с теми, кто сталкивался с данной проблемой. Спасибо.
|
|
|
|
|
 |
Ответов
|
May 16 2006, 11:05
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
насколько я представляю работу стека протоколов, при переполнении входного буфера вашего узкого горлышка, пакеты канального уровня теряются, никуда не деться. Но выше этого уровня есть транспортный, в частности, протокол TCP. Глубоко не вникал в его работу, но этот протокол должен по количеству недошедших пакетов подстраивать скорость передачи пакетов, чтобы они не терялись и не образовывались задержки, связанные с повторной передачей пакетов. Я пока начинаю работать над похожей задачей и надеюсь, что так и будет, как я выше описал. А все перечисленные вами ранее методы бесполезны: если в каналах разная скорость, это обязательно когда-то приведёт к невозможности доставить очередной пакет. Например, метод шлюза работает, пока не переполнится буфер. А потом всё равно пакеты потеряются. Метод обратного давления приводит к бесполеному "торможению по цепочке". Вообще, коллизии имеют место только в полудуплексном режиме (я работаю с полным дуплексом на гигабитном изернете). В полном дуплексе есть механизм управления потоком, описываемый стандартом IEEE 802.3х (см. тему http://electronix.ru/forum/index.php?showtopic=15533 К стати, я с этим механизмом до конца так и не разобрался, так что был бы благодарен за помощь с русскоязычными текстами, поясняющими его). Что будет происходить: переполнится входной буфер вашего узкого горлышка, он будет оказывать обратное давление (хоть коллизией, хоть через механизм контроля потоков) на стоящее перед ним (по ходу передачи пакета) оборудование канального уровня (в первую очередь, коммутирующее), которое должно приостановить передачу пакета. В этом случае уже в этом предыдущем устройстве начнёт заполняться буфер и переполнится. Он опять должен оказывать обратное давление на предыдущее устройство и т.д. по цепочке. Это всё лишнее, если протокол TCP нормально выполняет свои функции и не даёт переполняться буферам, обеспечивая скорость "на грани"
|
|
|
|
|
May 16 2006, 14:15
|
Частый гость
 
Группа: Свой
Сообщений: 160
Регистрация: 23-12-04
Из: Уфа
Пользователь №: 1 631

|
Цитата(Krys @ May 16 2006, 17:05)  насколько я представляю работу стека протоколов, при переполнении входного буфера вашего узкого горлышка, пакеты канального уровня теряются, никуда не деться. Почему же "никуда не деться" ? Надо просто попросить устройства посылающие пакеты притормозиться, не дожидаясь полного заполнения буфера. Ну и буфер брать приличного размера, пакетов на 10..20 (наверное  ). Цитата(Krys @ May 16 2006, 17:05)  Что будет происходить: переполнится входной буфер вашего узкого горлышка, он будет оказывать обратное давление (хоть коллизией, хоть через механизм контроля потоков) на стоящее перед ним (по ходу передачи пакета) оборудование канального уровня (в первую очередь, коммутирующее), которое должно приостановить передачу пакета. В этом случае уже в этом предыдущем устройстве начнёт заполняться буфер и переполнится. Он опять должен оказывать обратное давление на предыдущее устройство и т.д. по цепочке. Это всё лишнее, если протокол TCP нормально выполняет свои функции и не даёт переполняться буферам, обеспечивая скорость "на грани" К сожалению, протокол TCP контролирует целостность только одного сеанса связи между двумя процессами (потребителями). А через узкое горло может быть организовано ничем не ограниченное множество независимых сеансов TCP. Да и вообще, речь идет о передаче не IP пакетов, а пакетов Ethernet, в которые могут инкапсулироваться множество различных протоколов. Поэтому без управления потоком на MAC уровне не обойтись. Я тоже только подступаюсь к этой проблеме. Посколько разбираться со всеми нюансами нет времени, я решил взять микросхему свича KS8993M фирмы Micrel, которая уже содержит в себе реализацию механизмов контроля потока. Один из 3-х портов этого свича может отдавать пакеты по MII интерфейсу, и я собираюсь эти пакеты упаковывать в поток E1 на своей скорости, а контроль переполнения очередей возлагаю на свич, который судя по его описанию умеет это делать. Если у вас нет требований по индустриальному исполнению, есть еще более удобный свич фирмы Infineon ADM6993/X, у него третий порт может отдавать пакеты в формате HDLC на вашей скорости.
|
|
|
|
|
May 24 2006, 06:33
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Здесь говорилось о: микросхему свича KS8993M фирмы Micrel, которая уже содержит в себе реализацию механизмов контроля потока. Один из 3-х портов этого свича может отдавать пакеты по MII интерфейсу, и я собираюсь эти пакеты упаковывать в поток E1 на своей скорости, а контроль переполнения очередей возлагаю на свич, который судя по его описанию умеет это делать. Вот кусок перевода даташита для KS8995, просто для справки: Поддержка ограничения объема обмена информацией KS8995MA поддерживает аппаратное ограничение объема обмена информацией, как на стороне приема, так и на стороне передачи независимо для каждого порта. Это также поддерживает ограничение объема обмена информацией для приоритетной или неприоритетной среды. Предел объема обмена информацией начинается от 0 Кб/сек и подходит к частоте работы линии с шагом в 32Кб/сек. KS8995MA использует одну секунду как временной интервал для паузы. В начале каждого интервала, счетчик обнуляется, и механизм, определяющий объем обмена информацией начинает считать число байтов, переданных/полученных в течение этого интервала. На стороне приема, если число принятых байтов превышает запрограммированный предел, то коммутатор прекратит получать пакеты для этого порта, пока интервал, длительностью в одну секунду не истечет. Есть опция, предусматривающая управление потоком данных, используемая для того, чтобы предотвратить потери пакетов. Если предел на ограничение объема обмена информацией запрограммирован на скорости большие или равные 128 Кб/сек, и счетчик байтов находится на уровне, отстоящем на 8 КБ ниже уровня предела, то будет вызвано управление потоком данных. Если предел на ограничение объема обмена информацией запрограммирован на скорости ниже чем 128 Кб/сек, и счетчик байтов находится на уровне, отстоящем на 2 КБ ниже предела, то в этом случае также будет вызвано управление потоком данных. На стороне передачи, если число байтов превышает запрограммированный предел, коммутатор прекратит передавать пакеты через этот порт, пока интервал длительностью в одну секунду не истечет. Если допускается обслуживание с приоритетами, то KS8995MA может поддержать различный уровень объема обмена информацией как для высоко-приоритетных и для низко-приоритетных пакетов. Такой режим обслуживания может быть запрограммирован в соответствующих регистрах управления режимами работы микросхемы. Удачи!
--------------------
www.iosifk.narod.ru
|
|
|
|
Сообщений в этой теме
Волощенко Работа сетей Ethernet с медленными каналами связи May 16 2006, 09:08  Krys Цитата(Shamil @ May 16 2006, 21:15) Цитат... May 17 2006, 07:03   zltigo Цитатасли гораздо проще поручить на передающем кон... May 17 2006, 07:08    Krys Цитата(zltigo @ May 17 2006, 14:08) Махро... May 17 2006, 11:02     zltigo Цитата(Krys @ May 17 2006, 14:02) А вот п... May 17 2006, 11:41 Волощенко Лучше бы работать по методу квитирования пакетов, ... May 16 2006, 15:09 Krys Цитата(Волощенко @ May 16 2006, 22:09) Лу... May 17 2006, 06:25 Harbour Можете сделать бридж, у которого медленный интерфе... May 18 2006, 05:34 kolobok0 Цитата(Harbour @ May 18 2006, 09:34) Може... May 18 2006, 13:42  Волощенко Спасибо за ответы и ссылки на документацию.
Есть м... May 22 2006, 08:38   zltigo Цитата(Волощенко @ May 22 2006, 11:38) Ес... May 22 2006, 08:43    Krys Цитата(zltigo @ May 22 2006, 15:43) Цитат... May 31 2006, 06:30   Joe Цитата(Волощенко @ May 22 2006, 11:38) Сп... May 24 2006, 05:52   Krys Цитата(Волощенко @ May 22 2006, 15:38) 1.... May 31 2006, 07:10 Волощенко Спасибо за информацию.
Удачное сравнение проблемы... May 24 2006, 08:06 zltigo Цитата(Волощенко @ May 24 2006, 11:06) ап... May 24 2006, 12:02 Волощенко Привет Всем!!!
Заработали мои конверто... May 26 2006, 09:09 zltigo Цитата(Волощенко @ May 26 2006, 12:09) Ск... May 31 2006, 15:40 Волощенко Конвертор построен на CS8900A-CQ3, C8051F123 и XC9... May 31 2006, 14:22 Волощенко Схема организации связи такая: Я отключаю свой ком... Jun 1 2006, 07:03 zltigo Цитата(Волощенко @ Jun 1 2006, 10:03) Мож... Jun 1 2006, 08:41 Harbour Я так понял что лишние пакеты Вы просто херите ? Jun 1 2006, 13:54 DS_ Цитата(Волощенко @ Jun 1 2006, 11:03) Схе... Jun 1 2006, 17:38 Волощенко Помимо работы в Internet (на устойчивых к потерям ... Jun 2 2006, 07:07 DS_ Broadcustы пропускать обязательно, иначе не будет ... Jun 2 2006, 07:32 Krys Да, тут Вы правы, надо включать "NetBIOS over... Jun 2 2006, 07:41 DS_ В Netbios over TCP/IP есть возможность организоват... Jun 2 2006, 08:05 Волощенко Добрый день!
Работа по моему конвертору Ethern... Jul 28 2006, 10:50 Krys Цитата(Волощенко @ Jul 28 2006, 17:50) В ... Aug 4 2006, 03:32  zltigo Цитата(Krys @ Aug 4 2006, 06:32) Протокол... Aug 4 2006, 06:00 Harbour SHDSL сами делали ? Если да на каком чипсете ? Aug 3 2006, 12:53 Волощенко Ответ Harbour. Я лично разработал и программировал... Aug 4 2006, 06:27 zltigo Цитата(Волощенко @ Aug 4 2006, 09:27) Отв... Aug 4 2006, 06:55 Волощенко Конверторы испытывались при связи удаленного компь... Aug 4 2006, 07:27 zltigo Цитата(Волощенко @ Aug 4 2006, 10:27) не ... Aug 4 2006, 07:46  Волощенко to zltigo:
Задача была конкретная: получить ... Aug 4 2006, 08:10   zltigo Цитата(Волощенко @ Aug 4 2006, 11:10) Зад... Aug 4 2006, 08:35   TomaT Цитата(Волощенко @ Aug 4 2006, 12:10) ...... Aug 4 2006, 11:20 TomaT У нас для примерно тех же целей (радиорелейка 4Е1+... Aug 4 2006, 07:31 Волощенко Спасибо! Я тоже за то, что с виду якобы ... Aug 4 2006, 08:55 iosifk Цитата(Волощенко @ Aug 4 2006, 12:55) Спа... Aug 4 2006, 09:18  Волощенко Было такое предложение-пожелание:
Цитата(iosifk ... Sep 25 2006, 15:08   iosifk [quote name='Волощенко' date='Sep 25 2... Sep 26 2006, 05:34 dmivs Цитата(Krys @ May 16 2006, 14:05) Я пока ... Aug 4 2006, 10:54 Волощенко to TomaT
Может мне еще придется разрабатывать что-... Aug 4 2006, 12:35 TomaT Частью секрет, частью нет
4E1+Eth->Radio не оч... Aug 4 2006, 12:52 Victor® Цитата(Волощенко @ May 16 2006, 12:08) Зд... Sep 28 2006, 09:34 Волощенко К Victor®, спасибо за ссылку на Zarlink!
Мы ра... Sep 28 2006, 11:26  Ledol Цитата(Волощенко @ Sep 28 2006, 17:26) К ... Oct 3 2006, 13:44   zltigo Цитата(Ledol @ Oct 3 2006, 16:44) ADM6993... Oct 3 2006, 13:48    Ledol Цитата(zltigo @ Oct 3 2006, 19:48) Цитата... Oct 3 2006, 14:28     zltigo Цитата(Ledol @ Oct 3 2006, 17:28) Ого. Пр... Oct 3 2006, 20:22    Волощенко Цитата(zltigo @ Oct 3 2006, 16:48) Цитата... Oct 4 2006, 06:32     Ledol Цитата(Волощенко @ Oct 4 2006, 12:32) Цит... Oct 4 2006, 12:30   Shamil Цитата(Ledol @ Oct 3 2006, 19:44) ADM6993... Oct 3 2006, 14:43    Dainis Цитата(Shamil @ Oct 3 2006, 17:43) Цитата... Oct 3 2006, 18:59 Victor® Вот еще интересные чипы
http://www.mindspeed.com/w... Oct 6 2006, 14:12 Harbour Особенное веселье с их доставанием через некоего г... Oct 7 2006, 05:26 Victor® Цитата(Harbour @ Oct 7 2006, 08:26) Особе... Oct 9 2006, 07:29  Harbour Цитата(Victor® @ Oct 9 2006, 10:29) Цитат... Oct 11 2006, 06:45 Волощенко Добрый день!
Опять нужен совет. Стоит необходи... Oct 26 2006, 06:42 Vit1248 Цитата(Волощенко @ Oct 26 2006, 10:42) 1.... Nov 3 2006, 10:53  Волощенко Цитата(Vit1248 @ Nov 3 2006, 14:53) 1. Кт... Nov 3 2006, 11:59   Vit1248 [quote name='Волощенко' date='Nov 3 20... Nov 6 2006, 07:19 Ledol В теме "Вопрос по микросхеме ADM6993" вы... Nov 8 2006, 15:58 Hedgehog in the Fog Уважаемый All!
Увидел. что в этой теме люди р... Feb 9 2007, 15:10 Волощенко Мы вот сделали еще один Ethernet-мост для наших SH... Mar 20 2007, 17:26 Батька Есть ли у кого примеры структурных схем соединения... Jun 11 2010, 14:31 Волощенко Цитата(Батька @ Jun 11 2010, 17:31) Есть ... Jun 14 2010, 08:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|