Chapter 3 - Overview of a Protocol

Chapter 3
Overview of a Protocol
Before looking at the OSI model, let us examine the functions of a protocol. A protocol is a set of rules governing the way data will be transmitted and received over data communications networks. Protocols must provide reliable, error-free transmission of user data, as well as network management functions. Protocols packetize the user data into data envelopes, some being of a fixed length while others can be variable lengths, depending on the protocol used.
Protocols are used whenever a serial bit stream is used. The protocol defines the order in which the bits will be sent and also appends information for use by the network in routing and management of the network. This appended information is used only by the protocol and is transparent to the user.
Some protocols, such as SS7, actually send predefined messages to the other nodes in the network. Messages can be used at any layer above layer one and are commonly found at layers two and three. A typical example of a protocol message is the initial address message (IAM) sent by the SS7 protocol to establish a connection on a voice circuit between two end offices. Other messages exist for SS7 and will be discussed in greater detail in the other chapters. Predefined messages are an excellent way to send network management functions and handle data error procedures.
Other functions of a protocol include the segmentation of blocks of data for easier transmission over the network and reassembly at the receiving node. When sending multiple blocks of associated data, procedures must be provided that allow the blocks to be identified in the order they were sent and reassembled as such. In large networks, these data blocks can be sent in order but received out of order.

 

There are three basic modes of operation for a protocol, depending on the type of network. A circuit-switched network protocol establishes a connection on a specific circuit, and then sends the data on that circuit. The circuit used depends on the destination of the data. A good example of a typical circuit-switched network is the Public Switched Telephone Network (PSTN), which uses various circuits for the transmission of voice from one exchange to another.
Once the transmission has been completed, the circuit is released and is ready to carry another transmission. The protocol must manage the connection and release when transmission has been completed, and must also maintain the connection during the data transmission.
Another type of network is a local area network (LAN). LANs use different types of protocols, but the method of transmission is usually very similar. The topology of a LAN is usually a bus topology or a ring topology. In both topologies, the data is transmitted out on the LAN, with an address attached in a protocol header.
When a data terminal recognizes its address, it reads the data. Some mechanism must be used within the protocol to remove the data from the LAN once it has been read. This differs from one protocol to the next. These types of networks only allow one message at a time to be transmitted across the LAN.
Packet-switching networks provide multiple paths to the same destination. Each message has both an originating address and a destination address. The addresses are used to route the message through the network. Unlike LANs, a packet-switched network allows many messages to be transmitted simultaneously across the network.
The circuits used for this type of network are always connected, and transmission is taking place continuously. The direction the message takes from one node to the next depends on the packet address. Each packet provides enough information regarding the data to allow the packet to reach its destination without establishing a connection between the two devices. The X.25 and SS7 networks are both packet-switched networks.
In any protocol stack, there are several layers of addressing used. Typically, at least three layers of addressing can be found. Each device on the network must have its own unique physical address. The node address identifies the particular device within its own network. The layer two protocols are users of this address, since they are responsible for the routing from one device to the next adjacent device.
The next address layer is that of the network itself. This address is used when sending messages between two networks.

 

