![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Заказной пост на тему: "А про sms можно рассказать? какой там протокол, и почему сообщение ограничено 160 символами?"
Учитывая, что про SMS материалов в сети масса, ответ будет коротким.
В процессе "придумывания" SMS (а его именно "придумывали", т.к. в отличие от голоса/факса у SMS не было аналога в "проводном" мире) перед авторами спецификации встал вопрос - как передавать SMS-ы между коммутаторами? Было принято решение использовать механизмы, доступные в рамках стека протоколов SS7 (Signalling System #7). Протокол MAP (используемый MSC для передачи "сигнальной" информации о звонке в процессе коммутации - кто звонит, кому звонит, и т.п.) был расширен специальным сообщением forward_short_message, содержимое которого, собственно, и является телом SMS.
Именно отсюда ростут ноги у известного ограничения. Протокол MAP основан на протоколе TCAP, который по своей природе предусматривал работу в режиме real-time, в стиле "короткий request - короткий responce". Естественно, что ни о какой фрагментации/сессиях в стиле TCP в рамках TCAP речь не шла. MAP унаследовал эту особенность.
Вот и получилось, что 1 SMS должен был обязательно влазить в одно MAP-сообщение. Максимальный размер payload в MAP - 140 байт или (140 * 8 = 1120 бит). В такое кол-во бит можно засунуть либо 160 7-битных символов, либо 140 8-битных, либо 70 16-битных. И только сравнительно недавно мобильные терминалы научились делать SMS concatenation и обходить это ограничение.
Литература:
Учитывая, что про SMS материалов в сети масса, ответ будет коротким.
В процессе "придумывания" SMS (а его именно "придумывали", т.к. в отличие от голоса/факса у SMS не было аналога в "проводном" мире) перед авторами спецификации встал вопрос - как передавать SMS-ы между коммутаторами? Было принято решение использовать механизмы, доступные в рамках стека протоколов SS7 (Signalling System #7). Протокол MAP (используемый MSC для передачи "сигнальной" информации о звонке в процессе коммутации - кто звонит, кому звонит, и т.п.) был расширен специальным сообщением forward_short_message, содержимое которого, собственно, и является телом SMS.
Именно отсюда ростут ноги у известного ограничения. Протокол MAP основан на протоколе TCAP, который по своей природе предусматривал работу в режиме real-time, в стиле "короткий request - короткий responce". Естественно, что ни о какой фрагментации/сессиях в стиле TCP в рамках TCAP речь не шла. MAP унаследовал эту особенность.
Вот и получилось, что 1 SMS должен был обязательно влазить в одно MAP-сообщение. Максимальный размер payload в MAP - 140 байт или (140 * 8 = 1120 бит). В такое кол-во бит можно засунуть либо 160 7-битных символов, либо 140 8-битных, либо 70 16-битных. И только сравнительно недавно мобильные терминалы научились делать SMS concatenation и обходить это ограничение.
Литература:
- http://www.telenor.com/telektronikk/volumes/pdf/3.2004/Page_187-194.pdf (очень хороший рассказ про историю возникновения SMS, рекомендую)
- http://en.wikipedia.org/wiki/Short_message_service (тут - еще раз рассказ про 160 символов)
- http://www.wirelessdevnet.com/channels/sms/features/sms.html (тут красивая картинка)
(no subject)
Date: 2006-11-10 02:59 pm (UTC)(no subject)
Date: 2006-11-10 03:01 pm (UTC)(no subject)
Date: 2006-11-10 04:00 pm (UTC)еорически полезная. Или про то, почему некоторый народ в спеках по гейтованию путает message class с esm class ;-)))(no subject)
Date: 2006-11-10 04:09 pm (UTC)(no subject)
Date: 2006-11-10 04:43 pm (UTC)(no subject)
Date: 2006-11-11 11:18 am (UTC)(no subject)
Date: 2006-11-10 04:01 pm (UTC)Если не углубляться - сойдет за софт порно :)
(no subject)
Date: 2006-11-10 03:37 pm (UTC)(no subject)
Date: 2006-11-10 04:13 pm (UTC)(no subject)
Date: 2006-11-10 04:18 pm (UTC)(no subject)
Date: 2006-11-10 04:45 pm (UTC)(no subject)
Date: 2006-11-11 11:17 am (UTC)Мне рассказывали, как вкручивание лампочки на узле одного крупного интернет-провайдера совпало с выключением света во всем районе :) Скорее всего, что-то подобное и имело место.
(no subject)
Date: 2006-11-25 10:05 pm (UTC)Это был пейджинговый оператор...
(no subject)
Date: 2006-11-26 03:25 pm (UTC)(no subject)
Date: 2006-11-11 07:41 am (UTC)И почему нельзя было сделать лимит в 140 сообщений для русского языка - всего лишь минимальная поддержка кодировок... Да и вообще, десяти бит на символ должно зватить всем, кроме африканцев и китайцев, которым и так это не нужно...
Блин, массовые опечатки =)
Date: 2006-11-11 07:44 am (UTC)сообщений -> символов
зватить -> хватить
Re: Блин, массовые опечатки =)
Date: 2006-11-11 12:25 pm (UTC)По поводу меньшего кол-ва бит на символ - возможно, оно было бы и хорошо. Но с точки зрения вселенского счастья, зачем городить еще один UTF-10, кроме UTF-8 и UTF-16?
Re: Блин, массовые опечатки =)
Date: 2006-11-11 01:03 pm (UTC)Re: Блин, массовые опечатки =)
Date: 2006-11-11 01:17 pm (UTC)Re: Блин, массовые опечатки =)
Date: 2006-11-11 02:01 pm (UTC)А действительно, создатели стандарта отправки сообщений могли выбрать любую кодировку, благо маловероятно, что телефоны к тому времени поддерживали юникод. Вон, выбрали семибитную кодировку, которая ведь не совпадает с ASCII, так? Могли бы заодно принять стандарт на расширенную десятибитную кодировку, а не [внезапно] использовать существующий избыточный стандарт, который ОЧЕНЬ маловероятно, что полностью поддерживается всеми телефонами на текущий момент...
Re: Блин, массовые опечатки =)
Date: 2006-11-11 02:51 pm (UTC)Я уверен, что если найти, где копнуть историю, то высплывут тоннами подробности о том, как каждый участник консорциума тянул одеяло на себя, и в конце концов выбрали UTF-16, как вариант, который был одинаково всем неудобный.
Re: Блин, массовые опечатки =)
Date: 2006-11-11 07:50 pm (UTC)Re: Блин, массовые опечатки =)
Date: 2006-11-11 09:30 pm (UTC)(no subject)
Date: 2006-11-11 09:53 am (UTC)(no subject)
Date: 2006-11-11 04:30 pm (UTC)(no subject)
Date: 2006-11-11 07:49 pm (UTC)(no subject)
Date: 2006-11-11 09:32 pm (UTC)(no subject)
Date: 2006-11-11 11:12 am (UTC)(no subject)
Date: 2006-11-11 11:38 am (UTC)http://www.ee.surrey.ac.uk/Personal/L.Wood/constellations/tables/gsm.html
(no subject)
Date: 2006-11-11 12:00 pm (UTC)А по физике CDMA у тебя ссылок нет ? Типы модуляции, частоты/каналы...
(no subject)
Date: 2006-11-11 02:32 pm (UTC)(no subject)
Date: 2006-11-11 10:54 pm (UTC)PS: а ещё во времена inmetex мы как-то с Мишкой были вечером озарены деталями реализации pycuфukaцuu такой немалой кучи того, с чем народ народ ходил, что изрядное время думали, а как теперь с ней бороться, если не циферками. И таки решили циферками, где разве что вместо 0 воткнут O.
(no subject)
Date: 2006-11-11 11:12 pm (UTC)(no subject)
Date: 2006-11-16 10:23 pm (UTC)(no subject)
Date: 2006-11-17 09:42 pm (UTC)Reply Via Same SC
Date: 2007-07-19 07:28 am (UTC)Механизм понятен.
Вопрос: в чем прикол, зачем это нужно ?
Re: Reply Via Same SC
Date: 2007-08-11 07:26 pm (UTC)как оно на самом деле
Date: 2010-09-08 05:18 pm (UTC)оставшиеся 140 символов - под текст.
в MAP/TCAP ограничений на размер нет. в SCCP ограничение 252 байт на пакет (UNITDATA) и есть возможность посылать составные пакеты (XUNITDATA) или пакеты длиной до 4096 байт.
в MTP3/MTP2 ограничение 4096 байт. В расширенном MTP еще больше.