Pull to refresh

Comments 62

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

Вот только реальность такова, что абонентские устройства в большинстве случаев до сих пор подключаются к интернет, используя протокол pppoe, мобильные устройства через свой модем (совсем как во времена dial-up), а роутеры проводных провайдеров часто используют ppp поверх ethernet (PPPoE)

Да, но давно вы конфигурировали pppd руками?

root@home:/etc/ppp/peers# ls -la
итого 56
drwxr-s--- 2 root dip 4096 ноя 14 20:52 .
drwxr-xr-x 8 root dip 4096 авг 27  2023 ..
-rw-r----- 1 root dip  146 ноя 14 20:52 domru

После замены материнки наименования интерфейсов сбились; пришлось немножко руками поправить...

домру aka эртелеком aka дурдом позволяет в ЛК перейти с pppoe на ipoe, латенси до их же GW падает в полтора раза (но почему-то пропадает IPv6).

Страшную вещь скажу, но я никогда его не конфигурировал: в Windows 95 уже всё делалось автоматически с настройками по умолчанию.

Повезло )

Во времена Windows95 бывали такие телефонные линии, что на них приходилось сначала конфигурировать AT-командами максимальную скорость, а уже потом - дозваниваться.
Иначе коннект мог пойти на высокой скорости (33600, что ли? не помню), а потом глухое зависание, потому что линия шумная, трескучая, и выше 19200 ну никак.
Вот и ограничивали.

конфигурация была нужна в случае необходимости выжать максимум или заставить работать соединение в случае если у провайдера были проблемы с оборудованием/проводами. Сам баловался этим когда-то

Ну в нормальных звонилках можно было задавать инициализационную строку модему. Я уже в упор не помню названий, но добыть такие не было проблем - диски на барахолках. Может, и в родной звонилке было?

Собственно, автоконфигурирование это была одна из фишек подключения по PPP (супротив SLIP)

Никогда не конфигурировал. Во времена FIDO которые я застал, уже были сконфигурированные пакеты софта, где всё настраивалось автоматически, скриптами.

с мобильными устройствами там несколько, кхм, чудесатее, и зависит от стека (2G/3G/4G)

а pppoe и pptp давно пора закопать и засыпать известью.

скорее зависит от GSM-чипа, если правильно помню на стороне сотовой сети и без того идет пакетная передача данных, там своё, а вот переход от этих пакетов к внешнему по отношению к чипу интерфейсу может идти по-разному.
Довольно часто - AT-команды (включение, выключение, выбор сети, каналов, скорости, аттач/деаттач) + "дозвон до номера 99" + PPP.
И уже потом это может обрабатываться микропроцессором самого девайса чтобы выдавать канал в каком-то виде - а может просто через usb-serial, тогда за PPP отвечает драйвер модема в роутере.

Ну или ручками, если воткнуть такой модем непосредственно в комп.

Как-то так

Внутри LTE ipv4-6 работает нативно, без всяких прокладок в виде РРР, взаимодействие между модемом и хостом тоже давно мигрировало на mbim/qmi/xmm/mhi. Легаси режим с РРР через ttyX оставляют для обратной совместимости (наверное).

Несколько лет назад (типа лет пять) возникла задача разослать сотне контрагентов факсовое сообщение одинаковое. Не буду углубляться в подробности, суть в том, что важно было сделать именно так. Уже звучит олдскульно, но история тут куда глубже. По старой памяти, решил ради этой цели купить диалапный модем, дабы автоматизировать процесс - там же все просто потом делается (хотя проще конечно было онлайн сервис арендовать для этого, но я же сильно раньше до этого делал подобное сам, так что действовал по наитию). И тут случился незабываемый квест! Привычно зашел в ближайшие Мвидео/Днс/Эльдорадо с нормальным, вроде бы, вопросом: есть ли в продаже нужная железка... Вы бы знали, как это сложно объяснить консультанту, что модем с дозвоном по простой телефонной линии серьезно отличается от 3G/4G модема и совсем это даже не DSL. Ну то есть прямо директор магазина к тебе выходит, спрашиваешь его, а понимания с его стороны нет от слова совсем. По итогу на авито взял и задача была быстро решена. Но сам факт до сих пор вспоминаю с умилением!

