Задать вопрос
Ответы пользователя по тегу Протоколы передачи данных
  • Что из перечисленного является протоколом прикладного уровня?

    Https тоже должен считаться прикладным, раз это "http но с шифрованием".
    udp точно не прикладной.
    chrome и navigator - браузеры
    jpeg - формат картинок.

    => ответ http, https, ftp.
    Если это неправильный ответ - это уже ошибка составителя теста.
    Ответ написан
    7 комментариев
  • Использование HTTP/2 ускорит процесс передачи/принятия ответа от api сервера?

    Совсем немного ускорит благодаря тому что по одному соединению в http/2 может идти несколько запросов одновременно.
    => Нужно будет открывать меньше новых соединений.
    + Он бинарный => всякие multipart запросы также будут передаваться в чуть более компактном виде.
    + В нём есть сжатие заголовков => заголовки тоже будут в более компактном виде идти.
    Ответ написан
    Комментировать
  • С помощью какого протокола можно получить белый IP-адрес?

    Зависит от того, зачем тебе этот ip нужен, и есть ли вообще этот белый адрес.
    1. Сделать tcp-запрос на какой-нибудь свой сервер. И отправить в ответ, с какого адреса пришёл запрос.
    Нужно свою инфраструктуру поднимать, либо пользоваться чужим API. (например https://ip-api.com/)
    2. Явно спросить у пользователя - пользователь может любой написать, нужно проверять, если тебе именно он нужен
    3. Посмотреть в какой-нибудь ipconfig - сработает только если компьютер напрямую в интернет воткнут и ему назначен глобальный ip.
    Ответ написан
    Комментировать
  • Как реализовать чексуммы для сетевого протокола уровня приложения?

    При использовании TCP стека (Ethernet, IP, TCP) не гарантируется сохранение целостности.

    Гарантируется.
    Ответ написан
    7 комментариев
  • Можно ли вкладывать пакеты Dot1Q в PPPoE?

    Видимо можно:
    https://www.cisco.com/c/en/us/td/docs/ios/bbdsl/co...

    В принципе логично, ведь они ортогональны:
    PPPoE - надстройка над Ethernet
    802.1q - дополнительные тэги внутри Ethernet
    Ответ написан
    Комментировать
  • Можно ли TCP ускорить при помощи TCP via UDP tunnel?

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

    Завернув TCP в какой-то туннель, оставив тот же маршрут, или даже удлинив его - ты только увеличишь пинг.

    есть какой-то TCP Fast Open но как его задействовать для туннеля\iptables?

    Никак. TCP Fast open должен быть поддержан на уровне приложения. Если сервер не готов к tcp fast open, то в любом случае придётся в какой-то точке обойтись без него.

    Есть методы уменьшения пинга у TCP?

    Обозначим твой компьютер буквой A, а сервер игры буквой B.
    В некоторых ситуациях может быть так, что твой провайдер имеет какой-то странный/ненадёжный/не самый хороший, короче, медленный маршрут из A в B.

    Тогда мы можем попробовать найти такой узел C, до которого у твоего провайдера будет оптимальный маршрут, и из этого узла C в B будет тоже более оптимальный маршрут, чем из A в B.

    Но это достаточно редкая ситуация (мне кажется), тк должно совпасть несколько вещей:
    1. Крайне неэффективный маршрут из A в B (на самом деле не редкая вещь. Например есть Ростелеком, который пакеты из Москвы в Европу шлёт через Азию)
    2. Должен быть такой узел C, который находится в таком ДЦ, у которого есть прямое подключение к твоему провайдеру и прямое подключение к провайдеру, у которого есть маршрут в B (на самом деле тоже не редкость, тк у многих хороших ДЦ есть как минимум два подключения к разным магистральным провайдерам)
    3. Выигрыш от добавления узла C должен превышать оверхед от использования туннелей.

    PS: повторюсь, что если у тебя и так уже оптимальный маршрут, то добавление любых туннелей только увеличит пинг.
    Ответ написан
    Комментировать
  • Как встроен HTTP в HTTPS?

    Если HTTP - это тупо текст поверх TCP, то HTTPS - это текст, завёрнутый в TLS, который идёт поверх TCP.

    что значит "модификация"

    1. Хз что ты там читал, но мне вся выдача гугла говорит, что HTTPS - это расширение HTTP
    2. Если не вдаваться в этимологию, то "расширение" - это когда суть расширяемого объекта не меняется, но добавляется что-то ещё. В случае HTTPS - у нас остаётся вся семантика HTTP, но добавляется шифрование.

    По факту это всё-таки другой протокол, который не совместим с обычным Http
    Ответ написан
    Комментировать
  • Что из себя представляет интернет соединение?

    Мой ответ - нет, это не "непрерывный поток" а просто некоторое состояние, которое зафиксировано в узлах сети.
    Это состояние меняется с каждым отправленным блоком данных. Сами эти блоки данных кодируются определённым образом и передаются через какой-то физический канал.
    На уровне сети - это вполне дискретные сообщения.
    На физическом уровне - это непрерывный поток из сигналов, но не обязательно, тк есть IP over Avian carriers
    img7.jpg
    Смотрим по уровням:
    • Прикладной - тут будет HTTP и прочие прикладные протоколы. Это не совсем интернет, так что пропускаем.
    • Транспортный - TCP и UDP. Так что их тоже пропускаем, тк в "интернете" используются оба.
    • Сетевой - IP и прочие - как раз на этом уровне происходит обмен полезными данными в интернете. Тут нет "непрерывного потока", и как правило общение происходит в виде "фреймов" и "сообщений" с определённым набором полей.
    • Физический - тут всё очень зависит от физической реализации сети


    PS: Но при этом, с точки зрения программы на ПК, TCP-соединение может выглядеть как непрерывный поток байт, но это всё зависит от абстракций.
    Ответ написан
    Комментировать