Современный сетевой протокол SCTP
От: CSRedRat Россия http://metin2wiki.ru
Дата: 26.12.11 08:36
Оценка:
Защита и надёжность превыше всего. В наше время информация играет очень значительную роль в жизни. В связи с этим очень уместно было бы внедрение реализации протокола SCTP (Stream Control Transmission Protocol — «протокол передачи с управлением потоком») в новую версию Windows. Это обеспечит защиту от SYN-flood атак, безопасное установление подключения (с помощью четырёхэтапного квитирования), а также приятные нововведения в виде сохранения границ сообщения, многопоточность, неупорядоченная доставка, поддержка множественных интерфейсов. Внедрение данного протокола позволит вывести сети на новый уровень, увеличить скорость, надёжность, безопасность и возможности передачи данных по сети. Ведь новый протокол создавался с учётом недостатков устаревшего TCP, с учётом современных сетей и полного использования их возможностей, а также особое внимание было уделено надёжности и безопасности.

Давно пора продвигать протокол SCTP повсеместно! Учитывая нынешнее активное продвижение в сторону IPv6. + массу полезностей из этого извлекает ещё один хороший протокол SPDY. Нельзя тормозить развитие технологий и необходимо проталкивать современные протоколы в массы. Остаётся убедить Microsoft в полезности и необходимости данных протоколов и склонить к их интенсивному внедрению.
Re: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 09:48
Оценка:
Здравствуйте, CSRedRat, Вы писали:

CSR>Защита и надёжность превыше всего. В наше время информация играет очень значительную роль в жизни. В связи с этим очень уместно было бы внедрение реализации протокола SCTP (Stream Control Transmission Protocol — «протокол передачи с управлением потоком») в новую версию Windows. Это обеспечит защиту от SYN-flood атак, безопасное установление подключения (с помощью четырёхэтапного квитирования), а также приятные нововведения в виде сохранения границ сообщения, многопоточность, неупорядоченная доставка, поддержка множественных интерфейсов. Внедрение данного протокола позволит вывести сети на новый уровень, увеличить скорость, надёжность, безопасность и возможности передачи данных по сети. Ведь новый протокол создавался с учётом недостатков устаревшего TCP, с учётом современных сетей и полного использования их возможностей, а также особое внимание было уделено надёжности и безопасности.


:yawn:
А где реализация искаропки в винде? Где нормальная реализация в линуксе?
Почему с 2000 года в мире только два энтузиаста, которые его развивают?

Мне он тоже нравится. Но почему так получается, что реально его использовать просто нельзя, потому что поддержка, мягко говоря, слабовата?

CSR>Давно пора продвигать протокол SCTP повсеместно! Учитывая нынешнее активное продвижение в сторону IPv6. + массу полезностей из этого извлекает ещё один хороший протокол SPDY. Нельзя тормозить развитие технологий и необходимо проталкивать современные протоколы в массы. Остаётся убедить Microsoft в полезности и необходимости данных протоколов и склонить к их интенсивному внедрению.


О! Осталось убедить Рокфеллера (c)
Что-то я уже второй раз за последние 2 дня вспоминаю эту фразу. Видимо, музыкой навеяло.
The God is real, unless declared integer.
Re[2]: Современный сетевой протокол SCTP
От: CSRedRat Россия http://metin2wiki.ru
Дата: 26.12.11 19:21
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, CSRedRat, Вы писали:


CSR>>Защита и надёжность превыше всего. В наше время информация играет очень значительную роль в жизни. В связи с этим очень уместно было бы внедрение реализации протокола SCTP (Stream Control Transmission Protocol — «протокол передачи с управлением потоком») в новую версию Windows. Это обеспечит защиту от SYN-flood атак, безопасное установление подключения (с помощью четырёхэтапного квитирования), а также приятные нововведения в виде сохранения границ сообщения, многопоточность, неупорядоченная доставка, поддержка множественных интерфейсов. Внедрение данного протокола позволит вывести сети на новый уровень, увеличить скорость, надёжность, безопасность и возможности передачи данных по сети. Ведь новый протокол создавался с учётом недостатков устаревшего TCP, с учётом современных сетей и полного использования их возможностей, а также особое внимание было уделено надёжности и безопасности.


N>:yawn:

