Здравствуйте, vsb, Вы писали:
vsb>Распишешь эти 7 уровней? Вот у меня компьютер к роутеру подключен Ethernet-проводком. Отправляю я это сообщение POST-запросом на https://rsdn.org/. Давай по уровням выписывай 7 задействованных протоколов.
1. Физический уровень: медь, оптика или wireless
2. Канальный уровень: Ethernet
3. Сетевой уровень: IP (четвёртый или шестой)
4. Транспортный уровень: TCP
5. Сеансовый уровень: SSL/TLS (для случая с http:// префиксом этот уровень не требуется)
6. Уровень представления: plaintext или gzip или ещё какой набор правил по кодированию контента
7. Прикладной уровень: HTTP
Милостивые господа, впереди новогодние праздники. Потратьте их с пользой, почитайте проф-литературу, если в обычные дни вам некогда.
Здравствуйте, Mr.Delphist, Вы писали:
MD>Здравствуйте, vsb, Вы писали:
vsb>>Распишешь эти 7 уровней? Вот у меня компьютер к роутеру подключен Ethernet-проводком. Отправляю я это сообщение POST-запросом на https://rsdn.org/. Давай по уровням выписывай 7 задействованных протоколов.
MD>1. Физический уровень: медь, оптика или wireless MD>2. Канальный уровень: Ethernet MD>3. Сетевой уровень: IP (четвёртый или шестой) MD>4. Транспортный уровень: TCP MD>5. Сеансовый уровень: SSL/TLS (для случая с http:// префиксом этот уровень не требуется) MD>6. Уровень представления: plaintext или gzip или ещё какой набор правил по кодированию контента MD>7. Прикладной уровень: HTTP
Не совсем так, мягко говоря.
В HTTP свой сеансовый уровень — собственно HTTP фрейминг. Здесь TLS даёт туннелирование, поэтому то, что над ним, работает своими слоями над 4-м уровнем (TLS даёт внутри себя поток октетов, такой же, как TCP). Но само TLS имеет полный комплект уровней — свой протокол и передаваемые данные, поэтому получается порядок:
4. Транспортный уровень: TCP
5(1). Сеансовый уровень: TLS — установление связи, выбор шифра, аутентификация, фрейминг, подписи пакетов...
6(1). Представление данных: HTTP поверх TLS — разделение на порции
-- Тут инверсия за счёт туннелирования в TLS
5(2). Сеансовый уровень: HTTP — фрейминг (заголовки, тело).
Далее:
6(2). Представление данных: это не просто plaintext или gzip. Это HTML, CSS и прочие. Plaintext, gzip — это артефакты сеансового уровня (если они, говоря языком HTTP, transfer-coding, а не content-coding), это чисто вопрос, как передать конкретное содержимое — со сжатием или без.
И наконец
7. Прикладной уровень: это уже не сеть как таковая, это логика браузера или сервера.
Проблема в том, что заведомо некорректное разделение между L5-L6-L7 (и понятие "протокола прикладного уровня" — на прикладном уровне, и даже на представлении данных, протоколов уже нет!) проникло даже в википедию, не говоря про множество прочих источников. А в результате получается, как в той же вики, что HTTP — на L7, а RTCP или H.245 (намеренно беру именно указанное в статье) — на L5.
Хотя разница между ними тут ничтожна.
MD>Милостивые господа, впереди новогодние праздники. Потратьте их с пользой, почитайте проф-литературу, если в обычные дни вам некогда.
Так и литература хромает нипадеццки. Тут у модели OSI проблемы на обоих концах, увы.
Здравствуйте, Sharov, Вы писали:
N>>Таким образом, TCP и всё, что поверх него (HTTP, HTTPS) тупо непригоден для реализации синхронных взаимодействий. Для них обычно используются свои протоколы поверх UDP, и не дай бог какой-то дурак затуннелирует это поверх TCP (к сожалению, всякие openvpn такое умеют, и есть имбецильные любители настраивать такое).
S>Так выше было написано, что фб для игр и звука гоняте все поверх http, который поверх tcp\ip.
По-моему, там написано строго противоположное:
=== cut === S>>>А зачем фб что-то другое кроме http(s)? C>>Например, для голосового и видеочата. Или для игр.
=== end cut ===
То есть им для этого _не_ нужен (не подходит) HTTP(S).
S> И в чем тогда смысл, эмуляция реалтаймовости?
Здравствуйте, Sharov, Вы писали:
S>>>А зачем фб что-то другое кроме http(s)? C>>Например, для голосового и видеочата. Или для игр. S>А на фига, т.е. у нас дважды кадр ip\tcp — сначала для http пакета, затем для его содрежимого. Так?
Ага, или ещё хуже. А нафига — так ничего другого не работает.
C>Для 0-RTT нужно иметь уже установленную ассоциацию. Клиент в первом пакете посылает тогда использует сохранённую cookie от сервера (которая содержит зашифрованное сервером состояние серверного соединения), посылая её с параметрами для установки соединения.
Это ты сейчас TLS Session tickets описал. Впрочем они не 0-RTT, и полагаю тому есть криптографические причины. Как и тому что TCP не поддерживает SO_CONNDATA — SYN атаки с ним стали бы чрезвычайно продуктивны Но гугл хочет сам походить по граблям.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, ononim, Вы писали:
O>Это ты сейчас TLS Session tickets описал.
Не совсем. В TLS 1.2 нельзя посылать данные прямо с первого пакета.
Но что гораздо хуже, в TLS 1.2 не делается новое Diffie-Helman рукопожатие при использовании ticket'ов. Это означает, что forward secrecy нарушена. По-моему, в 1.2 вообще PFS несовместима с ticket'ами.
В TLS 1.3 это всё исправили.
O>Впрочем они не 0-RTT, и полагаю тому есть криптографические причины. Как и тому что TCP не поддерживает SO_CONNDATA — SYN атаки с ним стали бы чрезвычайно продуктивны Но гугл хочет сам походить по граблям.
SO_CONNDATA не поддерживается для обычных данных TCP в Windows.
Здравствуйте, Sharov, Вы писали:
C>>Ага, или ещё хуже. А нафига — так ничего другого не работает. S>Это серьезно? Т.е. туннелируют в http\s трафик для игр и звука? Или я чего-то не понял?
Ага, именно так.
Здравствуйте, vsb, Вы писали:
vsb>Почему всё? Предлагаешь все протоколы писать поверх HTTP?
Ты не поверишь сколько есть клоунов, для которых http является единственным из существующих.
И это не вчера началось. Еще лет десять назад было.
Здравствуйте, Cyberax, Вы писали:
C>А админов вообще не спрашивали. Если ради 1% улучшения скорости они должны будут стоять на ушах — они будут стоять на ушах. Колхозный фронтенд, да.
Подошол я тут к тимлиду
— Надо нам внедрить блокчейн
Тот дурак засомневался, говорит
— А нам зачем?
Никто тебе в бизнесе не будет менять работающую технологию пока конкретно не прижмёт. Ну или если у бизнеса есть бюджет на эксперименты.
Здравствуйте, Pzz, Вы писали:
Pzz>А разве государство не ограничивает качество шифрования в сотовых сетях на уровне "сделали вид, что все зашифровано"?
Зачем это ему? Государству нужен доступ, но в каком именно месте цепочки между абонентами, ему пофиг. Наоборот, ему выгоднее когда опсосы сами его предоставят, чем возиться с радиоперехватом. Так что шифрование именно радиоканалов ему нет смысла ограничивать.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Sheridan, Вы писали:
S>Никто тебе в бизнесе не будет менять работающую технологию пока конкретно не прижмёт. Ну или если у бизнеса есть бюджет на эксперименты.
Слово такое есть — конкуренция.
Здравствуйте, Cyberax, Вы писали:
S>>Никто тебе в бизнесе не будет менять работающую технологию пока конкретно не прижмёт. Ну или если у бизнеса есть бюджет на эксперименты. C>Слово такое есть — конкуренция.