TOP
AutoresTOTAL
LecturasSET 12
72481 visitas
- Contenidos - SET Staff
- Editorial - Editor
- Noticias - SET Staff
- Los tres Ositos - Lobo_109
- Introduccion a las buenas maneras - Paseante
- Curso basico-practico de crack/virii - +NetBul
- La insoportable continuidad del fallo - Paseante
- Proyectos, peticiones, avisos - SET Staff
- GSM I - Falken
- Los bugs del mes - Varios
- El LAT - Lagarto
- La voz del lector - SET Staff
- Visual Hacker 98 - Paseante
- Uno entre .mil - Anonimo
- Despedida - Editor
GSM I
Autor: Falken
oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo A 09 - GSM I - A A A oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo ######## ######## ######### # # # # # # # # ######## # # # # # ## # # # # # # # # # # # # # ######## ######## # # # # # |_ |_)\/ / _ _ _ _ |_ | |_)._ _ _|_ _ _ _ ._ |_ _.|| _ ._ |_ | | | (_) | (/__>(_)| | (_|||<(/_| | -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>- PRIMERA PARTE -<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>- LA HISTORIA =-=-=-=-=-= Antes de comenzar con lo que es el GSM en si convendria conocer un poco la historia. Si, se que soy un pesado con esto de la historia, pero a veces viene muy bien conocer el porque de un sistema, como se desarrollo, quienes lo hicieron... Nunca se sabe lo que puede llegar a necesitarse en un momento dado. Ya hemos visto el sistema usado en Espa€a para telefonia movil analogica, el TMA-900A. Tambien se han explicado las bases de la telefonia celular. El problema surge cuando cada pais desarrolla su propio sistema de telefonia movil, pues esto limita el uso del terminal movil al territorio nacional. Asi, aparte de nuestro conocido TMA-900A, nos encontramos con los sistemas NMT, TACS (UK), AMPS (US), RMTS... Despues de sentar las bases para la unificacion europea, se penso que habria que definir un estandard de telefonia movil al que se puedieran acoger todos los paises de la union. (Ya vemos que fue por un asunto de politica.) Y es asi como en 1982 se establece un grupo dentro del CEPT (Conference of European Post and Telegraphs), el Group Special Mobile o GSM. Este grupo se encargaria de sentar las bases para un nuevo estandard paneuropeo para un sistema celular. En 1989 se traspaso la responsabilidad del GSM al ETSI (European Telecommunication Standards Institute, y las primeras especificaciones del GSM se publicaron en 1990. Se comenzo a ofrecer servicios GSM en 1991, y por 1993 ya existian 36 redes GSM en 22 paises. Pero GSM no se usa solo en Europa, aun siendo un estandard europeo. Por ejemplo, en los USA se ha desarrollado una variacion del GSM denominada PCS1900, con lo que se demuestra el alcance del GSM hoy en dia. Con esta expansion del GSM y el traspaso de responsabilidades al ETSI, hoy GSM significa Global System for Mobile communications. Bueno, como hemos visto, por fin disponemos de un sistema estandarizado para las comunicaciones moviles valido para todo el mundo. Y como veremos, esto tiene sus ventajas. (Mas facil encontrar info sobre el tema, ... ;) ) Solo un dato mas. Para el que quiera comprobar las especificaciones del GSM, que sepa que son mas de 6000 paginas. (Habeis leido bien, seis mil paginitas para especificar como funciona GSM). šY P'A QUE SIRVE EL GSM? =-=-=-=-=-=-=-=-=-=-=-=- Para empezar GSM ofrece compatibilidad con la RDSI en terminos de servicios ofrecidos y control de se€alizacion. Eso si, con las limitaciones que nos impone la interfaz de radio. En cuestiones de telefonia, la voz es digitalizada y transmitida a traves de la red GSM como datos. A traves de GSM es posible enviar y recibir datos, a una velocidad de 9600 bps., a y desde POTS, RDSI, redes publicas de conmutacion de paquetes (IBERPAC) y redes publicas de conmutacion de circuitos, usando los protocolos X.25, X.32, o cualquier otro de acceso a este tipo de redes. Para este servicio no es necesario ningun modem, al ser una red digital. (Diga lo que diga la gente, esta es la verdad). Asimismo se dispone tambien de servicios fax grupo 3, tal y como se detalla en la recomendacion T.30 del CCITT. Y por ultimo se dispone del servicio de mensajes cortos o SMS (pero en ingles, pillines :) ) SMS ofrece un servicio bidireccional de envio y recepcion de mensajes de una longitud maxima de 160 bytes. El procedimiento usado es el conocido como almacenamiento y reenvio. Esto quiere decir que que cada nodo intermedio almacena el mensaje para su posterior reenvio al siguiente nodo de la red. Los mensajes SMS pueden a su vez ser almacenados en la tarjeta SIM para su posterior uso. Pero ahi no acaba la cosa. Aparecen nuevos servicios en cada fase de desarrollo. Ahora se dispone de servicios tales como llamada en espera, llamadas multiples, y la mas conocida por todos nosotros, identificacion del llamante. Esto, como sabreis es usado, por ejemplo, para averiguar los numeros de telefono correspondientes a las cabinas telefonicas. Ya sabeis para que puede ser usado... LA RED GSM =-=-=-=-=- .-------------------. .------------------. | |:| | | |:| .-----. .-----. | | .-----. |:| | HLR | | VLR | | | | BSC |\|:| `-._.-' `-._.-' | _________ +-----+ : | : `-----' |\| | _( ) | SIM | : | : |:|\ .-----. | ( PSTN \ +-----+ : | .-----. : |:| | MSC |---------------( RDSI, PSPDN | | : | | BTS |\: |:|/ `-----' | (_ CSPDN _) .----. : | `-----' :\.-----. |/| | (__________) | ME |\: | : | BSC |/|:| | `----' :\_ .-----. :/`-----' |:| .-----. .-----. | : |\| BTS |/: |:| | EIR | | AuC | | : | `-----' : |:| `-._.-' `-._.-' | Um | Abis |A| | `-------------------' `------------------' Estacion Subsistema de Subsistema de Red Movil Estacion Base (BSS) SIM -> Subscriber Identity Module ME -> Mobile Equipment BTS -> Base Transceiver Station BSC -> Base Station Controller HLR -> Home Location Register VLR -> Visitor Location Register MSC -> Mobile services Switching Center AuC -> Authentication Center (šNecesita traduccion? No, šverdad? Porque de ser asi, lo teneis chungo para moveros por ahi. Aun asi seremos buenos y segun se vaya tratando cada punto, iremos traduciendo cada sigla.) Como vemos en el anterior esquema, la red GSM se compone de varias entidades, cada una de ellas con una funcionalidad especifica. La red GSM se puede dividir en tres partes: la estacion movil, el subsistema de estacion base y el subsistema de red. A grandes rasgos, la estacion movil es lo que conocemos como el telefono movil, aunque en GSM no tiene porque ser un telefono. Puede ser cualquier otro tipo de terminal movil que se acoja al estandar GSM. El subsistema de estacion base es el encargado de mantener y controlar el enlace por radio con la estacion movil. El subsistema de red es el que se encarga de la conmutacion de las llamadas entre estaciones moviles y otros terminales fijos o moviles, asi como del control de movimiento. (Vamos, de por donde se mueve el terminal GSM para poder darle servicio, como ya vimos en el TMA-900A). La comunicacion entre la estacion movil y el subsistema de estacion base se realiza mediante lo que se conoce como la interfaz Um, llamado tambien interfaz aereo o radio-enlace. El subsistema de estacion base (a partir de ahora BSS) se comunica con la central de conmutacion movil (MSC, esto es, la parte principal del subsistema de red) a traves del interfaz A. LA ESTACION MOVIL =-=-=-=-=-=-=-=-= La estacion movil (MS p'a los amigos) se compone a su vez del equipo movil (ME en las siglas de ahi arriba), o sea, el terminal o telefono movil propiamente dicho, y de una tarjeta chip, de esas que todos seguro ya conoceis, a la que se denomina Modulo de Identificacion del Subscriptor (MIS o como es mas popular, SIM). El SIM es lo que le da la movilidad al usuario, de forma que se garantiza el servicio de forma independiente a un terminal especifico. Usando el SIM en otro terminal, el usuario del SIM puede hacer uso de toda la funcionalidad GSM contratada, y que el terminal soporte. Basicamente lo anterior quiere decir que puedes usar tu tarjeta GSM en el movil GSM de un amigo, y podras recibir llamadas, realizarlas, etc. en dicho equipo. El problema surge cuando las empresas proveedoras de servicios de telefonia movil, para garantizar su monopolio, se dedican a identificar sus terminales con sus tarjetas, y bloquear los terminales cuando la tarjeta no es propia, o simplemente, tarificarmas alto por ser un usuario ajeno. Pero esto es otra historia que ya contaremos en otro momento. El ME esta identificado unicamente por el Identificador Internacional de Equipo Movil (IMEI, International Mobile Equipment Identity). La tarjeta SIM contiene otro identificador, el Identificador Internacional de Usuario Movil (IMSI, International Mobile Subscriber Identity), usado para identificar al usuario en el sistema, una clave para autentificacion y otros datos. Que quede claro que el IMEI y el IMSI son totalmente independientes, para garantizar la movilidad. La tarjeta SIM puede protegerse contra el uso no autorizado mediante un numero de identificacion personal, como ya deberiais saber. EL SUBSISTEMA DE ESTACION BASE (BSS) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- El BSS se compone de dos partes, como ya habreis deducido mirando el esquema. Y el que no haya visto bien el esquema, que vaya ahora mismo a mirarlo. Ya lo habeis visto todos? Bien, prosigamos. El BSS esta compuesto por la Estacion Base (en ingles BTS, Base Transceiver Station), y el Controlador de Estacion Base (vamos, el BSC o Base Station Controller). Estas entidades se comunican entre si mediante el interfaz A-bis, permitiendo asi la interaccion entre entidades de diferentes proveedores del servicio GSM. La BTS, al igual que las estaciones base (EB) del TMA-900A, define una celula de la red GSM y controla el radio-enlace con la MS (Mobile Station). El BSC (no confundir con BSA ;) ) gestiona los recursos de radio de una o mas BTSs. Controla el setup del los radio-canales, frecuencias y handovers. Es tambien el encargado de conectar el MS con la Central de Conmutacion de servicios Moviles (MSC), integrada en el subsistema de red. EL SUBSISTEMA DE RED =-=-=-=-=-=-=-=-=-=- La parte principal del subsistema de red es la Central de Conmutacion de servicios Moviles o MSC. (No se, pero me da a mi que ya os lo imaginabais.) La MSC actua igual que cualquier otra central de telefonia de la RTC o de la RDSI, a€adiendo las funciones necesarias en telefonia movil, tales como registro, autentificacion, actualizacion de zona, handovers y el enrutamiento de llamadas hacia una MS (Recordad, estacion movil). Ademas, claro esta, ofrece conexion con el resto de las redes de telefonia fija. Estos servicios se llevan a cabo en conjuncion con otras tantas entidades que junto a la MSC conforman el subsistema de red. El sistema de se€alizacion empleado entre las entidades del subsistema de red es el popular Sistema de Se€alizacion por Canal Comun No.7 (SS7 para los amigos), usado tambien en RDSI y actualmente en algunas redes publicas. (Alguien preguntaba por el uso del SS7 en Espa€a? ;) ) Pasamos ahora a describir el resto de las entidades que componen el subsistema de red. Primero tenemos al Registro de Posicion Base (HLR o Home Location Register, segun se mire) contiene toda la informacion administrativa referida a un usuario registrado en la red GSM correspondiente, asi como la posicion actual del movil. La posicion del movil se da genericamente por la direccion de se€alizacion del VLR asociado al MS. Solo se implementa un HLR por red GSM, de forma que actue como una base de datos distribuida. El Registro de Localizacion de Visitantes (VLR o Visitor Location Register) contiene informacion administrativa seleccionada del HLR, necesaria para el control de la llamada y suministro del resto de los servicios. Esta informacion se selecciona para cada movil dentro del area geografica controlada por el VLR. Aunque son entidades independientes, lo mas habitual es que el VLR se implemente como una parte de la MSC. De esta forma se consigue que el area geografica controlada por el MSC se corresponda con la del VLR, simplificando asi la se€alizacion. El conjunto formado por el HLR, el VLR y la MSC provee el enrutamiento de las llamadas y las capacidades de seguimiento de GSM. Existen todavia otras dos entidades mas que conforman el subsistema de red. El Registro de Identificacion de Equipos (EIR o Equipment Identity Register) es una base de datos que contiene una lista de todos los moviles validos que se encuentran en la red, donde cada MS se identifica por su IMEI. Un IMEI sera marcado como no-valido si se ha denunciado su robo o no es el tipo requerido. (Dicho de otro modo, si el IMEI es de Airtel y la red requiere un IMEI de MoviStar, el movil no es valido, y viceversa). Queda el Centro de Autentificacion (AuC o Authentication Center). Se trata de una base de datos protegida que almacena una copia de la clave almacenada en cada tarjeta SIM, usado en el proceso de autentificacion y en la encriptacion del canal de radio. LAS INTERFACES DE LA RED GSM =-=-=-=-=-=-=-=-=-=-=-=-=-=- Hasta el momento hemos hablado de las entidades que componen la red GSM, mencionando de pasada algunas de las interfaces usadas entre ellas. Los desarrolladores del sistema GSM definieron las siguientes interfaces normalizadas entre las entidades que conforman la red GSM: .----------------------. | INTERFAZ | ENTIDADES | |----------------------| | A-bis | BSC-BTS | | A | MSC-BSS | | B | MSC-VLR | | C | MSC-HLR | | D | HLR-VLR | | E | MSC-MSC | | F | MSC-EIR | | G | VLR-VLR | `----------------------' Cabe destacar la interfaz Um, o interfaz de radio, usada entre las MS y cualquier otro elemento de la red GSM, principalmente la BTS. Todas estas interfaces funcionan empleando el Sistema de Se€alizacion por Canal Comun No.7 (SS7), ya mencionado anteriormente, a excepcion de dos interfaces, la interfaz Um y la interfaz A-bis. El uso del SS7 se justifica porque la red fija sera soportada finalmente por la RDSI, siendo el SS7 el sistema usado en RDSI. De esta forma se consigue una interaccion directa entre la ed fija y la red GSM. Antes de pasar a definir cada interfaz en profundidad os aviso que seria conveniente que tuvierais un conocimiento previo de algun modelo de de referencia de un sistema de comunicacion, como por ejemplo el modelo de referencia OSI. Para aquellos que no conozcais dicho modelo, deciros que basicamente se trata de dividir el proceso de la comunicacion en varios niveles, siendo el inferior el nivel fisico. A este nivel se corresponde, por ejemplo, el cable de red, o la emision de radio, en el caso del GSM. Por encima del nivel fisico, nos encontramos con el nivel 2, o nivel de enlace, que como su propio nombre indica, se encarga basicamente de establecer el enlace entre los terminales. Seguidamente viene el nivel 3 (a que ya lo sabiais, eh, pillines?), o tambien llamado nivel de red, encargado de la gestion de la red. Basicamente obtiene la informacion de la fuente y los encamina para que lleguen a su destino. Encima estan los niveles 4, 5, 6 y 7, siempre segun el modelo de referencia OSI. Pero como para lo que vamos a ver en GSM solo nos interesan hasta el nivel 3, aqui se queda la cosa. Si alguien esta interesado, ya sabe, solo hay que pedirlo a la direccion abajo indicada, y ya veremos. INTERFAZ DE RADIO Um =-=-=-=-=-=-=-=-=-=- Esta interfaz garantiza: * El acceso al servicio GSM desde diferentes tipos de MS. * La realizacion de llamadas a un movil usando siempre el mismo numero, con independencia del pais en el que se encuentre. * El traspaso de una llamada en curso si asi lo aconsejan los parametros de calidad de la comunicacion. * La conexion de MS la RDSI. Una MS intercambia mensajes de se€alizacion con los diferentes elementos de la red GSM. Estos mensajes pueden ser: * Gestion de recursos de radio. * Gestion de movilidad. * Control de llamada. Para distinguir que tipo de mensaje es el recibido (o enviado, en su caso), todos los mensajes portan un campo denominado Discriminador, por el que se identifica la clase de mensaje. Ademas, permite distinguir el origen y destino de cada uno. El protocolo usado para la transmision de estos mensajes se conoce como Interfaz de Radio de Nivel 3 (RIL3 - Radio Interface Layer 3). La estructura de un mensaje RIL3 sigue el siguiente formato: .-----------------. |- Control de llamada. | Discriminador ===> |- Gestion de movilidad. |-----------------| |- Gestion de recursos de radio. | Tipo de mensaje | |-----------------| | Parametros | `-----------------' Donde el tipo de mensaje puede ser: * Control de llamada: - Establecimiento. - Llamada en curso. - Aviso. - Confirmacion de conexion. - Desconexion. - Liberacion. - Confirmacion de liberacion. * Gestion de movilidad: - Peticion actualizacion. - Actualizacion aceptada. - Actualizacion rechazada. - Peticion de servicio. - Servicio aceptado. - Servicio rechazado. * Gestion de recurso de radio: - Peticion de asignacion de canal de se€alizacion. - Asignacion inmediata. - Asignacion rechazada. - Comienzo de cifrado. - Asignacion de canal de trafico. - Liberacion de canal. Como vemos, se manejan tres tipos de mensajes diferentes. Esto hace que el nivel RIL3 se considere dividido en tres subniveles diferentes, para un mejor estudio y aplicacion (Alguien se acuerda de la mitosis? ;) ). Estos tres subniveles son: * Subnivel CM (Connection Management) Encargado del establecimiento y liberacion de las llamadas. Se basa en el protocolo Q.931 de acceso a la RDSI. Tambien da soporte a los servicios suplementarios. * Subnivel MM (Mobility Management) Gestiona los aspectos relativos a la movilidad, esto es, la localizacion de los moviles, la actualizacion de los registros de posicion y la autentificacion de los moviles. * Subnivel RR (Resources Radio) Gestiona y administra los recursos de radio, tales como la asignacion de canales de radio, el handover, etc. A nivel de enlace se usa el protocolo LAPD-m. La BTS y la MS se intercambian mensajes de se€alizacion en tramas HDLC con una longitud maxima de 23 bytes. Estas tramas se completan con relleno si es necesario. Si la trama es mayor de 23 bytes, se fragmenta y se envia en varios cachos, haciendo uso del bit M. Esto del bit M no es mas que un bit de la trama HDLC que indica, si va a 1, que el mensaje continua en la siguiente trama. Pero como esto ya seria otro tema, lo dejamos para otro articulo. Existen dos casos diferenciados, segun el tipo de canal por el que se realiza el intercambio de mensajes: * En los canales de difusion, acceso y pagging (mas tarde veremos que son estos canales), los mensajes se envian usando tramas UI sin conexion de enlace previa. Las tramas UI son las tramas de informacion no numerada (Unnumbered Information). * En los canales de se€alizacion dedicados y en los canales lentos asociados a uno de trafico se envian los mensajes en tramas de informacion numeradas (tramas I), usando el modo orientado a la conexion. Asi, la trama de nivel 2 presenta el siguiente formato: +-----------+---------+----------+---+-------------------------+---------+ | Direccion | Control | Longitud | M | Mensaje de se€alizacion | Relleno | +-----------+---------+----------+---+-------------------------+---------+ <------------------------------- 23 Bytes -------------------------------> Siendo el campo control el que identifica el tipo de la trama enviada. El procedimiento seguido por las entidades en el caso del modo orientado a la conexion es el que se sigue siempre en para este modo en HDLC. Para mas informacion sobre HDLC, permaneced atentos a vuestro distribuidor habitual de SET. Para ir abriendo boca, ahi van unos esquemas de la comunicacion en los dos casos que os acabo de mencionar: MS BTS MS BTS | | | | | SABM (+datos) | | | |-------------->| | | | UA (+datos) | | UI | Canales |<--------------| |----------->| Canales de dedicados | I (0,0) | | UI | difusion, y |-------------->| |<-----------| pagging, asociados | RR (1) | | UI | acceso, |<--------------| |----------->| etc. | DISC | | UI | |-------------->| |<-----------| | UA | | | |<--------------| | | """ """ """ """ El nivel fisico es el encargado de la transmision de la voz o los datos, y la se€alizacion en los canales fisicos. La informacion que se transmite se procesa de forma que los efectos de la interfaz de radio causen los menores efectos sobre la se€al, para obtener la mejor calidad posible. El acceso al medio (radioelectrico en este caso) se realiza usando una combinacion de las tecnicas de acceso multiple por division en frecuencia (FDMA - Frequency-Division Multiple Access) y por division en el tiempo (TDMA - Time-Division Multiple Access), usando 8 canales por portadora. Para los enlaces por radio se usan dos bandas de frecuencias: * 890-915 MHz para el enlace ascendente (MS -> BTS). * 935-960 MHz para el enlace descendente (MS <- BTS). De estas dos bandas de frecuencias, se definen 124 portadoras de radio, separadas entre si 200 KHz. Esto se obtiene de la division en frecuencia impuesta por el FDMA del ancho de banda de 25 MHz. Una o mas de estas portadoras, hasta un maximo de 16, son asignadas a una BTS. Cada portadora se divide en el tiempo, usando un esquema TDMA. La unidad basica de tiempo en este esquema TDMA se denomina periodo de burst (BP), o time slot, que se corresponden con los 8 canales fisicos, pues son 8 BPs por portadora, y como acabamos de ver, coinciden con los 8 canales fisicos asignados a cada portadora. Y si los calculos no me fallan, esto da un maximo de 128 canales fisicos por BTS. (Veamos: son 16 portadoras por BTS, a 8 canales fisicos por portadora, hacen un total de 128 canales por BTS, no?) Cada time slot tiene una duracion de 15/26 ms (unos 0.577 ms). Una trama TDMA se compone de 8 time slots, lo que le da una duracion de 120/26 ms, es decir, unos 4.615 ms. Asi, mientras un canal fisico ya hemos visto que se corresponde con un time slot (otra vez, que pesado), una trama TDMA no es mas que la unidad basica de un canal logico. Cada trama TDMA se agrupa formando lo que se llaman multitramas. Estas multitramas pueden ser: * Multitramas de 26 tramas (120 ms). * Multitramas de 51 tramas (235,38 ms). Las multitramas se agrupan a su vez en supertramas: * Supertrama de 51 multitramas de 26 tramas. * Supertrama de 26 multitramas de 51 tramas. Y como resulta evidente, las supertramas tambien se agrupan, esta vez para dar lugar las conocidas como hipertramas, de 2048 supertramas. Esto da lugar a que cada hipertrama se corresponda con 2715648 tramas TDMA. Las tramas TDMA se numeran de 0 a 2715647, repitiendose ciclicamente esta numeracion por cada hipertrama. Este ciclo se no son mas que 12533760 ms o lo mas claramente: 3h 28m 53s 760ms Para evitar lios, lo anterior solo se refiere a la repeticion de la numeracion de tramas TDMA, o de canales, o como se quiera ver, nada mas. Es decir, la reutilizacion del identificador de la trama. Veamos ahora de forma grafica la estructura TDMA: +---+---+---+............+------+------+------+ | 0 | 1 | 2 | | 2045 | 2046 | 2047 | HIPERTRAMA +---+---+---+............+------+------+------+ / ""----....____ .' """"----....____ / """"----. +---+---+---+---+.........+----+----+----+----+ | 0 | 1 | 2 | 3 | | 47 | 48 | 49 | 50 | SUPERTRAMA 51 DE 26 +---+---+---+---+.........+----+----+----+----+ / ""----....____ .' """"----....____ / """"----.. +---+---+---+---+---+......+----+----+----+----+ | 0 | 1 | 2 | 3 | 4 | | 22 | 23 | 24 | 25 | MULTITRAMA DE 26 +---+---+---+---+---+......+----+----+----+----+ / ""----....____ .' """"----....____ / """"----... +-----+-----+-----+-----+-----+-----+-----+-----+ | BP0 | BP1 | BP2 | BP3 | BP4 | BP5 | BP6 | BP7 | TRAMA TDMA +-----+-----+-----+-----+-----+-----+-----+-----+ .' `---... .' ```---... .' ```---... +---+----+---+----+---+----+---+------+ | 3 | 57 | 1 | 26 | 1 | 57 | 3 | 8.25 | TIME SLOT +---+----+---+----+---+----+---+------+ Los numeros que aparecen en los distintos camposdel time slot indican su longitud en bits. Y si, habeis leido bien, 8.25 bits. Cada campo tien el siguiente significado. +---+----+---+----+---+----+---+------+ | 3 | 57 | 1 | 26 | 1 | 57 | 3 | 8.25 | +---+----+---+----+---+----+---+------+ Tail bits <---+ | | | | | | +-----> Guard bits Data bits <-------+ | | | | +-----------> Tail bits Stealing bits <------------+ | | +---------------> Data bits Training bits <----------------+ +--------------------> Stealing bits Y lo dicho, que aprendais ingles, que si no lo teneis muy chungo. Lo digo por si quereis una explicacion de lo anterior. Bueno, pero como sois buenos chicos y lo que os interesa, ahi va una peque€a aclaracion. El time slot comienza por un tail bit, que indica el comienzo del propio time slot, o su final, pues como vemos aparece otro tail bit antes de los 8.25 bits de guarda. Al tail bit le siguen 57 bits de datos. Le sige un bit de stealing por cada bloque de datos, que es usado en el canal FACCH. Nos encontramos ahora 26 bits denominados training bits, usados para ecualizacion de la se€al. Se repite de forma especular la misma estructura, y finaliza con un tiempo equivalente a 8.25 bits (AAAH!) de guarda entre time slots. Pasemos ahora a la descripcion de los canales logicos. Estos canales, como supondreis, se soprtan sobre los canales fisicos, y son usados para realizar el intercambio de informacion, ya sea voz, datos o control. Existen diferentes tipos de canales logicos (como no): * Canales de trafico (TCH) -> Canales bidireccionales que se usan para transportar la voz codificada y los datos de usuario. Los canales de trafico se definen usando una multitrama de 26 tramas TDMA. Su duracion se de 120 ms. De las 26 tramas, 24 son usadas para trafico, una se usa para el canal de control asociado lento SACCH y la restante no tiene un uso definido. Los TCHs estan separados en tiempo por 3 time slots entre los enlaces ascendentes y descendentes, lo que hace que la MS no tenga que transmitir y recibir al mismo tiempo. Dentro de los TCH se distinguen otros dos tipos: * Canal de trafico de velocidad completa (TCH/F) -> Canal que transporta la voz codificada o los datos de usuario a una velocidad "bruta" de 22.8 Kbps. * Canal de trafico de velocudad mitad (TCH/H) -> Canal que transporta la voz codificada o los datos de usuario a una velocidad de 11,4 Kbps. (Logicamente). * Canales de Control (CCH) -> Son usados para: * Radiar informacion general hacia todos los moviles de la misma celula. * Solicitar peticiones de servicio o responder a llamadas desde los terminales moviles. * Intercambiar informacion de se€alizacion para el establecimiento y liberacion de las llamadas. Para la transmision y la recepcion de los CCH se usa el par de portadoras de frecuencia mas baja de cada celula (f0) y el time slot 0. Estos canales no se envian de forma continua, sino cada cierto numero de tramas o cuando son necesarios paa solicitar o asignar un canal. Dentro de los CCH distinguimos los siguientes tipos: * Canales de control (BTS -> MS): * Canal de correccion de frecuencia (FCCH) -> Se usa para corregir las frecuencias de trabajo de los moviles. * Canal de sincronizacion (SCH) -> Transporta la informacion necesaria para sincronizar la trama, incluyendo el numero de trama actual y la identidad de la BTS. * Canal de control de radiodifusion (BCCH) -> Lleva informacion general del sistema: * Identidad de la red GSM. * Frecuencias usadas en la celda y f0 de celdas vecinas. * Identidad de la celda y area de localizacion. * Maxima potencia a usar en los canales de control. * Etc. * Canal de llamada (PCH) -> Se usa para avisar a los moviles de la presencia de una llamada entrante o para asignar un canal de trafico en llamadas que tiene su origen en los moviles. * Canal de concesion de acceso (AGCH) -> Se usa para asignar canales de control dedicados. * Canales de control (MS -> BTS): * Canal de acceso aleatorio (RACH) -> Utilizado por los moviles para peticiones de acceso a la red. * Canales de control bidireccionales: * Canal de control dedicado (SDCCH) -> Se usa para el intercambio de la informacion de se€alizacion de una llamada. * Canal de control asociado (ACCH) -> Se trata de un canal de trafico asociado a un canal para diferentes aplicaciones, bien sea el enlace ascendente o descendente. Se dan dos tipos: * Canal asociado lento (SACCH). * Canal asociado rapido (FACCH). Mediante estos canales se envia la informacion correspondiente a las medidas del nivel de recepcion de las portadoras, la calidad medida, etc. Todo esto esta muy bien, pero si la informacion transmitida es digital, como #$!?% se convierte la voz en esta se€al? Cual es el proceso? Podria utilizarse el mismo metodo que en RDSI, la Modulacion por Pulsos Codificados (PCM - Pulse Coded Modulation). Pero PCM da un problema. Con PCM obtenemos un flojo de datos de 64 Kbps, muy rapido para una interfaz de radio. Asi que el metodo empleado para codificar la voz es el conocido como el metodo de Pulso Regular Excitado - Codificador Lineal Predictivo (RPE-LPC / Regular Pulse Excited - Linear Predictive Coder) con un bucle LTP (Long Term Predictor, nada que ver con 9 meses). Basicamente se usa la informacion de anteriores muestras para calcular la actual, basandose en el cambio infimo entre muestras. La diferencia entre la muestra calculada y la real es se€al. La voz se divide en muestras de 20 ms, cada una codificada a 260 bits, lo que nos da un total de 13 Kbps. Ahora veamos como se codifica y como se modula un canal. Los algoritmos usados difieren segun sea voz o diferentes velocidades de datos. Para el caso de la voz tenemos que el codec de voz produce bloques de 260 bits cada 20 ms. Segun un estudio se demostro que algunos bits eran mas importantes respecto a la calidad de la voz que otros. Asi, el bloque de 260 bits queda dividido en: * Clase Ia - 50 bits -> Los mas sensibles a errores. * Clase Ib - 132 bits -> Moderadamente sensibles a errores. * Clase II - 78 bits -> Los menos sensibles a errores. Los bits de clase Ia poseen 3 bits de CRC a€adidos para deteccion de errores. Si se detecta un error, la trama se descarta como da€ada y se reemplaza por una version ligeramente atenuada de la anterior trama recibida sin errores. Estos 53 bits, en conjunto con los 132 de clase Ib y otros 4 bits de marca se introducen en un codificador convolucional de longitud 4. Cada bit de entrada produce 2 bits de salida, en funcion de los 4 bits previos en la entrada. Esto produce una salida de 378 bits, que se a€aden a los 78 bits de clase II. Asi que por cada 20 ms de voz se obtienen 456 bits, lo que da un tiempo de bit de 22.8 kbps. Los 456 bits se dividen en 8 bloques de 57 bits, que se envian en 8 time slots consecutivos, pese a que cada time slot pudiera contener 2 bloques. Asi cada time slot lleva dos diferentes muestras de voz. La se€al digital se modula sobre la portadora analogica usando el metodo GMSK (Gaussian-filtered Minimum Shift Keying). Para extraer la se€al deseada de todas las que recibe la MS, incluidas las se€ales reflejadas, se usa la ecualizacion. El procedimiento a seguir se basa en encontrar como una se€al conocida ha sido modificada, y construir el filtro inverso para extrar el resto de la se€al deseada. La se€al conocida no es mas que el bloque de 26 bits que aparece en cada slot time, y que antes pudiera parecer inutil. INTERFAZ ENTRE BSC Y BTS (A-bis) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Os aseguro que el resto de las interfaces no tienen tanta ca€a, en serio. Palabra de phreacker. Esta interfaz, a diferencia del resto, no es obligatoria. Su definicion es exclusivamente para tener una conexion normalizada entre BSC y BTS, sin importar que pertenezcan o no al mismo operador. Por aqui pasan los mensajes que hay entre las BTS y el BSC, asi como los mensajes entre MS y BSC y entre MS y MSC. Ya se dijo previamente que esta interfaz no usa SS7. En esta ocasion la estructura es la que sigue: .---------------------------. | RESOURCE MANAGEMENT (RSM) | |---------------------------| | LAP-D | |---------------------------| | NIVEL FISICO | `---------------------------' A nivel 3 se usa el protocolo RSM, cuya estructura y tipos de mensajes se definen a continuacion: .-----------------. |- Manejo de recursos de radio. | Discriminador ===> |- Gestion de canales comunes. |-----------------| |- Gestion de canales dedicados. | Tipo de mensaje | |- Gestion global del TRX. |-----------------| | Parametros | `-----------------' Tipos de mensajes: * Peticion de canal dedicado. * Activacion de canal dedicado. * Asignacion inmediata. * Peticion de datos. * Indicacion de datos. * Peticion de liberacion de canal de radio. * Comando de cifrado. A nivel 2 se usa LAP-D. Todos los mensajes de se€alizacion intercambiados entre BTS y BSC van en tramas de informacion (I) sobre una conecion ya establecida. +-----------+-------------------------+-------------+-----+ | Direccion | Control (tipo de trama) | Mensaje RSM | CRC | +-----------+-------------------------+-------------+-----+ BTS BSC | | SABME |-------->| |<--------| UA I(0,0) |-------->| |<--------| RR(1) I(1,0) |-------->| |<--------| I(0,2) DISC |-------->| |<--------| UA """ """ A nivel fisico la conexion se realiza con vias MIC 30+2 a 2 Mbps. Se usa un MIC 30+2 por cada TRX (8 intervalos de tiempo sobre una portadora). Se reserva el canal 16 para se€alizacion. Los canales de voz a datos pasan de 13 o 12 Kbps a 16 Kbps con bits de relleno y se colocan en dos bits de los canales 1, 3, 5, 7, 9, 11, 13 y 15 de la trama MIC. El resto de los canales no son utilizados. INTERFAZ ENTRE LA MSC Y EL BSS (A) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Se usa para el intercambio de informacion entre BSC-MSC y MS-MSC. La informacion intercambiada se usa para: * Gestion del BSS. * Manejo de la llamada. * Gestion de la movilidad. Para la interfaz A se define un protocolo especifico, que en la estructura de niveles anteriormente mencionada (modelo OSI), ocuparia el nivel 4. Este protocolo es el BSSAP (BSS Aplication), apoyado sobre lo que se conoce como la PTM+PCCS, cuando se trata de los mensajes de se€alizacion entre BSC y MSC. Si la MS solicita un servicio del BSS (una llamada saliente, por ejemplo) se procede a una conexion PCCS entre la MS y la MSC, con una duracion igual a la de la llamada. Es por esta conexion por donde se realiza el reenvio del trafico de control. Como esta interfaz se usa en dos conexiones distintas, el protocolo BSSAP debe discriminar dos tipos de mensajes: * Los mensajes que son enviados por la MSC y dirigidos hacia la MS. Son la mayoria de los mensajes y deben ser transparentes al BSS, es decir, que al BSS no le importa lo que ahi va, simplemente lo deja pasar. Asi, a la parte del BSSAP que se encarga de este tipo de mensajes se le denomina DTAP. * Los mensajes que son enviados por la MSC y dirigidos al BSS, y que ademas son tratados por este, como por ejemplo la busqueda de un TCH para una llamada. Esta parte del BSSAP se denomina BSSMAP. Y como un grafico parece que deja las cosas mas claras: .-----. .---------. .----. | | DTAP | | | | | MSC |-------------...........------->| MS | | | BSSMAP | BSC/BTS | | | | |------------>| | | | `-----' `---------' `----' INTERFACES PAM/B-PAM/G =-=-=-=-=-=-=-=-=-=-=- Estas son interfaces dise€adas especificamente para soportar servicios GSM. Se basan en las consultas/respuestas producidas entre los nodos de conmutacion y los registros de informacion de usuarios y terminales, esto es, EIR, VLR y HLR. Son las interfaces que en el cuadro de interfaces que habreis visto anteriormente se denominaban B-G. Y como bien claro lo he dejado hace dos parrafos, se usan en la comunicacion entre las entidades del subsistema de red (NSS), en los casos siguientes: * Registro de localizacion. * Cancelacion de localizacion. * Cancelacion de registro. * Gestion de servicios de abonados. * Gestion de los parametros de los abonados. * Handover. * Aspectos relacionados con la seguridad. Lo de PAM que veis en el titulo de este apartado tiene una explicacion muy sencilla, que nada tiene que ver con Pamela Anderson, pillines. Para los usuarios moviles se ha definido una aplicacion de se€alizacion especifica. A esta especificacion se le denomina PAM (Parte de Aplicacion Movil). La PAM hace uso de los servicios de la PTM+PCCS en la transferencia de los mensajes de se€alizacion, de una forma similar a como lo hacen las Partes de Usuario PUT y PUSI. (Seguro que a mas de uno ya se le ocurren bromas un poco subidas de tono, verdad? ;) ). Y como es de esperar, ahi va otro esquema: MSC .............................. MSC/HLR/VLR/EIR HLR .............................. VLR .---------. .---------. | PAM | | PAM | `---------' `---------' | | P .---------. .---------. P T | PCCS | | PCCS | T M |.........| |.........| M + | NIVEL 3 | | NIVEL 3 | + P |---------| |---------| P C | NIVEL 2 | | NIVEL 2 | C C |---------| |---------| C S | NIVEL 1 | | NIVEL 1 | S `---------' `---------' : ENLACE DE SE¥ALIZACION : `........................................' INTERFAZ ENTRE LA MSC Y LA RTC/RDSI/RPCP =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- La interfaz que se define a continuacion solo se usa cuando se establecen comunicaciones entre un abonado de la red GSM y otro abonado de la red fija, o bien cuando se produzca una comunicacion entre dos abonados de la red GSM que pertenezcan a MSCs distintas que se interconectan a traves de la red fija. El sistema de se€alizacion usado en esta interfaz es el ya popularisimo entre todos vosotros... el que mas de uno ya se habra imaginado... el que ya estais esperando ansiadamente... el que como siga asi vais a dejar de leer y no os vais a enterar de que en efecto, se trata del SS7. Ahora bien, se usa el SS7 con la parte de aplicacion especifica para los usuarios de telefonia (PUT), de la RDSI (PUSI) o de las redes publicas de conmutacion de paquetes (PUD). Que ira ahora... Pues ni mas ni menos que otro dibujito: .-----+-----+------. .-----+-----+------. | PUT | PUD | PUSI | | PUT | PUD | PUSI | `-----+-----+------' `-----+-----+------' | | | | | | .----------------. .----------------. | : PCCS | | : PCCS | | `......| | `......| P | NIVEL 3 | | NIVEL 3 | P T |----------------| |----------------| T M | NIVEL 2 | | NIVEL 2 | M |----------------| |----------------| | NIVEL 1 | | NIVEL 1 | `----------------' `----------------' : ENLACE DE SE¥ALIZACION : `...........................................' PROTOCOLOS DE SE¥ALIZACION (ESQUEMA) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- MS BTS BSC MSC NSS/Otras redes | | | | | |<------- RIL3-CM ------>| | | | | | | |<------- RIL3-MM ------>| | | | | | MAP ISUP TUP | |<-- RIL3-RR--->| | | | | | | | | BSSMAP | | | | | | | RSM | | | | | | | | | | | | | | | | | LAPD-m | LAPD |----+-------+--------+--------+---| | | | | | TRANSPORTE DE SE¥ALIZACION | | Um | Abis | SS7 | | | |----------------------------------| """ """ """ """ """ STAND BY =-=-=-=- Por el momento lo dejamos aqui. Vamos, porque creo que otros 60K de puro texto sobre el funcionamiento del GSM os podrian dejar los micros con mas fallos que el P2 de Intel trabajando bajo W95. (Espero que no tengais luego pesadillas al imaginaros tan aberrante configuracion). Pero antes de dejarlo por ahora, os voy a comentar como podemos enviarle un mensaje SMS a un terminal GSM a traves del correo electronico. Si, ya se que todos conoceis servicios de este tipo, y que la utilidad practica de este servicio no parece muy productiva a la vista de un hacker. Pero para mi, un hacker debe saber hacer de todo un poco. Cuando querais enviarle un mensaje a un terminal GSM de una persona, lo que teneis que hacer es componer el MSISDN de dicho terminal GSM. Por poner un ejemplo, supongamos que queremos enviarle un mensaje al terminal GSM con numero de telefono 909 123456 (MoviStar). El MSISDN se compondria de: * 34 -> Codigo de Espa€a. * 09 -> Proveedor de servicios u operador de telefonia. * 123456 -> Resto del numero. Una vez que tenemos claro cual es el MSISDN (algo realmente dificil), solo nos queda enviar el mensaje al servidor sms.co.za, que es uno de los mas populares y usados. Asi, para el ejemplo anterior, la direccion de correo seria +3409123456@sms.co.za El signo '+' es necesario, asi que no os olvideos ponerlo. Ya se que esto no es nada del otro mundo, pero por algo se empieza (y ya os enterareis de por donde se termina... }:) ). Que luego os acostumbrais, y me empezais a echar las culpas de vuestros problemas. ;) [NOTA: Esta direccion ya no ofrece servicio actualmente, la modificacion del articulo no llego a tiempo para incluir nuevos datos sobre otras direcciones que lo hagan] QUE NO SE ME OLVIDE =-=-=-=-=-=-=-=-=-= Lo primero, corregir una errata que aparecio en SET-11, en el articulo del TMA-900A. Existe un error en el dibujo de las celulas. El esquema correcto es: ______ ______ En un pais multicolor, /* \ / \ nacio una abeja bajo el sol... / EB \______/ EB \______ Ups, esto no tiene nada que \ A / \ G /* \ ver. \______/ EB \______/ EB \ / \ B / \ A / Bueno, co€as aparte, vemos / EB \______/ EB \______/ que existe un EB por cada \ D / \ C / \ celula. Ademas, aparecen \______/ EB \______/ EB \ 7 letras, A, B, C, D, E, F y / \ E / \ D / G. Estas letras representan / EB \______/ EB \______/ los distintos grupos de \ G / \ F / frecuencias. \______/ \______/ Ya que como veis son 7 el minimo numero de grupos de frecuencias que puede ser usado en el sistema celular, sin que se repitan frecuencias en dos celulas adyacentes. Ademas, si habeis seguido bien este articulo sobre GSM, recordareis que se decia que hay un total de 124 portadoras (o frecuencias), y que cada BTS puede usar hasta un maximo de 16. Esto da un total de 7.75 grupos para repartir el total de las 124 portadoras sin que se repitan en grupos distintos. Claro, que seran 16 portadoras por cada grupo, menos en el ultimo grupo, el 8, que tendra las 12 portadoras restantes. Es decir, que el minimo seria de 8 grupos dentro del sistema GSM, pero por limitaciones de las BTS. ESO ES TODO AMIGOS =-=-=-=-=-=-=-=-=- Pos eso mismo, que eso es todo. Si teneis algun comentario, consulta, critica, sugerencia, lo que sea, escribid al e-mail que aparece aqui debajo. No contestare a los mensajes que no vayan encriptados con la clave PGP apropiada. Aun asi, no garantizo una respuesta. En el caso de responderos, sera en la revista. Solo en casos excepcionales (muy excepcionales), os respondere personalmente. De momento, aunque sea repetitivo, eso es todo. Por cierto, que ya llevamos mas de un a€o en la red. Hay que ver que rapido pasa el tiempo. :,) Que lo paseis bien, y que sigais leyendo esta fantastica ezine por otros muchos a€os. ___ ___ __________ /\ ___ ___ / | \_____ ___ __ ____ \______ \ / / / | \ __ __ ____ / ~ \__ \\ \/ // __ \ | ___/ / / / ~ \ | \/ \ \ Y // __ \\ /\ ___/ | | / / \ Y / | / | \ \___|_ /(____ /\_/ \___ > |____| / / \___|_ /|____/|___| / \/ \/ \/ \/ \/ \/ ___________ .__ __ \_ _____/____ | | | | __ ____ ____ | __) \__ \ | | | |/ // __ \ / \ | \ / __ \| |_| <\ ___/| | \ \___ / (____ /____/__|_ \\___ >___| / \/ \/ \/ \/ \/ http://norad.home.ml.org profesor_falken@hotmail.com prf_falken@geocities.com