Message Transfer Part

Message Transfer Part (MTP) je protokol Signalizačního systému č. 7 (SS7), který zajišťuje spolehlivý přenos síťové signalizace mezi digitálními telefonními ústřednami a dalšími centrálními prvky v telefonních sítích. MTP je jednou z implementací spodních tří vrstev protokolů OSI, rozděluje se na 3 úrovně (Level 1 až 3), které definují fyzickou (MTP-1), linkovou (MTP-2) a síťovou (MTP-3) vrstvu. MTP-3 může využívat nejen MTP-1 a MTP-2, ale může být přenášeno i pomocí sítí Asynchronous Transfer Mode (ATM); v telekomunikačních sítích, které používají IP infrastrukturu, může být MTP-3 přenášeno také protokoly SIGTRAN, případně může být protokoly SIGTRAN nahrazeno celé MTP.

Signalizační systém č. 7
SS7 protokoly podle OSI vrstvy
AplikačníTCAP, MAP, IS-41, INAP, CAP
TUP, ISUP, BSSAP
SíťováSCCP, SIGTRAN (IP7), MTP Level 3
LinkováMTP Level 2
FyzickáMTP Level 1

Uzly sítě se v protokolu MTP nazývají signalizační body (anglicky Signaling Point, SP) a podle funkce je lze rozdělit na signalizační tranzitní body (anglicky Signal Transfer Point, STP), které zajišťují směrování zpráv MTP (jedná se vlastně o routery signalizačních zpráv), a signalizační koncové body (anglicky Signaling End Point, SEP), které signalizační zprávy vytvářejí a přijímají.

Telefonní hovory nejsou přenášené MTP sítí. MTP síť pouze přenáší signalizaci – zprávy, které zajišťují přepojování linek pro telefonní hovory, účtování hovorů, přenos informací o poloze mobilních účastníků a přenos SMS. Telefonní ústředny nejsou STP, ale zvláštním druhem SEP označovaným zkratkou SSP (anglicky Signal Switching Points).

Roli adres plní v MTP 14 až 24bitové kódy signalizačního bodu, které nejsou celosvětově unikátní (dokonce mají v různých zemích různou délku a strukturu). Proto je nutné pro mezinárodní komunikaci, případně i pro komunikaci mezi sítěmi různých telekomunikačních operátorů v rámci jedné země, používat protokol Signalling Connection Control Part (SCCP), který umožňuje směrování zpráv podle telefonních čísel (MSISDN) nebo čísel SIM karet (IMSI).

Struktura SS7 sítě

MTP je primárně definováno v doporučeních ITU-T:

  • Q.701 – přehled a funkční popis MTP
  • Q.702 – požadavky na signalizační datový spoj
  • Q.703 – funkce signalizačního spoje
  • Q.704 – popis signalizačních linkových funkcí a zpráv
  • Q.705 – struktura signalizační sítě
  • Q.706 – definice výkonnostních parametrů MTP
  • Q.707 – funkce pro testování a údržbu MTP

Pro ověření správnosti implementace MTP slouží testy popsané v ITU-T doporučeních

V různých zemích se však používají různé varianty MTP. V Severní Americe je MTP definováno ANSI standardem T1.111. V Evropě vycházejí národní varianty MTP ze standardu ETSI EN 300-008-1.

Vrstvy MTP

editovat
 
Různé realizace vrstev protokolu Message Transfer Part

MTP bylo vytvořeno dříve než Referenční model ISO/OSI, ale dodatečně bylo vůči tomuto modelu zarovnáno. MTP odpovídá spodním třem vrstvám referenčního modelu ISO/OSI. Úroveň číslo 1 MTP odpovídá vrstvě číslo 1 OSI (fyzická vrstva), úroveň číslo 2 odpovídá vrstvě č. 2 OSI (spojová vrstva) a úroveň číslo 3 MTP je shodná s vrstvou číslo 3 OSI (síťová vrstva).

