Как стать автором
Обновить

Комментарии 8

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

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

Вполне нормально и правильно: исключение знака тире, а также скобок, и привело к данной конструкции предложения.

И что же тут "правильного" и "нормального" и с чего вы решили, что в предложении должны быть скобки ?
На мой взгляд, предложение должно было выглядеть так: "Ваша задача - обеспечить участникам из разных стран возможность добраться до места проведения вовремя"

Ваш вариант правильный -- при наличии знака тире.

А первоначальный вариант, исключающий Ваше возражение про насилие запятых -- это:

"Ваша задача обеспечить (в т.ч., участникам из разных стран)... (и далее, по тексту)

Как бы так)

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

UDP не только быстрый, он ещё и живучий. Когда в канале 4 IP-пакета из 5 пропадают — TCP будет только реконнектиться, потому что не рассчитан на такое.

С UDP всё просто — нумеруем все датаграммы и передаём их в цикле, долетят-не-долетят, а те, которые получили ответ с подтверждением приёма — вычёркиваем из этой карусели. Можно одновременно в кучу каналов рассылать, кстати. И даже перебалансировать процент по мере улучшения/ухудшения каждого канала.

Ну и да, всякие там видеозвонки, где датаграмма должна либо дойти сразу, либо чёрт с ней — это тоже всё про UDP. Но уже без ручного подтверждения приёма.

  1. Sequence Number (Номер последовательности): Используется для упорядочивания сегментов данных.

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

Поддерживает обнаружение ошибок, использует арифметику 1 для нахождения суммы

Какая еще арифметика 1? Обычное суммирование там используется. Это не очень то надежный механизм обнаружения ошибок, так что на него не рекомендуется полагаться. Ошибки гораздо лучше ловятся либо на уровне Ethernet (32-битная CRC), либо на уровне приложений. Например в SSH это будут разные алгоритмы MAC. Их там много разных но среди них точно нет такой фигни, как 16-битная сумма.

В табличке про достоинства и недостатки TCP и UDP не упомянута уязвимость UDP к спуфингу IP адресов, которая на практике выливается в такие атаки, как отравление кэша DNS серверов и некоторые другие. TCP так же уязвим к спуфингу, но это проделать сложнее как раз благодаря использованию Sequence Number - атакующий должн заниматься угадыванием и делать это очень быстро.

Мультиплексирование и демультиплексирование

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

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

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

В этом пакете сервер подтверждает получение SYN-пакета и отправляет свой собственный начальный номер последовательности.

Серверный номер последовательности тоже должен быть случайным.

Если отправитель не получает подтверждение в течение определенного времени (RTT), он предполагает, что сегмент был потерян, и отправляет его снова.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории