dsl что это такое простыми словами
Что такое DSL (Digital Subscriber Line) и как это работает
Цифровая абонентская линия (DSL) — это технология высокоскоростного Интернета, которая позволяет передавать цифровые данные по проводам телефонной сети. DSL не мешает телефонной линии; одна и та же линия может использоваться как для Интернет, так и для обычных телефонных служб. Скорость загрузки DSL колеблется между 384 Кбит/с и 20 Мбит/с. Самой популярной реализацией DSL сегодня является Асимметричная цифровая абонентская линия (ADSL). Это асимметрично, потому что скорость загрузки и загрузки не одинакова (не синхронизирована). Загрузка обычно происходит намного медленнее, чем загрузка, поскольку она обычно не так необходима, как высокая скорость загрузки.
Следует отметить, что расстояние, на которое данные должны перемещаться, несколько снижает скорость загрузки и загрузки. Современный ADSL может обрабатывать 24 Мбит / с на 2-километровом участке провода. Однако, когда провод имеет длину более 2 километров (или что-то большее, чем 1,25 мили), передача данных уменьшается. Именно из-за этого, в то время как ADSL может иметь большую скорость загрузки, чем дальше человек от поставщика услуг, тем меньше вероятность того, что он получит. Поэтому поставщики услуг склонны рекламировать низкий бал, но потребитель может получить больше. Все зависит от расстояния, которое должна пройти информация по медным проводам.
DSL разделяет частоты, используемые в одиночной телефонной линии, на две основные полосы. Высокочастотный диапазон используется для отправки данных ISP, а низкочастотная полоса используется для отправки речевых данных. Благодаря этой технологии мы можем наслаждаться доступом в Интернет, одновременно пользуясь телефоном. DSL можно легко установить и работать вместе с любым существующим оборудованием для вашей стандартной телефонной линии.
Обычный DSL
Обычная DSL — это стандартная форма DSL, которая требует передачи существующей наземной линии передачи данных и голоса. В обычной DSL клиенты обычно объединяют телефон и Интернет вместе и имеют доступ одновременно. Голосовые сигналы передаются по проводам на гораздо более низкой частоте, чем сигналы данных, и, таким образом, позволяют передавать данные, не мешая речевым сигналам по той же линии.
Naked DSL
В naked DSL клиенты не обязаны иметь существующую стационарную связь, имеющую доступ к Интернету. Это позволяет клиентам отказаться от дополнительных сборов, связанных с стационарными телефонами, и переключиться в первую очередь на их план сотового телефона. Было много споров по поводу naked DSL, но неизбежно, многие провайдеры телефонов были вынуждены предложить его в рамках своих упакованных планов.
Настройка DSL
Для DSL-сервиса необходим DSL-модем (известный как DSL-приемопередатчик) для подключения к телефонной линии или разъему. Затем DSL-модем подключается к компьютеру. В конце телефонной линии телефонная линия подключается к цифровому мультиплексору доступа к абонентской линии (DSLAM). DSLAM — это в основном сетевое устройство, которое подключает несколько линий DSL к высокоскоростному интернет-магистрали.
DSL-модем, DSLAM и компьютер должны быть синхронизированы друг с другом, чтобы служба DSL работала должным образом. Процесс синхронизации выглядит следующим образом:
Процесс синхронизации обычно длится несколько секунд. В модемах DSL есть индикатор, обозначенный как DSL или LINK. Если процесс синхронизации будет успешным, зеленый индикатор останется включенным.
Технологии DSL
Было много версий DSL, поскольку за эти годы это было многократно обновлено. Ниже приведен полный список версий и типов DSL, которые стали доступны для общественности.
Цифровая абонентская линия ISDN
Цифровая абонентская линия ISDN была одной из первых форм DSL и использовала технологию, известную как ISDN для передачи сигналов.
Цифровая абонентская линия с высокой скоростью передачи данных
Цифровая абонентская линия с высокой скоростью передачи данных была первым устройством DSL, которое использовало витые медные кабели для передачи сигналов в высокочастотном спектре.
Симметричная цифровая абонентская линия
В Symmetric Digital Subscriber Line одинаковое количество данных загружается и загружается в любой момент времени.
Симметричная высокоскоростная цифровая абонентская линия
Симметричная высокоскоростная цифровая абонентская линия была создана для более быстрой замены Symmetric Digital Subscriber Line.
Асимметричная цифровая абонентская линия
В Асимметричной цифровой абонентской линии загружается больше информации, чем загружается в любой момент времени.
Асимметричная цифровая абонентская линия 2
Асимметричная цифровая абонентская линия 2 обеспечивала качество, которого не хватало предшественнику.
Асимметричная цифровая абонентская линия 2 Plus
Асимметричная цифровая абонентская линия 2 Plus увеличила скорость передачи данных DSL на 200%.
Асимметричная цифровая абонентская линия Plus Plus
Асимметричная цифровая абонентская линия Plus Plus была создана в Японии и увеличила скорость передачи данных DSL до 50 мегабит в секунду и увеличила спектр, используемый для 3,75 мегагерц.
Адаптивная цифровая абонентская линия
Адаптивная цифровая абонентская линия используется для снижения скорости при увеличении диапазона и производительности сигнала.
Высокоскоростная цифровая абонентская линия
Высокоскоростная цифровая абонентская линия была просто более быстрой версией предыдущих моделей.
Высокоскоростная цифровая абонентская линия 2
Высокоскоростная цифровая абонентская линия 2 была изобретена для замены уже увеличенных скоростей высокоскоростной цифровой абонентской линии.
Etherloop
Etherloop — это технология, позволяющая использовать кабель Ethernet для передачи данных и голоса по телефонной линии.
Uni-DSL
Uni-DSL — это система, внедренная Texas Instruments, которая работает со всеми формами DMT, который представляет собой метод разделения частот на высокие и низкие сигналы, позволяющий передавать данные и голос по одному и тому же проводу одновременно.
Гигабитная цифровая абонентская линия
Гигабитная цифровая абонентская линия предлагает скорости, которые раньше никогда не видели в сообществе DSL, способных передавать данные со скоростью примерно 128 Мбит / с.
Универсальная цифровая абонентская линия с высокой скоростью передачи данных
Универсальная цифровая абонентская линия с высоким битрейтом — это новейшая версия DSL и является примером волоконно-оптической технологии. Цифровая абонентская линия универсальной высокой скорости передачи данных обеспечивает чрезвычайно быструю скорость и надежное обслуживание при правильной установке.
ADSL (асинхронный DSL)
ADSL (асимметричный DSL) — это тип DSL, где пропускная способность по восходящему и нисходящему каналам назначается различной пропускной способностью. Типичные конфигурации сегодня — 2 Мбайт ниже по течению и 128 КБ вверх по течению.
Downstream — это данные, которые вы загружаете по сети в локальные системы. Upstream — это данные, которые вы отправляете из своих локальных систем по всей сети.
IDSL (ISDN через DSL)
IDSL (ISDN через DSL) является стандартом 144Kb для DSL. IDSL используется, когда другие типы DSL недоступны. IDSL работает медленно и относительно дорого, но иногда это может быть наилучшим вариантом.
RADSL (адаптируемая скорость DSL)
RADSL (Rate Adaptive DSL) — это асимметричный DSL-вариант, который может регулировать скорость DSL-соединения в зависимости от расстояния от центрального офиса (CO) и качества соединения.
SDSL (симметричный DSL)
SDSL (однолинейная DSL) — это тип DSL, в котором восходящий и нисходящий каналы настроены на одну и ту же полосу пропускания. SDSL обычно работает на скорости 1,5 Мбит / с вверх и вниз по течению.
VDSL (очень высокая скорость передачи DSL)
VDSL (очень высокая скорость передачи данных DSL) — это асимметричная версия DSL, которая работает на очень высоких скоростях, но только на расстоянии до 1000 футов от центрального офиса (CO).
DSL Lite
DSL Lite — это асимметричный вариант DSL, который размещает разделитель DSL в центральном офисе telco, а не в помещении клиента.
G.SHDSL (однопарная высокоскоростная DSL)
G.SHDSL (однопарная высокоскоростная цифровая абонентская линия) представляет собой вариант SDSL, который определен стандартом МСЭ G.991. Он работает на симметричных скоростях от 192 Кбит / с до 2304 Кбит / с по одной линии и 384 Кбит / с — 4608 Кбит / с по двум парам.
Европейцы относятся к G.SHDSL как «SDSL», вызывая путаницу с существующим оборудованием SDSL.
DSL-фильтры
В большинстве домов есть две пары проводов от местной телефонной компании. Если в доме используется только одна телефонная линия, DSL можно установить на вторую пару.
Если в доме используются обе телефонные линии, DSL должен использовать одну проводную пару с голосовым трафиком. Это делается с использованием фильтра DSL.
Фильтр DSL представляет собой небольшую коробку, прикрепленную к проводной паре, чтобы разделить ее на две отдельные пары проводов — одну для голосового трафика, а другую для трафика DSL.
DSL и aDSL-модем: чем отличаются, определение, примеры, порты и подключение
Всем привет! И сегодня мы поговорим про aDSL модемы – что это такое, для чего нужны и разберем некоторые нюансы, о которых нигде почему-то не пишут. Сейчас используются различные способы предоставления доступа к интернету. К более распространённым и удобным относится технология xDSL. «Digital Subscriber Line» означает – «Цифровая Абонентская Линия».
При помощи её обеспечивается высокая скорость передачи информации по телефонному кабелю, а сам телефон в такой ситуации не занят. Модем xDSL связывает телефонные провода и аппарат (либо маршрутизатор). Выбирая определенную модель, следует подробно изучить характеристики, подходящие конкретному владельцу. Модем aDSL имеет визуальное сходство с обычным роутером, но для интернет-подключения предусмотрен разъем как к простому телефону.
Чем отличается DSL от aDSL? По сути это все тоже соединение по телефонной линии, но при aDSL идет асинхронный прием и отправку трафика на выделенной линии – то есть скорость входящего трафика будет в разы больше чем скорость исходящего.
Принцип функционирования ADSL
Чтобы понять, что такое модем-aDSL, следует расшифровать это обозначение. Переводится «АДСЛ», как «Асимметричная цифровая абонентская линия». Асимметричной она называется из-за того, что в объеме исходящий трафик в пропускном канале меньше, чем входящий.
Объясняется это тем, что пользователи по большей части занимаются загрузкой из сети, нежели выгрузкой. Подключение к сети осуществляется с помощью телефонной линии, и чтобы не занимать сам телефон применение с помощью данной технологии устанавливается нижняя частотная граница в 25 кГц. Для телефона используется частоты в диапазоне от 0,2 до 3,5 кГц. В связи с этим частоты не пересекаются, что обеспечивает существование на одной линии телефона с интернетом.
Скорость модема-ADSL с разным количеством каналов:
Базовая скорость (Мбит/с) | Число каналов | Скорость (Мбит/с) |
---|---|---|
1,536 | 1 | 1,536 |
1,536 | 2 | 3,072 |
1,536 | 3 | 4,608 |
1,536 | 4 | 6,144 |
2,048 | 1 | 2,048 |
2,048 | 2 | 4,096 |
2,048 | 3 | 6,144 |
Настройка и управление
Для осуществления этих действий используются, как правило, три технологии:
Что требуется для подключения модема?
Для того чтобы подключиться к интернету и объединить компьютеры в локальную сеть необходимо использование специального оборудования:
Если используется DSL технология, то дополнительно потребуется приобретение специального оборудования: микрофильтров, сплиттера. При необходимости разделения телефонной линии с модемом необходима установка сплиттера, если это не нужно, то пользуются микрофильтром.
Для стабильной и быстрой работы интернета осуществляется установка сплиттера – специального разветвителя для одновременного использования интернета и бытового телефона, он оснащен одним входом и двумя выходами. К входу подсоединяют телефонные провода, а к выходам – телефон с кабелем к модему.
При подключении к телефонной линии по технологии такого типа нескольких ПК, следует выбрать модемы, наделенные еще и функцией роутера, поддерживающих Вай-фай. Проще и доступнее будет подсоединить модем aDSL c USB-портом.
Как подключить?
Процесс подключения выполняется в определённой последовательности:
Критерии выбора
Модемы xDSL наделены различными характеристиками, важнейшими из которых являются предельно возможная отдалённость от телефонных узлов, скорость обмена информацией, симметричная либо асимметричная передача. Зная условия использования xDSL-модемов и в чём их разница, можно сделать выбор более подходящего для вас устройства. Выбирая модем, необходимо выяснение определённых характеристик телефонной сети: длины провода до телефонного узла, число медных пар кабеля и его качественные характеристики, наличие предложений и возможностей провайдера. Следует убедиться в том, что отсутствуют помехи на линии, что может быть вызвано тем, что пересекаются пары кабеля либо у него низкое качество.
Преимущества и недостатки технологии
Основными достоинствами являются:
Недостатками технологии считаются:
Лучшие ADSL модемы с функцией роутера
К наиболее популярным АДСЛ-модемам относятся:
К лучшим бюджетным моделям относятся:
На скорость интернета влияет качество используемого оборудования и линий проводного соединения. Линия должна быть короткой – не более 5 км. Большое количество отводов и маленький диаметр отводов сказываются на снижении этого показателя.
Сделать сложное простым: что такое DSL, или зачем вам новый язык программирования
Сделать простое иногда во много раз сложнее, чем сложное
© Михаил Калашников
Здравствуйте, меня зовут Владимир Кожаев, я фрилансер-разработчик инструментальных средств (звучит почти как анонимный алкоголик). Этой статьёй я открываю цикл материалов, посвящённый разработке парсеров, трансляторов, компиляторов и тому подобных инструментов, облегчающих жизнь.
Действительно, зачем это нужен ещё один язык программирования? Понятно, он может быть нужен в каких-то НИИ при университетах, но обыкновенному бизнесу — какой толк от этой заумной мути? Вообще к чему столько разных языков, почему бы не использовать один единственный? Давайте разберёмся.
Почему бы не пользоваться одним языком
Жил да был в Великобритании выдающийся математик, логик, криптограф, и звали его Алан Тьюринг. В числе других открытий он придумал машину имени себя. Опуская подробности, скажем, что с помощью этой машины можно реализовать всё то же, что и с помощью любых средств программирования более высокого уровня. То есть любую программу на любом языке можно переписать с помощью этого достаточно простого средства. Тем более на любом языке типа Java или PHP можно реализовать эту самую машину.
Как следствие, существует критерий полноты по Тьюрингу-Чёрчу. Язык называется полным, если на нём можно реализовать машину Тьюринга. Все популярные языки программирования общего назначения (Java, C#, PHP, Python, Scala, JavaScript и так далее) являются полными. Что же это означает? Все популярные языки эквивалентны! Ну вот, смотрите: мы знаем, что все программы можно выполнить с помощью машины. Машину же, которая выполняет, можно написать что на PHP, что на C++. Получается, одну и ту же программу, записав её на языке машины Тьюринга, можно выполнить везде. А мы знаем, что так можно записать вообще любую программу.
На практике это означает, что программу на языке, скажем, JavaScript, поднатужившись, можно переписать на С++. Обратное тоже справедливо. Да, имеют значение библиотеки и фреймворки, но саму логику можно без проблем перенести с одного языка на другой.
Зачем тогда разные языки нужны, почему бы не пользоваться одним? В знаменитом романе Семюэля Дилэни «Вавилон 17» описан человек с выключенной частью мозга. Вместо этого он обучен искусственному языку, близкому по синтаксису к записям математических выражений. Он замечательно подходит для быстрого решения логических задач, компактен и удобен, но ограничен. Например, отсутствовали слова «я» и «ты». Поэтому парадоксы, такие как «Севильский цирюльник», мозг ограниченный «Вавилоном 17», сожжет или заставит обратиться к отключенной части. То есть языковые конструкции во многом определяют способ мышления.
Рассмотрим язык математики более подробно. Вот, например, описание доказательства теорем методом математической индукции:
Расшифровывается это так. Допустим, что:
Тогда все утверждения нашей последовательности верны. Обратите внимание: вместо нескольких строк текста имеем лишь одну строку со строгим определением, понятным любому математику.
Что же такое DSL
Domain Specific Language, или язык предметной области, — это язык, созданный для конкретной области применения. Построение его, или структуры данных, отражают специфику решаемых им задач © Википедия.
То есть, если человек знает свою работу, учить DSL не надо — достаточно взглянуть один раз, и всё понятно (см. пример с математикой). Также хороший DSL не требует больших знаний в теории и практике программирования. Во многих, например, нет циклов. В некоторых — условных операторов (типа «if»). Часто язык является не полным по Тьюрингу, то есть написать любую программу с его помощью нельзя. Опять же, вспомним язык математики или кванторов. Он используется лишь для описания теорем или для их автоматического доказательства. Писать web-сервисы с его помощью было бы затруднительно.
Примеры использования DSL
DSL используются очень по-разному. Рассмотрим несколько из них и постараемся понять, в каком же случае следует их использовать.
Резак лазера
Положим, вы — инженер кораблестроитель и хотите вырезать большущую деталь для корпуса судна. Раньше это делалось так: на плотном картоне или фанере вычерчивали детальки, вырезали, прикладывали к листу стали, и люди, которых называли кернильщиками, ползали по листу и набивали по контуру выкройки впадинки. Дальше газорезчик шёл по контуру и вырезал. Представляете, что будет, если резчик с утра перебрал? А можно сделать это автоматически, чтобы робот считывал чертёж и сам ехал по листу, вырезая нужную деталь? Да, можно! Однако проблема в том, что траекторию его передвижения нужно как-то задать. Мол, поедь туда, опусти резак и дальше двигайся эдаким манером. Для этого нам нужны следующие команды:
Таким образом, в наиболее простом случае нам нужны только три команды:
Как видите, язык очень простой, но с его помощью можно вырезать деталь любой сложности. Для программирования с его помощью достаточно навыков на уровне уверенного использования ПК. Добавив к этому языку переменные, условные операторы, циклы и процедуры, получим очень мощное средство. Как бонус — исследование кода методом белого ящика. К примеру, можно проверить, не вылезает ли наш резак за пределы листа металла.
Алгоритмический трейдинг
Трейдер редко ошибается дважды — обычно раза три или больше
© Из грустного опыта продавшего квартиру
Каждый хочет купить дешевле и продать дороже — вроде бы понятно. Но как определить правильное время для сделки, если завтра цена может вырасти или упасть? Решение принимается с помощью фундаментального (новости, анализ экономических и политических событий) и технического (экстраполяция стоимости ресурса на основании предыдущих данных). Признаки, по которым судят о поведении цены, теоретически не доказаны и не точны. То есть какая то связь с реальностью усматривается, но обычно берут несколько признаков и принимают решение о закрытии или открытии сделки, когда сигнал о покупке либо продаже подают все используемые индикаторы.
Кривая цены меняется очень быстро. Данные, полученные 15 минут назад, как правило, интересны только для историков. Деньги на бирже крутятся большие, так что потерять несколько сот миллионов долларов за минуту можно запросто. Поэтому человеческий фактор хорошо бы свести к минимуму. Но как это сделать, если общей теории поведения цены не существует и стратегии торговли трейдер выбирает их с помощью интуиции? Один из способов уберечься от ошибки — создать специальный язык с минимумом «шума». Оставить в языке только необходимое, безжалостно избавясь от возможностей, которые нам не нужны. Что же нужно для трейдинга?
Давайте посмотрим, как будет выглядеть эта стратегия на языке Java. Допустим, мы хотим получить сигналы о покупке/продаже валют на серверах трех бирж с помощью стратегий: «фибоначчи», «скользящее среднее», «преобразование Гильберта». Для простоты будем считать, что время измеряется в тиках, название биржи, на которой работает сервер, задается просто строкой, и торгуем мы валютами — меняем доллары, евро или ещё что-нибудь на украинскую гривню и обратно.
На первый взгляд, код выглядит хорошо, но, если приглядеться, в нём полно ошибок.
Во первых, время работы стратегий меньше, чем время, в течение которого работает сервер. Во вторых, мы запускаем только один сервер, вместо трёх. Так что с этим кодом материальные потери не заставят себя долго ждать.
С другой стороны, трейдинг — это постоянный стресс и гонка. Работать нужно действительно быстро, но без ошибок. Как же быть?
Давайте посмотрим, как мог бы выглядеть текст программы, представленной выше, записанный на действительно удобном языке.
Сверху маркер начала программы, дальше идёт список серверов. У каждого сервера один раз задается название биржи, с которой происходит работа, и время его работы. Дальше идёт список стратегий, каждая с специфическими параметрами.
Преимущества предложенного примера очевидны. Во первых, текст стал лаконичным: сервера указываются ровно один раз. Стратегии — в непосредственной близости от сервера, на котором запускаются. Во вторых, мы избавляемся от ненужных подробностей. Трейдеру вовсе и не нужно знать, что такое Thread или что итоговая программа будет написана на языке Java.
Разработка игровой логики
Ошибка: робот погибает при попадании в него гранаты (именно от попадания, а не от взрыва). Д — дизайнер, П — программист.
Д: программисты всё сломали! почему так получается?!
П: естественно, так получается! потому, что у гранаты масса 100 кг! зачем вы это сделали?
Д: да?! а чтобы граната в воде тонула!
П: а почему она с нормальной массой не тонет?
Д: а потому что у воды плотность большая! (прим.: больше, чем у ртути)
П: а почему плотность такая большая?!
Д: а чтобы ящики деревянные плавали!
П: а почему они иначе не плавают?!
Д: а потому что у них масса 50 кг!
П: а зачем такая масса?!
Д: а иначе они некрасиво разваливаются!
Более того, игры сейчас выходят на множестве разных платформ. Выпустили под Windows, и надо выходить на Vii, на планшетах, на smart TV и так далее. Каждый релиз приводит к переписыванию кода, который уже работает и оттестирован, хотя логика действий персонажей не меняется при переходе от устройству к устройству. Можно, конечно, использовать кроссплатформенные средства. Такие как Unity, или Haxe, но, как правило, проблема в том, что кроссплатформа работает одинаково плохо на всех устройствах. То есть хотелось бы сделать так, чтобы разрабатывать заново нужно было только специфические для конкретной платформы вещи, оставив логику без изменений.
Можно ещё использовать для логики скриптовые языки, однако даже они слишком сложны для того, чтобы использовать их без изучения. Там много подробностей, нужных для программиста, но лишних для конструкций: «Если произошло это — сделай то».
Что же делать, учить дизайнера программированию? Но это две довольно разные и в каком-то смысле противоположные специальности. Хотелось бы сделать так, чтобы дизайнер достаточно простым способом без помощи программиста мог поменять поведение персонажей.
Конечный автомат
Представим игровую логику в виде состояний персонажа и переходов между ними. К примеру, у робота может быть три состояния: «бежать к игроку», «стрелять» и «искать патроны», когда они кончились. Действия происходят при входе в состояние, выходе из него, переходе от одного состояния в другое и когда состояние между через определенный метод времени не изменилось. Можно описать состояния и переходы с помощью JSON, или XML и потом воспользоваться шаблоном проектирования «машина состояний», как это описано в банде четырёх. XML для описания представлен ниже:
Но XML очень не удобен для программирования. Покажем, как это описать с помощью DSL-языка.
Как видите, описание стало гораздо более лаконичным и удобочитаемым. Появилась подсветка синтаксиса. Скажу вам по секрету, автокомплит и подсветка ошибок тоже есть.
Таким образом, можно отделять игровую логику от платформозависимых вещей: графики, ввода-вывода, управления и даже от того, как методы «стрелять», «бежать» и «кричать» реализованы на практике. Последнее является частным случаем декларативного программирования: вместо того, чтобы реализовывать детальный алгоритм, мы описываем конечный результат. Вместо того, чтобы говорить компьютеру как делать, мы говорим что.
Выводы
Все рассмотренные DSL:
DSL применяется, когда необходимо записать достаточно сложную логику и избавить специалиста в определённом домене от необходимости изучать программирование, а программиста — разбираться в предмете. Обратно, если для реализации задачи не нужно обладать квалификацией помимо собственно программирования, DSL вам не нужен.
Вторая статья будет посвящена графическим языкам программирования, последующие — способам реализовать DSL и применениям их в разных, иногда неожиданных областях.
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.