This address can usually be found in layer three of most protocols. The network address is used by those devices which interconnect two or more networks (such as a router).
Once a message reaches its final destination, the logical address within the destination node must be provided to identify which operation or application entity within the node is to receive the data. An application entity is a function within a network node, such as file transfer or electronic mail. Application does not imply something like word processing (in the network sense).
In the SS7 network, application entities are objects such as IS-41, which allows Mobile Switching Centers (MSCs) in the cellular network to exchange data from one to the other, using the services of SS7 protocols.
As the information is handed from one layer to the next, the protocol appends control information. This control information is used to ensure that the data is received in the same order it was sent, and allows the protocol to monitor the status of every connection and automatically correct problems that may occur.
Control information includes sequence numbering and flow control. This function is usually found at layers two through four, but can also be found in the higher layers. In the SS7 protocols, levels two through four provide varying levels of control.
As mentioned earlier, segmentation and reassembly are also tasks of the protocol. This is necessary when large blocks of data must be transmitted across the network. Large blocks of data can be time consuming and, if an error occurs during transmission, can cause congestion on the network while retransmitting.
For this reason, blocks are broken down into smaller chunks, which make it faster and easier to control and transmit through the network. When a retransmission becomes necessary, only a small portion of the original data must be retransmitted, saving valuable network resources.
Encapsulation is the process of appending the original data with additional control information and protocol headers. This information is stripped off the message by the receiving node at the same layer it was appended. This information is transparent to the user.
Connection control is one of the most important tasks of a protocol. Connections must usually be established not only between two devices, but between two application entities as well. These logical connections must be maintained throughout the data transmission. The establishment of a logical connection ensures reliable data transfer, with the use of positive and negative acknowledgments to advise the adjacent node of transmission status.
Sequence numbering is also used in these types of services to ensure that the data is received in the same order it was transmitted. This type of protocol service is referred to as connection-oriented. Each node may have multiple logical connections established at one time.
When the data transmission is complete, the logical connection must be released to allow another application entity to establish a connection and transmit data. Protocol messages (such as connect requests and disconnects) are used to manage these logical connections.
Connectionless services are supported in many protocols. Connectionless services allow data to be transmitted without establishing a logical connection between two application entities. The data is simply transmitted with enough information to allow the receiver to know how to process the data.
Sequence numbering and retransmission are not used with connectionless services. This type of service is not reliable and is typically found in applications such as electronic mail.
The SS7 network provides support for both types of services, but uses mostly connectionless for data transfer. However, despite its use of connectionless services, the protocol in SS7 provides mechanisms that allow emulation of connection-oriented services.
Flow control is used in most protocols to control the flow of messages to a particular node. This function is particularly important in SS7 networks, because it is used to prevent congestion in any one signaling point. With flow control, protocol messages can be used to alert adjacent nodes of the congestion situation and to invoke rerouting functions.
Stopping the flow of messages to any one node is also necessary in some cases when a node becomes unavailable and is unable to process messages. The protocols in SS7 are able to perform this task without human intervention. Often, congestion or outages can occur and routing can be changed without anyone even knowing what occurred until after the events have taken place and the problem has been resolved.
Error detection and correction are ways for protocols to determine if the data it is carrying has been corrupted. The methods for error detection vary, but they almost always rely on some technique such as a cyclic redundancy check (CRC). This runs an equation on the bit stream before it is transmitted and places the sum into a check sum field.
When the data is received by the distant node, the same equation is run on the data again. The receiving node then checks the sum and compares it against the sum in the check sum field. If they match, no error occurred. If they do not match, then an error occurred and the packet or data is discarded.
Overview of the OSI Model
The OSI model was developed and published in 1982 by the International Standards Organization (ISO) for use in mainframe environments. This protocol provides the procedures and mechanisms necessary for mainframe computers to communicate with other devices, including terminals and modems. Since the OSI model was developed after SS7, there will obviously be some discrepancies between the two protocols. Yet the functions and processes outlined in the OSI model were already in practice when SS7 was developed (such as layering protocol functions).
The OSI model divides data transmission into three distinct functions. There is the application itself, which is not included in any of these three functions. The application, or process, may be something like file transfer or electronic mail. The process is the user of the protocol, and will be the entity transmitting data over the network.
The process will depend on a service or function within the protocol that will allow it to pass its data to the network for transmission. Before this can happen, information must be appended, and certain tasks must be performed first. These tasks are the responsibility of the process layers.
The process layers use protocols which are unique to the application which uses them. The application has specific requirements of the protocol, yet the protocols used at the lower layers need not be concerned with any of these functions, so they remain independent and transparent to the process layers.
The process layers interface to the transport layers, which provide the mechanisms necessary to reliably transfer data over the network. The transport layers include error detection and correction, as well as other tasks such as sequencing of the individual segments.
Process layers are not dependent upon any particular network protocol. In fact, a successful protocol should be able to use the services of any network protocol. This is the main objective behind the OSI model. The various layers should be independent of one another and should be able to use any protocol over the network.
The network protocol provides the mechanisms for actually routing the data over the network and getting it to its destination node. The network protocol has no knowledge of the process addresses and does not work with any of the transport information. Its only concern is moving the packet from one node to another node within the network.
Routing is accomplished by reading the device address and the network address. This is the only information needed by the network protocol. Some sequencing may also be used, but this is not to be confused with the sequencing used by the process layers. The sequencing at this layer is simply used to ensure that all the packets that were transmitted were indeed received. No order is necessarily implied by the numbering.
The network protocols are usually divided into two parts: node-to-node transfer and network-to-network routing. Node-to-node transfer is only concerned with the transmission of a data packet between two physical entities. This takes place over a physical connection between the two entities, which ensures that the sequenced data is received in the proper order.
The network-to-network part is concerned with the routing of information between two networks. This layer typically uses the network addressing and is not concerned with the device address in many cases. In fact, with many LAN protocols, the network layer does not know the device address, since it is located in a different layer of the protocol header.
This layered approach provides specific functions and is used for specific applications. By using a layered approach, changes to the protocol do not affect all the layers. This is important to network users. Network equipment works at specific layers, rather than at all layers. If a change is made to the protocol, the equipment needs to be changed only if the change affects the layer at which the equipment operates.
As we look at the OSI model, you will begin to see how the tasks assigned at each layer can easily be independent from the other layers. Begin thinking of simple devices used in networks (such as routers and bridges) and what their functions are in the network, and then match these devices to the layer at which they operate.
The OSI model addresses all the functions previously mentioned and divides the functions into seven different layers. Each layer provides a service to the layer above and below it. For example, the physical layer provides a service to the data link layer. The data link layer provides services to the network layer. Yet each layer is independent, and should the function change at any one layer, it should not impact the other layers.
The OSI model defines the following seven layers, as shown in Figure 3.1:

 