N>А где реализация искаропки в винде? Где нормальная реализация в линуксе?
N>Почему с 2000 года в мире только два энтузиаста, которые его развивают?

N>Мне он тоже нравится. Но почему так получается, что реально его использовать просто нельзя, потому что поддержка, мягко говоря, слабовата?


CSR>>Давно пора продвигать протокол SCTP повсеместно! Учитывая нынешнее активное продвижение в сторону IPv6. + массу полезностей из этого извлекает ещё один хороший протокол SPDY. Нельзя тормозить развитие технологий и необходимо проталкивать современные протоколы в массы. Остаётся убедить Microsoft в полезности и необходимости данных протоколов и склонить к их интенсивному внедрению.


N>О! Осталось убедить Рокфеллера (c)

N>Что-то я уже второй раз за последние 2 дня вспоминаю эту фразу. Видимо, музыкой навеяло.
В том и проблема, что поддержки со стороны Microsoft нет (не считая поддержки в .NET Framework 4, а значит подвижки есть), а является серьёзной преградой. В Linux реализация включена в основную ветвь ядра с версии 2.4 и уже более года является устоявшейся. Для Windows есть сторонние реализации под .NET и Win32. Тут не хватает поддержки в развитии самого протокола со стороны влиятельных компаний, они решили ограничиться кратким освещением данной темы и поддержки (кроме MS), а ведь тут есть из-за чего поддержать.

Кому интересно — статья на сайте IBM.
Re[2]: Современный сетевой протокол SCTP
От: Cyberax Марс  
Дата: 26.12.11 19:56
Оценка:
Здравствуйте, netch80, Вы писали:

N>А где реализация искаропки в винде? Где нормальная реализация в линуксе?

N>Почему с 2000 года в мире только два энтузиаста, которые его развивают?
В Линуксе замечательная реализация. Я его даже использовал уже пару раз, когда надо было interleaving сделать для нескольких потоков по одному сокету.

В Винде тоже появляется постепенно.
Sapienti sat!
Re: Современный сетевой протокол SCTP
От: ononim  
Дата: 26.12.11 20:13
Оценка:
CSR>Защита и надёжность превыше всего. В наше время информация играет очень значительную роль в жизни. В связи с этим очень уместно было бы внедрение реализации протокола SCTP (Stream Control Transmission Protocol — «протокол передачи с управлением потоком») в новую версию Windows. Это обеспечит защиту от SYN-flood атак, безопасное установление подключения (с помощью четырёхэтапного квитирования)
Както мне не ясно чем это самое "четырехэтапное квитирование" обеспечивает защиту от син-флуда.
Из педивикии:

Протокол SCTP защищен от подобных атак с помощью механизма четырехэтапного квитирования (four-way handshake) и вводом маркера (cookie). По протоколу SCTP клиент начинает процедуру установления соединения посылкой пакета INIT. В ответ сервер посылает пакет INIT-ACK, который содержит маркер (уникальный ключ, идентифицирующий новое соединение). Затем клиент отвечает посылкой пакета COOKIE-ECHO, в котором содержится маркер, посланный сервером. Только после этого сервер выделяет свои ресурсы новому подключению и подтверждает это отправлением клиенту пакета COOKIE-ACK.


Непонятен момент: Почему именно после получения cookie-ack сервер выделяет ресурсы? Ведь для того чтобы запоминать эту самую cookie (а ее надо запоминать, иначе как же серверу знать, что именно должен прислать клиент в ответ) серверу требуются ресурсы. И чтото мне совсем не очевидно в чем выигрыш такой схемы по сравнению с трехэапным хэндшэйком TCP.
Впрочем, если предположить что кука генерируется криптографически (представляет собой рандом + подпись этого рандома, гаммированного IP отправителя для надежности) то можно избежать расходов памяти на хранение куки и просто верифицировать ее приватным ключом на стороне сервера при получении ECHO, но тут имхо мы заменяем жор памяти жором CPU
Как много веселых ребят, и все делают велосипед...
Re[2]: Современный сетевой протокол SCTP
От: Cyberax Марс  
Дата: 26.12.11 20:19
Оценка:
Здравствуйте, ononim, Вы писали:

