• No results found

Various wired and wireless network solutions have been proposed to address multimedia content delivery, and in many cases, multiple solutions are supported by the same device, e.g., most laptops are equipped with LAN and WLAN interfaces, smartphones typically connect to both WLANs and mobile networks. This section looks at different options for media content delivery over computer networks. They are categorised by corresponding ISO OSI layers, based on their functionality.

2.2.1 Application Layer Protocols

The Real Time Streaming Protocol (RTSP) [38] is a protocol used for control information exchange. It establishes and controls media sessions between end points in entertainment and communications systems. RTSP controls streaming media servers, while the actual media stream delivery is performed either by RTP in conjunction with RTCP or proprietary transport protocols e.g. Real Data Transport (RDT) by RealNetworks2. When video learning content is streamed over the Real-Time Transport Protocol (RTP) [39], RTP is responsible for framing, payload identification and sequencing. It adds timing data to the packets so that both jitter and packet loss can be monitored. The Real-Time Transport Control Protocol (RTCP) [40] is used

2

to relay feedback information between client and server for RTP. RTP is independent of the transport protocol, however datagram transport protocols are used such as UDP, DCCP and SCTP. These transport protocols are outlined in Section 2.2.2.

The HyperText Transfer Protocol (HTTP) [20] is a generic, stateless application-level protocol that provides typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. Although HTTP communication usually takes place over TCP/IP connections the standard (RFC 2616) “does not preclude HTTP from being implemented on top of any other protocol on the Internet or on other networks” [20, p. 13], as long as the protocol used guarantees a reliable transport.

2.2.2 Transport Layer Protocols

Once upper layer services are applied the media is passed to the lower transport layer for end-to- end data transmission. Typical protocol options at this layer include:

User Datagram Protocol (UDP) [41] does not provide either reliability or congestion control features. It aims to meet the requirements of delay sensitive applications that generally tolerate or deal with loss, duplication or out-of-order delivery and rely on network-based mechanisms to minimise the potential for congestion collapse. Therefore, UDP is well suited to real-time multimedia streaming applications;

Transport Control Protocol (TCP) [21] provides a reliable, connection-oriented, window-based congestion controlled byte-stream service aimed at applications requiring a high degree of reliability, but which are not overly sensitive to delays. UDP has historically been favoured over TCP for the timely delivery of video packets, as no acknowledgement of delivery is required, but at the cost of reliability (no monitoring and retransmission in case of packet losses); TCP was avoided in video applications due to its throughput variations and excessive retransmission delays. However, over the past decade the choice of transport layer protocol for video (multimedia) delivery has shifted from UDP to TCP thanks to the popularity of HTTP-based streaming. The evident benefits of HTTP streaming when compared to UDP-based streaming protocols include exploiting of the existing Internet infrastructure, such as proxies, caches and Content Delivery Networks (CDN) and overcoming security obstacles such as firewalls and network address translation (NAT) [42] gateways. HTTP streaming however introduces larger overheads compared to RTP, mainly due to TCP overheads. Client player buffers can be used to deal with transient fluctuations of the transmission rate. While TCP was not designed for media streaming, it generally provides good streaming performance when the achievable TCP throughput is roughly twice the media bitrate with a startup delay of a few seconds [43].

Historically, TCP was designed and optimised for delivery of static files (e.g. FTP-like applications). TCP deploys several mechanisms to regulate the sending rate in response to network congestion. Congestion avoidance and timeout have significant impacts on the

throughput between the sender and receiver. TCP starts a retransmission timer for every packet sent by the sender and waits for an acknowledgment from the receiver. The retransmission timer expires if an acknowledgment packet (ACK) for the corresponding packet does not arrive within a specified time period. This is remedied by the retransmission of the packet. The window size is then reduced and the retransmission timer value for this retransmitted packet is doubled. This behaviour, known as exponential backoff, continues until the retransmitted packet is successfully acknowledged. In congestion avoidance, the window size increases by one packet when all packets in the current window are acknowledged. More information about TCP may be found in [44].

Other transport layer protocols include: (a) a message-oriented Datagram Congestion Control Protocol (DCCP) [45] a hybrid solution which provides fair bandwidth sharing using session and congestion control (similar to TCP) without reliability or requiring message retransmission; (b) a reliable, message-oriented Stream Control Transmission Protocol (SCTP) [46] which, compared to TCP, provides multi-streaming (several independent streams of chunks are simultaneously transmitted bundling connections into a single SCTP association, allowing for independently sequenced delivery) and multi-homing (enabling transparent failover between redundant network paths for endpoints with multiple IP addresses); and (c) a connection- oriented Multi-Path Transmission Control Protocol (MPTCP) [47], an extension of TCP, which supports multiple sub-flows for a single connection session to increase network resource usage and redundancy.

2.2.3 Network Layer Protocols

Both UDP and TCP depend on the Internet Protocol (IP), a network layer protocol, for essential services such as addressing, routing and fragmentation if necessary. There are two IP versions: the original one - IPv4 [48] that is being gradually replaced by IPv6 [49] which among other improvements, offers a larger address space. This layer utilises lower layer protocols such as Ethernet or IEE 802.11 family.

2.2.4 Data Link Layer Protocols

The Ethernet (IEEE 802.3) family of protocols has remained the dominant enabling technology for local area networks (LANs) for the past four decades.

Wireless Local Area Networks WLAN (IEEE 802.11) are a very successful and cost-effective option for multimedia delivery. The popularity of WLANs is constantly increasing, and it may currently be considered to be the de-facto standard solution for university and other campus based wireless Internet access. However, due to the open nature of the transmission medium, WLAN performance is moderated by the range, unpredictability and vulnerability to interference of the wireless links themselves. QoS may be further severely degraded due to the inevitable congestion caused by increased number of learners simultaneously engaged in learning sessions.

While IEEE 802.11 standards focus on the physical and MAC layer, IEEE 802.11e and IEEE 802.11n provide QoS support features. Various prioritisation schemes [50] have been proposed to provide QoS improvement on the basis of differentiation between different traffic types.