Úroveň číslo 1 MTP používá buď jeden časový slot (DS-0, nebo DS-0A) vyčleněný na E1/T1 lince nebo celou tuto linku. Alternativou je použití Asynchronous Transfer Mode místo MTP-1 a MTP-2.

Úroveň číslo 2 MTP poskytuje detekci chyb, postup ověřování a také zahajuje opakovaný přenos v případě chybného přenosu. Pro přenos zpráv SS7 úroveň č. 2 MTP používá pakety anglicky nazývané signal units, SU. Existují tři typy těchto paketů: Fill-in Signal Unit (FISU), Link Status Signal Unit (LSSU), Message Signal Unit (MSU).

Úroveň číslo 3 MTP zaručuje funkční směrování pro přenos oznamovacích zpráv mezi síti SS7 a požadovaným koncovým bodem. Každý prvek v národní nebo mezinárodní síti SS7 má jedinečnou adresu, Signaling Point Code (SPC). Směrování zpráv se provádí podle těchto adres. Pro komunikaci mezi národními sítěmi je nutné použít Signalling Connection Control Part (SCCP).

Doporučení ITU-T Q.702 popisuje signalizační datový spoj (anglicky signalling data link), který představuje nejnižší úroveň (úroveň 1, anglicky Level 1) MTP odpovídající fyzické vrstvě referenčního modelu OSI. Signalizační datový okruh je realizován dvěma analogovými nebo digitálními přenosovými kanály v opačných směrech (čili je plně duplexní) s rychlostí minimálně 4,8 kbit/s; za standardní přenosovou rychlost se však považuje 64 kbit/s (DS-0). Typicky se používá jeden časový slot na lince E1, E2 nebo T1. Na velmi zatížených spojích může MTP používat celou linku E1 nebo T1 (2 nebo 1,5 Mbit/s).

Doporučení ITU-T Q.703 popisuje signalizační spoj (anglicky signalling link), který představuje druhou úroveň (anglicky Level 2) MTP odpovídající linkové vrstvě referenčního modelu OSI. MTP-2 zajišťuje:

  • vymezení signalizačních jednotek (signal unit delimitation)
  • řazení signalizačních jednotek (signal unit alignment)
  • detekci chyb (error detection)
  • opravu chyb (error correction)
  • počáteční nastavení (initial alignment)
  • monitorování chyb na signalizačním spoji (signalling link error monitoring)
  • řízení toku dat (flow control)

Formát rámců vychází z HDLC – rámce jsou ohraničeny osmibitovou křídlovou značkou (anglicky flag) s binární hodnotou 01111110 (šestnáctkově 7E) a pomocí techniky vkládání bitů je zajištěno, že nikde v rámci se nemůže vyskytnout 6 jedničkových bitů za sebou (po pěti jedničkových bitech se vkládá jeden bit nulový). Pokud se v rámci vyskytne více než 6 jedničkových bitů za sebou, je to považováno za chybu na lince (out of alignment). Každý rámec je zabezpečen kontrolním součtem. Pokud přijatý kontrolní součet nesouhlasí s kontrolním součtem vypočítaným z přijatých dat, bude rámec zahozen. Oprava chyb se realizuje opakovaným vysíláním řízeným poli BSN a BIB.

Všechny signalizační linky jsou dvoubodové, proto rámec neobsahuje na linkové vrstvě žádnou adresu.

Na linkách, u kterých je jednocestná doba šíření větší nebo rovna 15 milisekundám, a u všech satelitních linek, se používá preventivní cyklické opakování přenosu – pokud nejsou k dispozici další rámce k odesílání, cyklicky opakuje vysílání všech zatím nepotvrzených rámců.

Linková vrstva je schopna odhalit problémy na lince a pokouší se je odstranit pomocí realignmentu nebo resynchronizace. Pokud se to nepodaří a linka je nepoužitelná, vyšší vrstvy zajistí přesměrování alternativními linkami nebo cestami.

