Привет, Хабр.
Как-то случайно вспомнив про модемный интернет и про «тот самый» звук коннекта, я задумался, а что собственно там было внутри.
Я нашел на просторах сети звук модема в WAV и программу Signals Analyzer. Попробуем разобраться.
Разумеется, я не первый, кто за много лет задумался над этим вопросом. Как показал поиск в Гугле, финский инженер описал фазы коннекта модема еще в 2012 году. Но для тех, кто не читает регулярно блоги на финском, наверное не грех и описать это еще раз, изучив спектр более подробно.
Небольшое отступление для «поколения Next», кто не застал те времена: модем это была такая волшебная коробочка, подключающаяся, если память не изменяет, в COM-порт (USB еще не было) и передающая данные через обычную телефонную линию в «голосовом» диапазоне. Соответственно, соединению с Интернетом (а еще раньше это было FIDO или BBS) предшествовал такой веселый писк, весь процесс можно посмотреть например, здесь.
Модемы эволюционировали от совсем древних, работающих через телефонную трубку со скоростью 300bps, до наиболее навороченных, дававших теоретически до 56Кбит/с, больше уже не позволял канал телефонной линии.
Еще интересный момент — судя по Amazon, модемы US Robotics Courier 56K Business продаются и сейчас, причем весьма недешево. Зачем не знаю, вероятно есть места, где другого типа коннекта до сих пор нет.
На этом мы закончим с введением, и перейдем к сигналу.
Первый интересный момент — когда мы слышим (точнее слышали) звук модема, на самом деле, мы слышим не один модем, а сразу два — свой модем, и модем провайдера. На картинке обведены красным сигналы вызывающего модема:
Теперь посмотрим, какие виды модуляции мы можем встретить в этом сигнале.
1. Тональный набор (DTMF)
Самая левая часть картинки, тут ничего необычного нет, обычный тональный набор, который также использовался в обычных телефонах (кто-то наверно помнит кнопку переключения Tone-Pulse на корпусе проводных телефонов).
У меня кстати, была еще более старая АТС с импульсным набором, так что таких звуков не было, как и коннекта в 56К.
2. Соединение
Модем провайдера, получив звонок, «снимает трубку» и посылает в линию пару тонов, «наш» модем отвечает тоном другой частоты и посылает в линию информацию о доступных протоколах:
Как можно видеть, здесь используется FSK — частотная модуляция, где бинарный код передается с помощью чередования двух тонов. Скорость передачи всего 300бит/с.
Модем провайдера отвечает в таком же режиме, подтверждая прием.
Соединение завершается передачей достаточно длинного тона с низкочастотной амплитудной модуляцией.
Интересно, что если посмотреть подробнее, то видно что в местах «стыков» меняется также и фаза тона:
Зачем это сделано, сказать сложно.
3. Обмен «расширенными настройками»
Название я поставил в кавычки, т.к. точно не знаю, а могу лишь предполагать. Здесь модемы обмениваются различной информацией о доступных протоколах:
Слева — уже описанный выше амплитудно-модулированный сигнал, затем уже знакомый нам сигнал с FSK. А вот с краю справа — другой тип модуляции. На картинке видно, что здесь меняется не частота и не амплитуда, а фаза сигнала (PSK, Phase Shift Keying):
Длина сигнала составляет всего лишь 0.15с.
4. Проверка линии
Здесь оба модема посылают широкополосный (на все доступные 3.7КГц:) сигнал длительностью ~0.4с, результат посылается другому модему.
В завершении модем передает отдельный сигнал для настройки эквалайзера и подавления эха в линии.
Дальше динамик выключается, и выполняются более высокоуровневые процедуры — проверка логина/пароля, и если все нормально, пользователь подключается к Сети.
Как можно видеть, в звуке модема заложено довольно много всего, и при разборе возник вопрос, а собственно, зачем так сложно? Зачем чередовать разные виды модуляции, чтобы просто обменяться данными?
Ответ вероятно, прост — legacy. Каждый новый модем должен не только работать максимально быстро и поддерживать наиболее новые протоколы, но и уметь соединиться с более старыми моделями. Поэтому в самом начале модемы соединяются на минимальной скорости в 300 бод и обмениваются информацией о протоколе, «расширенные настройки» передаются другим видом модуляции, которые старый модем проигнорирует, а новые модемы смогут использовать.
Разумеется, я не ставил целью разобрать каждый бит в сигнале, выше приведена лишь общая информация. Желающих изучить тему более подробно можно отослать к статье 2012г (на английском) или к описанию стандартов ITU, но для первого знакомства думаю, информации достаточно.
P.S.: Под спойлером звук модема с раскладкой по времени:
Как-то случайно вспомнив про модемный интернет и про «тот самый» звук коннекта, я задумался, а что собственно там было внутри.
Я нашел на просторах сети звук модема в WAV и программу Signals Analyzer. Попробуем разобраться.
Разумеется, я не первый, кто за много лет задумался над этим вопросом. Как показал поиск в Гугле, финский инженер описал фазы коннекта модема еще в 2012 году. Но для тех, кто не читает регулярно блоги на финском, наверное не грех и описать это еще раз, изучив спектр более подробно.
Введение
Небольшое отступление для «поколения Next», кто не застал те времена: модем это была такая волшебная коробочка, подключающаяся, если память не изменяет, в COM-порт (USB еще не было) и передающая данные через обычную телефонную линию в «голосовом» диапазоне. Соответственно, соединению с Интернетом (а еще раньше это было FIDO или BBS) предшествовал такой веселый писк, весь процесс можно посмотреть например, здесь.
Модемы эволюционировали от совсем древних, работающих через телефонную трубку со скоростью 300bps, до наиболее навороченных, дававших теоретически до 56Кбит/с, больше уже не позволял канал телефонной линии.
Пара фоток под спойлером
Древний доисторический акустический модем, на который клалась телефонная трубка, «вживую» такой застать уже не удалось:
В голливудских фильмах тех времен хакеры использовали портативную версию такого модема, где капсюль прижимался к трубке телефона-автомата, впрочем, насколько это правда, ручаться не могу. Теоретически, наверно, вполне могло работать.
Последняя версия модема со скоростью до 56К:
В голливудских фильмах тех времен хакеры использовали портативную версию такого модема, где капсюль прижимался к трубке телефона-автомата, впрочем, насколько это правда, ручаться не могу. Теоретически, наверно, вполне могло работать.
Последняя версия модема со скоростью до 56К:
Еще интересный момент — судя по Amazon, модемы US Robotics Courier 56K Business продаются и сейчас, причем весьма недешево. Зачем не знаю, вероятно есть места, где другого типа коннекта до сих пор нет.
На этом мы закончим с введением, и перейдем к сигналу.
Коннект
Первый интересный момент — когда мы слышим (точнее слышали) звук модема, на самом деле, мы слышим не один модем, а сразу два — свой модем, и модем провайдера. На картинке обведены красным сигналы вызывающего модема:
Теперь посмотрим, какие виды модуляции мы можем встретить в этом сигнале.
1. Тональный набор (DTMF)
Самая левая часть картинки, тут ничего необычного нет, обычный тональный набор, который также использовался в обычных телефонах (кто-то наверно помнит кнопку переключения Tone-Pulse на корпусе проводных телефонов).
У меня кстати, была еще более старая АТС с импульсным набором, так что таких звуков не было, как и коннекта в 56К.
2. Соединение
Модем провайдера, получив звонок, «снимает трубку» и посылает в линию пару тонов, «наш» модем отвечает тоном другой частоты и посылает в линию информацию о доступных протоколах:
Как можно видеть, здесь используется FSK — частотная модуляция, где бинарный код передается с помощью чередования двух тонов. Скорость передачи всего 300бит/с.
Модем провайдера отвечает в таком же режиме, подтверждая прием.
Соединение завершается передачей достаточно длинного тона с низкочастотной амплитудной модуляцией.
Интересно, что если посмотреть подробнее, то видно что в местах «стыков» меняется также и фаза тона:
Зачем это сделано, сказать сложно.
3. Обмен «расширенными настройками»
Название я поставил в кавычки, т.к. точно не знаю, а могу лишь предполагать. Здесь модемы обмениваются различной информацией о доступных протоколах:
Слева — уже описанный выше амплитудно-модулированный сигнал, затем уже знакомый нам сигнал с FSK. А вот с краю справа — другой тип модуляции. На картинке видно, что здесь меняется не частота и не амплитуда, а фаза сигнала (PSK, Phase Shift Keying):
Длина сигнала составляет всего лишь 0.15с.
4. Проверка линии
Здесь оба модема посылают широкополосный (на все доступные 3.7КГц:) сигнал длительностью ~0.4с, результат посылается другому модему.
В завершении модем передает отдельный сигнал для настройки эквалайзера и подавления эха в линии.
Дальше динамик выключается, и выполняются более высокоуровневые процедуры — проверка логина/пароля, и если все нормально, пользователь подключается к Сети.
Заключение
Как можно видеть, в звуке модема заложено довольно много всего, и при разборе возник вопрос, а собственно, зачем так сложно? Зачем чередовать разные виды модуляции, чтобы просто обменяться данными?
Ответ вероятно, прост — legacy. Каждый новый модем должен не только работать максимально быстро и поддерживать наиболее новые протоколы, но и уметь соединиться с более старыми моделями. Поэтому в самом начале модемы соединяются на минимальной скорости в 300 бод и обмениваются информацией о протоколе, «расширенные настройки» передаются другим видом модуляции, которые старый модем проигнорирует, а новые модемы смогут использовать.
Разумеется, я не ставил целью разобрать каждый бит в сигнале, выше приведена лишь общая информация. Желающих изучить тему более подробно можно отослать к статье 2012г (на английском) или к описанию стандартов ITU, но для первого знакомства думаю, информации достаточно.
P.S.: Под спойлером звук модема с раскладкой по времени:
Видео