0121-01.gif
Figure 3.1
The OSI model defines seven layers of functions. The first three
layers are primarily network functions, used to transport
information from source to destination.
Application (layer 7)
Presentation (layer 6)
Session (layer 5)
Transport (layer 4)
Network (layer 3)
Data link (layer 2)
Physical (layer 1)
We will look first at the bottom layer, the physical layer.
Physical Layer
The physical layer is the layer responsible for converting the digital data into a bit stream for transmission over the network. The physical layer must provide the electrical characteristics needed to transmit over the interface being used. Conversion of the digital signal from electrical to audible (as in the case of a modem) and even light (as in fiber optics) is the responsibility of the physical layer.
The responsibilities of the physical layer can be divided into several tasks. The most basic of these tasks is mechanical. The interface itself is a mechanical connection from the device to the physical medium which will be used to actually transmit the digital bit stream.
The mechanical specifications are dependent on the standard used. An RS-232 interface may use a DB-25 type of connection, while a V.35 will use an AMP connector. The mechanical specifications do not specify the electrical characteristics of the interface. The electrical characteristics are called out separately and are not dependent on the connector.
The electrical characteristics of an interface will depend on the medium being used and the type of interface. Other factors, such as distance and the type of signals being transmitted, also pay an important part when choosing a standard. The electrical properties of an interface include the signals used to actually transmit the bit stream, as well as control signals used to maintain the connection.
In the case of interfaces such as RS-232 and V.35, the data is transmitted on separate wires from the control signals. These control signals have nothing to do with the control information found in the upper layers of the protocol. In fact, they, too, are completely independent of the upper layers.
The control signals at the physical layer are hardware controlled and are used for flow control and for maintaining a connection between the two devices. These signals may include data terminal ready (DTR) or request to send (RTS).
The upper layers have no knowledge of the control signals at the physical layer and do not attempt to influence their status at any time. The physical layer must be able to work on its own. This independence allows changes to be made to the physical layer (such as changing an interface type) without affecting the upper layers.
While the control signals are independent of the upper layers, the physical layer does have the responsibility to report any error conditions or line loss events to the data link layer. For example, if a clock signal is suddenly lost on the interface, the physical layer will report the loss of clock to the data link layer, which should invoke some sort of error recovery procedure (usually a reset of the hardware).
Electrical signals in their purest form consist of two states: on or off. To be more specific, an interface uses two voltage levels to represent binary digits. These levels remain constant until the binary digit changes to an opposite value. This is known as nonreturn to zero (NRZ). As long as there is a binary 1 being represented, the voltage level remains high. When there is a change in the bit stream and a binary zero occurs, the voltage level changes to low.
There are two terms used to describe these transitions. The bit rate is the number of actual bits that can be transmitted over a line in one second. This is significantly different from the baud rate. The baud rate has nothing to do with the digital connection. The baud is a measurement of analog transitions that occur when using a device such as a modem. When using a modem, the digital signals are converted into analog audible tones which are then transmitted at varying frequencies over the telephone line. Each time there is a frequency change, this is known as a baud. Understanding this fundamental difference between these two terms is important.
Many professionals mistake the two terms as being the same. Actually, it is quite possible to have a baud rate higher than a bit rate. When speaking of all digital facilities, where modems are not used, the proper term is bit rate. The baud rate is measured after the digital interface, on the analog side of the line.
Line encoding is the process of altering the bit stream to force more transitions or fewer transitions, depending on the method of line encoding used. There are two reasons line encoding becomes necessary.
Digital signals cannot travel long distances and maintain their voltage levels. After some distance, the voltage level begins to drop. This can be critical when there are long series of consecutive 1s. To correct this problem, additional power can be applied to increase the wattage, which provides more push to the signal. This, too, is unfavorable, because it requires larger power supplies, which give off more heat.
The optimum solution is to be able to use low power and maintain communications over long distances. To accomplish this there are many types of line encoding. The simplest method is called alternate mark inversion (AMI). With AMI, every occurrence of a binary 1 causes the voltage level to change. For example, if the voltage level is at a positive level and there is another binary 1 in the bit stream, then the signal changes to a negative value. The use of negative voltages allows lower power requirements to be met.
There are many other methods used at the physical layer to overcome problems that occur when transmitting digital signals over long and short distances. None of these techniques is defined in the OSI model. The OSI model simply defines the processes that must take place, the various functions of the physical layer, the mechanical and electrical descriptions, and the services provided by the interface.
Data Link Layer
The OSI model defines the data link layer as the means to provide reliable communications between two devices. It is important to understand that the data link layer is only concerned with the data transmission between two devices, and not the entire network. Communications through a network are handled at a higher layer.
The data link layer provides the services and functions necessary to transmit a bit stream between two devices using some method of sequencing and error detection and correction. Any management functions provided are only from the perspective of the physical interface used to interconnect the two devices. There is no knowledge of any other connections to the two devices from the perspective of the data link layer.
In addition to providing the services for reliable data transfer between two devices, the data link layer must also interface with the network layer above it and the physical layer below it. This is accomplished through the use of primitives. A primitive is a protocol between two layers. Since this interface is primarily software controlled, these primitives remain transparent to the end user.
The primitive to the network layer is used to pass received data from the physical layer to the network layer. Before this data is passed along, any information appended by the data link layer at the distant device must be removed. This includes sequence numbers and check sum fields.
When data is to be transmitted, it is passed to the data link layer from the network layer using this same interface. The data link layer must then append information to the original data. This information may include a device address, sequence number, and check bit sum. The address does not have to be that of the adjacent device. In fact, it would not make much sense if the address was always that of the adjacent device, since that is the only destination known at this layer.
The destination address is usually the final destination for this data transmission. When received by another device, the device must search a routing table to determine how to route the data to the destination address provided at the data link layer.
Not all protocols use addressing at the data link layer. In SS7, the addressing is somewhat different from that of other protocols. This will be discussed with the network layer, because the routing function is typically found at layer three, the network layer.
Sequencing in SS7 is provided at layer two to ensure that data is received in the same order it was transmitted. If data transmission was always reliable and never errored, sequencing would not be necessary. But this is never the case, and data transmission can get lost. When this occurs, the distant device has no indication that data was transmitted and lost.
Sequence numbering in SS7 provides a mechanism by which the distant device can tell if data was transmitted and then lost, because the next data packet received will contain a sequence number that is not sequential with the previously received packet. Sequence numbers can be of any range, although they usually fall within two ranges. Modulo 8 provides sequencing in the range 0 to 7. Modulo 128 provides sequencing in the range 0 to 127.
However, even though the protocol allows 127 packets to be transmitted without acknowledgment, very few networks will allow this. A ''window" size is configured in all network equipment to prevent retransmission of too many packets. The idea is to send a burst of packets (say 15, for example) and if acknowledgment is not received after n seconds, retransmit the 15 packets. This is better than retransmitting 115 packets.
When acknowledging receipt of a message, the sequence number of the received packet is provided in the acknowledgment. Not every sequence number is acknowledged individually. One acknowledgment can be sent for a range of sequence numbers. For example, if an acknowledgment is sent with the sequence number of 6, and the last acknowledgment had a value of 3, the acknowledgment is for sequence numbers 4, 5, and 6.
Errors can be detected by use of a check sum field. When an error is detected, the recovery procedure requests a retransmission from the originator of the errored packet. The errored packet is then discarded. There are many methods for requesting a retransmission, depending on the protocol used.
When a message is received, the data link layer must determine where the packet begins and what type of packet it is. Each packet is preceded by some sort of delimiter, or flag. A flag is a specific bit pattern used before every packet. This bit pattern may never be duplicated in the packet itself, because the data link layer will consider that octet as the beginning of a new packet.
For this reason, whenever a pattern is used for a flag, there must be some technique for ensuring the bit pattern is never duplicated. The most common method is the use of bit stuffing. Bit stuffing inserts a bit in a fixed location (such as after every fifth consecutive binary 1).
The packet type will vary depending on the protocol. In some protocols, there are many different types of packets. A packet may be a supervisory packet, information packet, or unnumbered packet. SS7 uses three types of packets (called signal units in SS7).
The most important function of the data link layer is link management. The data link layer must be responsible for the integrity of the data link. When an error is discovered by the physical layer (such as loss of timing), the data link layer is notified. The data link layer then invokes some method of error recovery to restore the link. In the case of a loss of timing, the link may be taken out of service and then reset. This allows the link to realign itself with the source clock.
Flow control is an important part of link management. In the data link layer, flow control can be performed through the use of protocol messages. In SS7 networks, a special signal unit is used with protocol messages which indicates congestion conditions at an adjacent node or that an adjacent node is out of service and unable to process any messages.
Flow control initiates rerouting of messages by the upper layers of the protocol stack, so that messages will not be lost. This is not a function of the data link layer, but the data link layer must report congestion and out-of-service events to the network layer so that routing procedures can be invoked.
So far we have discussed only the procedures of a point-to-point configuration. Not all protocols and networks use point-to-point configurations. Many network topologies may use multipoint configurations as well, with duplex or half-duplex transmission. The data link layer is impacted by the configuration, and its services and functions will differ depending on the configuration.
For the purposes of this book, we will only discuss point-to-point, since all SS7 networks use point-to-point configurations between signaling points. Full-duplex allows transmission in both directions simultaneously, as is the case in SS7 networks. This requires two separate paths per link. A half-duplex link uses only one path, but simultaneous bidirectional transmission is not possible.
SS7 networks use a simple data link layer protocol. Because of the point-to-point configuration and the nature of the transmissions, this layer does not require much complexity. In other networks, it may be necessary for the data link layer to inquire before sending a data packet. Without a positive acknowledgment, transmission cannot take place.

 

