1. Define the VoIP concept. .......................................................................................................................................... 2
2. Analyze VoIP vs. classical telephony. ........................................................................................................................ 3 3. Compare Packet Switching and Circuit Switching ..................................................................................................... 4 4. VoIP elements, network structure and interfaces .................................................................................................... 5 5. Shortly describe H.323 protocol ............................................................................................................................... 6 6. Shortly describe SIP ................................................................................................................................................... 7 7. H.323 architecture and specific elements ................................................................................................................ 8 8. SIP architecture and specific entities ........................................................................................................................ 9 9. Provide H.323 vs. SIP compare ............................................................................................................................... 10 10. Describe SGCP ..................................................................................................................................................... 11 11. Describe MGCP ................................................................................................................................................... 12 12. Describe MEGACO ............................................................................................................................................... 13 13. VoIP packing ........................................................................................................................................................ 14 14. Overheads contribution in VoIP services ............................................................................................................ 15 15. VoIP limitations ................................................................................................................................................... 16 16. QoS rules impacting on VoIP services ................................................................................................................. 17 17. Define the main QoS goals and parameters ....................................................................................................... 18 18. QoS latency, problem and solutions ................................................................................................................... 19 19. QoS, resource reservation (RSVP) ....................................................................................................................... 19 20. Scalable QoS guarantees (DiffServ) ..................................................................................................................... 20 21. Describe MPLS ..................................................................................................................................................... 20 22. VoIP codecs ......................................................................................................................................................... 21 23. Real time data transport principle (RTP/RTCP) ................................................................................................... 22 24. RTP packet structure ........................................................................................................................................... 23 25. Explain Sender Report / Receiver Report in RTCP .............................................................................................. 24 26. Jitter Estimation in real-time traffic .................................................................................................................... 25 27. Content Distribution Networks ........................................................................................................................... 26 28. Stream Control Transmission Protocol, SCTP (futures, packet structure) .......................................................... 27 29. SCTP chunks management .................................................................................................................................. 28
1. Define the VoIP concept.
VoIP (voice over IP) is an IP telephony term for a set of facilities used to manage the delivery of voice information over the Internet.VoIP involves sending voice information in digital form in discrete packets rather than by using the traditional circuit-committed protocols of the public switched telephone network (PSTN). A major advantage of VoIP and Internet telephony is that it avoids the tolls charged by ordinary telephone service. Telefonia IP este importanta deoarece: Pe termen scurt permite reducerea drastica a costurilor convorbirilor daca se utilizeaza reteaua publica de Internet. Pe termen lung se aliniaza tendintei de migare a serviciilor vocale si de date oferite de companile de telecomunicatii catre retele IP.
2. Analyze VoIP vs. classical telephony.
Operational cost VOIP can be a benefit for reducing communication and infrastructure costs. Examples include: * Routing phone calls over existing data networks to avoid the need for separate voice and data networks. * Conference calling, IVR, call forwarding, automatic redial, and caller ID features that traditional telecommunication companies (telcos) normally charge extra for are available free of charge from open source VOIP implementations. * Costs are lower, mainly because of the way Internet access is billed compared to regular telephone calls. While regular telephone calls are billed by the minute or second, VOIP calls are billed per megabyte (MB). In other words, VOIP calls are billed per amount of information (data) sent over the Internet and not according to the time connected to the telephone network. In practice the amount charged for the data transferred in a given period is far less than that charged for the amount of time connected on a regular telephone line.
Flexibility VOIP can facilitate tasks and provide services that may be more difficult to implement using the PSTN. Examples include: * The ability to transmit more than one telephone call over a single broadband connection without the need to add extra lines. * Secure calls using standardized protocols (such as Secure Real-time Transport Protocol). Most of the difficulties of creating a secure telephone connection over traditional phone lines, such as digitizing and digital transmission, are already in place with VOIP. It is only necessary to encrypt and authenticate the existing data stream. * Location independence. Only a sufficiently fast and stable Internet connection is needed to get a connection from anywhere to a VOIP provider. * Integration with other services available over the Internet, including video conversation, message or data file exchange during the conversation, audio conferencing, managing address books, and passing information about whether other people are available to interested parties.
3. Compare Packet Switching and Circuit Switching
In circuit-switching, this path is decided upon before the data transmission starts. The system decides on which route to follow, based on a resource-optimizing algorithm, and transmission goes according to the path. For the whole length of the communication session between the two communicating bodies, the route is dedicated and exclusive, and released only when the session terminates. In packet-switching, the packets are sent towards the destination irrespective of each other. Each packet has to find its own route to the destination. There is no predetermined path; the decision as to which node to hop to in the next step is taken only when a node is reached. Each packet finds its way using the information it carries, such as the source and destination IP addresses.
1.Circuit switching is old and expensive, and it is what PSTN uses. Packet switching is more modern. 2.When you are making a PSTN call, you are actually renting the lines, with all it implies. See why international calls are expensive? So if you speak for, say 10 minutes, you pay for ten minutes of dedicated line. You normally speak only when your correspondent is silent, and vice versa. Taking also into consideration the amount of time no one speaks, you finally use much less than half of what you are paying for. With VoIP, you actually can use a network or circuit even if there are other people using it at the same time. There is no circuit dedication. The cost is shared. 3.Circuit-switching is more reliable than packet-switching. When you have a circuit dedicated for a session, you are sure to get all information across. When you use a circuit which is open for other services, then there is a big possibility of congestion (which is for a network what a traffic jam is for the road), and hence the delays or even packet loss. This explains the relatively lower quality of VoIP voice compared to PSTN. But you actually have other protocols giving a helping hand in making packet-switching techniques to make connections more reliable. An example is the TCP protocol. Since voice is to some extent tolerant to some packet loss (unless text - since a comma lost can mean a big difference), packet-switching is finally ideal for VoIP.
4. VoIP elements, network structure and interfaces
Pentru interconectarea de dispozitive non-IP la o infrastructur de transport informaional de tip TCP/IP este necesar utilizarea unor interfee dedicate. Pentru conectarea aparatelor telefonice analogice se utilizeaz interfee FXS - Foreign eXchange Subscriber. Acestea genereaz curentul de linie, tonul de numerotare i semnalul de apel ctre un echipament analogic (telefon, fax, modem) i folosete un port Ethernet pentru conectare ctre reeaua de date. Interfaa utilizat ctre reeaua telefonic se numete FXO - Foreign eXchange Office I nterface. Spre deosebire de FXS, FXO primete semnalizrile din sistemul telefonic (i nu genereaz) realiznd operaiunile de nchidere / deschidere a liniei de abonat (on-hook, off-hook). Aparatele telefonice care includ i interfaa FXS se numesc terminale VoIP sau telefoane VoIP. Un terminal VoIP poate fi emulat, folosind o aplicaie software adecvat, cu ajutorul unui echipament de calcul tip PC. Un terminal VoIP poate utiliza o interfata wireless genarand un serviciu similar telefoniei mobile. n reelele VoIP se poate utiliza apelarea direct pe baz de adres IP sau se poate folosi un sistem de conversie a adreselor IP n numere telefonice de abonat, pe baza unui tabel de alocare, similar conversiei DNS. Principalele Protocoale H.323 - standard ITU (International Telecommunication Union), integrare ISDN, topologie distribuita, include reglementari pentru videotelefonie SIP - Session Initiation Protocol, reglementare IETF RFC2543, reglementeaza controlul distribuit al fluxurilor; include mesagerie MGCP - Media Gateway Control Protocol, reglementare IETF (Internet Engineering Task Force) RFC2705, defineste controlul centralizat bazat pe agenti (MGC) & Gateways (MG) Skinny defineste o arhitectura centralizata de control a fluxurilor vocale
5. Shortly describe H.323 protocol
Unul din standardele fundamentale care a definit serviciile VoIP este protocolul H.323 lansat de ITU-T n mai 1995. El a suferit mai multe modificri de-a lungul timpului. H.323 definete o arhitectur distribuit pentru aplicaii multimedia. n acest sens H.323 descrie: terminale, dispeceri (sau gatekeepers), pori (sau gateways), uniti de control multipunct. H.323 - standard ITU (International Telecommunication Union), integrare ISDN, topologie distribuita, include reglementari pentru videotelefonie
The H.323 scheme defines the following five components: 1. Multimedia terminal. A multimedia terminal is designed to support video and data traffic and to provide support for IP telephony. 2. DNS server. As in SIP, a DNS server maps a domain name to an IP address. 3. Gateway. The gateway is a router that serves as an interface between the IP telephone system and the traditional telephone network. 4. Gatekeeper: The gatekeeper is the control center that performs all the location and signaling functions. The gatekeeper monitors and coordinates the activities of the gateway. The gateway also performs some signaling functions. 5. Multicast or multipoint control unit (MCU). This unit provides some multipoint services, such as conference calls. Signalizing steps
First, the user communicates with its DNS server The signaling uses both UDP and TCP, and partitioned into the following five steps: 1. Call setup 2. Initial communication capability 3. Audio/video communication establishment 4. Communications 5. Call termination
6. Shortly describe SIP The Session Initiation Protocol (SIP) is an IETF-defined signaling protocol, widely used for controlling multimedia communication sessions such as voice and video calls over Internet Protocol (IP).SIP uses IP addresses for numbering. Locating users in an integrated network consisting of different networks is a complex task. In addition, an optimal route to the user after the user is located must be found. The location servers use a the Telephone Routing Over IP (TRIP) protocol to locate a user in an integrated network. TRIP advertises routes, exchanges routing information, and divides the globe into IP telephone administrative domains (ITAD). Location servers exchange information about routes with signaling gateways connecting to various ITADs. The SIP protocol is an Application Layer protocol designed to be independent of the underlying transport layer; it can run on Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or Stream Control Transmission Protocol (SCTP). It is a text-based protocol, incorporating many elements of the Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP), allowing for direct inspection by administrators. SIP is a control protocol offering services like classical telephoning, but is strict internet context. O deosebire important ntre SIP i alte protocoale de control anterioare este aceea c SIP nu necesit alocarea de resurse din cele ale reelei i nici nu stabilete circuite virtuale sau reale pe infrastructura de reea. n principal SIP este destinat pentru asigurarea sesiunilor de comunicaie ntre utilizatori adresai prin identificatori de tip user_name, e-mail sau numr de telefon. Orice echipament care are asignat un nume de gazd ntr-o reea poate lua parte la o sesiune SIP. SIP was accepted as a 3GP signaling protocol and permanent element of the IP Multimedia Subsystem (IMS) architecture for IP-based streaming multimedia services in cellular systems SIP consists of the following five servers: 1. DNS server. The Domain Name System (DNS) server maps the domain name to an IP address in the user information database (UID). The UID database contains such user information as preferences and the services to which it has subscribed. The UID also stores information on the related IP addresses. Each user is normally configured with more than one DNS server. 2. Proxy server. The proxy server forwards requests from a user agent to a different location and handles authorizations by checking whether the caller is authorized to make a particular call. 3. Location server. This server is responsible for UID management. The location server interacts with the database during call setup. Each proxy server is normally configured with more than one location server. 4. Redirect server. This server performs call forwarding and provides alternative paths for the user agent. 5. Registrar server. This server is responsible for registering users in the system and updating the UID that the location server consults. Requests for registration must be authenticated before the registration is granted.
7. H.323 architecture and specific elements
The H.323 system defines several network elements that work together in order to deliver rich multimedia communication capabilities. Those elements are Terminals, Multipoint Control Units (MCUs), Gateways, Gatekeepers, and Border Elements. Collectively, terminals, multipoint control units and gateways are often referred to as endpoints.
While not all elements are required, at least two terminals are required in order to enable communication between two people. In most H.323 deployments, a gatekeeper is employed in order to, among other things, facilitate address resolution.
1. Multimedia terminal. A multimedia terminal is designed to support video and data traffic and to provide support for IP telephony. 2. DNS server. As in SIP, a DNS server maps a domain name to an IP address. 3. Gateway. The gateway is a router that serves as an interface between the IP telephone system and the traditional telephone network. 4. Gatekeeper: The gatekeeper is the control center that performs all the location and signaling functions. The gatekeeper monitors and coordinates the activities of the gateway. The gateway also performs some signaling functions. 5. Multicast or multipoint control unit (MCU). This unit provides some multipoint services, such as conference calls.
8. SIP architecture and specific entities
SIP consists of the following five servers: 1. DNS server. The Domain Name System (DNS) server maps the domain name to an IP address in the user information database (UID). The UID database contains such user information as preferences and the services to which it has subscribed. The UID also stores information on the related IP addresses. Each user is normally configured with more than one DNS server. 2. Proxy server. The proxy server forwards requests from a user agent to a different location and handles authorizations by checking whether the caller is authorized to make a particular call. 3. Location server. This server is responsible for UID management. The location server interacts with the database during call setup. Each proxy server is normally configured with more than one location server. 4. Redirect server. This server performs call forwarding and provides alternative paths for the user agent. 5. Registrar server. This server is responsible for registering users in the system and updating the UID that the location server consults. Requests for registration must be authenticated before the registration is granted.
9. Provide H.323 vs. SIP compare
Both H.323 and SIP are used today for VoIP, and they are considered interchangeable solutions. The comparison made covers the following issues:
* Philosophy H.323 does calls, SIP does sessions * Reliability H.323 reliable by design, SIP by responsible user agents * Message Definition H.323 uses ASN.1, SIP uses ABNF * Message Encoding H.323 is binary, SIP is mostly textual * Media Transport both use RTP/RTCP and SRTP * Extensibility H.323 extensible by design, SIP breaks interoperability with extensibility * Scalability H.323 scalable by design, SIP by implementation or by additional IETF standards * Addressing H.323 supports multiple addressing schemes, SIP has only URIs * Billing H.323 has billing by design, SIP by implementation
H.323 is a lot better today in issues of interoperability. That said, the comparison above lacks two main points:
Market
H.323 is dominant today and has large deployments around the world. It is a lot better where it comes to video conferencing, and can be found a lot more in the enterprise. SIP is the protocol of choice for most developers today it is quite strong in the consumer and service provider markets. If you are a company about to develop a communication product, you will probably be selecting SIP. It is not as good for video conferencing, but it is getting there.
Services
H.323 focuses on multimedia calls in all of their flavors. Voice only, video, data collaboration, conferences and a rich set of telephony services. SIP doesnt seem to focus on anything in particular. You can use sessions to make calls with it (voice, video whatever), you use it for presence and instant messaging, and you can use it for a large array of additional services as well.
Media Topology Both- Unicast, multicast, star, and centralized.
Authentication H.323-Yes, via H.235. SIP-Yes, via HTTP (Digest and Basic), SSL, PGP, S/MIME, or various other means.
Encryption H.323-Yes, via H.235 (including use of SRTP, TLS, IPSec, etc.). SIP-Yes, via SSL, PGP, S/MIME, or various other means.
10. Describe SGCP
The Simple Gateway Control Protocol was published in 1998 by Christian Huitema and Mauricio Arango, as part of the development of the "Call Agent Architecture" at Telcordia. In this architecture a central server, the "Call Agent", controls "media gateways" and receives telephony signaling requests through a "signalling gateway". Later implementation of the architecture refer to the "Call Agent" as a "Softswitch".
SGCP was intended to be compatible with the Session Initiation Protocol (SIP), enabling the Call Agent to relay calls between a Voice over IP network using SIP and a traditional telephone network. The SGCP commands are encoded with a syntax somewhat comparable to the SIP or HTTP headers. They carry a payload describing the voice over IP media stream. This payload is encoded using the same "session description protocol" (SDP) as SIP.
n timpul dezvoltrii protocolului SGCP, s-a conturat o nou aplicaie: implementarea unor gateway de tip rezidenial (residential gateways) pentru a deservi modem-urile de cablu.
Aplicaia a introdus elemente care au complicat arhitectura protocoalelor MGC datorit prezenei semnalizrii n band (i nu n afara benzii de transport).
SGCP are ns abilitatea s gestioneze cerinele semnalizrii n band pentru liniile telefonice prin supervizarea liniei, colectarea numerelor i semnalizarea corespunztoare.
11. Describe MGCP
MGCP is an implementation of the Media Gateway Control Protocol architecture for controlling Media Gateways on Internet Protocol (IP) networks and the public switched telephone network (PSTN). Is a successor to the Simple Gateway Control Protocol (SGCP). MGCP is a signaling and call control protocol used within Voice over IP (VoIP) systems that typically interoperate with the public switched telephone network (PSTN). As such it implements a PSTN-over-IP model with the power of the network residing in a call control center (softswitch, similar to the central office of the PSTN) and the endpoints being "low-intelligence" devices, mostly simply executing control commands. The protocol represents a decomposition of other VoIP models, such as H.323, in which the media gateways (e.g., H.323's gatekeeper) have higher levels of signalling intelligence.
MGCP uses the Session Description Protocol (SDP) for specifying and negotiating the media streams to be transmitted in a call session and the Real-time Transport Protocol (RTP) for framing of the media streams.
MGCP este un protocol master-slave, ce coordoneaz aciunile porilor media. Controlerul porilor media din MGCP este numit agent de apel. Agentul de apel administreaz semnalizarea de apel, n timp ce porile media informeaz agentul de apel asupra evenimentelor ce au aprut n legtur cu un anumit serviciu. Agenii de apel instruiesc porile media s creeze i s nchid conexiunile n procesul de stabilire i terminare a apelurilor.
12. Describe MEGACO
Megaco defines the protocol for Media Gateway Controllers to control Media Gateways for the support of multimedia streams across computer networks. It is typically used for providing Voice over Internet Protocol (VoIP) services (voice and fax) between IP networks and the PSTN, or entirely within IP networks.
MeGaCo extinde controlul porilor i la mediu prin implementarea unui model de conexiune independent de transportul datelor i care furnizeaz suportul necesar pentru servicii avansate de tip conferine multimedia.
(Media Gateway - MG) cu echipamentul ce controleaz o poart MG, MGC (Media Gateway Controller - MGC).
13. VoIP packing
It is well-known the fact that in TCP/IP networks the application data has to be exchanged between different layers of the protocols stack. For each voice packet which has to be sent, different overheads are added when the data unit passes to each protocol layer. We have to note that the package length is increased every time when de data unit is transferred to the next down layer. At the application level, the voice data stream is compressed by a specific codec, resulting voice packets with a certain length. The compressed packets have different dimensions depending on the codec. They are carried using RTP protocol (Real Time Transport Protocol) which is adding its header of 12 bytes length. Next, at the transport layer, a new UDP 8 bytes header is necessary (UDP is User Datagram Protocol). The IP frame creation needs another 20 bytes header. With no security involved, the MAC layer is adding a total overhead of 38 bytes (with LLC contribution included) and PHY has another 24 bytes as PLCP (Physical Layer Convergence Protocol) preamble and header. Each voice packet which has to be sent, different overheads are added when the data unit passes to each protocol layer We have to note that the package length is increased every time when de data unit is transferred to the next down layer. H = HRTP + HUDP + HIP + HMAC + HPCLP = 12 + 8 + 20 + 38 + 24= 102 bytes
14. Overheads contribution in VoIP services We will consider now the overheads for the Application Layer (RTP), the Transport Layer (UDP), the Internet Layer (IP) and the MAC Sub-Layer (MAC) as suggested in figure 1. The MAC sub-layer contributes with the MAC header (30 bytes), with the MAC CRC trailer (4 bytes) but also with LLC overheads (3 or 4 bytes) and with optional security overheads if WEP or WPA is used. Accordingly, at the PHY level, excluding the PHY overheads, we arrive to a already included overheads amount H having a length of 78 bytes, as it is calculated in equation (1). H = HRTP + HUDP + HIP + HMAC = 12 + 8 + 20 + 38 = 78 bytes The PHY level contribution was not included in the general overheads because it is always transmitted at the basic channel data rate and not at the channel rate. Finally, when no security method is involved, the PLCP Protocol Data Unit (PPDU) which is launched into the physical transmission medium contains a total number of overhead bytes equal with 102 (78+24), but transmitted at two different rates. The PLCP Preamble and Header (PCLP overheads) are transmitted at the basic channel data rate. The basic rate is 1 Mbps for 802.11b, 24 Mbps for pure 802.11g and 6 Mbps for 802.11a. The rest of the frame is transmitted at the channel date rate. It is realistic to consider at this moment the overheads for 802.11 MAC layer only, which is 78 bytes length and to include the PLCP transmission time together with the other timing intervals of 802.11 communications. These timing intervals are DIFS (Distributed Interframe Space), SIFS (Short Interframe Space) and CW (Contention Window, backoff time) [5], [9] and they will be later explained as 802.11 radio environment characteristics. When security issues are used, as we can see in table below, 8-16-20 bytes are supplementary carried for each voice frame. Accordingly, the security overheads will impact with the voice channel extending the data frame. With WEP we arrive to 110 bytes, with WPA TKIP 122 bytes are added and with WPA CCMP the security overheads are 118 bytes.
15. VoIP limitations
Every transport data frame contains the user data field and additional transport information as overheads
When the transmission is based on large frames the transmission efficiency is higher because the overheads contribution is smaller.
If retransmissions occur, longer frames are inadequate to be retransmitted and shorter ones are to be preferred.
Retransmissions rate is always related with the bit error rate, BER.
Considering the optical fiber solution and the speed of light (300.000 km/s), the delay when an information is optically carried traveling along the Earth equatorial circumference (40,075 km length) is about 133ms;
The above assumption does not consider the attenuation, interferences, front wave speed limitations and other physical or optical constrains.
We have no solutions to send messages between two opposite points on the Earth faster than 67ms !
16. QoS rules impacting on VoIP services
The new types of services have specific needs in terms of assurance of some minimum quality parameters for the data transport infrastructure: bandwidth, packet delay, delay jitter, packet loss.
In wired connections, if the appropriate management techniques are implemented, traffic resource reservation is approachable.
On wireless channels the radio propagation conditions are never constant and there is no a guaranteed bandwidth to split. Best effort solutions and prioritization techniques are the only achievable QoS rules.
I. PC Latency l ~50ms or more
II. Fixed network latency l ~35-40ms
III. Variable network Latency l Due to waiting time l Latency/delay (<150ms) l Packet Loss (<1%) l Controllable Jitter (<2ms)
17. Define the main QoS goals and parameters
Bandwidth is related to the transmission medium. Efficiency of the data communication channel depends on different overheads which are attached to every data packet. Throughput, the net data flow,, is the most relevant QoS parameter at the application level. Overheads have to be minimal. They include anything which is not user data: PHY level header and trailers, CRC fields, interframe intervals. Latency is the delay for packet delivery. For point-to-point voice calls ITU-T G.114 recommends a maximum of a 150 ms one-way latency. Some of the mobile technologies do not match this criteria at the user data interface (GPRS, EDGE, CDMA) while others does (Wideband CDMA, HSPA, LTE). J itter: A constant delay is manageable but many times the packets of the same stream have different delays, this variation being measured as jitter. The jitter has to be less than 2 ms [13]. Packet loss rateis another parameter to be considered. It is related with the packets drop in congested networks. The accepted value to support time sensitive applications is below 1%. A first trivial QoS evaluation is based on BL (bandwidth-length) product An elementary mixed metric M , for a given path p, may be generated with considering the bandwidth B, the delay D and the loss probability L using the formula
The connection cost or the number of hops could also act as a constraining factor. Since the most sensitive application as latency, jitter and packet loss are the VoIP applications, an appropriate QoS approach could be as VoIP availability of a data path.
18. QoS latency, problem and solutions
Managing latency: based on specific real time protocols RTP (Real Time Protocol, 2003).
RTP was explicitly developed to carry audio and video streams and use out of the band channel management with the help of RTCP (Real Time Control Protocol).
Jitter compensation based on nodes feedback is implemented.
Together with UDP as transport layer solution, RTP is offering now the best technique to support voice- calls and video-calls in IP networks.
19. QoS, resource reservation (RSVP)
A protocol specially designed at the transport level for resource reservation is RSVP, Resource ReserVation Protocol.
It doesnt work as routing protocol.
RSVP is based on the receiver initiative to periodically ask, during a data transaction, bandwidth reservation negotiating with every node from one simplex data path in order to build a reserved bandwidth channel over multi-segment paths.
20. Scalable QoS guarantees (DiffServ)
DiffServ (Differential Services, 1998) is providing scalable QoS guarantees.
It works over IP networks, on layer 3. DiffServ is a coarse-grained, class-based mechanism for traffic management able to classify and mark the traffic units.
The nodes of the network are able to differentiate traffic based on its class, accordingly offering a preferential treatment.
21. Describe MPLS
MPLS, Multi-Protocol Label Switching, is a transport solution operating on the layer 2 and 3 of the ISO/OSI model.
It use datagrams as data units and is based on the same principle as ATM, with variable data cells length and QoS priorities.
MPLS has less overheads (compared with ATM) and use a labeling system to manage the data packages paths.
Label management is based on Label Switch Routers acting on the labels fields. These labels are the only information to be analyzed by every node and they are explicitly defining the data paths.
MPLS was designed to be a complementary solution for IP routing and this is its major advantage over ATM.
22. VoIP codecs
AMR Codec BroadVoice Codec 16Kbps narrowband, and 32Kbps wideband GIPS Family - 13.3 Kbps and up GSM - 13 Kbps (full rate), 20ms frame size iLBC - 15Kbps,20ms frame size: 13.3 Kbps, 30ms frame size ITU G.711 - 64 Kbps, sample-based Comes in two flavors: A-law and mu-law ITU G.722 - 48/56/64 Kbps ADPCM 7Khz audio bandwidth ITU G.722.1 - 24/32 Kbps 7Khz audio bandwidth (based on Polycom's SIREN codec) ITU G.722.1C - 32 Kbps, a Polycom extension, 14Khz audio bandwidth ITU G.722.2 - 6.6Kbps to 23.85Kbps. Also known as AMR-WB. CELP 7Khz audio bandwidth ITU G.723.1 - 5.3/6.3 Kbps, 30ms frame size ITU G.726 - 16/24/32/40 Kbps ITU G.728 - 16 Kbps ITU G.729 - 8 Kbps, 10ms frame size Speex - 2.15 to 44.2 Kbps LPC10 - 2.5 Kbps DoD CELP - 4.8 Kbps Comunicaiile video folosesc de obicei o lime de band mare. Deci, pentru creterea performanelor lor sunt necesare tehnici de compresie i decompresie eficiente. Standardul H.323 specific n acest scop dou CODEC-uri Video: H.261 i H.263. Clienii H.323 nu sunt limitai doar la utilizarea acestor CODEC-uri. Utilizarea altor CODEC-uri se va face cu acordul terminalelor implicate. Suportul video n terminalele H.323 i MCU-uri este opional. CODEC-ul H.261 faciliteaz transmiterea datelor video prin canale cu limea de band egal cu multiplii de la 1 la 30, pentru 64 kbps. Transformata cosinus discret (DCT) este utilizat pentru compresie mpreun cu cuantizarea i compresia micrilor. H.261 suport dou formate video, CIF (Common Intermediate Format) - formatul comun de intermediere cu rezoluia de 352 x 288 pixeli i Quarter CIF - un sfert CIF, care are rezoluia de 176 x 144 pixeli. Suportarea formatului CIF este opional. CODEC-ul H.263 este proiectat pentru rate mici de transfer, fr pierderi. Acesta folosete pentru compresie tot codificarea DCT cu cuantizare, dar este folosit i mpreun cu algoritmi de estimare i predicie a micrilor. Formatele video suportate de H.263 sunt: sub-QCIF (128 x 96), QCIF (176 x 144), CIF (352 x 244), 4CIF (702 x 576) i 16CIF (1408 x 1152). Ultimele dou formate sunt opionale. Formatul QCIF al H.263 este compatibil cu H.261.
23. Real time data transport principle (RTP/RTCP) In real-time applications, a stream of data is sent at a constant rate. This data must be delivered to the appropriate application on the destination system, using real-time protocols. The most widely applied protocol for real-time transmission is the Real-Time Transport Protocol (RTP), including its companion version: Real-Time Control Protocol (RTCP). UDP cannot provide any timing information. RTP is built on top of the existing UDP stack. Problems with using TCP for real-time applications can be identified easily. Real-time applications may use multicasting for data delivery. As an end-to-end protocol, TCP is not suited for multicast distribution. TCP uses a retransmission strategy for lost packets, which then arrive out of order. Real-time applications cannot afford these delays. TCP does not maintain timing information for packets. In real-time applications, this would be a requirement. The real-time transport protocol (RTP) provides some basic functionalities to real-time applications and includes some specific functions to each application. RTP runs on top of the transport protocol as UDP: UDP is used for port addressing in the transport layer and for providing such transport-layer functionalities as reordering. RTP provides application-level framing by adding application-layer headers to datagrams. The application breaks the data into smaller units, called Application Data Units (ADUs). Lower layers in the protocol stack, such as the transport layer, preserve the structure of the ADU (Application Data Units). Real-time applications, such as voice and video, can tolerate a certain amount of packet loss and do not always require data retransmission. The RTP mechanism typically informs a source about the quality of delivery. The source then adapts its sending rate accordingly. If the rate of packet loss is very high, the source might switch to a lower-quality transmission, thereby placing less load on the network. A real-time application can also provide the data required for retransmission. Thus, recent data can be sent instead of retransmitted old data. This approach is more practical in voice and video applications. If a portion of an ADU is lost, the application is unable to process the data, and the entire ADU would have to be retransmitted RTP is used to transfer data among sessions in real time. A session is a logical connection between an active client and an active server and is defined by the following entities: RTP port number, which represents the destination port address of the RTP session. Since RTP runs over UDP, the destination port address is available on the UDP header. IP address of the RTP entity, which involves an RTP session. This address can be either a unicast or a multicast address. RTP uses two relays for data transmission: A relay is an intermediate system that acts as both a sender and a receiver. Suppose that two systems are separated by a firewall that prevents them from direct communication. A relay in this context is used to handle data flow between the two systems. A relay can also be used to convert the data format from a system into a form that the other system can process easily. Relays are of two types: mixer and translator. A mixer relay is an RTP relay that combines the data from two or more RTP entities into a single stream of data. A mixer can either retain or change the data format. The mixer provides timing information for the combined stream of data and acts as the source of timing synchronization. Mixers can be used to combine audio streams in real-time applications and can be used to service systems that may not be able to handle multiple RTP streams. The translator is a device that generates one or more RTP packets for each incoming RTP packet. The format of the outgoing packet may be different from that of the incoming packet. A translator relay can be used in video applications in which a high-quality video signal is converted to a lower quality in order to service receivers that support a lower data rate. Such a relay can also be used to transfer packets between RTP entities separated by an application-level firewall. Translators can sometimes be used to transfer an incoming multicast packet to multiple destinations.
24. RTP packet structure The RTP header fields are: Version (V), a 2-bit field indicating the protocol version. Padding (P), a 1-bit field that indicates the existence of a padding field at the end of the payload. Padding is required in applications that require the payload to be a multiple of some length. Extension (X), a 1-bit field indicating the use of an extension header for RTP. Contributing source count (CSC), a 4-bit field that indicates the number of contributing source identifiers. Marker (M), a 1-bit field indicating boundaries in a stream of data traffic. For video applications, this field can be used to indicate the end of a frame. Payload type, A 7-bit field specifying the type of RTP payload. This field also contains information on the use of compression or encryption. Sequence number, a 16-bit field that a sender uses to identify a particular packet within a sequence of packets. This field is used to detect packet loss and for packet reordering. Timestamp, a 32-bit field enabling the receiver to recover timing information. This field indicates the timestamp when the first byte of data in the payload was generated. Synchronization source identifier, a randomly generated field used to identify the RTP source in an RTP session. Contributing source identifier, an optional field in the header to indicate the contributing sources for the data. Overall, the main segment of an RTP header includes 12 bytes and is appended to a packet being prepared for multimedia application.
25. Explain Sender Report / Receiver Report in RTCP
RTCP sender report (SR) The report consists of the common header fields and a block of sender information. The sender report may also contain zero or more receiver report blocks The fields in the sender information block are: NTP timestamp, a 64-bit field that indicates when a sender report was sent. The sender can use this field in combination with the timestamp field returned in receiver reports to estimate the round-trip delay to receivers. RTP timestamp, a 32-bit field used by a receiver to sequence RTP data packets from a particular source. Sender's packet count, a 32-bit field that represents the number of RTP data packets transmitted by the sender in the current session. Sender's byte count, a 32-bit field that represents the number of RTP data octets transmitted by the sender in the current session.
RTCP receiver report (RR) One receiver block is included for each sender from which the member has received data during the session. The RR block includes the following fields: SSRC_n, a 32-bit field that identifies the source in the report block, where n is the number of sources. Fraction lost, an 8-bit field indicating the fraction of data packet loss from source SSRC_n since the last SR or RR report was sent. Cumulative number of packets lost, a 24-bit field that represents the total number of RTP data packets lost from the source in the current active session identified by SSRC_n. Extended highest sequence number received, the first 16 least-significant bits, used to indicate the highest sequence number for packets received from source SSRC_n. The first 16 most significant bits indicate the number of times that the sequence number has been wrapped back to zero. Interarrival jitter, a 32-bit field used to indicate the jitter variations at the receiver for the source SSRC_n. Last SR timestamp, a 32-bit field indicating the timestamp for the last SR packet received from the source SSRC_n. Delay since last SR, a 32-bit field indicating the delay between the arrival time of the last SR packet from the source SSRC_n and the transmission of the current report block.
26. Jitter Estimation in real-time traffic
The jitter factor is a measure of the delay experienced by RTP packets in a given session. The average jitter can be estimated at the receiver. Let us define the following parameters at the receiver: The difference interval d i is given by t i - Timestamp of the RTP data packet i indicated by the source. a i - Arrival time of the RTP data packet i at the receiver. d i - Measure of difference between interarrival time of RTP packets at receiver and the one for packet departure from the source. This value represents the difference in packet spacing at source and receiver. E[i] - Estimate of average jitter until the time of packet i arrival. The difference interval d i is given by
The estimated average jitter until the time of packet i arrival is given by
where k is a normalizing coefficient. The inter-arrival jitter value indicated in the sender report provides useful information on network conditions to the sender and the receiver. The jitter value can be used as an estimate to calculate the variation of network congestion.
27. Content Distribution Networks A content distribution network (CDN) is a group of proxy servers located at a certain strategic location around the Internet service provider. CDNs ensure that a download request can always be handled from the nearest server. The content company hires a CDN company to deliver its content (streaming video) to the user. A CDN company has several CDN centers around the Internet. Each group of servers is installed in proximity to ISP access points. At the request of a user, the content is provided by the closest CDN server that can best deliver the content. CDNs use Domain Name System (DNS) servers to direct browsers to the correct server. The corresponding DNS serverextracts the IP address of the requesting browser and returns the IP address of the closest CDN server to the browser The lookup table of the DNS server finds this best (nearest) CDN's server URL The user communicates with the CDN server located nearby with minimal congestion.
28. Stream Control Transmission Protocol, SCTP (futures, packet structure) The Stream Control Transmission Protocol (SCTP) provides a general-purpose transport protocol for message-oriented applications. It is a reliable transport protocol for transporting stream traffic Can operate on top of unreliable connectionless networks and offers acknowledged and non-duplicated transmission data on connectionless networks (datagrams). SCTP has the following features: The protocol is error free. A retransmission scheme is applied to compensate for loss or corruption of the datagram, using checksums and sequence numbers. It has ordered and unordered delivery modes. SCTP has effective methods to avoid flooding congestion and masquerade attacks. This protocol is multipoint and allows several streams within a connection. In TCP, a stream is a sequence of bytes; in SCTP, a sequence of variable-sized messages. SCTP services are placed at the same layer as TCP or UDP services. Streaming data is first encapsulated into packets, and each packet carries several correlated chunks of streaming details. If an MPEG movie is displayed live over the Internet, a careful assignment of data per packet is required. An MPEG video consists of frames, each consisting of n x m blocks of pixels, with each pixel normally an 8 x 8 matrix. In this case, each block of pixels can be encapsulated into a chunk, where each row of the block is formatted as a packet. An SCTP packet is also called a protocol data unit (PDU). As soon as the streaming data is ready to be transmitted over IP, an SCTP packet forms the payload of an IP packet. Each packet consists of a common header and chunks. The streaming data is distributed over packets and each packet carries correlated "chunks of streaming data. Multiple chunks representing multiple portions of streaming information are in fact multiplexed into one packet up to the path-maximum packet size. A chunk header starts with a chunk type field used to distinguish data chunks and any other types of control chunks. The type field is followed by a flag field and a chunk length field to indicate the chunk size. A chunk and therefore a packet, may contain either control information or user data. The common header begins with the source port number followed by the destination port number. SCTP uses the same port concept as TCP or UDP does. A 32-bit verification tag field is exchanged between the end-point servers at startup to verify the two servers involved. Thus, two tag values are used in a connection. The common header consists of 12 bytes. SCTP packets are protected by a 32- bit checksum. The level of protection is more robust than the 16- bit checksum of TCP and UDP.
29. SCTP chunks management
A chunk header starts with a chunk type field used to distinguish data chunks and any other types of control chunks. The type field is followed by a flag field and a chunk length field to indicate the chunk size. A chunk and therefore a packet, may contain either control information or user data. Each packet has n chunks, and each chunk is of two types: payload data chunk for transmitting actual streaming data and control chunks for signaling and control. Signaling and control chunks are of several different types, as follows: Initiation, to initiate an SCTP session between two end points Initiation acknowledgment, to acknowledge the initiation of an SCTP session Selective acknowledgment, to be transmitted to a peer end point to acknowledge received data chunks Heartbeat request, to probe the reachability of a particular destination transport address defined in the session Heartbeat acknowledgment, to respond to the heartbeat request chunk Abort, to close a session Shutdown, to initiate a graceful close of a session Shutdown acknowledgment, to acknowledge receipt of the shutdown chunk once the shutdown process is completed Operation error, to notify the other party of a certain error State cookie, sent by the source to its peer to complete the initialization process Cookie acknowledgment, to acknowledge receipt of a state cookie chunk Shutdown complete, to acknowledge receipt of the shutdown acknowledgment chunk at the completion of the shutdown process