O>Непонятен момент: Почему именно после получения cookie-ack сервер выделяет ресурсы? Ведь для того чтобы запоминать эту самую cookie (а ее надо запоминать, иначе как же серверу знать, что именно должен прислать клиент в ответ) серверу требуются ресурсы. И чтото мне совсем не очевидно в чем выигрыш такой схемы по сравнению с трехэапным хэндшэйком TCP.

Серверу не надо сохранять cookie, так как она вычисляется по фиксированному алгоритму с использованием случайного секретного ключа и пары адресов клиента и сервера.
Sapienti sat!
Re[3]: Современный сетевой протокол SCTP
От: ononim  
Дата: 26.12.11 20:46
Оценка:
O>>Непонятен момент: Почему именно после получения cookie-ack сервер выделяет ресурсы? Ведь для того чтобы запоминать эту самую cookie (а ее надо запоминать, иначе как же серверу знать, что именно должен прислать клиент в ответ) серверу требуются ресурсы. И чтото мне совсем не очевидно в чем выигрыш такой схемы по сравнению с трехэапным хэндшэйком TCP.
C>Серверу не надо сохранять cookie, так как она вычисляется по фиксированному алгоритму с использованием случайного секретного ключа и пары адресов клиента и сервера.
см мое помледнее предложение в пред мессаге — не позволи ли это атакеру пожрать весь CPU (а не память ка раньше) и эффективно добиться того же DDoS'а пожиранием просто другого ресурса? Впрочем, подписи всяческие мона ускорять аппаратно почти вплоть до одного така CPU, в отличии объема памяти... Но тем не менее...

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

И еще — раз уж сделали блэкжек заменяющиий udp и tcp, где же девушки легкого поведения мультикаст? Или я его плохо искал — все что бегло находилось по запросу sctp больше напоминало "круто было бы сделатьеще и мультикаст" чем спецификацию того, что он его умеет.

И возвращаясь к syn-флуду — я тут обратил внимание на наличие "потоков" в sctp — не могут ли эти потоки оказаться объектом для DoS — скажем я подключусь по честному, потом открою стопяццот потоков на передачу 100 байтного пакета в каждом?...
Как много веселых ребят, и все делают велосипед...
Re[4]: Современный сетевой протокол SCTP
От: Cyberax Марс  
Дата: 26.12.11 20:59
Оценка:
Здравствуйте, ononim, Вы писали:

C>>Серверу не надо сохранять cookie, так как она вычисляется по фиксированному алгоритму с использованием случайного секретного ключа и пары адресов клиента и сервера.

O>см мое помледнее предложение в пред мессаге — не позволи ли это атакеру пожрать весь CPU (а не память ка раньше) и эффективно добиться того же DDoS'а пожиранием просто другого ресурса? Впрочем, подписи всяческие мона ускорять аппаратно почти вплоть до одного така CPU, в отличии объема памяти... Но тем не менее...
Там вся "подпись" — это несколько xor'ов, в общем даже на 10ГБит совершенно пофиг будет.