In SS7, data is transmitted continuously, from a variety of sources. This transmission is always asynchronous in nature and does not require a session to be established with the receiving device. In fact, SS7 protocols are all connectionless-type protocols. Connection-oriented services are not used in today's SS7 networks.
Network Layer
The network layer provides routing services for data packets received from another node. In the case of a packet-switched network, packets may come in to a node from a variety of locations. It is up to the network layer to examine the destination address and determine the link to be used to reach that destination.
The network layer is responsible for data transmission across networks. The transport layer provides connection to an entity within a device, while the network layer provides a transparent transfer of the data for the transport layer. The network layer allows the transport layer to free itself from the worries of internetwork data transfer.
There are two methods of reaching a destination. In some protocols, there is the requirement of establishing a virtual connection with another node. Other protocols use datagrams, packets of information which contain all the control information necessary to advise the destination how to process the received packet.
A virtual connection is established by sending a call request to another node. The purpose of the virtual circuit is to establish a consistent path through the network for all associated messages to follow. This method is used to overcome the inherent problem with packet switches, routing associated messages in multiple directions and resulting in packets being received out of sequence.
When a virtual circuit has been established, the packets that follow use the same path through the network, ensuring that all messages are received in the same sequence they were sent. This method is not favorable, because it reduces the reliability factor in the network. If a node in the path becomes congested, messages are delayed. If a circuit fails, there are no alternate circuits, and the message is lost.
Many packet-switching networks use datagram services to route packets throughout the network. This enhances the performance of the network, as messages can be routed dynamically based on the status of the circuits and the nodes in the network. When congestion occurs at any one node, messages are quickly rerouted in another direction, avoiding the congested node.

 

This is much like the routing used in SS7. Although SS7 uses a datagram-type service, it also utilizes certain procedures for specific types of messages that emulate a virtual circuit. The difference is in the network management of SS7. Even though a message is routed over a virtual circuit, if a circuit should fail in that path or a node become congested, it can be rerouted. SS7 enjoys the best of both worlds.
The addressing at this layer typically incorporates a multitier addressing scheme. The station or nodal address is found in the data link layer, while the network layer provides a higher level of addressing. Above the network layer is yet another layer of addressing: the logical connection which is the final destination for all protocol messages. The logical address resides within a network entity.
SS7 addressing differs from this, in that all addressing is located within the network layer. Addressing of the node, the network, and even a group of signaling points within a regional area is accomplished with what is called a point code. The point code uniquely identifies all entities in the ANSI SS7 network.
Quality of Service (QoS) is a parameter that is used by the routing function to identify the quality of transmission that must be provided. For example, if a particular message requires sequencing and special handling, the network layer must identify the level of processing required to route the message throughout the network. This parameter is used by the network management function when congestion occurs or when messages get lost.
The SS7 protocol provides several mechanisms for QoS, including a priority parameter for prioritizing message types. The priority of a message determines when a message can be discarded and when it must be routed no matter what.
There are network management functions at the network layer as well. When we discussed the data link layer, we discussed management procedures at the link level. Remember that the data link layer has no knowledge of the rest of the network. It is only concerned with the adjacent node to which it is connected.
Link management is the sole responsibility of the data link layer. As we discussed before, the status of the link is not broadcast throughout the network. This is of local significance only. However, if the status of the node itself should be impacted (perhaps by causing congestion), then the rest of the network must be notified.
This is the responsibility of the network layer. The network layer sends network management messages throughout the network, or, at least, to all of its adjacent nodes to advise them of degrading service at that node. This allows other nodes to make decisions about routing messages in different directions, around the troubled node.

 