так там небось некоторые продаваны в школу пошли уже после перехода на дсл...

Следующим вопросом наверняка был «а что такое факс?»

Спутают с пипифакс, простите за мой французский. То есть то что перед глазами, когда сидишь на троне.
А то что это больше уходит к телетайпам и прочим передачам информации далеко...

Эх, не про железо, но: настраивали мы как-то виртуальный факс на макинтоше (том самом моноблоке). Ну никак не понять, куда сохраняется файл. А потом руководитель допер, что этот факс "печатается" на виртуальном принтере и так может быть отправлен...

Для вас уже не актуально, но существует протокол ITU T.37 для передачи факсов через электронную почту, а так же сервисы в интернете, поддерживающие этот протокол. За деньги, естественно. Но может быть проще и дешевле, чем искать факс-модем

Если вам или кому-либо ещё понадобится отправить факс, есть прекрасное российское ПО "Вента Факс". В последней версии (а обновлялся он давно) поддерживает не только аналоговые и старые GSM-модемы, но и современный SIP.
До сих пор им пользуюсь, в основном, как SIP-клиент, но иногда и по прямому назначению.
Считаю, что это лучший "виртуальный" факс для Windows.
http://www.ventafax.ru/

Для начала, что такое вообще модем? Если не вникать глубоко в детали — всегда используется пара модемов: на вход одного из них подаются какие‑то данные, модем преобразует их в некий аналоговый сигнал для передачи по проводам, а второй модем декодирует их обратно в данные.

модем, нас учили, это модулятор/демодулятор, т.е. преобразователь сигнала

Ну так и есть: цифрового — в аналоговый и аналогового — в цифровой.

Были ещё в природе цифровые ISDN модемы (ну по крайней мере в те времена их называли именно так, а не роутерами и не терминалами). Технология ISDN - это цифровая телефония по медной линии, из аналогового там только электропитание для оконечного клиентского устройства. В настоящее время практически уже ушла в историю.

цифровая телефония по медной линии, из аналогового там только электропитание

Сигналы в длинной линии вполне аналоговые.

Не везде, на длинных линиях в никуда, те же граниты, что пользовался в 90е на 115кбит, до сих пор в ходу.
Промышленность, АСУТП.

Неплохой исторический экскурс и дополнительная информация по теме:
https://gekk.info/articles/ppp.html

Инструкция по настройке Windows 2003 на приём входящих соединений по модему:
https://gekk.info/articles/ras_2k3.html

Мои размышления на тему использования ppp как базис для туннелирования в прокси-протоколах
https://github.com/shadowsocks/shadowsocks-org/discussions/244

PPP это для ламеров, настоящие мастера использовали Serial Line Internet Protocol (SLIP).

PPP это достаточно сложный протокол с неколькими уровнями инкапсуляции и набором "подпротоколов". SLIP же простой как топор - берется сырой IP пакет из сетевого интерфейса, эскейпятся все байты которые имеют непечатный вид (точнее, управляющие ASCII коды которые могут повлиять на режим работы терминальной линии) и полученный результат отправляется в последовательную терминальную линию. На другом конце терминальной линии процесс обратный. Все настройки интерфейса (IP, маска, MTU), таблица маршрутизации и адреса DNS серверов задаются пользователем отдельно (обычно скриптом) и находятся за рамками протокола SLIP.

SLIP один из самых примитивнейших, быстрых и надежнейших протокоров связи в Интернет. На заре становления сети Интернет, SLIP-ом использовались поголовно как пользователи, так и интернет-провайдеры для связи узлов. Поднять SLIP можно как через последовательную линию связи, так и через заготовленную пару сокетов, через TCP или UDP, а так же через SSH. SLIP можно распечатать на листах бумаги и передавать вручную или голубями (с PPP кстати такой фокус не пройдет). SLIP может работать по симплексной линии связи, а PPP - нет.

не эскейпились!

А для SLIP и PPP это не нужно было. По крайней мере для нормальных модемов.