Rámce linkové vrstvy mají následující formát (pole jsou znázorněna v opačném pořadí než v doporučeních ITU-T,[Pozn 1] zde je první přenášené pole vlevo stejně jako u jiných komunikačních protokolů na Wikipedii):

    +--------+-------+---+-------+---+------+--+---//----+----------------+
    |  flag  |  BSN  |BIB|  FSN  |FIB|  LI  |sp| payload |      CK        |
    +--------+-------+---+-------+---+------+--+---//----+----------------+
    bitů: 8      7     1     7     1     6    2    var          16
  • flag – hodnota 7Eh pro synchronizaci (pomocí bit stuffingu se zajišťuje, že nikde jinde v rámci nebude za sebou 6 jedničkových bitů)
  • BSN (Backward Sequence Number) – číslo posledního potvrzovaného rámce modulo 128
  • BIB (Backward Indicator Bit) – jeho změna oproti předchozímu rámci znamená záporné potvrzení
  • FSN (Forward Sequence Number) – číslo vysílaného rámce mod 128
  • FIB (Forward Indicator Bit) – jakmile se začnou opakovaně vysílat rámce, pro které bylo přijato záporné potvrzení, bude nastaven na hodnotu BIB z NACK
  • LI (Length Indicator) – délka dat v rámci nebo 63, pokud je délka dat větší nebo rovna 63 oktetům (max. 273 oktetů) – pro zachování zpětné kompatibility se nepoužívá hodnota větší než 63, i když následují 2 volné bity, které by umožňovaly uložení délky až 255
  • sp (spare) – nevyužité bity
  • res (reserved) – rezervované (nevyužité) bity
  • payload – 0 až 273 oktetů (často uváděná maximální délka 272 oktetů je bez pole SIO)
  • CK (Check Bits) – kontrolní součet (CRC)

Pro linky s rychlostí 1,5 a 2 Mbit/s jsou pole BSN, FSN a LI rozšířena:

    +--------+------------+---+---+------------+---+---+---------+-------+---//----+----------------+
    |  flag  |    BSN     |res|BIB|    FSN     |res|FIB|    LI   | spare | payload |       CK       |
    +--------+------------+---+---+------------+---+---+---------+-------+---//----+----------------+
    bitů: 8        12       3   1       12       3   1       9       7       var           16

MTP-2 rozlišuje tří typy rámců:

  • Výplňkové rámce (anglicky Fill-In Signal Unit – FISU) mají LI=0 a neobsahují žádný payload
  • Rámce stavu linky (anglicky Link Status Signal Unit – LSSU) rámce mají LI=1 nebo LI=2 a jako payload mají SF (Status Field)
  • Datové rámce (anglicky Message Signal Unit – MSU) síťové vrstvy mají LI>2. Jejich payload je tvořen jedním oktetem SIO (Service Information Field) a nejméně 2 oktety SIF (Signalling Information Field).

Rámec je následován alespoň jedním flagem s hodnotou 7Eh. Pokud se vysílá několik rámců bezprostředně za sebou, oddělují se pouze jedním flagem.

Pokud není co vysílat, vysílají se výplňkové rámce (v japonské variantě se vysílají jen flagy; výplňkové rámce jen 1× za 150 ms):

LSSU se používají pro změnu stavu linky (inicializace, signalizace chyb linky a zotavení z chyb). Nejsou směrovány na jiné linky (není podle čeho, protože neobsahují adresu), ani není potvrzováno jejich přijetí

Nyní používané LSSU mají vždy jednobytový payload, ze kterého jsou využity pouze 3 bity, které mohou nabývat následujících hodnot (SI = Status Indication):