In many cases, the affected node sends a network management message to all of its adjacent nodes. They, in turn, must decide whether or not another network management message needs to be sent to all of their adjacent nodes, hence, broadcasting out to the rest of the network. This usually depends on the type of network management message that is received.
As is the case with all levels, an interface to the layer above and below it is necessary. The OSI model talks about the use of service data units (SDUs). These are messages sent between layers of the protocol stack that contain the actual user data, as well as information appended by the protocol (such as control information). This is passed in either direction, depending on the flow of the message. If a message has been received, it is always passed in the upward direction. If a message is being prepared for transmission, it is always passed in the downward direction.
In networks that use point-to-point architecture, there is little use for a network protocol. This is certainly the case in local area networks (LANs). For this reason, protocols used in LANs do not use this layer, unless other networks are bridged to the LAN. When other networks must be accessed by the LAN (internetworking), then the network layer becomes a necessity. In the SS7 network, the network layer is also important, since this network consists of many individual networks all bridged together.
The OSI model also talks about the difference between data terminal equipment (DTE) and data communications equipment (DCE). In OSI terms, the DTE is an entity that originates a data message and uses the services of the network to send this data to its destination, another DTE.
The DCE is the network device responsible for the actual handling and relaying of the message through the network. A DCE device can be a modem, router, packet switch, or any other intermediate node in the network for which the message is not the destination. The purpose of the DCE is to route the message to its destination, nothing else.
A DTE device is further defined to work at all seven layers of the OSI model, while a DCE device works at only the first three layers of the OSI model. These first three layers are the only layers necessary for actually transmitting data over the network.
In these simple terms, we can easily identify the Service Switching Point (SSP) in the SS7 network as a DTE device. The Signaling Transfer Point (STP) could be considered a DCE (although there are some functions of the STP which might qualify it as a DTE as well). The Service Control Point (SCP) could be considered a DTE.

 

The easiest way to remember this is to identify the end points of the network. The end points are where messages originate and terminate. The intermediate devices in the network work only at the first three layers and are considered DCEs.
In the world of networking, one of the most difficult achievements is the ability to interwork with other networks, despite the differences in the protocols. This means that network layer and data link layer procedures must be converted. Conversion is not as simple as it may seem. Many times, one protocol may have procedures and functions not found in another.
When a message is received into a network from another, unlike network, the interface between the two networks (the gateway) must provide direct one-to-one mapping of the message and all of its parameters to the equivalent in the other protocol. This can be difficult if such procedures and parameters do not exist and have no equivalents. The rule is to try and provide some sort of alternative when possible.
The conversion must always be transparent to the upper layers, which are not typically affected. Remember that the network layer operates independently of the upper layers, providing a service to the upper layers. When this service changes, the upper layers should not be affected.
In the SS7 network, interworking sometimes occurs at all levels of the protocol stack. Not only does the network layer require conversion, but the application layers must be converted as well, in order for the upper layers to be compatible between networks. This is done through the use of gateway STPs or protocol converters.
Understanding the network layer can help you understand the routing and network management that must take place within any network. Let us now take a look at the next layer, the transport layer.
Transport Layer
The transport layer is used to ensure reliable communications over the network. This means that data must be received without error, in sequence, and without loss of segments. The transport layer can be sophisticated or simple. However, if layer three is not capable of providing reliable transfer of data, then layer four must possess the ability to fulfill the role.
In essence, the transport layer relies on the reliability of the network layer so that it does not have to concern itself with this role. When a reliable network layer is provided, the transport layer is very simple. But when the network layer is not reliable, the reliability factor must be built into the transport layer. Such is the case with protocols such as frame relay, which does not use any of the control parameters found in other protocols.
Addressing at this layer consists of the service access point (SAP). The SAP is a logical address within a node. The logical address is the interface from the network segments of the protocol to the upper layers.
Because the connection is taking place between two different devices, the transport layer must have some knowledge about the addresses in the other device. This is accomplished in a couple of different ways. The easiest method is to use predefined addresses for common entities. By using predefined addresses, all systems can address logical entities at the transport layer without having to query the distant device about addressing.
Another method is to broadcast the address any time a new function is added. This is commonly used in some LAN protocols today, and allows functions not commonly used or too specialized to be predefined to notify other nodes of their function and address. The transport layer is the only layer that needs this information, because it is responsible for the connection and termination.
The OSI model also talks about a naming convention, in which the particular task or logical function is called by name. This means that another device must provide the lookup capability of finding the physical address for the task name. This is commonly used in SS7 networks, where the signaling points may not know the actual address, but know the task with which they wish to interface.
This is a very favorable method in large networks, because it allows nodes to route to a function without having to know every address in the network. If another entity can provide the physical address, it saves memory space at each of the end nodes.
In X.25 networks, the transport layer also provides a multiplexing service. Virtual circuits may be used by many users, but only one transport service is used by all. The transport service must be able to multiplex its services among the many different users, even if they all come in on the same link. The transport service then splits the users to their various service access points (SAPs).
This function is not used in SS7 networks. In fact, the transport layer function is not even defined in SS7 today. As we will discuss a little later, the transport layer is not used in SS7 networks because SS7 does not presently support connection-oriented services.
Connection-oriented services, even with reliable network protocols, require the services of the transport layer to ensure the connection establishment and to maintain the connection. Flow control is included in this layer to manage the data flow through the connection. The data flow is controlled to the layer below, which is the network layer.
It is clear that the OSI intended the transport layer to be used as a backup to the network layer, providing additional mechanisms for reliable data transfer. In today's networks, this is not an issue. Today's networks use reliable mediums and do not suffer from the maladies of networks five years ago. This is certainly evident to those who use modems for network access.
Not too many years ago, modem transmission was very unreliable at high speeds. Today, modem speeds of 14.4 kbps are possible, because the telephone circuits have been improved. This is also the case with network mediums.
With protocols such as frame relay, where there are no control parameters, the transport layer becomes important. The philosophy in many of these networks is to let the upper layers worry about flow control and error detection/correction. This allows the lower layers to be simple and, thus, faster and cleaner. With dependable facilities, error detection does not become much of an issue.
Session Layer
The session layer is responsible for establishing a dialog, or session, with another entity. The session layer must also define the type of dialog to be established. This, in itself, implies a connection-oriented service.
The session layer also provides flow control procedures. Flow control at this layer is imposed on the interface to the transport layer. The peer entity at the remote destination does not interact with this flow control, as it is of local significance only.
The session layer also manages what is called synchronization points. These are dialog units. An example of a dialog unit may be multiple file transfers, each file being one dialog unit. For example, if an entity needs to send several files to another remote entity, the session layer can establish each file as one synchronization unit. The entity can require that an acknowledgment be received for each synchronization unit before another can be sent. This is to ensure that each file is received properly before sending more data.
If a large data transfer is to take place and the transmission must be interrupted (for maintenance purposes or another task of a higher priority), the session layer must remember where the file transfer was interrupted so that it may start up in the place it left off. The session layer is not responsible for saving any data received, only for marking the place of interruption and continuing on from that point.
The OSI model also specifies the use of a token at the session layer. The token is passed by the session layer to grant permission to transmit data. There are several types of tokens defined. One token grants permission to transmit data, another sets the synchronization points, and a third is used to release a connection.
Tokens are passed from one session layer user to another. Only the holders of a token may transmit data (if they are holding the data token). The holder of a token may pass the token to the adjacent user as well.
As with the transport layer, the session layer is needed only when using connection-oriented protocols. If only connectionless services are provided, there is no reason to use this layer. In SS7 networks, the session layer is not necessary, because SS7 does not support connection-oriented services.
Presentation Layer
While the application layer is concerned about the user's perspective, or view, of data, the presentation layer concerns itself with the view taken by the lower layer protocols. It is at this layer that data encryption and compression are found.
Perhaps the best description of the presentation layer is to consider the function of compression. If data must be compressed before it is transmitted over the network, the presentation layer must perform the compression and provide a format (or syntax) that the session layer is going to be able to use.
The syntax of the data at the presentation layer does not necessarily match that of the layer above. The only requirement at this layer is to provide the data in a syntax that can be sent over the network and received at the distant node. The peer presentation layer at the distant node must be capable of decompressing the data for the upper layers.
Another function at this layer is encryption. Encryption involves scrambling the data in some format that can be descrambled at the distant end. The purpose of encryption is to provide security over the network.
The encryption technique used must be transparent to the session layer and to all layers below it. The presentation layer at the distant end is responsible for descrambling the data. In today's networks, encryption and compression are about the only applications really suited for this layer. In previous networks, where mainframes had to communicate with terminals, the presentation layer was used to present the data on the terminal.
Syntax is used by programmers who must write the procedures in software code for the various network devices. A standard notation for data is used in most programming languages. This layer uses an abstract syntax (such as Abstract Syntax Notation One [ASN-1]) to represent data types.
ASN-1 is the syntax used in SS7 applications. This syntax is commonly found in many network protocols and is widely used throughout the industry.
Application Layer
The application layer in the OSI model is the interface between the application entity and the OSI model. This interface is the first stage in processing the received data for transmission over the network.
The services listed in the OSI model relating to the application layer include information transfer, identification of the intended receiver, availability of the receiver, and any other functions not already defined in the lower layers.
Some examples of applications provided by the application layer include file transfer, job transfer, message exchange, and remote login. It is this layer that also ensures that an addressed entity, once it has committed to another entity, cannot be interfered with by another entity. A database could be left in an unknown state if this were to be allowed.
Another principle to remember about this layer is that the application layer views data in the same perspective as the user. In other words, while the rest of the layers will view the data from a network transmission perspective, this layer must view the data the way the user will see it. Thus, the data must be reconstructed as it was originally, before it can be passed on to the application.
Overview of the SS7 Protocol Stack
The SS7 protocol differs somewhat from the OSI model (Figure 3.2). While the OSI model consists of seven different layers, the SS7 standard uses only four levels. The term "level" is used in the same context as "layers."
The functions carried out by these four levels correspond with the OSI model's seven layers. Some of the functions called for in the OSI model have no purpose in the SS7 network and are, therefore, undefined.