"Аллюр три креста", переводящий модем в режим приёма команд, был определён как: не менее секунды паузы, затем три '+' (причём обычно был регистр для замены этого символа) с интервалами между ними менее секунды, затем снова не менее секунды паузы, и только тогда оно воспринималось. (Да, по вашей ссылке это сказано, но недостаточно отчётливо. Тайминги тут критичны.)

Ни в SLIP, ни в PPP, ни в X/Y/Zmodem, ни в Hydra, ни в FTS-1, вообще нигде такая ситуация не могла возникнуть - везде был какой-то фрейминг. Могло при ручном общении в терминале, но люди обычно знали о проблеме.

А вот что было (мне не попадались, но слышал) - "левые" модемы, которые не соблюдали правило с задержками, потому что оно было запатентовано Hayes, Inc. и надо было ей платить за пакет правил для модема. Вот с ними могли быть проблемы... но, повторюсь, ни разу такие не попались.

Так это для нормальных модемов. А дешманские на это забивали.

Мне ни разу не попадались. Вы помните какие-нибудь модели?

Так они ж дешманские — вот и не были у всех на слуху, как «Спортстеры». У меня был, на 2400, всего $40 стоил (по сравнению со средней ценой приличного в $100) — визуально его помню, чёрный, как обмылок выглядел — а названия никогда даже и не знал и не интересовался, модем и модем.

У меня был Conexant v.92 самый дешёвый что вообще был в продаже, я тогда не придал значения надписи Soft Modem, оказалось зря, всё веселое началось дома, оказалось там от модема только физический уровень, всё что выше по OSI делалось в драйверe для винды, ох и пляски было его поднять под mandrake linux, с какими-то open source дровами, написанными на GNAT от Васька2000, версии 0.1а

Не, winmodem-ы были позже. А этот был честный внешний. Пропускной способности RS-232 для soft modem-а не хватает.

Так называемые винмодемы (без компорта, обмен шёл другим протоколом) и софтмодемы, как у вас (где, да, вся обработка сигнала шла программно) - это уже сильно позже и другая категория. Я всё-таки вспоминал те, которые внешние и подключались именно к компорту.

(Были ещё внутренние, которые для ISA изображали компорт, но он тут же шёл в их логику. У меня был Sportster внутренний на 14400.)

Не-не-не, у меня был честный компортовый модем. Просто на 2400, потому и дешёвый. Но мне хватало.

Знаю по той простой причине, что использовал его не с PC — они тогда космических бабосов стоили.

Что самое прикольное — +++ , могущие повлиять на режим работы модема, не эскейпились!

Выход в коммандный режим по трем плюсам это фича Hayes-совместимых модемов и она отключалась AT-командами. И на сколько я помню, по-умолчанию она у всех модемов была отключена.

На всех модемах, которые у меня были, она была по-умолчанию включена.

Значит мне сильно везло.

Спасибо за "ламеров". Не слышал это слово лет 20. Эх.

Спасибо за "ламеров". Не слышал это слово лет 20.

Может, ещё и не видели?

Во-первых, к сожалению, технология ещё не забыта. Может, в России и забыта, но в других местах полно DSLа, который работает через PPPoE или даже PPPoA. Это не говоря про более экзотические системы, как-то сеть на субпротоколе BCP или ppp-ssh vpn. Во-вторых, текст содержит ряд (мягко выражаясь) неточностей:

Для начала, что такое вообще модем? Если не вникать глубоко в детали — всегда используется пара модемов

Зачем ставить вопрос, ответ на который вы не собираетесь давать? МоДем — это модулятор/демодулятор.

И в самом деле, компьютеры можно было соединить через COM — порты обычным проводом, точнее тремя — Rx, Tx, Gnd.

В смысле один проводом состоящим из трёх жил? Точнее из 9и. Там ещё есть RNG, DCD, DTR, и т.д.

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

Сотовые модемы сейчас предоставляют виртуальный интерфейс эфирнета, наряду с виртуальным ком-портом. Иногда и вместо него. Если только это не что-то очень старое или, поддерживающее только GSM. Что редкость, ибо GSM отключают по всему миру.

Если на пальцах — создается виртуальный сетевой интерфейс, и проходящие через него IP‑пакеты преобразуются в фреймы LCP