payload zkratka status
000 SIO O: Out Of Alignment
001 SIN N: Normal Alignment (8,2 sec surveillance time)
010 SIE E: Emergency Alignment (500 ms surveillance time)
011 SIOS OS: Out Of Service
100 SIPO PO: Processor Outage
101 SIB B: Busy/congestion
  • Status 000 značí SIO (out of aligment), které se vysílá jako první stav pro inicializaci L2
  • Status 001 pro SIN (normal alignment) druhý krok v procesu inicializace. Ten musí být přijímán a vysílán po určitou dobu (asi 5-8s), a pak je SignalLink uznán za stabilní pro přenos MSU.
  • Status 010 je status pro SIE (emergency alignment) a slouží pro rychlé zarovnání. Netestuje se tedy potřebný čas pro určení stability SignalLinku.
  • Status 011 SIOS (out of service) značí pro druhou stranu nějaký problém na lince. Může se jednat o zvýšenou chybovost, většího množství nepotvrzených zpráv apod. Po přijetí tohoto stavu se dle vývojových automatů obě strany pokoušejí opět inicializovat a otestovat stabilitu SignalLinku.
  • Status 100 SIPO (processor outage) je příznak druhé straně, že procesor nestíhá obsluhovat přicházející MSU. Dává tak druhé straně informaci aby zpomalila vkládání MSU do SignalLinku. Reakcí je vysílání FISU, které procesor nezatěžují, jsou výplňové.
  • Obdobně je na tom i poslední používaná kombinace 101 nazývaná jako SIB (busy), která říká obsazeno, ale není nutno provádět inicializaci. Po vypršení časového limitu cca 6-8s je vnímáno jako porucha vzdáleného konce a proces inicializace je povinný.

MSU se používá pro přenos informací pro vyšší vrstvy (MTP-3 a vyšších). Pouze MSU se směrují. Payload MSU se skládá z jednoho oktetu SIO (Service Information Octet) a SIF (Signaling Information Field) proměnné délky.

Síťová vrstva MTP3 (Message Transfer Part 3, ITU-T Q.704) zajišťuje směrování podle routing labelu na základě čísel signalizačního bodu (anglicky Signalling Point Code, SPC). Pokud dojde k výpadku linky, výpadku uzlu nebo zahlcení linky, přesměruje provoz náhradní trasou (viz ITU-T Q.705).

Struktura payloadu z MTP2 rámce pro datové rámce (Message Signal Unit – MSU); první byte je vlevo:

   +--------+--------//----------------+
   |  SIO   |  SIF                     |
   +--------+--------//----------------+
   bitů: 8        8 * n

Service Information Octet – SIO

editovat

Struktura pole SIO:

  • bity 3-0: Service indicator (SI)
  • bity 5-4: Priority (ANSI) / Unused (ITU)
  • bity 7-6: Network indicator (NI)

Bity 7-4 se souhrnně nazývají Sub-service field (SSF)

Service indicator v nejnižších 4 bitech SIO rozlišuje uživatele MTP:

bity 3-0 význam
0 Signaling network management messages (NM)
1 Signaling network testing and maintenance messages (Test)
2 volné (Maintenance Special Message – MTNS)
3 Signaling Connection Control Part (SCCP)
4 Telephone User Part (TUP)
5 ISDN User Part (ISUP) pokud je přímo nad MTP (může být i nad SCCP)
6 Data User Part (DUP) (call and circuit-related messages)
7 Data User Part (facility registration and cancellation messages)
8 rezervováno pro MTP Testing User Part
9 širokopásmové ISDN User Part
10 satelitní ISDN User Part
11-15 volné

Nejvyšší 2 bity SIO jsou Network indicator (NI):

bit 7 bit 6 význam
0 0 mezinárodní síť
0 1 volné (pouze pro mezinárodní použití)
1 0 národní síť
1 1 rezervováno pro národní použití

V České republice se NI=11 (binárně) používá pro přechodovou signalizační síť, která propojuje jednotlivé operátory.[1]