0135-01.gif
Figure 3.2
The SS7 protocol stack consists of only four levels and does not
perfectly align with the OSI model. This is due in part to the fact that
SS7 was developed before the OSI model. Many of the principles
were in place, however, which explains the similarities.
It should also be noted that the functions in the SS7 protocol have been refined over the years and tailored for the specific requirements of the SS7 network. For this reason, there are many discrepancies between the two protocols and their corresponding functions.
Regardless of the differences, the SS7 protocol has proven to be a highly reliable packet-switching protocol, providing all of the services and functions required by the telephone service providers. This protocol continues to evolve as the network grows and the services provided by the telephone companies change. The descriptions following apply only to SS7 networks deployed using TDM circuit-switching networks. Networks using true packet switching facilities (such as TCP/IP) do not use the same techniques.
Level One Physical Level
The physical level in SS7 is virtually the same as that of the OSI model. The OSI model does not specify any specific interface to be used, as this will always differ from network to network. In SS7, we can specify which interfaces will be used, since the Telcordia standard and the ANSI standards all call for one of two types of interface the DS0A or V.35.
The DS0A interface is the most favored for this application, with the V.35 acceptable as the second choice. There is no inherent value for using DS0A in SS7 networks, other than the fact that DS0A is already available. Because central offices are already using DS3 and DS1 facilities to link to one another, the DS0A interface is readily available in all central offices.
As telephone companies migrate to broadband networks, ATM will become the transport for SS7 messages. Telcordia has already defined SS7 transport using a DS1 at the physical level and ATM at the transport level. These are defined as High Speed Links (HSL).
The SS7 standard does not specify any one interface for use. In fact, the standards allow the protocol to use any interface at any rate. Performance requirements impact Telcordia requirements for switching entities and, in some cases, even the ITU-TS performance standards will determine the type of interface to be used.
The theory, however, is that the protocol should be able to use any type of interface and any type of medium, maintaining true transparency throughout the layers. The other factors, of course, are distance and transmission rates needed to support the traffic mixes in each unique network.
Level Two Data Link Level
The data link level of the SS7 protocol stack provides the SS7 network with error detection/correction and sequenced delivery of all SS7 message packets. As with the OSI model, this level is concerned only with the transmission of data from one node to the next node in the network. It does not concern itself with the final destination of the message. As the message travels from node to node, each node examines the dialed digits (contained in level four) and uses that information to determine the next route for the message. Level two is provided the information by level three, which determines message routing. Level two then provides the functions necessary to transmit the packet to the next node.
Level two does not provide the routing for SS7. This is a level-three function. Level two provides only the mechanisms needed to ensure reliable transfer of the data over the network. This is accomplished in several ways. First, level two provides the sequencing of messages between nodes. The sequence numbering is only of significance on one link. Each link will use its own sequencing series and will be independent of the other links.
The sequencing numbering is used by this layer to determine if any messages have been lost during transmission. A lost message indicates an error, which is counted by an error counter maintained by level three. After significant errors, the link is taken out of service and the network begins diagnostics and recovery procedures.

 

