Tuesday, October 30, 2007
Friday, April 13, 2007
IP subnetting made easy
IP subnetting is a fundamental subject that's critical for any IP network engineer to understand, yet students have traditionally had a difficult time grasping it. Over the years, I've watched students needlessly struggle through school and in practice when dealing with subnetting because it was never explained to them in an easy-to-understand way. I've helped countless individuals learn what subnetting is all about using my own graphical approach and calculator shortcuts, and I've put all that experience into this article.
IP addresses and subnets
Although IP stands for Internet Protocol, it's a communications protocol used from the smallest private network to the massive global Internet. An IP address is a unique identifier given to a single device on an IP network. The IP address consists of a 32-bit number that ranges from 0 to 4294967295. This means that theoretically, the Internet can contain approximately 4.3 billion unique objects. But to make such a large address block easier to handle, it was chopped up into four 8-bit numbers, or "octets," separated by a period. Instead of 32 binary base-2 digits, which would be too long to read, it's converted to four base-256 digits. Octets are made up of numbers ranging from 0 to 255. The numbers below show how IP addresses increment.
0.0.0.0
0.0.0.1
...increment 252 hosts...
0.0.0.254
0.0.0.255
0.0.1.0
0.0.1.1
...increment 252 hosts...
0.0.1.254
0.0.1.255
0.0.2.0
0.0.2.1
...increment 4+ billion hosts...
255.255.255.255
The word subnet is short for sub network--a smaller network within a larger one. The smallest subnet that has no more subdivisions within it is considered a single "broadcast domain," which directly correlates to a single LAN (local area network) segment on an Ethernet switch. The broadcast domain serves an important function because this is where devices on a network communicate directly with each other's MAC addresses, which don't route across multiple subnets, let alone the entire Internet. MAC address communications are limited to a smaller network because they rely on ARP broadcasting to find their way around, and broadcasting can be scaled only so much before the amount of broadcast traffic brings down the entire network with sheer broadcast noise. For this reason, the most common smallest subnet is 8 bits, or precisely a single octet, although it can be smaller or slightly larger.
Subnets have a beginning and an ending, and the beginning number is always even and the ending number is always odd. The beginning number is the "Network ID" and the ending number is the "Broadcast ID.: You're not allowed to use these numbers because they both have special meaning with special purposes. The Network ID is the official designation for a particular subnet, and the ending number is the broadcast address that every device on a subnet listens to. Anytime you want to refer to a subnet, you point to its Network ID and its subnet mask, which defines its size. Anytime you want to send data to everyone on the subnet (such as a multicast), you send it to the Broadcast ID. Later in this article, I'll show you an easy mathematical and graphical way to determine the Network and Broadcast IDs.
The graphical subnet ruler
Over the years, as I watched people struggle with the subject of IP subnetting, I wanted a better way to teach the subject. I soon realized that many students in IT lacked the necessary background in mathematics and had a hard time with the concept of binary numbers. To help close this gap, I came up with the graphical method of illustrating subnets shown in Figure A. In this example, we're looking at a range of IP addresses from 10.0.0.0 up to 10.0.32.0. Note that the ending IP of 10.0.32.0 itself is actually the beginning of the next subnet. This network range ends at the number right before it, which is 10.0.31.255.
Figure A |
Note that for every bit increase, the size of the subnet doubles in length, along with the number of hosts. The smallest tick mark represents 8 bits, which contains a subnet with 256 hosts--but since you can't use the first and last IP addresses, there are actually only 254 usable hosts on the network. The easiest way to compute how many usable hosts are in a subnet is to raise 2 to the power of the bit size minus 2. Go up to 9 bits ,and we're up to 510 usable hosts, because 2 to the 9th is 512, and we don't count the beginning and ending. Keep on going all the way up to 13 bits, and we're up to 8,190 usable hosts for the entire ruler shown above.
Learning to properly chop subnets
Subnets can be subdivided into smaller subnets and even smaller ones still. The most important thing to know about chopping up a network is that you can't arbitrarily pick the beginning and ending. The chopping must be along clean binary divisions. The best way to learn this is to look at my subnet ruler and see what's a valid subnet. In Figure B, green subnets are valid and red subnets are not.
Figure B |
The ruler was constructed like any other ruler, where we mark it down the middle and bisect it. Then, we bisect the remaining sections and with shrinking markers every time we start a new round of bisecting. In the sample above, there were five rounds of bisections. If you look carefully at the edge of any valid (green) subnet blocks, you'll notice that none of the markers contained within the subnet is higher than the edge's markers. There is a mathematical reason for this, which we'll illustrate later, but seeing it graphically will make the math easier to understand.
The role of the subnet mask
The subnet mask plays a crucial role in defining the size of a subnet. Take a look at Figure C. Notice the pattern and pay special attention to the numbers in red. Whenever you're dealing with subnets, it will come in handy to remember eight special numbers that reoccur when dealing with subnet masks. They are 255, 254, 252, 248, 240, 224, 192, and 128. You'll see these numbers over and over again in IP networking, and memorizing them will make your life much easier.
Figure C |
I've included three class sizes. You'll see the first two classes, with host bit length from 0 to 16, most often. It's common for DSL and T1 IP blocks to be in the 0- to 8-bit range. Private networks typically work in the 8- to 24-bit range.
Note how the binary mask has all those zeros growing from right to left. The subnet mask in binary form always has all ones to the left and all zeros to the right. The number of zeros is identical to the subnet length. I showed only the portion of the binary subnet in the octet that's interesting, since all octets to the right consist of zeros and all octets to the left consist of ones. So if we look at the subnet mask where the subnet length is 11 bits long, the full binary subnet mask is 11111111.11111111.11111000.00000000. As you can see under mask octet, the subnet mask transitions from 1 to 0 in the third octet. The particular binary subnet mask translates directly to base-256 form as 255.255.248.0.
The "mask" in subnet mask
The subnet mask not only determines the size of a subnet, but it can also help you pinpoint where the end points on the subnet are if you're given any IP address within that subnet. The reason it's called a subnet "mask" is that it literally masks out the host bits and leaves only the Network ID that begins the subnet. Once you know the beginning of the subnet and how big it is, you can determine the end of the subnet, which is the Broadcast ID.
To calculate the Network ID, you simply take any IP address within that subnet and run the AND operator on the subnet mask. Let's take an IP address of 10.20.237.15 and a subnet mask of 255.255.248.0. Note that this can be and often is written in shorthand as 10.20.237.15/21 because the subnet mask length is 21. Figure D and Figure E show the Decimal and Binary versions of the AND operation.
Figure D |
Decimal math |
Figure E |
Binary math |
The binary version shows how the 0s act as a mask on the IP address on top. Inside the masking box, the 0s convert all numbers on top into zeros, no matter what the number is. When you take the resultant binary Network ID and convert it to decimal, you get 10.20.232.0 as the Network ID.
One thing that's always bothered me about the way subnetting is taught is that students are not shown a simple trick to bypass the need for binary conversions when doing AND operations. I even see IT people in the field using this slow and cumbersome technique to convert everything to binary, run the AND operation, and then convert back to decimal using the Windows Calculator. But there's a really simple shortcut using the Windows Calculator, since the AND operator works directly on decimal numbers. Simply punch in 237, hit the AND operator, and then 248 and [Enter] to instantly get 232, as shown in Figure F. I'll never understand why this isn't explained to students, because it makes mask calculations a lot easier.
Figure F |
Since there are 11 zeros in the subnet mask, the subnet is 11 bits long. This means there are 2^11, or 2,048, maximum hosts in the subnet and the last IP in this subnet is 10.20.239.255. You could compute this quickly by seeing there are three zeros in the third octet, which means the third octet of the IP address can have a variance of 2^3, or 8. So the next subnet starts at 10.20.232+8.0, which is 10.20.240.0. If we decrease that by 1, we have 10.20.239.255, which is where this subnet ends. To help you visualize this, Figure G shows it on my subnet ruler.
Figure G |
IP classes made simple
For an arbitrary classification of IP subnets, the creators of the Internet chose to break the Internet into multiple classes. Note that these aren't important as far as your subnet calculations are concerned; this is just how the Internet is "laid out." The Internet is laid out as Class A, B, C, D, and E. Class A uses up the first half of the entire Internet, Class B uses half of the remaining half, Class C uses the remaining half again, Class D (Multicasting) uses up the remaining half again, and whatever is left over is reserved for Class E. I've had students tell me that they struggled with the memorization of IP classes for weeks until they saw this simple table shown in Figure H. This is because you don't actually need to memorize anything, you just learn the technique for constructing the ruler using half of what's available.
Figure H |
Remember that all subnets start with EVEN numbers and all subnet endings are ODD. Note that 0.0.0.0/8 (0.0.0.0 to 0.255.255.255) isn't used and 127.0.0.0/8 (127.0.0.0 to 127.255.255.255) is reserved for loopback addresses.
All Class A addresses have their first octet between 1 to 126 because 0 and 127 are reserved. Class A subnets are all 24 bits long, which means the subnet mask is only 8 bits long. For example, we have the entire 3.0.0.0/8 subnet owned by GE, since GE was lucky enough to get in early to be assigned 16.8 million addresses. The U.S. Army owns 6.0.0.0/8. Level 3 Communications owns 8.0.0.0/8. IBM owns 9.0.0.0/8. AT&T owns 12.0.0.0/8. Xerox owns 13.0.0.0/8. HP owns 15.0.0.0/8 and 16.0.0.0/8. Apple owns 17.0.0.0/8.
All Class B addresses have their first octet between 128 and 191. Class B subnets are all 16 bits long, which means the subnet masks are 16 bits long. For example, BBN Communications owns 128.1.0.0/16, which is 128.1.0.0 to 128.1.255.255. Carnegie Mellon University owns 128.2.0.0/16.
All Class C addresses have their first octet between 192 and 223. Class C subnets are all 8 bits long, so the subnet mask is only 24 bits long. Note that ARIN (the organization that assigns Internet addresses) will sell blocks of four Class C addresses only to individual companies and you have to really justify why you need 1,024 Public IP addresses. If you need to run BGP so you can use multiple ISPs for redundancy, you have to have your own block of IP addresses. Also note that this isn't the old days, where blocks of 16.8 million Class A addresses were handed out for basically nothing. You have to pay an annual fee for your block of 1,024 addresses with a subnet mask of /22, or 255.255.252.0.
The concept of subnet classes can cause harm in actual practice. I've actually seen people forget to turn classes off in their old Cisco router and watch large subnet routes get hijacked on a large WAN configured for dynamic routing whenever some routes were added. This is because a Cisco router will assume the subnet mask is the full /8 or /16 or /24 even if you define something in between. All newer Cisco IOS software versions turn off the concept of subnet classes and uses classless routing by default. This is done with the default command "IP Classless."
Public versus private IP addresses
Besides the reserved IP addresses (0.0.0.0/8 and 127.0.0.0/8) mentioned above, there are other addresses not used on the public Internet. These private subnets consist of private IP addresses and are usually behind a firewall or router that performs NAT (network address translation). NAT is needed because private IP addresses are nonroutable on the public Internet, so they must be translated into public IP addresses before they touch the Internet. Private IPs are never routed because no one really owns them. And since anyone can use them, there's no right place to point a private IP address to on the public Internet. Private IP addresses are used in most LAN and WAN environments, unless you're lucky enough to own a Class A or at least a Class B block of addresses, in which case you might have enough IPs to assign internal and external IP addresses.
The following blocks of IP addresses are allocated for private networks:
- 10.0.0.0/8 (10.0.0.0 to 10.255.255.255)
- 172.16.0.0/12 (172.16.0.0 to 172.31.255.255)
- 192.168.0.0/16 (192.168.0.0 to 192.168.255.255)
- 169.254.0.0/16 (169.254.0.0 to 169.254.255.255)*
*Note that 169.254.0.0/16 is a block of private IP addresses used for random self IP assignment where DHCP servers are not available.
10.0.0.0/8 is normally used for larger networks, since there are approximately 16.8 million IP addresses available within that block. They chop it up into lots of smaller groups of subnets for each geographic location, which are then subdivided into even smaller subnets. Smaller companies typically use the 172.16.0.0/12 range, chopped up into smaller subnets, although there's no reason they can't use 10.0.0.0/8 if they want to. Home networks typically use a /24 subnet within the 192.168.0.0/16 subnet.
The use of private IP addresses and NAT has prolonged the life of IPv4 for the foreseeable future because it effectively allows a single public IP address to represent thousands of private IP addresses. At the current rate that IPv4 addresses are handed out, we have enough IPv4 addresses for approximately 17 years. ARIN is much more stingy now about handing them out, and small blocks of IP addresses are relatively expensive compared to the old days, when companies like Apple were simply handed a block of 16.8 million addresses. The next version of IP addresses, called IPv6, is 128 bits long--and there are more than 79 thousand trillion trillion times more IP addresses than IPv4. Even if you assigned 4.3 billion people on the planet with 4.3 billion IP addresses each, you would still have more than 18 million trillion IPv6 addresses left!
Tuesday, April 3, 2007
SCCP
6.4.1 Basic Concepts
Signaling connection control part is abbreviated as SCCP. In the layered architecture of SS7, SCCP is one of the UPs. It belongs to the fourth functional group, providing additional functions for MTP at the same time so that circuit related information, non-circuit related information and other information can be transmitted between the switches and special centers of telecommunication network through SS7 network. Thus, connectionless or connection-oriented services can be created, and the third layer (network layer) of OSI layered model can be constructed.
I. Function
The purpose of SCCP is to provide the methods by which data information is transmitted in the following cases:
l Connecting logic signaling in the common channel signaling network.
l Transferring signaling data units with logic signaling connection established or not established.
With SCCP function, the circuit related and non circuit related signaling information of ISUP can be transmitted when peer-to-peer signaling connection is established or not established.
II. Basic Services
SCCP provides the following 4 classes of services:
l Class 0: basic connectionless service
l Class 1: ordered connectionless service
l Class 2: basic connection-oriented service
l Class 3: flow control connection-oriented service
Classes 0 and 1 services are connectionless, and classes 2 and 3 services are connection-oriented.
The connectionless services mean that the user can transfer signaling information through signaling network without setting up signaling connections in advance. The connectionless services of SCCP are equivalent to the data service of data network. Class 0 service do not ensure that messages can be transferred in sequence, while class 1 service can ensure that messages can be transferred to their destination in sequence by using SLS.
The connection-oriented services mean that users exchange control information between SCCPs to reach a protocol before transmitting data. The protocol contains the route through which data are transferred, the class of transferred services (whether it is basic connection-oriented class or flow control connection-oriented one), even possibly the amount of the data transferred, and so on.
The connection-oriented services of signaling can be divided into temporary signaling connection and permanent signaling connection.
Service users control the establishment of temporary signaling connection, which is similar to dialing telephone connection.
Permanent signaling connection is established and controlled by local (or remote) O&M function or by the node management function, which can provide the users with semi-permanent connection, which is similar to a leased telephone line. The connection-oriented connection described here refers to temporary signaling connection.
III. Application in SoftX3000
The SoftX3000 can interwork with SCP through IANP. As IANP needs SCCP and TCAP to transmit signaling, SCCP exists in SoftX3000 to serve as the intermediate layer for transferring messages.
SCCP messages are processed by the FCCU/FCSU in SoftX3000.
6.4.2 Singnaling Message
The SCCP message is a MSU of SS7. Its message contents lie in the SIF of MSU. An MSU is identified to be an SCCP message by the SI being 0011 in the SIO of the MSU, as shown in Figure 6-13.
The route tag in Figure 6-13 has been described in MTP section. The message type employs 8-bit coding. One code determines one SCCP message. The parameters of certain special message type that are described as mandatory and have fixed lengths must be put in the mandatory fixed part. The parameters that are mandatory but have variable lengths must be put in the mandatory variable part. Any individual message may include optional parameters. The optional parameters may be of fixed or variable lengths. If a parameter is mandatory with variable length, it is necessary to point out its position through the pointer. For optional parameters, it is necessary not only to point out their start bits but also to give their respective codes and lengths.
Figure 6-13 SCCP message format
I. SCCP Message Type
Protocol class | |||||
Message type | 0 | 1 | 2 | 3 | Code |
Connection request (CR) | | | X | X | 00000001 |
Connection confirm (CC) | | | X | X | 00000010 |
Connection refusal (CREF) | | | X | X | 00000011 |
Connection released (RLSD) | | | X | X | 00000100 |
Release completed (RLC) | | | X | X | 00000101 |
Data type 1 (DT1) | | | X | | 00000110 |
Data type 2 (DT1) | | | | X | 00000111 |
Data acknowledgement (AK) | | | | X | 00001000 |
Unit data (UDT) | X | X | | | 00001001 |
Unit data service (UDTS) | X | X | | | 00001010 |
Expedited data (ED) | | | | X | 00001011 |
Expedited data acknowledgement (EA) | | | | X | 00001100 |
Reset request (RSR) | | | | X | 00001101 |
Reset confirmation (RSC) | | | | X | 00001110 |
Protocol data unit error (ERR) | | | X | X | 00001111 |
Inactivity test (IT) | | | X | X | 00010000 |
×: means this message can be used in the corresponding protocol class.
The main message types are explained as follows:
l CR and CC are used to establish signaling connection.
l During signaling connection establishment, a CREF message should be sent to the originating node when the intermediate SCCP or the destination point SCCP has no enough resource to establish signaling connection.
l DT1, DT2 and ED are three kinds of messages used to transfer data after signaling connection is established successfully. Among them, DT1 is used for protocol class 2, while DT2 and ED are used for protocol class 3. In addition, DT2 and ED must be acknowledged by AK and EA.
l RLSD and RLC are used to release the signaling connection after data transfer.
l RSR and RSC are in protocol class 3 to re-initialize the data sending sequence numbers in the data transmitting stage.
l ERR is sent when any protocol error is detected, and IF is used to check whether both ends of the signaling connection work.
l UDT, XUDT, UDTS, and XUDTS are connectionless service messages. UDT and XUDT are used to transfer connectionless service data. When UDT and XUDT can not reach their destinations, UDTS and XUDTS must be sent to the originating point to show the causes if it is specified in UDT and XUDT.
II. Parameters of SCCP Message
To implement respective functions, SCCP messages must have parameters to provide all kinds of information. For example, the CR message must have the parameter [Called Address] to access the called subscriber and implement signaling connection. The ERR message must have the parameter [Error Cause] to show the causes of error. If a parameter is indispensable in a message, it is called mandatory (M) parameter for the message, and such messages include the mandatory parameter with fixed length (F) and the mandatory parameter with variable length (V). If a parameter is optional in a message, it is called an optional parameter (O). A parameter is mandatory in one message but may be optional in another message. Therefore, whether a parameter is mandatory or optional depends on the individual message.
Table 6-6 lists the parameters of SCCP message.
Table 6-6 Parameters of SCCP message
Parameter name | Code |
Optional parameters end | 00000000 |
Destination local reference | 00000001 |
Origin local reference | 00000010 |
Called address | 00000011 |
Caller address | 00000100 |
Protocol class | 00000101 |
Segmentation/re-assembly | 00000110 |
Receiving No. P (R) | 00000111 |
Sorting/segmentation | 00001000 |
Credit | 00001001 |
Release cause | 00001010 |
Return cause | 00001011 |
Reset cause | 00001100 |
Error cause | 00001101 |
Refusal cause | 00001110 |
Data | 00001111 |
The meanings of the parameters in Table 6-6 are as follows:
l [Destination local reference] and [origin local reference] specify one signaling connection uniquely.
l [Called address] and [caller address] are used to identify originating/destination signaling point and/or SCCP service access point.
l [Protocol class] defines the four kinds of protocols of connectionless services and connection-oriented services.
l If the length of network service data unit (NSDU) is longer than the maximum length of message for data transmitting, the NSDU must be divided into several segments to be transferred and then reassembled when they reach the destination. The parameter [segmentation/reassemble] aims to implement this function. This parameter is only used for DT1.
l [Receiving No.] P(R) shows the expected next sequence number, which is used in DT2 and AK messages of protocol class 3 to confirm that the remote point has received all the messages prior to that numbered P (R) 1.
l [Sorting/segmentation] is an integrated parameter, including [Segmentation/re-assembly], [Sending No.] P (S) and [Receiving No.] P (R). Here P(S) should be in the range of window value prescribed in the protocol in order to implement the flow control of protocol class 3.
l [Credit] appears in CR or CC messages, determining the number of messages contained in the signaling connection transmission part. It is the window of the signaling connection, implementing flow control in protocol class 3. During the data transmission stage, the [credit] in an AK message can modify this window.
l [Release cause], [Reset cause] and [Refusal cause] are used respectively to show the causes for releasing, resetting and refusing the signaling connection. [Error cause] is used to show the causes of error in ERR message. [Return cause] is used in UDTS or XUDTS message of connectionless services to point out why UDT or XUDT is unable to reach the destination.
l [Data] is the network service data (NSD) that the user would send to the destination.
III. Examples of Parameter Format Coding
1) Subscriber address: called address/caller address
Subscriber address is a parameter with variable length. Its structure is illustrated in Figure 6-14.
Figure 6-14 Subscriber address structure
l Address indication
Address indication indicates the type of the address contained, as shown in
Figure 6-15.
Figure 6-15 Address indication
Table 6-7 lists the meaning of the bits of the address indication.
Table 6-7 Meanings of the bits of the address indication
Bit | Value | Meaning |
0 | 0 | The address doe not contain the signaling point code. |
1 | The address contains the signaling point code. | |
1 | 0 | The address does not contain the subsystem number. |
1 | The address contains the subsystem number. | |
Bits 5–2 | 0000 | The global tile is not included. |
0001 | The global title (GT) includes only the nature of address indication. | |
0010 | The GT includes only the translation type, coding plan, and coding design. | |
0100 | The GT includes the translation type, number design, coding design, and nature of address indication. | |
6 | 0 | Route selection should be based on the GT in the address. |
1 | Route selection should be based on the DPC in the MTP route tag and the sub-system number (SSN) in the called address (DPC+SSN). | |
7 | | National reserved. |
l Address
The order for various units appearing in the address is DPC, SSN, and GT, as shown in Figure 6-16.
Figure 6-16 Order of address units
DPC: Refer to the DPC in the MTP section.
SSN: It is used to identify the SCCP user functions. It is an 8-bit code, as shown below:
Bits: 76543210
00000000 Subsystem unknown
00000001 SCCP management
00000010 Reserved
00000011 ISUP
00000100 Operations, maintenance & administration part (OMAP)
00000101 Mobile application part (MAP)
00000110 Home location register (HLR)
00000111 Visitor location register (VLR)
00001000 Mobile switching center (MSC)
11111111 Reserved for expansion
GT: The format of GT has a variable length, including four possibilities:
GT indicator = 0001
When GT indicator is 0001, GT format is illustrated in Figure 6-17.
Figure 6-17 GT format when GT indicator is 0001
When GT indication is 0001, bits 6–0 of the first octet in GT are address nature indications, as shown below:
Bits 6–0:
0000000 Idle
0000001 User number
0000010 National reserved
0000011 National valid number
0000100 International number
Bit 7 is odd/even indication, which is encoded as follows:
0: even number of addresses
1: odd number of addresses
If the GT indication is 0001, the information after the second octet of the GT bits 7, 4, 3, 0 indicates the address signaling. See Figure 6-18.
Figure 6-18 Address information
Address signaling codes are as follows:
0000 Number 0
0001 Number 1
0010 Number 2
0011 Number 3
0100 Number 4
0101 Number 5
0110 Number 6
0111 Number 7
1000 Number 8
1001 Number 9
1010 Idle
1011 Code 11
1100 Code 12
1101 Idle
1110 Idle
1111 ST
If the address comprises an odd number of address signaling, the filling code 0000 should be added at the end of address signaling.
2) Protocol class and return selection
The protocol class is used to define SCCP service classes. The [Protocol class] field should be used at the stage of signaling connection establishment, and the protocol class should be negotiated by both ends of SCCP.
The protocol class is a 4-bit code.
Bits 3210
0000 Protocol class 0
0001 Protocol class 1
0010 Protocol class 2
0011 Protocol class 3
When bits 0–3 codes indicate that a protocol class is the connection-oriented class (protocol classes 2 and 3), bits 4–7 are idle.
When bits 0–3 codes indicate that a protocol class is the connectionless class (protocol classes 0 and 1), bits 4–7 are encoded as follows:
Bits: 7654
0000 Not specified
0001 to
0111 are idle.
1000 Error returned
1001 to
1111 are idle.
IV. Format and Composition of SCCP Message
Each SCCP message is made up of different parameters, including mandatory part and optional part (if any). Table 6-8 shows the corresponding parameters making up each message.
Table 6-8 SCCP messages and their corresponding parameters
Message parameter | CR | CC | CREF | RLSD | RLC | DT1 | DT2 | AK | ED | EA | RSR | RSC | ERR | IT | UDT | UDTS |
Destination local reference | | M | M | M | M | M | M | M | M | M | M | M | M | M | | |
Origin local reference | M | M | | M | M | | | | | | M | M | | M | | |
Called address | M | 0 | 0 | | | | | | | | | | | | M | M |
Caller address | 0 | | | | | | | | | | | | | | M | M |
Protocol class | | M | | | | | | | | | | | | M | M | |
Segmentation/re-assembly | | | | | | M | | | | | | | | | | |
Receiving sequence No. | | | | | | | | M | | | | | | | | |
Sorting/segmentation | | | | | | | M | | | | | | | M | | |
Credit | | | | | | | | M | | | | | | M | | |
Release cause | | | | M | | | | | | | | | | | | |
Return cause | | | | | | | | | | | | | | | | |
Reset cause | | | | | | | | | | | M | | | | | |
Error cause | | | | | | | | | | | | | M | | | |
User data | 0 | 0 | 0 | 0 | | M | M | | M | | | | | | | |
Refusal cause | | | M | | | | | | | | | | | | | |
Optional parameters end | 0 | 0 | 0 | 0 | | | | | | | | | | | | |
M: mandatory parameter (of fixed length or variable length)
0: optional parameter
The composition of the messages is illustrated below:
2) CR message
A CR message comprises:
l Route tag
l Message type code
l Two pointers
For parameters of the CR message, see Table 6-9.
Table 6-9 Parameters of CR message
Parameter | Type (F, V and O) | Length (octet) |
Origin local reference | F | 3 |
Protocol class | F | 1 |
Called address | V | 3 (minimum) |
Credit | 0 | 3 |
Caller address | 0 | 4 (minimum) |
Data | 0 | 3–130 |
Optional parameters end | 0 | 1 |
3) UDT message
A UDT message comprises:
l Route tag
l Message type code
l Three pointers
For parameters of the UDT message, see Table 6-10.
Table 6-10 Parameters of UDT message
Parameter | Type (F, V and O) | Length (octet) |
Protocol class | F | 1 |
Called address | V | 3 (minimum) |
Caller address | V | 2 (minimum) |
Data | V | 2–X |
X: (To be determined)
4) UDTS message
A UDTS message comprises:
l Route tag
l Message type code
l Three pointers
For parameters of the UDTS message, see Table 6-11.
Table 6-11 Parameters of UDTS message
Parameter | Type (F, V and O) | Length (octet) |
Return cause | F | 1 |
Called address | V | 3 (minimum) |
Caller address | V | 2 (minimum) |
Data | V | 2–X |
X: (To be determined)
5) XUDT message
A XUDT message comprises:
l Route tag
l Message type code
l Four pointers
For parameters of the XUDT message, see Table 6-12.
Table 6-12 Parameters of XUDT message
Parameter | Type (F, V and O) | Length (octet) |
Protocol class | F | 1 |
Called address | V | 3 (minimum) |
Caller address | V | 2 (minimum) |
Data | V | 2–X |
Optional | O | 6 |
X: (To be determined)
6) XUDTS message
A XUDTS message comprises:
l Route tag
l Message type code
l Four pointers
For parameters of the XUDTS message, see Table 6-13.
Table 6-13 Parameters of XUDTS message
Parameter | Type (F, V and O) | Length (octet) |
Return cause | F | 1 |
Called address | V | 3 (minimum) |
Caller address | V | 2 (minimum) |
Data | V | 2–X |
Optional | O | 6 |
X: (To be determined)