LCP = Link Control Protocol. Субпротокол PPP предназначенный для установления параметров соединения, как-то шифрование, сжатие и т.п. Данные передаются непосредственно во фреймах PPP, без дополнительных субпротоколов

В процессе этого обмена происходит установление IP‑соединения

Не происходит. Во-первых, потому что "установление IP-соединения" — это нечто из другой вселенной. В нашей, протокол IP не предусматривает никаких соединений. Во-вторых, потому что протокол PPP является протоколом уровня 2/3 и данные там могут ходить без заголовков IP

стороны получают свои IP‑адреса

Могут получать, а можно отключить IPCP и посылать данные так.

Ещё раз напомню, для этого достаточно обычного куска провода, никакой особой магии там нет,

Нужен либо телефонные провод и модемы, либо ком-порты тех или иных стандартов (RS-232, RS-485, RS-422)

Для начала допустим, что на обоих сторонах туннель выведен на порт 127.0.0.1:5005, для простоты

Для начала допустим, что из "127.0.0.1:5005", порт это только 5005.

То есть, записывая данные в 127.0.0.1:5005 на ноутбуке — можем прочитать их в 127.0.0.1:5005 на сервере.

Только если сервер работает на том же ноутбуке. Вообще, стоило бы более явно обозначить, что этот ваш пример работает только если и сервер и клиент запущены на одной и той же машине. Если машины разные, то 127.0.0.1 надо поменять на адрес сервера.

используем псевдотерминал который создаётся командой nc (netcat) слушающей 5005 порт

nc гоняет данные между сетью и своим stdin/stdout. Никаких псевдотерминалов он создавать не умеет. Псевдотерминал (для связи nc stdin/stdout и pppd) создаёт сам pppd, когда вы указываете опцию pty

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

Это вы все пишете потому что читаете невнимательно.

Начнем с того, что в тексте явно идёт отсылка к статье про i2p, если бы вы ее потрудились прочитать то поняли бы, почему именно 127.0.0.1:5005, и почему это не на одной машине. Но вы же не читали, правда? )

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

А закончим тем, что для соединению по компорту трёх проводов достаточно. И снова, если бы вы попробовали - то знали бы, но вы же не пробовали, правда? )

Обычных трёх проводов, например даже трехфазного силового электрокабеля, если необходимость требует. Там ограничение разве что по длине, потому что завал фронтов импульсов и как следствие необходимость снижения скорости обмена. Просто в данном случае это несущественно.

у такого канала связи вне лабораторных условий обязательно должны быть шифрование и аутентификация. 2025-ый год всё-таки.

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

А вот тут не соглашусь, коммутируемая линия на АТС сегодня наверняка пишется "по пакету Яровой", а к выделенной интересного фигуранта можно и чемодан аппаратуры подключить, потому что она только в плане коммутации выделена, физически это вполне себе обычная пара в кросс-боксе, вон на улицах стоят и на столбах висят. Надень спецовку да работай спокойно.

Но "для целей данной статьи" - канал передачи данных скрыт в облаке i2p, и как именно он там идет - считается, что никто не знает заранее

Так ведь вопрос не столько о прослушке, сколько о MITM. Слушать линию не так трудно — а вот отрубить обоих участников и вклиниться в разрыв — уже на порядки сложнее.

Пусть слушают.
Сомневаюсь, что из телефонной записи такого "разговора" двух модемов удастся восстановить потоки информации. Для надёжности можно передавать шифрованные файлы.

Вполне возможно купить/арендовать "тёмное" волокно. Но это очень дорогое удовольствие, но оно есть. и это не говоря о шифросвязи. Но геморроя много отваливается при таком решении, зафиксированном в договоре.

Что то я не уверен что везде неактуален ппп

И в самом деле, компьютеры можно было соединить через COM — порты обычным проводом, точнее тремя — Rx, Tx, Gnd.

Вы ведь знаете, чем отличается UART от RS-232?

Тем, что второе, помимо аппаратно других электрических уровней, это ещё и сигналы квитирования, flow control.

Это в каком определении UART нет управления потоком?