Another error-checking function maintained at level two is the frame check sequence. SS7 uses CRC-16 for error checking of the user data. The purpose of this mechanism is to maintain data integrity. The bit stream is subjected to the CRC-16 equation, and the remainder is placed into the FCS field. When the message is received by the distant node, the same equation is used again, only this time the value is compared with the value in the FCS field of the received message.
If there is an error in a message, or a message is lost, level two is responsible for requesting a retransmission. The retransmission may be accompanied with a message containing user data (user data in this context refers to level-four information). Unlike most protocols, where retransmissions are unique messages which do not carry any bearer information, the SS7 method maintains this function at the lower level, allowing the upper layers to function independently.
This allows retransmission requests to be sent to the distant node while also sending a layer-four message. This also allows higher throughput of SS7 traffic rather than network management messages.
A length indicator is provided to allow level two to determine what type of packet (signal unit) it is receiving. Level two must know the type of signal unit being received so it knows how to process the message. If it determines that there is information intended for a higher layer, then this level will pass the contents of the message up to the network level, or level three.
In packet-switched networks utilizing TCP/IP, the M2UA protocol is used to provide many of the preceding services.
Level Three Network Level
The network level provides three functions: routing, message discrimination, and distribution. All three functions depend on the services of level two. When a message is received, it is passed by level two to level three for message discrimination.
Message discrimination determines who the message is addressed to. If the message contains the local address (of the receiving node), then the message is passed to message distribution. If the message is not addressed to the local node, then it is passed to the message-routing function. The message-routing function reads the called and calling party addresses in the message to determine which physical address to route to. The called and calling party addresses can be considered logical addresses, and the physical address the node address.

 

The physical address in SS7 networks is referred to as a point code. Every node in the network must have a unique point code. The routing function determines which point code to route the message to based on information stored in its administrable routing tables. These routing tables are maintained by the service providers themselves and are network dependent.
The point code in many cases is not the final destination for a message, but the adjacent point code for this node. This allows messages to be routed through the network and rerouted in the event of a network failure to another node. The routing scheme is determined by the network providers and can vary depending on philosophy.
Message distribution is used when message discrimination determines that the address is a local address. Message distribution is responsible for identifying which user part the message is addressed to (based on the service information octet field of the message) and routes the message to its internal user.
There are three network management functions at this level. Link management, route management, and traffic management are all level-three functions. Each type of network management uses different mechanisms to achieve results.
The link management function uses the Link Status Signal Unit (LSSU) to notify adjacent nodes of link problems. A link problem does not necessarily mean that the link cannot transmit messages. Software errors or processor problems on link interface cards can cause a link to become unusable.
When this occurs, it is quite possible for a link to remain operational at level two and even level three, but nonoperational at level four. When this occurs, the adjacent node must be notified that the indicated link cannot be used for traffic, because there is a problem at the affected signaling point.
Level three sends LSSUs via level two to the adjacent node, indicating the problems with the link and advising of its status. The link can be removed from service (which means that no MSUs are transmitted over the affected link) and diagnostics can begin. Diagnostics consist of realigning the link or resynchronizing the link.
Realignment occurs when traffic is removed, all counters are reset to zero, all timers are reset to zero, and Fill-In Signal Units (FISUs) are transmitted for a prescribed duration of time, called the proving period. The duration of the proving period is dependent on the type of link being used. Telcordia has specified that the proving period for a DSO at 56 kbps shall be 2.3 seconds for normal proving and 0.6 seconds for emergency proving periods. At 64 kbps, the normal proving period duration is defined at 2.0 seconds and emergency proving period at 0.5 seconds. When a 1.536-Mbps link is used, the normal proving period is defined at 30 seconds and emergency proving defined at 5 seconds. During the proving period, any errors that may occur with the FISUs' transmission are counted.
When link management has determined that too many errors have occurred on the link, the entire process begins over again, with timers and counters being reset to zero and FISUs being transmitted for a prescribed duration of time.
Another form of link management entails the use of changeover and changeback messages. These are sent using Message Signal Units (MSUs) and advise the adjacent node to begin sending traffic over another link. The alternate link must be within the same linkset. During the time that all MSUs are being rerouted over different links, the affected link is being realigned by level three.
A changeback message is sent to advise the adjacent node that traffic may be sent over the affected link once again, since it has been restored to service. The changeback message is typically followed by a changeback acknowledgment message.
Route management provides the mechanisms for rerouting traffic around nodes which have failed or have become congested. This is a function of level three and works with the link management function.
Usually, when a link management message has been received, if the route of the node is affected, it may trigger the generation of a routing message, depending on the impact on other nodes. Route management is used to inform other nodes in the network of the status of a particular node which has become unavailable or congested. This differs from link management, which only notifies an adjacent node about link status.
Route management messages use the MSU and are generated by nodes adjacent to affected nodes and not usually by the affected nodes themselves. These messages are the transfer-prohibited, transfer-restricted messages and are discussed in Chapter 6, ''Message Transfer Part Level Three."
Traffic management is used as a flow control mechanism. Flow control is used in the event that a node has become congested, but only at a single level. For example, if a particular user part is not available (such as the ISDN User Part [ISUP]), a traffic management message can be directed at adjacent nodes informing them that ISUP at a particular node is not available, without having any impact on TCAP messages to the same node.
Traffic management, then, is different from the previous two functions in that it deals with a specific user part within an affected node, rather than with the entire entity. This mechanism allows the network to control the flow of certain messages based on protocol, without impeding other traffic that should not be affected.
In packet-switched networks using TCP/IP, M3UA provides many of the above services.
Level Four User Parts
Level four in the SS7 network consists of several different protocols, all called user parts and application parts. For basic telephone call connection and disconnect, the Telephone User Part (TUP) or ISUP protocols are used. TUP is used in Europe and other countries following ITU-TS standards, while ISUP is used primarily in North America.
To access network databases, the TCAP protocol is used. TCAP supports the functions required to connect to an external database, perform a query of the database, and retrieve information. The information or data retrieved is then sent back in the form of a TCAP message to the signaling point that requested it.
TCAP also supports remote control of other entities in the network. A network switch can invoke a feature or a function in another network switch by sending a TCAP message from one entity to another.
TCAP is being used more and more as the network evolves into a more intelligent network, capable of many self-invoked functions. With the inclusion of cellular networks into the SS7 networks, TCAP will increase in usage for roaming and other cellular functions.
The Operations, Maintenance, and Administration Part (OMAP) is really an application entity that uses the services of the TCAP. The standard describes the syntax used for OMAP, relying on the Abstract Syntax Notation Number One (ASN-1) standard. This is used to provide communications and control functions throughout the network via a remote operations center terminal. This terminal is typically located in a remote maintenance center, where control over all network elements is possible. Administration of system databases, maintenance access, and performance monitoring are all parts of these centers.
The Mobile Application Part (MAP) is a relatively new level-four protocol used in GSM cellular networks. The purpose of this protocol is to provide a mechanism by which cellular subscriber information may be passed from one cellular network to another. The MAP parameters include information such as the mobile identification number (MIN) and the serial number of the radio unit itself.

 