Bity 5 a 4 SIO nejsou v ITU verzi použity, v ANSI mají význam priority:

bit 5 bit 4 význam
0 0 nižší priorita
0 1 normální priorita
1 0 (prakticky nepoužíváno)
1 1 pro správu sítě

Při zahlcení se zprávy s nižší prioritou zahazují nebo směrují jinou cestou. Nižší prioritu mají např. call setup. Normální prioritu mají například zprávy, které zajišťují předání spojení mezi buňkami.

SIO pro SCCP v národní síti je 0x83, pro ISUP v národní síti 0x85.

Signaling Information Field – SIF

editovat

SIF (Signaling Information Field) vždy obsahuje routing label a data vyšší vrstvy neboli signaling information (např. SCCP, TCAP a ISUP message data).

Routing Label

editovat

Routing label slouží ke směrování zpráv. Jeho přesná struktura závisí na použitém protokolu vyšší vrstvy, který je v poli SIO (resp. SI) a variantě MTP (ITU/ANSI/China/Japan), na které závisí délka DPC a SPC.

Routing label vždy obsahuje Destination Point Code (DPC), může obsahovat i Originating Point Code (OPC) a user-specific information.

U SCCP protokolu se user-specific information nazývá SLS (Signalling Link Selection), u ISUP se skládá z CIC (Circuit identity Code) a SLS, u TUP/NUP obsahuje pouze CIC.

ITU-T routing label má délku 4 oktety, obsahuje 14bitové DPC a OPC, které nemají další strukturu, a 4bitové SLS/SLC (Signalling Link Selection / Signalling Link Code); na data vyšší vrstvy pak zbývá 268 oktetů.[Pozn 2]

ANSI routing label má délku 7 oktetů. DPC i OPC je 24bitové, SLS je 5bitové. ANSI point cody (PC) se dále člení na 3 složky:

  • network (8 bitů)
  • cluster (8 bitů)
  • member (8 bitů)

Celý PC se zapisuje například 245-16-0. V ANSI mají velcí operátoři přidělenou celou síť, malí operátoři mají přidělen pouze cluster v sítích 1 až 4. Číslo sítě 0 se nepoužívá, číslo sítě 255 je rezervováno pro budoucí rozšíření. 5 jsou velmi malé sítě, 6 jsou sítě mimo Severní Ameriku.

Jednotlivým SP a STP přiděluje jejich point code (PC) vlastník sítě. SP na rozhraní dvou sítí (např. národní a mezinárodní) mají dva PC, do každé sítě jeden.

Protože PC nejsou celosvětově unikátní a nemusí mít stejný formát (ANSI versus ITU), nemohou se používat pro směrování zpráv mezi sítěmi různých provozovatelů. Je nutné používat protokol vyšší vrstvy – SCCP, který provádí směrování pomocí Global Title (GT), což jsou v podstatě telefonní čísla. V Severní Americe jsou ANSI PC unikátní.

V IP7 mají PC 32 bitů a SLS 8 bitů.

Poznámky

editovat
  1. Q.703 str. 6
  2. Q.703 str. 7

Reference

editovat
ITU-T doporučení
IETF RFC dokumenty
  • RFC 2719, Framework Architecture for Signaling Transport.
  • RFC 4165, Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) — User Peer-to-Peer Adaptation Layer (M2PA).
  • RFC 3331, Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) — User Adaptation Layer (M2UA)
  • RFC 4666, Signaling System 7 (SS7) Message Transfer Part 3 (MTP3) — User Adaptation Layer (M3UA)
Další dokumenty

Literatura

editovat
  • VAN BOSSE, John G.; DEVETAK, Fabrizio U. Signaling in Telecommunication Networks. 2. vyd. New Jersey: John Wiley & Sons, Inc., 2006-11-28. 704 s. ISBN 978-0-470-04813-9. S. 167–200. (anglicky) 

Externí odkazy

editovat