UART только асинхронный. RS-232 позволяет и синхронную передачу. Вот это - существенное отличие (как минимум одно из). А вы явно вспомнили что-то не то.

А упоминание сигналов квитирования вы целенаправленно проигнорировали?

Flow control может быть аппаратным, когда сигнал «попридержи коней, я не успеваю переваривать приходящие данные так быстро» идёт по отдельной сигнальной линии, а может быть программным с помощью символов XON/XOFF.

Сама возможность передавать такие спецсимволы через UART абсолютно не означает, что по ту сторону софт (или, иногда «хард») будет интерпретировать эти символы именно как сигналы управления потоком.

XON/XOFF это не то, что подразумевается в UART по умолчанию и из коробки.

Вот декларируется для какой-то МК, например для AVR8, что она аппаратно поддерживает UART. И действительно поддерживает: есть специальный регистр, биты, специальные прерывания — положил байтик, а чип сшифтит в соотв. пин, сгенерирует старт-стоп-парити. А пошлёт ли МК самостоятельно XON/XOFF если код прошивки не забирает данные их приёмного буфера, а новые данные всё прут и прут? Конечно же нет.

А упоминание сигналов квитирования вы целенаправленно проигнорировали?

А я не понял, почему вы управление потоком называете квитированием. Это разные понятия. Может, где-то так принято называть на уровне жаргона, но это никак не общий подход.

А пошлёт ли МК самостоятельно XON/XOFF если код прошивки не забирает данные их приёмного буфера, а новые данные всё прут и прут? Конечно же нет.

А вы видели где-то в железе потолще уровнем чем МК именно порт (например, на стандартной 16550A), который бы сам генерировал XON/XOFF? Они такого не умеют, это чисто драйверная фишка.

С тем, что где-то могут делать сильно урезанный UART (вплоть до того, что он не умеет ничего кроме Tx/Rx/SG), я согласен, но это уже другой вопрос.

А вы знаете, что на старых компьютерах можно было играть в Doom вдвоем с соседом, подключая их нульмодемным кабелем по компортам? У нас не было нульмодемного кабеля на 15 метров, зато был электрический силовой и знание аппаратной части.

3 физических проводника. Всё. Ну а позже я так внешний модем подключал, тоже провода не хватало по длине.

Про то, как подключить современные через USB-ttl адаптеры пояснять тем более незачем, там часто других выводов и нет, ну кроме +5, +3.3в

Там проблема с расстоянием - портится сигнал, заваливаются фронты, собственно поэтому модемы и придумали, чтобы проблему решить

У нас не было нульмодемного кабеля на 15 метров, зато был электрический силовой и знание

Не зная про ограничения интерфейса, сделали линию на 50 метров из подъезда в подъезд, взяв одножильный провод и сложив его втрое. Поиграли на 9600, пока кто-то из дворовых пацанов не прознал и не срезал себе кусок с участка на чердаке.

P.S. При этом сейчас понимаю, что у обоих не были заземлены системники и не было абсолютно никакой уверенности, что мы с одной и той же фазы запитаны. Но порты не сгорели.

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

На входе блока питания стоит фильтр, в котором есть два конденсатора, включенных последовательно между "фазой" и "нулем" (для бытовых приборов с металлически корпусом они обязательны), средняя точка которых электрически соединена с металлическим корпусом. Если системник не заземлен (или хотя бы не занулен), то тыльной стороной ладони при легком касании корпуса вы можете ощутить пощипывания - это 110В. Которые к тому же видно фазочувствительной отверткой с "неонкой". На практике же не раз выходили из строя микросхемы интерфейсов TTL/RS232 (типа MAX232) в оборудовании, когда оборудование было заземлено, а системник - нет.

Спасибо за }{}}}{{{}}{}}{{!
Ностальгия, больше 25 лет не видел впрямую.
Хотя тот же про ппп-остоянно настраиваем. Пусть и неявно.

Заголовок вводит в заблуждение. Сам PPP, даже без учета железок с PPPoE, по-прежнему используется очень широко - какой VPN ни возьми, практически наверняка будет он. Вот буквально год назад в проприетарном F5 Big VPN видел именно PPP-интерфейсы.

Sign up to leave a comment.

Articles