In North America, the IS-41 protocol is used for CDMA/TDMA cellular networks.
There are other level-four functions, which are discussed in much greater detail in later chapters. For now, an understanding of the differences between the OSI model and the SS7 protocol stack is all that is necessary. While all the functions called for in the OSI model are addressed in the SS7 protocols, the SS7 protocol stack is condensed and does not address connection-oriented services used to establish a "session" with another user.
In addition to providing connection requests in the voice network, SS7 also provides for database access from any entity in the network. This is the most important feature of the SS7 network, and the main reason SS7 has been deployed in the Public Switched Telephone Network (PSTN) all over the world, so that all telephone companies can share subscriber information and call-handling procedures on a call-by-call basis.
SS7 Protocols
Now that we have discussed the various layers, or levels, of the SS7 protocol, let us examine the protocols used within these levels to accomplish the specific functions called for at each level. The protocols used within SS7 each have a specific application and are used according to the services they provide the network.
In TDM-based signaling networks, levels one, two, and three are combined into one part, the Message Transfer Part (MTP). MTP provides the rest of the levels with node-to-node transmission, providing basic error detection/correction schemes and message sequencing. In addition, MTP also provides routing, message discrimination, and distribution functions within a node.
In packet switched networks using TCP/IP, M2UA and M3UA protocols replace the MTP protocols, providing the same services in the packet telephony environment. The SCTP protocol is used as a transport for these protocols to guarantee delivery of these protocols.
When a database transaction is requested, MTP is accompanied by another higher level protocol, the Signaling Connection Control Part (SCCP). SCCP provides the addressing necessary to route a message to the correct database. Database addresses are called subsystem numbers, and are the logical addresses used by the protocols to route to the appropriate database entity.
In the event that the subsystem number is not known by an originating node, the dialed digits or other similar information is provided in a called address field. This information is then used for routing the message through the network. At some point, before the database is reached, the called party address must be translated into a point code and a subsystem number.
The point code is of the Service Control Point (SCP) connecting to the database, while the subsystem number is the logical address of the database itself. Once the SCP is reached, the subsystem number may be sent over another type of network, such as an X.25 network.
The SCCP message is then returned with the proper routing instructions to the end office requesting the global title. SCCP is also used as the level-three protocol supporting the TCAP. TCAP is the protocol used for all database transactions. SCCP is required for routing TCAP messages to their proper database.
Another function of the SCCP protocol is to provide end-to-end routing, which is not possible with MTP. SCCP provides the means for routing a message transparently through the network using intermediate nodes as routers without the need to know the individual addresses of each of the intermediate nodes.
The addressing provided in the SCCP field allows each of the intermediate nodes to route based on the address in the SCCP protocol. The signaling points then base their routing on the SCCP address and generate the routing label for use by level-three routing.
Although the standards often show a correlation between SCCP and the ISUP, there is no current definition supporting such services. SCCP at this time is used only in conjunction with TCAP protocol messages.
ISUP is the protocol used to set up and tear down telephone connections between end offices. This protocol was derived from the Telephone User Part (TUP), which is the ITU-TS equivalent to ISUP, but offers the added benefit of supporting Intelligent Networking functions and ISDN services. ISUP is used throughout the U.S. today, and provides not only call connection services within the PSTN, but also links the cellular network and the PCS network to the public telephone network.
Broadband ISUP (BISUP) is used for setting up and tearing down connections on ATM facilities. BISUP is still being refined, but most of the message structure and functions of BISUP have been documented. BISUP will gradually replace ISUP as ATM is rolled out into the network.
Through the use of these protocols, SS7 is able to provide a variety of services not obtainable with the previous signaling methods. SS7 is a message-based packet-switching network, capable of growing with the technology it must support. Because of SS7, the telephone companies have had to change their philosophies regarding service and are now finding themselves in a new industry-data communications.


Signaling System #7
Signaling System #7, Fifth Edition (McGraw-Hill Computer Communications Series)
ISBN: 007146879X
EAN: 2147483647
Year: 2000
Pages: 23

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net