Internet DRAFT - draft-coene-ss7-IP-addr
draft-coene-ss7-IP-addr
HTTP/1.1 200 OK
Date: Mon, 08 Apr 2002 23:19:28 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Mon, 18 Jan 1999 17:49:00 GMT
ETag: "2e7f84-5bbf-36a3740c"
Accept-Ranges: bytes
Content-Length: 23487
Connection: close
Content-Type: text/plain
INTERNET DRAFT Lode Coene
Category: Memo Siemens Atea
Title: <draft-coene-ss7-IP-addr-00.txt>
Date: January 1999
Expires: July 1999
Internet and SS7 addressing
<draft-coene-ss7-IP-addr-00.txt>
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute working
documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as "work in progress."
To view the entire list of current Internet-Drafts, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe),
ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim),
ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).
Abstract
This document makes a comparison between Internet and SS7 addressing. The
functions of SS7 network layer relating to addressing and their relation with
the corresponding IP functions are explained. This may leads to requirements
for SS7 functionality dealing with IP addresses if SS7 signalling messages
are to be transported over IP infrastructure.
Table of Contents
1.0 Introduction
2.0 Terminology
3 Internet addressing
3.1 IP addresses
3.3 How to reach applications in the Internet
4 SS7 addressing
4.1 MTP addressing
4.2 SCCP addressing
4.3 Global Title
4.4 How to reach applications in SS7
5.0 Routing of SS7 messages in a IP net
5.1 Routing using globally assigned IP addresses.
5.2 Routing SS7 messages and Network Address Translators
6.0 References
7.0 Authors
1.0 Introduction
This architecture document covers subject terminology and makes a overview of
available Internet and SS7 addressing. It tries to explain what the meaning is
of the different addressing modes in the internet and Signaling System Nr. 7
and
where their added value resides. Some scenario's are provided as example of
how
applications in the SS7 and/or internet may be able to reach each other
directly.
2.0 Terminology
The following functions are commonly identified in related work :
Signal Transfer Point (STP):
This is a node in an SS7 network that routes signalling messages based on
their
destination address in the SS7 network
Signal Relay Point (SRP):
This is a node in an SS7 network that routes signalling messages based on
their
called party address in the SS7 network.(Translates Called party address to a
destination pointcode and also translates Calling prty address when needed)
Called Party Address(CLD):
Address of the party the message wants to reach.(Party can be a node,
person...,
a entity in general)
Calling Party Address(CLG):
Address of the party from which the message originated.
Global Title:(GT)
A globally unique identifier used in the CLD and/or CLG for identifying a
entity. A global title can consist of a pointcode, translation type, nature of
address, numbering plan and the title itself(=digits).
Pointcode(PC)
The Pointcode in SS7 and IP have the same meaning, but not necessary the same
size and interpretation. A pointcode identifies a node within a particular
network.
Routing Indicator:
The routing indicator tells the routing function which part of the address has
to use for routing the message.
Translation Type Number(TTN):
The translation type number indicates the translation type of the address.
Numbering Plan(NP):
This indicates the numbering plan to which the digits belong: that can be
E164,
E212, private numbering plans, Internet Numbering Plan, .....
Nature-Of-address(NA):
The nature of address indicates whether a address is for national,
international
or other use.
Encoding Scheme(ES):
The encoding scheme indicates how the digits are encoded. Encoding is normally
in Binary Coded decimal(BCD) format.
SubSystem Number(SSN)
The SSN indicates the application entity that must be reached in the final
destination node of the msg
Global Titel Format(GTI):
Indicates which of the above mentioned parameters are actually present in the
party address. If some parameters are not present in the address then default
parameters are used for executing the Global Title Translation.
Portnumber:
Indicates on the tranport level which application needs to be reached in the
layer above.
Subnet: a subnet is a collections of nodes, belonging to the same operator/ISP
or colective of operators/ISP's. This may be equivalent with a Internet
domain.
A MTP net is always a subnet. Subnet may be owned by more than one
operator(example MTP NAT0 subnet in the US)
3.0 Internet addressing
3.1 IP address
3.2 How to reach applications in the Internet
Every layer needs to determine the service to which it wants to deliver its
information. The way in which this is done depends from layer to layer. The
transport protocols above the IP network protocol are indicated in the
protocol
extension headers field contained at the end of the IP header. Every protocol
has its own standardized protocol number.
The transport layer determine the application to which it wants to deliver the
information by the portnumber.
The tuple destination address and portnumber uniqely identifies a application
in
the internet. Further selectors may be used in higher layers to obtain the
desired application. The ip address itself is a pointcode. The following sorts
of pointcode may de distinguished :
- Unicast address: a unicast address designates a single node within a IP
network. It can have some hierarchy in it or not. The address may be globally
unique or be a private pointcode.
- Multicast address: the message is send to all nodes belonging/attached to
that multicast address/group.( Same principle as with SCCP broadcast but
different implementation)
- Link-local address: these are addresses assigned to the link(wow local
"private").
- Site-local address: these are addresses assigned to a site(wow local,
"private")
- ...
As the meaning of the pointcodes is only known to IP and it has a relation to
the link and its interface to the link, layers which only know about
destinations(such as SCCP), SHOULD NOT/MUST NOT try to to interprete the IP
address.
4.0 SS7 addressing
4.1 MTP addres :
SS7 was develop in stages: ISUP and MTP were first developped. The decision to
route was done by the application in a similar way as the MFC/... signalling
determined the trunk to the next exchange. ISUP had to determine for a
certain
E164 number a DPC(= the pointcode of the adjacend exchange) and then the msg
was
routed to the office where the same procedure was done over all
again.(=link-by-
link routing)
MTP routing label consists of a Network indicator(also called A
MTP-SAP=service
acces point) , a destination Pointcode(=DPC) and a origination Pointcode(OPC).
The MTP-SAP indicates for which network the pointcode in the routing label is
valid. If the routing table has been engineerd in a node for that network, the
message can reach that destination. The size of a pointcode is fixed within a
single network. Different networks can have different sizes of pointcodes:
- ITU 14 bit
- ITU 24 bit
- ANSI 24 bit
- Others.....
A MTP pointcode is private to its own network. The global uniqueness is not
assured by MTP pointcode but by global titles(as used in SCCP and in ISUP).
The representation of pointcodes can be diverse: decimal, 3-4-3-4 format,
8-8-8
format .... It is allowed to structure the pointcode(akind to CIDR and its
prefixes in IP).
MTP uses static routing: no routing protocols like RIP, OSPF or BGP are used
for
finding out routes between nodes in a MTP network. However it is allowed to
use
dynamic routing in a MTP net.
4.2 SCCP adress
The SCCP address is a variable length address build as a collection of
optional
elements. It identifies destinations and has no notion about routes. That is
left to the underlying network layer(MTP or IP). A destination can be a
network,
node ,application entity, a person... Routing is static. The SCCP address is
generally refered to as a Global title. The global title must be globally
unique(at least on a world scale) as this allows the A-party to reach the B-
party End-to-End without setting up a connection through the network. It can
also be used for Link-by-link routing.
The function responsible for deriving a pointcode from a global title is (not
surprisingly) called the global title translation function(GTT). The GTT is a
local function which bases it translation and routing decision on the local
situation(translation rule, loadsharing of destinations, route to backup
node...) It has no topological knowledge of the network(something MTP and
certainly IP have). The GTT function can therefore not only be used by msg
with
SCCP address but also by Q931 or other signaling messages for finding out to
which destination the message must be sent.
The elements of the Global Title consists of the following:
- MTP pointcode AND Network indicator(=MTP-SAP). The network indicator
indicates to which network the msg belongs.
- Subsystem Number: indicates to which application the msg belongs.
- Global title: a structure indicating a global identification of a node
and/or
application. A GT may occur in the SCCP Calling(=Originator address) and in
the
Called(Destination address) Party address.
If only a MTP pointcode, network indicator and SSN is present, then the
message
can only be routed within that particular MTP network.
If a global title is present(accompanied possibly by a MTP pointcode, network
indicator and SSN), then the msg can be routed across multiple MTP networks,
provided the networks are interconnected and the destination is reachable.
4.3 Global Title and Global Title Translations:
A global title contains the following elements. They are nearly all optional,
the occurrence of the field in the SCCP message itself is governed by the
global
title format field in the message.
-Translation Type(TTN): should indicate what sort of translation is needed.
The
most used TTN is the UNKNOWN. In the US some of the TTN have been used to
address the application(in stead of the SSN), thus doubling as application
entity selectors. The Translation Type Number has no counterpart in IP.
- Numbering plan(NP): this contains the numbering plan indication to which the
rest of the address conforms. This may be the E164, E212, E211, private
numbering plans, .... The Numbering plan indication has no explicit
counterpart
in IP. It is implicitly included in the IPv4 address and partly explicitly
included in the IPv6(example : E164 numbers included in OSI-NSAP address in
IPv6)
- Nature-of-address(NA): this indicates the national or international use of
the address. The Nature-of-Address has no counterpart in IP.
- Encoding scheme: this is a implicit parameter used to indicate the format of
the global title digits(BCD even or BCD uneven). The Encoding scheme has no
counterpart in IP.
- Global title digits: digits in the format specified by the encoding scheme.
They contain the global identification of node(and possibly also of the
application within that node.) Also the number of digits is included(as GT is
a
variable length address.
- Subsystem Number(SSN): indicates the application entity which should be
reached . Some of the SSN are universally defined while others are not. Some
are
even double used. The SSN corresponds roughly to the portnumber of IP. However
SSNs are derived at the network layer and go straight through to the
application
layer.
- Global title format: indicates which of the field mentioned above are
explicitly contained in the called or calling party address of the message.
Some formats indicates that some fields(like NA and NP) are specified
implicitly.
Global title have no explicit counterpart in IP. IP addresses are implicitly
assumed to be Global (NAT not included). A GT could also be a name(such as in
Directory Naming service (DNS)).
Also some routing information is included in the calling/called party address.
- routing Indicator: indicates to the node processing calling/called party
address how to route the message on. The message can be routed on the
Pointcode
(and SSN: applicable only in the final end-node) or on global title(this
requires a translation).The routing indicator has no counterpart in IP.
Depending on the routing indicator the message will be route by SCCP. If
route-
on-SPC then MTP will do the routing. If route-on-GT then the SCCP global Title
translation function will be invoked to determine the next(possible final or
intermediate) node of the message. The address will be examined on the
TTN,NP,NA
and Digits and a translation will be done yielding a MTP pointcode + network
indicator. A SSN may also be the additional outcome of the Global Title
Translation(GTT). This MTP address is then used by MTP to route to the next
destination(intermediate or final).
If required, the TTN, NP, NA, SSN and possible all the digits may be
transformed
into a TTN', NP' , NA' , SSN' and digits'. It will change the address (if the
routing policy prescribes it) in a effort to reach the final destination. The
only rule to which it has to adhere is that the change in addresses must be so
that the return message(from the B-party) must reach the originator of the
start
msg(=A-party). This means that the message routing is NOT symmetric. Global
title translation conforms to the notion of a Store-Compute-and-Forward
network
as opposed to a IP network which is a Store-and-Forward network. This
translation is completely stateless(we are routing unitdata messages). The
same
function can also be invoked for connections(see SCCP connection-oriented)
then
the translation is done only once at the connection setup phase and we have
then
state.
The translation rules for digits consist of:
- Deleting digits.
- Inserting digits
- Replacing digits
- Copying digits
That means that your called party address may have completely changed once it
went through the GTT and at the same time the calling party address must also
be
changed to adhere to the rule that the backward message MUST be routable so
that
a end-to-end dialogue may be send up between 2 nodes.
4.4 How to reach applications in SS7
Every layer needs to determine the service access point to which it wants to
deliver its information. The basic element in SS7 to determine this is the
Subsystem Number(SSN for short). the SSN can be found in MTP and SCCP.
The MTP has a SSN which indicates along others ISUP, SCCP ,..etc... The SSN in
MTP are standardized on international level. Locally defined SSN are allowed
but
may not be used outside that network.
The SSN used in SCCP indicates directly to which application the message must
be
send to. These SSN may be standardized but that is not a prerequisite(see
Q715).
Some applications have standardized SSN, while others use(and sometimes reuse)
not standardized SSN. When messages go from a net with SSN1 to a net with
SSN2(SSN1 and SSN2 indicate the same protocol) global title translation must
be
invoke to convert the SSN's. This is one of the most basic and simplest use
of
Global Title translation in SS7.
5.0 Routing of SS7 message in a IP net.
5.1 Routing using globally assigned IP addresses.
As IP addresses are seen by the community at large as global, if SS7 wants to
transport its messages over a IP network, then they should be treated as
global
addresses. This means that SS7 shall look at them as global titles, it shall
NOT
rely on the specific handling of the addresses by the underlying IP layer and
below. This also means that SCCP is a prerequisite for transporting message
over
a IP infrastructure when non-call related messages are to be transported over
IP. ISUP and other signaling protocols will have to the same for call related
messages , translating the addresses it has to IP addresses. They can all
invoke
the GTT function if wanted.
The following cases may be envisioned:
- E164,E212, (=telephone numbers) to IP address(depending on the underlying
network Ipv4 or Ipv6) (equivalent to translation MTP 14bit, 24bit ...)
- IP address to IP address
- IP address to MTP address
- IP address to a form of a telephone address (=E164*) : needed if the message
transit from a IP net to a IP net via a couple of MTP nets.
As some forms of IP addresses have a very limited scope(such as link-local and
site local), they should better not be used. Globally assigned Unicast,
multicast may be used.
A word of care is advised when using multicast addresses. This is especially
true if the routing indicator in SCCP is Route-on-GT. SCCP has no knowledge
whether the translation yielded a unicast or multicast PC, so it cannot and it
will not take action to relay or stop the message. This is a area for further
study.
Implications of this are that GTT function should support IP pointcodes. The
IP
pointcode must be put in the digit block of the GT. The representation may be
in
BCD, the meaning of it should not. The length of a Ipv4 address(32bits) should
then be 8 digits(always fixed). The length of a Ipv6 address(128bits) should
be
32 digits. The GT maximum allowed digits in the SCCP header may need to be
extended from 24 digits to at least 32 digits(some extra digits may need to be
inserted for proper routing). The result attached to a certain translation
must
be or a MTP PC(14,24) or a Ipv4 PC or a Ipv6 PC. The nature of address may be
defined as indicating a international address with bitmap format. This could
even lead to a new GTT operation (besides insert, copy, delete, replace)
called
bitmapPCCopy(Just a idea). The same can be achieved via proper engineering of
the GT database.
A alternative is to use a MTP pointcode to IP pointcode mapping table.
If GTT is used then IP must need a Numbering plan indicator(NP value normally
assigned by SG11). This may or may not be agreed with SG11. This is not
mandatory(but it is encouraged) as already there exists private numbering
plans
not known to SG11. As long as you make sure at the network border via GTT that
the next network will be able to route the message NP , you can do pretty much
anything. This is a bilateral agreement between operators/Internet Service
providers)
In general any value may be used as long as it is routable in your own subnet
and that you or somebody else is able to route it further over its own net.
Also maybe the portnumber may become part of the input/output to the GTT
function.
5.2 Routing SS7 message and Network address Translators.
Network Address Translator(NAT) are boxes which map a private IP net address
to
a globally assigned IP address. This happens because there are many more users
within the private IP net than there a globally assigned IP addresses
allocated
to that private IP net. That means that the mapping is ALWAYS dynamic. The
mapping must be both ways and via the same NAT and the NAT is always the final
destination. Also the association is based on state(thus breaking the
end-to-end
principle). This means that global title translation will have a hard time.
5.3 Routing SS7 messages and routing protocols
The term routing protocols is much broader in the Internet than it is in the
SS7
world. SS7 designates such protocols as Management protocols(SCCP mamagement,
MTP management...) The scope of SS7 management protocols is far smaller. They
only exchange informations of links in service and nodes in service(mostly
only
the own links and the adjacend nodes) The topology of the network is NOT
exchanged between SS7 nodes. In general most nodes haven't got the faintest
idea
how even the topology of its own subnet may look like.(and they don't care).
The interaction between IP routing protocols and SS7 routing may require some
study especially in the case that routes start changing due to routing
recomputation. The loadsharing and primary/backup systems of GTT seems not to
be
impacted as it relies on destinations and not on links. As long as a
destination
is accessible/avialable in the IP net, then messages may be send to it. If the
destination is no longer avialable, then GTT must perfom according to its own
rules. Beware of changing conditions being triggered by routing updates.
6.0 References and related work
[01] ITU-T Recommendation Q.700, "Introduction to CCITT Signaling System
No.7", March, 1993
[02] ITU-T Recommendation Q.701-705, "Message Transfer part
No. 7", 1996
[03] ITU-T Recommendation Q.710-715, "Signaling Connection Control Part
No. 7", 1996
[04] ITU-T Recommendation Q.770-775, "Transaction Capabilities Application
Part
No. 7", 1996
[05] ITU-T Recommendation Q.1400, " architecture framework for the
development of signaling and OA&M protocols using OSI concepts ",1993
[06] "Routing in the Internet", C. Huitema, 1995, Prentice-Hall
[07] "Signaling System #7", T. Russell,1998, McGraw-Hill
[08] An Architecture for IPv6 Unicast Address Allocation (RFC 1887)
[09] OSI NSAPs and IPv6 (RFC 1888)
[10] IP Version 6 Addressing Architecture (RFC 2373)
[11] An IPv6 Aggregatable Global Unicast Address Format (RFC 2374)
[12] IPv6 Multicast Address Assignments (RFC 2375)
[13] Proposed TLA and NLA Assignment Rules (RFC 2450)
[14] Internet Protocol, Version 6 (IPv6) Specification (RFC 2460)
7.0 Authors
Lode Coene
Siemens Atea
Atealaan 34
Herentals, Belgium
Phone: +32-14-252081
Email: lode.coene@vnet.atea.be
Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.