O>Далее — вызывает вопросы фича протокола "нарезки потока на пакеты". Фича само собой нубами востребованная, судя по половине вопросов в этом разделе RSDN, но не ограничит ли она возможности оптимизации обработки большого потока данных приходящего от карты — раньше драйвер мог напрямую складывать приходящие данные сразу в юзермодный буфер, с возможностью обхождения без промежуточного буфера ваще (несколько одновременных асинхронных WSARecv'ов в винде), а сейчас принимающему приложению по любому нужно будет знать "наперед" несколько размеров пакетов чтобы воспользоваться такой же техникой.

Не ограничит. Сохранение границ пакетов — опциональная фича.

А вот ускорить работу может, так как переключение в usermode будет только когда гарантировано придёт весь пакет.

O>И еще — раз уж сделали блэкжек заменяющиий udp и tcp, где же девушки легкого поведения мультикаст? Или я его плохо искал — все что бегло находилось по запросу sctp больше напоминало "круто было бы сделатьеще и мультикаст" чем спецификацию того, что он его умеет.

Мультикаст — это вообще отдельная история. К sctp непонятно как его прикрутить — многостороннее рукопожатие через multicast я слабо представляю.

O>И возвращаясь к syn-флуду — я тут обратил внимание на наличие "потоков" в sctp — не могут ли эти потоки оказаться объектом для DoS — скажем я подключусь по честному, потом открою стопяццот потоков на передачу 100 байтного пакета в каждом?...

Только по согласованию с сервером.
Sapienti sat!
Re[5]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 21:16
Оценка:
Здравствуйте, Cyberax, Вы писали:

O>>Далее — вызывает вопросы фича протокола "нарезки потока на пакеты". Фича само собой нубами востребованная, судя по половине вопросов в этом разделе RSDN, но не ограничит ли она возможности оптимизации обработки большого потока данных приходящего от карты — раньше драйвер мог напрямую складывать приходящие данные сразу в юзермодный буфер, с возможностью обхождения без промежуточного буфера ваще (несколько одновременных асинхронных WSARecv'ов в винде), а сейчас принимающему приложению по любому нужно будет знать "наперед" несколько размеров пакетов чтобы воспользоваться такой же техникой.

C>Не ограничит. Сохранение границ пакетов — опциональная фича.

На SCTP, насколько я его понимаю, не опциональная — оно всегда будет их передавать.

C>Мультикаст — это вообще отдельная история. К sctp непонятно как его прикрутить — многостороннее рукопожатие через multicast я слабо представляю.


Никак, очевидно.
The God is real, unless declared integer.
Re[4]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 21:19
Оценка:
Здравствуйте, ononim, Вы писали:

O>И еще — раз уж сделали блэкжек заменяющиий udp и tcp, где же девушки легкого поведения мультикаст? Или я его плохо искал — все что бегло находилось по запросу sctp больше напоминало "круто было бы сделатьеще и мультикаст" чем спецификацию того, что он его умеет.


Мультикаст для протокола с установлением соединения неприменим по определению. Если где-то он пристроен к этому, то хитрым винтом сбоку.

O>И возвращаясь к syn-флуду — я тут обратил внимание на наличие "потоков" в sctp — не могут ли эти потоки оказаться объектом для DoS — скажем я подключусь по честному, потом открою стопяццот потоков на передачу 100 байтного пакета в каждом?...


Не откроешь. По умолчанию каждая сторона обязана поддерживать только 10 потоков, и то если запрошено при установлении соединения. То есть потоки 0-9 будут, каждый со своим пределом приёма, а дальше — фиг.
The God is real, unless declared integer.
Re[3]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 21:22
Оценка:
Здравствуйте, CSRedRat, Вы писали:


N>>О! Осталось убедить Рокфеллера (c)

N>>Что-то я уже второй раз за последние 2 дня вспоминаю эту фразу. Видимо, музыкой навеяло.
CSR>В том и проблема, что поддержки со стороны Microsoft нет (не считая поддержки в .NET Framework 4, а значит подвижки есть), а является серьёзной преградой. В Linux реализация включена в основную ветвь ядра с версии 2.4 и уже более года является устоявшейся.

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

CSR>Кому интересно — статья на сайте IBM.


Как первичный обзор — годится, но не более.
The God is real, unless declared integer.
Re[3]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 21:27
Оценка:
Здравствуйте, Cyberax, Вы писали:

N>>А где реализация искаропки в винде? Где нормальная реализация в линуксе?

N>>Почему с 2000 года в мире только два энтузиаста, которые его развивают?
C>В Линуксе замечательная реализация. Я его даже использовал уже пару раз, когда надо было interleaving сделать для нескольких потоков по одному сокету.

"Пару раз" — рифма напрашивается. Если бы ты постоянно использовал, сам бы нарвался на достаточное количество грабель.

C>В Винде тоже появляется постепенно.


Вот пусть вложат в коробку, тогда поверю. И ещё — чтобы я согласился с серьёзностью поддержки, нужен хотя бы один вариант ограничения переповтора сообщения (по времени или по количеству попыток), без этого он мне сейчас нафиг не сдался ни для одной из работ.
The God is real, unless declared integer.
Re[5]: Современный сетевой протокол SCTP
От: ononim  
Дата: 26.12.11 21:27
Оценка:
C>>>Серверу не надо сохранять cookie, так как она вычисляется по фиксированному алгоритму с использованием случайного секретного ключа и пары адресов клиента и сервера.
O>>см мое помледнее предложение в пред мессаге — не позволи ли это атакеру пожрать весь CPU (а не память ка раньше) и эффективно добиться того же DDoS'а пожиранием просто другого ресурса? Впрочем, подписи всяческие мона ускорять аппаратно почти вплоть до одного така CPU, в отличии объема памяти... Но тем не менее...
C>Там вся "подпись" — это несколько xor'ов, в общем даже на 10ГБит совершенно пофиг будет.
Эээ. А нет ли возможности атакеру угадать ключик для этих ксоров, получая от сервера легальные куки и далее самому генерить кук валидные с тз сервера? ==> cookie flood
Как много веселых ребят, и все делают велосипед...
Re[5]: Современный сетевой протокол SCTP
От: ononim  
Дата: 26.12.11 21:28
Оценка:
O>>И возвращаясь к syn-флуду — я тут обратил внимание на наличие "потоков" в sctp — не могут ли эти потоки оказаться объектом для DoS — скажем я подключусь по честному, потом открою стопяццот потоков на передачу 100 байтного пакета в каждом?...
N>Не откроешь. По умолчанию каждая сторона обязана поддерживать только 10 потоков, и то если запрошено при установлении соединения. То есть потоки 0-9 будут, каждый со своим пределом приёма, а дальше — фиг.
ну вот.. начинаются magic numbers..
Как много веселых ребят, и все делают велосипед...
Re[6]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.11 21:48
Оценка:
Здравствуйте, ononim, Вы писали:

O>>>И возвращаясь к syn-флуду — я тут обратил внимание на наличие "потоков" в sctp — не могут ли эти потоки оказаться объектом для DoS — скажем я подключусь по честному, потом открою стопяццот потоков на передачу 100 байтного пакета в каждом?...

N>>Не откроешь. По умолчанию каждая сторона обязана поддерживать только 10 потоков, и то если запрошено при установлении соединения. То есть потоки 0-9 будут, каждый со своим пределом приёма, а дальше — фиг.
O>ну вот.. начинаются magic numbers..

Они никогда и не кончались. Но с точки зрения общей логики я не знаю, зачем хотеть более 10 потоков. Всякие внутренние цели можно передать в основном сообщении, потоки такого рода имеют смысл только для QoS, а реальный QoS такого рода никогда не использовал на моей памяти более 4 уровней приоритета (формально позволяется 8 — например, в 802.1p). Так что 10 — с головой и выше.
The God is real, unless declared integer.
Re[7]: Современный сетевой протокол SCTP
От: ononim  
Дата: 26.12.11 22:00
Оценка: +1
N>Они никогда и не кончались. Но с точки зрения общей логики я не знаю, зачем хотеть более 10 потоков. Всякие внутренние цели можно передать в основном сообщении, потоки такого рода имеют смысл только для QoS, а реальный QoS такого рода никогда не использовал на моей памяти более 4 уровней приоритета (формально позволяется 8 — например, в 802.1p). Так что 10 — с головой и выше.
640КБ должно хватить каждому (с)
Чота мне ето число напомнило.. А.. вспомнил — вот че http://www.mydigitallife.info/half-open-outbound-tcp-connections-limit-removed-in-windows-7-and-vista-sp2-no-patch-required/
Как много веселых ребят, и все делают велосипед...
Re[8]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 28.12.11 07:48
Оценка:
Здравствуйте, ononim, Вы писали:

N>>Они никогда и не кончались. Но с точки зрения общей логики я не знаю, зачем хотеть более 10 потоков. Всякие внутренние цели можно передать в основном сообщении, потоки такого рода имеют смысл только для QoS, а реальный QoS такого рода никогда не использовал на моей памяти более 4 уровней приоритета (формально позволяется 8 — например, в 802.1p). Так что 10 — с головой и выше.

O>640КБ должно хватить каждому (с)

Аналогия некорректна. Память расширяется линейно, а каждый следующий уровень QoS это как следующий уровень абстракции в логике приложения: слишком много — запутаешься.

Ну и если вдруг захотелось побольше потоков — просто договорись с другой стороной, проблем-то.

O>Чота мне ето число напомнило.. А.. вспомнил — вот че http://www.mydigitallife.info/half-open-outbound-tcp-connections-limit-removed-in-windows-7-and-vista-sp2-no-patch-required/


Ну и? Это ограничение вполне разумно, но надо было его более адекватно оформить и задокументировать.

В случае SCTP прошу привести реальный пример, когда было бы нужно более 10 потоков и это нельзя было бы решить тегом в отдельном сообщении.
The God is real, unless declared integer.
Re[9]: Современный сетевой протокол SCTP
От: Изя Рнет Беларусь  
Дата: 28.12.11 10:39
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, ononim, Вы писали:


N>>>Они никогда и не кончались. Но с точки зрения общей логики я не знаю, зачем хотеть более 10 потоков. Всякие внутренние цели можно передать в основном сообщении, потоки такого рода имеют смысл только для QoS, а реальный QoS такого рода никогда не использовал на моей памяти более 4 уровней приоритета (формально позволяется 8 — например, в 802.1p). Так что 10 — с головой и выше.

O>>640КБ должно хватить каждому (с)

N>Аналогия некорректна. Память расширяется линейно, а каждый следующий уровень QoS это как следующий уровень абстракции в логике приложения: слишком много — запутаешься.


N>Ну и если вдруг захотелось побольше потоков — просто договорись с другой стороной, проблем-то.


O>>Чота мне ето число напомнило.. А.. вспомнил — вот че http://www.mydigitallife.info/half-open-outbound-tcp-connections-limit-removed-in-windows-7-and-vista-sp2-no-patch-required/


N>Ну и? Это ограничение вполне разумно, но надо было его более адекватно оформить и задокументировать.


N>В случае SCTP прошу привести реальный пример, когда было бы нужно более 10 потоков и это нельзя было бы решить тегом в отдельном сообщении.


Я не понимаю, почему здесь речь идет про QoS и приоритеты. Какое отношение они имеют к SCTP streams? Объясните, пожалуйста.
Я всегда считал, что первичное предназначение этого механизма — избежание HOLB. И для этой цели вполне может понадобиться довльно большое количество потоков.
Re[10]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 28.12.11 12:49
Оценка:
Здравствуйте, Изя Рнет, Вы писали:

N>>В случае SCTP прошу привести реальный пример, когда было бы нужно более 10 потоков и это нельзя было бы решить тегом в отдельном сообщении.

ИР>Я не понимаю, почему здесь речь идет про QoS и приоритеты. Какое отношение они имеют к SCTP streams? Объясните, пожалуйста.
ИР>Я всегда считал, что первичное предназначение этого механизма — избежание HOLB. И для этой цели вполне может понадобиться довльно большое количество потоков.

Что такое HOLB?
Разделение на разные потоки в SCTP ценно только одним: в каждом потоке своё упорядочение сообщений и свои зависимости между ними, когда нежелательно, чтобы проблемы передачи в среде и приёма обработчиком влияли на другую группу сообщений. А это непосредственно стыкается с QoS.
Если HOLB — это head-of-line blocking, то множество потоков не является единственным или даже лучшим методом решения этой проблемы, всегда легче организовать адекватную буферизацию в userland.
The God is real, unless declared integer.
Re[11]: Современный сетевой протокол SCTP
От: Изя Рнет Беларусь  
Дата: 28.12.11 15:57
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Изя Рнет, Вы писали:


N>>>В случае SCTP прошу привести реальный пример, когда было бы нужно более 10 потоков и это нельзя было бы решить тегом в отдельном сообщении.

ИР>>Я не понимаю, почему здесь речь идет про QoS и приоритеты. Какое отношение они имеют к SCTP streams? Объясните, пожалуйста.
ИР>>Я всегда считал, что первичное предназначение этого механизма — избежание HOLB. И для этой цели вполне может понадобиться довльно большое количество потоков.

N>Что такое HOLB?

N>Разделение на разные потоки в SCTP ценно только одним: в каждом потоке своё упорядочение сообщений и свои зависимости между ними, когда нежелательно, чтобы проблемы передачи в среде и приёма обработчиком влияли на другую группу сообщений. А это непосредственно стыкается с QoS.

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

N>Если HOLB — это head-of-line blocking, то множество потоков не является единственным или даже лучшим методом решения этой проблемы, всегда легче организовать адекватную буферизацию в userland.


Да, head of line blocking. И буферизация не спасает. Пусть у нас в едет что-то массивное, а тем временем хочется послать что-нибудь мелкое. Вот чтобы мелкое не оттормозилось, пока едет большое, мелкое стоит послать отдельным потоком.
Re[12]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 28.12.11 21:01
Оценка:
Здравствуйте, Изя Рнет, Вы писали:

N>>Что такое HOLB?

N>>Разделение на разные потоки в SCTP ценно только одним: в каждом потоке своё упорядочение сообщений и свои зависимости между ними, когда нежелательно, чтобы проблемы передачи в среде и приёма обработчиком влияли на другую группу сообщений. А это непосредственно стыкается с QoS.
ИР>Неа. Не стыкается. Есть логическая связь внутри группы сообщений и важен порядок их поступления — ок, это поток. Если есть другая группа сообщений, внутри которой есть порядок, но он не связан с порядком в первой, то это другой поток. Нет никаких причин, чтобы проблемы в первой группе влияли на вторую. И таких групп сообщений хоть миллион.

Теоретически — да. На практике миллион мне кажется ну совсем маловероятным; тысячи — можно при извращённом раскладе, но это можно заказать; в практически заметных случаях группа (поток) определяется приоритетом.

N>>Если HOLB — это head-of-line blocking, то множество потоков не является единственным или даже лучшим методом решения этой проблемы, всегда легче организовать адекватную буферизацию в userland.

ИР>Да, head of line blocking. И буферизация не спасает. Пусть у нас в едет что-то массивное, а тем временем хочется послать что-нибудь мелкое. Вот чтобы мелкое не оттормозилось, пока едет большое, мелкое стоит послать отдельным потоком.

А почему хочется послать что-нибудь мелкое? Потому что оно важнее/срочнее? Тогда см. выше.
The God is real, unless declared integer.
Re[13]: Современный сетевой протокол SCTP
От: Изя Рнет Беларусь  
Дата: 28.12.11 21:08
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Изя Рнет, Вы писали:


N>>>Что такое HOLB?

N>>>Разделение на разные потоки в SCTP ценно только одним: в каждом потоке своё упорядочение сообщений и свои зависимости между ними, когда нежелательно, чтобы проблемы передачи в среде и приёма обработчиком влияли на другую группу сообщений. А это непосредственно стыкается с QoS.
ИР>>Неа. Не стыкается. Есть логическая связь внутри группы сообщений и важен порядок их поступления — ок, это поток. Если есть другая группа сообщений, внутри которой есть порядок, но он не связан с порядком в первой, то это другой поток. Нет никаких причин, чтобы проблемы в первой группе влияли на вторую. И таких групп сообщений хоть миллион.

N>Теоретически — да. На практике миллион мне кажется ну совсем маловероятным; тысячи — можно при извращённом раскладе, но это можно заказать; в практически заметных случаях группа (поток) определяется приоритетом.


Это был фигуральный "миллион" в смысле дофига
Что касается заметных случаев, то Главное Приложение, под которое и дизайнился SCTP на том и строится — нет смысла стоять и ждать прогресса в тех случаях, когда от того прогресса ничего не зависит, а можно действовать независимо.

N>>>Если HOLB — это head-of-line blocking, то множество потоков не является единственным или даже лучшим методом решения этой проблемы, всегда легче организовать адекватную буферизацию в userland.

ИР>>Да, head of line blocking. И буферизация не спасает. Пусть у нас в едет что-то массивное, а тем временем хочется послать что-нибудь мелкое. Вот чтобы мелкое не оттормозилось, пока едет большое, мелкое стоит послать отдельным потоком.

N>А почему хочется послать что-нибудь мелкое? Потому что оно важнее/срочнее? Тогда см. выше.


Неа. Не важнее и не срочнее. Просто нет смысла ждать, пока пролезет толстое, если нет зависимости по порядку от него.
Re[14]: Современный сетевой протокол SCTP
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 28.12.11 21:33
Оценка:
Здравствуйте, Изя Рнет, Вы писали:

ИР>>>Да, head of line blocking. И буферизация не спасает. Пусть у нас в едет что-то массивное, а тем временем хочется послать что-нибудь мелкое. Вот чтобы мелкое не оттормозилось, пока едет большое, мелкое стоит послать отдельным потоком.

N>>А почему хочется послать что-нибудь мелкое? Потому что оно важнее/срочнее? Тогда см. выше.
ИР>Неа. Не важнее и не срочнее. Просто нет смысла ждать, пока пролезет толстое, если нет зависимости по порядку от него.

Для этого вообще никакие потоки не нужны: флаг внеочередной, независимой от соседей доставки ставится независимо от номера потока.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.