Choice 1: audio, a simple audio client server system
|
|
- Harvey Goodman
- 6 years ago
- Views:
Transcription
1 Choice 1: audio, a simple audio client server system The objective of this practice is to complete the program audiosimple which we have presented in practice 0. The new program, called audio, allows the sending of audio data from a file, which has been recorded previously, to a client located on a remote machine. Therefore, two new functions have to be included into audio in addition to the already known ones for recording and reproducing: server and client. First, we must start a server on a given machine. Then, a client will be started in another system, initiating a TCP connection with the server, through which control information will be exchanged (name of the file requested by the client, data port to be used, etc.). The TCP connection can also be used by the server to send some initial data to the client, allowing the client to have a buffer to isolate the playing process from possible delays in the network. Once these data have been sent, the server will reach the stable operation regime, in which it will use UDP to send data to the client at regular intervals. The sending of data at regular intervals results in memory savings at the client. The communication will finish when the file has been read completely at the server, or when an user requests it at either client or server; in any case, the system detecting this occurrence will inform the other system using the TCP connection. Next we describe the architecture of the practice, detailing some design decisions that you should implement. Modify the behaviour of the record operation in order to confer the semantic (type) of the generated audio content. To achieve this, you will store in the same file the following information: the number of utilized bits per sample the number of channels used (1 if mono, 2 if stereo) the sampling frequency. and the - character as delimiter Store this information as ASCII text (you can use any function member of the printf family). For example, a file with the previous format could be as follows: ^@^@<FF><FF><FF><BF><FF><FF><C3><CF><D7><E3><E6><D2>^R<D3><90><D6> <E0><E3>4<D7>(<DB><FF><D7>{<E2>^U<D7>T<DD><95><D3><B6><DC><C6><D1><BB><D9 >^C<D6>^Q<DE><F5><D5>^@<DE>F<D7><BA><DE>^@<D7>'<DF><A5><D5>^U<DD><F4> Do not worry about the strange characters: this is sound data, and therefore, difficult to print Note that you can check the contents of a file like this by means of the hexdump command. For the data exchange, the protocol is as follows: All the information will travel as ASCII text (i.e., you can use some of the printf and scanf functions to compose and interpret the messages). Knowing that the TCP service is a byte stream, it is necessary to insert message delimiters at the beginning of each command with additional information about message size. The encoding of the length information can be in decimal, with at minimum 3 digits, filled with 0 if the size value occupies one or two digits, followed by a space which separates the length of message. In order to implement it, one can use printf and scanf with format indicator %02d. For interpretation of the message, you can first read 4 characters, in which the length is encoded and the space the length information from the rest of the packet, and next the complete command. The length of the bytes read represents the remaining length of the message (i.e. without counting the three bytes of length information, nor the separating space character). The commands defined in this way are the following: The client will send the name of the requested file in a string that starts with the text (preceeded with LLL representing the encoded length information) LLL CLIENT:STARTING filename eg:028 CLIENT_STARTING mymusic The server will open the file, and if everything is OK, it will answer with a message LLL SERVER:CONTENT_PARAMETERS, followed by the number of bits, the number of
2 channels, the frequency of the content as well as the sequence number which will be used to send the first data packets over UDP. ex: 045 SERVER:CONTENT_PARAMETERS If the server cannot open the file, or the file do not have an appropriate format (it is not possible to identify the parameters written in the file), it returns LLL SERVER:PARAMETER_ERROR and the name of the file ex: 039 SERVER:PARAMETER_ERROR mymusic Then the client issues a message: LLL CLIENT: TRANSMISION_PARAMETERS message to specify the port in which the client is expecting to receive UDP packets, number of audio bytes to be received on each UDP packet (not including any other information such as numbering, time-stamps, etc)., and the number of bytes to be buffered in the client ex: 45 CLIENT: TRANSMISION_PARAMETERS The server answers sending the data required to fill the buffer after a SERVER:DATA indication followed by bytes (if we continue with the previous example). This message is not delimited, because the size of the channel SERVER:DATA is known in advance (a priori), as well as the total size of bytes to be transferred, thanks to information conveyed in the previous message. ex: SERVER:DATA <FF><FF><FF><BF><FF> Note1: The data is directly encoded in octets, without the need to convert to decimal or hex. More precisely <FF> occupies ONE octet. In this part printf function is not used.instead the data is sent from the memory pool, in which the audio data is stored. Note2: the reason why TCP is used to send this data is because TCP offers a flow control service, that is nice for high speed communication between two systems that can be very heterogeneous. If UDP were used, depending on the sending rate and on the capacities of the receiver, packets could get lost. Once all the data has been received, the client answers with a CLIENT:WAITING_FOR_STREAMING (also without delimiters), after which the server can start sending audio data through UDP After this phase, the client will start playing the audio, and the server will start the periodic transmission of data using UDP. For now on, the control connection will only be used to send a 025 CLIENT:COMMUNICATION_END if the file transmission is already in progress, or 033 CLIENT:INTERRUPTION_COMMUNICATION or 034 SERVER:COMMUNICATION_END, if the file was completely read or if the end of the application was requested by pressing CTRL-C on each one of the systems (client or server). When the SERVER:COMMUNICATION_END occurs the client discards all the data which is still in the memory of the sound card while a new message COMMUNICATIONS_END at the client, sound playback stops. Regarding to the client architecture during the periodic play-out phase, it is required to isolate the network data reception from the soundcard data delivering, in order to be able to use asynchronously the data when the network suffer delays (otherwise, the blocking of the code waiting for a network packet would result in available data blocks not delivered to the soundcard). It is also required to isolate the control session that uses the TCP connection from the rest of the tasks taken care by the code (we will isolate it although considering the vague timing requirements information transmitted over TCP, this would not be strictly required, since the user would not notice delays if the control processing took care at the same time in which, for example, data were sent to the sound card. In order to make independent the tasks in the client, we recommend the use of a single execution thread controlled by select. In this model there is a single process that gets block waiting for the first of a set of events (specified in the call to select. The code just has to react to the events that can unblock the process (arrival of a data packet from the network, arrival of a SERVER:COMMUNICATION_END or SERVER:COMMUNICATION_END, expiration of the timer that signals the sending of more data to the sound card). An alternative design, not recommended due to its higher complexity, is to use several threads or processes. Note that it is not acceptable in any case to use active wait - a code that continuously loops checking in a non-blocking fashion the occurrence of an event-, since this design poses significant performance problems. The buffer that holds data that has been received from the network, but has not delivered yet to the soundcard is a ring buffer, in which information pointing to the first data block to be sent to the soundcard and to the first empty block is stored. Since the code will only have a single execution thread, it is not required to use semaphores to protect the access to the ring buffer.
3 In the server, the architecture for the periodical data sending will consist of a single process that will use select to send data to the destination and to wait to the possible reception of a CLIENT: COMMUNICATION_END message. The server must send the data in regular intervals so that the client is not required to accumulate data in memory. The server sends as many data as necessary to maintain the play-out of the content for the time between two successive data packets. This behavior is possible due to the knowledge that the server is supposed to have about the semantics of the content (i.e., that it is a continuous audio flow with a certain encoding, sampling rate, etc.) The server must send the data in regular intervals so that the client is not required to accumulate data in memory. The server sends as many data as necessary to maintain the play-out of the content for the time between two successive data packets. This behavior is possible due to the knowledge that the server is supposed to have about the semantics of the content (i.e., that it is a continuous audio flow with a certain encoding, sampling rate, etc.). For example, if the size of the audio payload carried in an UDP packet is 256 bytes, and it contains data corresponding to a 16 bit, stereo, 8000 Hz sampling frequency, therefore holding play-out for 16 milliseconds, then the server will send one of this packets each 16 milliseconds. In this case it is not required to perform flow control, since the sending speed is low enough (in the example considered above, 64 Kbps) so that it will not generate any problem in any of the architectures in which this program is going to be executed. In order to not accumulate possible delays in the sending of data through the network, the estimation of the time in which the server process should awake will consider the starting time of the regular sending, adding to this time the ideal play-out time for the packets that have been sent up to that time. Ie., if the time in which the regular sending begun (suppose that the client did not require accumulated data) is t 0, the play-out of a packet holds for T seconds, and packets number 0, 1, 2 and 3 have been sent, then packet number 4 should be sent at time t 4 = t 0 +4*T. The select function programmed to activate the process will be configured to sleep for t 4 currenttime seconds. Take into account that UDP packets can be lost (but assume that they cannot be re-ordered). To identify the lost packets, you must incorporate information about packet numbers into the packets. Even though you could use a proprietary format to do so, you are requested to utilize the RTP format for this purpose 1. You must implement correctly all the header parameters that are described in the standard, with the following considerations: For the RTP packet, use the L8, or L16 with one single channel at Hz payload types, defined in RTP profiles for audio and video (RFC3551), sections , y 6, that are linear codifications 2. Of course, the recording of the contents would have been performed according to the parameters corresponding to any of the Payload Types commented above. And for the timestamp, take into account the recommendations which exist in RFC3551: The timestamp of the RTP header of a packet is related to the first sample included in the packet, and the frequency used to mark the packets is the same as the one used for sampling. That means, that if a packet contains 128 samples and the packet has a timestamp of 3300, the following packet will have a timestamp of For the other packet header fields like SSRC, use the value 0. Take into account that in order to make your packets conformant to the RTP standard, you must respect the byte order convention for sending data over a network, which is network byte order or Most Significant Byte. This is in contrast to what we use in our Linux machines, so that you should use the functions htonl, htons and their inverses ntohl and ntohs appropriately. (Get information about them from the manual. Think about it: if the data are 8 bits, what function do you have to use to change the byte order of the data (hint: With 8 bits, is it really necessary to change the byte order?)). Moreover, you must transport the data itself using an appropriate byte order (so that they can be received by architectures with a different byte order and can be reconstructed in the correct way). Therefore, you must use conversion functions if data are recorded in a 16 bits format. In the client, during the play-out of the audio data, packets which arrive than the expected time of playout will be discarded. If the packet has arrived at proper time, it is written in the ring buffer. Next, the 1 Note that you are requested to use RTP, but not RTCP, whose implementation is more complex. 2 Since for L8 it is not defined neither the Payload Type number nor the sampling frequency, take the following values: Payload Type = 100; sampling frequency= 8000 Hz.
4 select call is used to try to write in the sound card all the packets available in the ring buffer, until the internal buffer of the soundcard is full, in which case the writing process will be blocked. In this case, select can awake to serve packet reception from the network, or the availability of new space in the sound card. When no audio data is available, the application sleeps until the theoretical time for play-out, time at which if there is still no audio data available, the last packet received will be repeated (note that if a packet would have arrived in the meantime, the code would have entered in a writing sequence in the select in the and timer would not have timed-out). In order to not accumulate delays, the estimation of the expiration time of the timer programmed to wait until the next time to play-out a missing packet will take into account the starting time of the play-out, adding to this the ideal play-out time of the packets that would have been received up to that time (see the previous explanation for the timing of the sending process at the server). After a client is served, the server will finish its execution (it is not required to attend multiple clients neither concurrently nor sequentially). Después de atender un cliente, el servidor finalizará su ejecución (no es necesario atender múltiples clientes ni simultanea ni sucesivamente). The command line interface of the program shall be as follows: audio record [-b(8 16)] [stereo] [-vvol] [-ddur] [-ffre] file audio play [-vvol] [-ddur] file audio server [ c] [ qloss] servertcpport audio client [-c] [-vvol] [-llen] [-kaccumulationtime] file servername servertcpport clientudpport With c (verbose mode), a trace is shown showing the main TCP exchanges, and in the periodic phase one point is printed each time a packet is sent (server) or a packet is written to the audio device (client). If a packet has not been received, the client will write an X. If a packet arrived later than expected and was discarded, the client will write an R. When the application finishes, it will be shown the theoretical time required for reproducing the content received, and also the time effectively used since the play-out of the first packet until the last one (or a good approximation of this time); the comparison among these times can be used to estimate the quality of an implementation. The option -l allows to specify the length in bytes of the audio data sent in the packets. The default value is The option d allows specifying the duration of the play-out in milliseconds. If it is not indicated or set to 0, the play-out shall continue until the end of the sent content. With k you can indicate the time in milliseconds that would take to play-out the data which the sender sends using the TCP connection to the receiver at the beginning of the play-out sessions. For this purpose, the client accumulates the data in a buffer, which it has allocated before, to be able to compensate variations in the network delay. This buffer should be larger enough to store 2000 milliseconds more than the buffering time specified in this command. By default, 3000 milliseconds will be the accumulated time. The option qloss, allows specifying a certain percentage of packets, which will not be sent by the server (they are discarded), so that a scenario with packet loss can be simulated. LOSS shall be a number between 0 and 20, and indicates, that LOSS packets of each 20 sent packets shall be dropped. The lost packets are the LOSS first of each sequence of 20 packets (this way, the result is perfectly repeatable). The default value is 0 and indicates that no packets are lost. If the verbose mode is activated, write an X for each dropped packet. The functionality of q allows to verify the behavior of your code in presence of packet loss (that it does not continue to play-out as defined etc). To verify that the RTP format has been generated correctly (taking into account the usage of byte-order converters etc.), implement the following modification in the client: if the indicated port in the parameter
5 clientdataport is 0, this shall lead to the fact that the UDP socket is not activated (even though the exchanged information with the server indicates that the utilized port should be 5004, the default port for UDP). If the UDP port is not open by audio, other application (in this case rtpdump could do) Once you have done this, you could verify the code in the following way: Start the server in the normal way Start the program rtpdump (see rtpdump h) on the client machine, indicating that it shall listen to port Start your client code also on the client machine with clientdataport 0. The client will be started, and will exchange messages with the server. However, it will not play-out any audio data, because the code, which is really listening to the data on the indicated port, is rtpdump. As a result, you will see the received packets in each moment and if the used format is conformant to the RTP specification (sequence numbers must increase by one, and timestamp increases must be appropriate). As a help for debugging the code, we remind you to observe the ports (UDP and TCP), which you use in the following way: Execute netstat atu > file1 before you start the program and netstat atu > file2 afterwards. Execute diff file1 file2 and obtain one or several ports which are used by your program. strace can also show you valuable information about the utilized ports. Notes To be able to compile the functions log and pow from the library configsound.c, take into account the following: For the compilation, the line #include <math.h> has been included, which enables the compiler to know the header declarations. But this is not sufficient: it is necessary to know at the time of linking where this function is located. The linker searches in a certain number of libraries, but not in all. One of the libraries in which it does not search for function names by default, is the mathematical library (libm). To make the linker search in that library as well, you must indicate AT THE END of the linking command, that the linker shall look into the libm library after the functions log and pow. This can be achieved with the option -lm. Similarly, you have to add the option -lsocket if you want to make the linker look for function names in the socket library, etc. Improvements As improvement, it is proposed to make a new version (called audio6) which allows communicating using IPv6. Therefore, you must modify the module in which the connections are realized and adapt the data types, which are used in your code, to store the information related to IP addresses. A more advanced improvement could be that the code can work with both, IPv4 and IPv6. Appendix You can find the code to process the command-line arguments on the web page of the lecture.
Transport protocols Introduction
Transport protocols 12.1 Introduction All protocol suites have one or more transport protocols to mask the corresponding application protocols from the service provided by the different types of network
More informationRTP: A Transport Protocol for Real-Time Applications
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive audio and video. Those services include payload type
More informationRTP/RTCP protocols. Introduction: What are RTP and RTCP?
RTP/RTCP protocols Introduction: What are RTP and RTCP? The spread of computers, added to the availability of cheap audio/video computer hardware, and the availability of higher connection speeds have
More informationReal-Time Protocol (RTP)
Real-Time Protocol (RTP) Provides standard packet format for real-time application Typically runs over UDP Specifies header fields below Payload Type: 7 bits, providing 128 possible different types of
More informationDigital Asset Management 5. Streaming multimedia
Digital Asset Management 5. Streaming multimedia 2015-10-29 Keys of Streaming Media Algorithms (**) Standards (*****) Complete End-to-End systems (***) Research Frontiers(*) Streaming... Progressive streaming
More informationRTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889
RTP Real-Time Transport Protocol RFC 1889 1 What is RTP? Primary objective: stream continuous media over a best-effort packet-switched network in an interoperable way. Protocol requirements: Payload Type
More informationCS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:
CS 218 F 2003 Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness References: J. Padhye, V.Firoiu, D. Towsley, J. Kurose Modeling TCP Throughput: a Simple Model
More informationCS519: Computer Networks. Lecture 9: May 03, 2004 Media over Internet
: Computer Networks Lecture 9: May 03, 2004 Media over Internet Media over the Internet Media = Voice and Video Key characteristic of media: Realtime Which we ve chosen to define in terms of playback,
More informationInternet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007
Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007 Multimedia Streaming UDP preferred for streaming System Overview Protocol stack Protocols RTP + RTCP SDP RTSP SIP
More information4 rd class Department of Network College of IT- University of Babylon
1. INTRODUCTION We can divide audio and video services into three broad categories: streaming stored audio/video, streaming live audio/video, and interactive audio/video. Streaming means a user can listen
More informationSocket Programming Assignment 6: Video Streaming with RTSP and RTP
Socket Programming Assignment 6: Video Streaming with RTSP and RTP In this lab you will implement a streaming video server and client that communicate using the Real-Time Streaming Protocol (RTSP) and
More informationCSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP
CSCD 433/533 Advanced Networks Fall 2012 Lecture 14 RTSP and Transport Protocols/ RTP 1 Topics Multimedia Player RTSP Review RTP Real Time Protocol Requirements for RTP RTP Details Applications that use
More informationBusiness Data Networks and Security 10th Edition by Panko Test Bank
Business Data Networks and Security 10th Edition by Panko Test Bank Chapter 2 Network Standards 1) Internet standards are published as. A) RFCs B) IETFs C) TCP/IPs D) Internet Protocols Question: 1a Objective:
More informationTransporting Voice by Using IP
Transporting Voice by Using IP Voice over UDP, not TCP Speech Small packets, 10 40 ms Occasional packet loss is not a catastrophe Delay-sensitive TCP: connection set-up, ack, retransmit delays 5 % packet
More informationCS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007
CS640: Introduction to Computer Networks Aditya Akella Lecture 21 - Multimedia Networking Application Classes Typically sensitive to delay, but can tolerate packet loss (would cause minor glitches that
More informationProvide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications
Contents: Real-time Transport Protocol (RTP) Purpose Protocol Stack RTP Header Real-time Transport Control Protocol (RTCP) Voice over IP (VoIP) Motivation H.323 SIP VoIP Performance Tests Build-out Delay
More informationThe difference between TTC JT-Y1221 and ITU-T Y.1221
The difference between TTC JT-Y1221 and ITU-T Y.1221 Traffic control and congestion control in IP based networks (The English Edition) Version 1.0 Published on March 27, 2013 THE TELECOMMUNICATION TECHNOLOGY
More informationInternet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006
Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006 Multimedia Streaming UDP preferred for streaming System Overview Protocol stack Protocols RTP + RTCP SDP RTSP SIP
More informationNew York University Computer Science Department Courant Institute of Mathematical Sciences
New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communications & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:
More informationModule 10 MULTIMEDIA SYNCHRONIZATION
Module 10 MULTIMEDIA SYNCHRONIZATION Lesson 36 Packet architectures and audio-video interleaving Instructional objectives At the end of this lesson, the students should be able to: 1. Show the packet architecture
More informationPreview Test: HW3. Test Information Description Due:Nov. 3
Preview Test: HW3 Test Information Description Due:Nov. 3 Instructions Multiple Attempts Not allowed. This test can only be taken once. Force Completion This test can be saved and resumed later. Question
More informationEEC-682/782 Computer Networks I
EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at
More informationNetwork Working Group. Microsoft L. Vicisano Cisco L. Rizzo Univ. Pisa M. Handley ICIR J. Crowcroft Cambridge Univ. December 2002
Network Working Group Request for Comments: 3451 Category: Experimental M. Luby Digital Fountain J. Gemmell Microsoft L. Vicisano Cisco L. Rizzo Univ. Pisa M. Handley ICIR J. Crowcroft Cambridge Univ.
More informationA common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert
A common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert data into a proper analog signal for playback. The variations
More informationMultimedia Networking
CMPT765/408 08-1 Multimedia Networking 1 Overview Multimedia Networking The note is mainly based on Chapter 7, Computer Networking, A Top-Down Approach Featuring the Internet (4th edition), by J.F. Kurose
More informationRTP Protocol Transport of H.264 Video and MPEG I/II Layer 3 Audio
RTP Protocol Transport of H.264 Video and MPEG I/II Layer 3 Audio Application Note: AN104 May 4, 2018 Cimarron Systems, LLC Copyright 2018 all rights reserved. Table of Contents Using the RTP Protocol
More informationUser Datagram Protocol
Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram
More informationETSF10 Internet Protocols Transport Layer Protocols
ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.2 Kaan Bür, Jens Andersson Transport Layer Protocols Special Topic: Quality of Service (QoS) [ed.4 ch.24.1+5-6] [ed.5 ch.30.1-2]
More informationHP 5120 SI Switch Series
HP 5120 SI Switch Series Network Management and Monitoring Configuration Guide Part number: 5998-1813 Software version: Release 1505 Document version: 6W102-20121111 Legal and notice information Copyright
More informationLecture 14: Multimedia Communications
Lecture 14: Multimedia Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 14-1 Multimedia Characteristics Bandwidth Media has natural bitrate, not very flexible. Packet
More informationSocket Programming for TCP and UDP
CSCI4430 Data Communication and Computer Networks Socket Programming for TCP and UDP ZHANG, Mi Jan. 19, 2017 Outline Socket Programming for TCP Introduction What is TCP What is socket TCP socket programming
More informationOutline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices
Outline QoS routing in ad-hoc networks QoS in ad-hoc networks Classifiction of QoS approaches Instantiation in IEEE 802.11 The MAC protocol (recap) DCF, PCF and QoS support IEEE 802.11e: EDCF, HCF Streaming
More informationCSE 123: Computer Networks
Student Name: PID: UCSD email: CSE 123: Computer Networks Homework 1 Solution (Due 10/12 in class) Total Points: 30 Instructions: Turn in a physical copy at the beginning of the class on 10/10. Problems:
More informationInternet Streaming Media
Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2008 Multimedia Streaming preferred for streaming System Overview Protocol stack Protocols + SDP S Encoder Side Issues
More informationMultimedia in the Internet
Protocols for multimedia in the Internet Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ > 4 4 3 < 2 Applications and protocol stack DNS Telnet
More informationUDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data
ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission
More informationNetwork Operations Subcommittee AMERICAN NATIONAL STANDARD ANSI/SCTE
Network Operations Subcommittee AMERICAN NATIONAL STANDARD ANSI/SCTE 131 2017 HMS VoIP Test Management Information Base (MIB) Definition SCTE-HMS-VOIP-MIB NOTICE The Society of Cable Telecommunications
More informationKey Points for the Review
Key Points for the Review Network Basics What is internet and Internet? Does WWW equal to Internet? How do machines communicate with one another on the Internet? What are the major components of Internet?
More informationCOMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class
Computer Network Homework#2 COMPUTER NETWORK Homework #2 Due Date: April 12, 2017 in class Question 1 Suppose a process in Host C has a UDP socket with port number 6789. Suppose both Host A and Host B
More informationAudio/Video Transport Working Group. Document: draft-miyazaki-avt-rtp-selret-01.txt. RTP Payload Format to Enable Multiple Selective Retransmissions
Audio/Video Transport Working Group Internet Draft Document: draft-miyazaki-avt-rtp-selret-01.txt July 14, 2000 Expires: January 14, 2001 Akihiro Miyazaki Hideaki Fukushima Thomas Wiebke Rolf Hakenberg
More informationMultimedia networking: outline
Multimedia networking: outline 7.1 multimedia networking applications 7.2 streaming stored video 7.3 voice-over-ip 7.4 protocols for real-time conversational applications: RTP, SIP 7.5 network support
More informationStreaming (Multi)media
Streaming (Multi)media Overview POTS, IN SIP, H.323 Circuit Switched Networks Packet Switched Networks 1 POTS, IN SIP, H.323 Circuit Switched Networks Packet Switched Networks Circuit Switching Connection-oriented
More informationCSCI-GA Operating Systems. Networking. Hubertus Franke
CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute
More informationProtocol Data Hiding. By Chet Hosmer Article Posted: March 06, 2012
Protocol Data Hiding By Chet Hosmer Article Posted: March 06, 2012 On Cinco de Mayo in 1997, which happened to be the first Monday in May that year, the Hacker Publication First Monday included an article
More informationELEC/TELE/PHTN Networked Communications Design Topic. Networked Communications Elective Topic, S Context and Objectives
ELEC/TELE/PHTN 4123 Networked Communications Elective Topic, S1 2017 created by Prof. D. Taubman updated 21 May 2018 Networked Communications Design Topic Context and Objectives The objective of this design
More informationCS419: Computer Networks. Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581)
: Computer Networks Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581) TCP as seen from above the socket The TCP socket interface consists of: Commands to start
More informationRequest for Comments: 4425 Category: Standards Track February 2006
Network Working Group A. Klemets Request for Comments: 4425 Microsoft Category: Standards Track February 2006 Status of This Memo RTP Payload Format for Video Codec 1 (VC-1) This document specifies an
More informationTransport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.
Transport Protocols! Type A: ISO Defined Types of Network Service: Network connection with acceptable residual error rate and acceptable rate of signaled failures. - Reliable, sequencing network service
More informationOverview. Exercise 0: Implementing a Client. Setup and Preparation
Overview This Lab assignment is similar to the previous one, in that you will be implementing a simple client server protocol. There are several differences, however. This time you will use the SOCK_DGRAM
More informationHigher layer protocols
ETSF05/ETSF10 Internet Protocols Higher layer protocols DHCP DNS Real time applications RTP The hen or the egg? DHCP IP addr. IP DNS TCP UDP ETSF05/ETSF10 - Internet Protocols 2 What to configure IP address
More informationTransport Protocols. CSCI 363 Computer Networks Department of Computer Science
Transport Protocols CSCI 363 Computer Networks Department of Computer Science Expected Properties Guaranteed message delivery Message order preservation No duplication of messages Support for arbitrarily
More informationChapter 7. The Transport Layer
Chapter 7 The Transport Layer 1 2 3 4 5 6 7 8 9 10 11 Addressing TSAPs, NSAPs and transport connections. 12 For rarely used processes, the initial connection protocol is used. A special process server,
More informationRTP Profile for TCP Friendly Rate Control draft-ietf-avt-tfrc-profile-03.txt
RTP Profile for TCP Friendly Rate Control draft-ietf-avt-tfrc-profile-03.txt Ladan Gharai (ladan@isi.edu).usc Information Sciences Institute November 11, 2004 61 IETF Washington DC Overview The RTP Profile
More informationCS164 Final Exam Winter 2013
CS164 Final Exam Winter 2013 Name: Last 4 digits of Student ID: Problem 1. State whether each of the following statements is true or false. (Two points for each correct answer, 1 point for each incorrect
More informationANALYSIS OF THE CORRELATION BETWEEN PACKET LOSS AND NETWORK DELAY AND THEIR IMPACT IN THE PERFORMANCE OF SURGICAL TRAINING APPLICATIONS
ANALYSIS OF THE CORRELATION BETWEEN PACKET LOSS AND NETWORK DELAY AND THEIR IMPACT IN THE PERFORMANCE OF SURGICAL TRAINING APPLICATIONS JUAN CARLOS ARAGON SUMMIT STANFORD UNIVERSITY TABLE OF CONTENTS 1.
More informationIntroduction to TCP/IP networking
Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set
More information(Refer Slide Time: 1:09)
Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecturer # 30 UDP and Client Server Good day, today we will start our discussion
More informationCisco Call Management Record Field
Cisco Call Management Record Field s This chapter describes the field descriptions of the Call Management Records (CMRs). CMR Field s, page 1 CMR Field s The following table contains the fields, range
More informationEEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao
EEC-484/584 Computer Networks Lecture 16 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review Services provided by transport layer
More informationInternet Streaming Media
Multimedia Streaming Internet Streaming Media Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006 preferred for streaming System Overview Protocol stack Protocols + SDP SIP Encoder Side Issues
More informationNWEN 243. Networked Applications. Layer 4 TCP and UDP
NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols
More informationMohammad Hossein Manshaei 1393
Mohammad Hossein Manshaei manshaei@gmail.com 1393 Voice and Video over IP Slides derived from those available on the Web site of the book Computer Networking, by Kurose and Ross, PEARSON 2 Multimedia networking:
More information6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1
6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The
More informationVideo Quality Monitoring
CHAPTER 1 irst Published: July 30, 2013, Information About The (VQM) module monitors the quality of the video calls delivered over a network. The VQM solution offered in the Cisco Integrated Services Routers
More informationTechnical White Paper for Huawei's Videoconferencing Network Diagnostics Tool (NLog)
Technical White Paper for Huawei's Videoconferencing Network Diagnostics Tool (NLog) Huawei Technologies Co., Ltd. All rights reserved. Contents 1 Videoconferencing Network Conditions... 3 2 Overall Description...
More informationCMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018
CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP
More informationOn the Scalability of RTCP Based Network Tomography for IPTV Services. Ali C. Begen Colin Perkins Joerg Ott
On the Scalability of RTCP Based Network Tomography for IPTV Services Ali C. Begen Colin Perkins Joerg Ott Content Distribution over IP Receivers Content Distributor Network A Transit Provider A Transit
More informationMIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E
MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Intersession 2008 Last Name: First Name: Student ID: PLEASE
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2014 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Project #1 Starts in one week Is your Linux environment all ready? Bring your laptop Work time after quick
More informationHP 830 Series PoE+ Unified Wired-WLAN Switch Switching Engine
HP 830 Series PoE+ Unified Wired-WLAN Switch Switching Engine Network Management and Monitoring Configuration Guide Part number: 5998-3936 Software version: 3308P26 Document version: 6W101-20130628 Legal
More information4. The transport layer
4.1 The port number One of the most important information contained in the header of a segment are the destination and the source port numbers. The port numbers are necessary to identify the application
More informationKommunikationssysteme [KS]
Kommunikationssysteme [KS] Dr.-Ing. Falko Dressler Computer Networks and Communication Systems Department of Computer Sciences University of Erlangen-Nürnberg http://www7.informatik.uni-erlangen.de/~dressler/
More informationPLEASE READ CAREFULLY BEFORE YOU START
MIDTERM EXAMINATION #2 NETWORKING CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R - S c h o o l o f C o m p u t e r S c i e n c e Fall 2011 Question Paper NOTE: Students may take this question
More informationMultimedia Networking
Multimedia Networking 1 Multimedia, Quality of Service (QoS): What is it? Multimedia applications: Network audio and video ( continuous media ) QoS Network provides application with level of performance
More informationExternal Data Representation (XDR)
External Data Representation (XDR) Prof. Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Taipei, TAIWAN NTUT, TAIWAN 1 Introduction This chapter examines
More informationRef: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on
IP Version 4 (IPv4) Header (Continued) Identification (16 bits): One of the parameters of any network is the maximum transmission unit (MTU) parameter. This parameter specifies the maximum size of the
More informationIntroduction to Protocols
Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These
More informationChapter 5 VoIP. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March Multmedia Networking
Chapter 5 VoIP Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Multmedia Networking audio signal amplitude Multimedia: audio analog audio signal sampled
More informationMultimedia Networking
Multimedia Networking #2 Multimedia Networking Semester Ganjil 2012 PTIIK Universitas Brawijaya #2 Multimedia Applications 1 Schedule of Class Meeting 1. Introduction 2. Applications of MN 3. Requirements
More informationCongestion Feedback in RTCP
Congestion Feedback in RTCP Colin Perkins Presentation given to IETF RMCAT working group on 19 July 2017 This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License.
More informationECE4110 Internetwork Programming. Introduction and Overview
ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?
More informationTCP/IP stack is the family of protocols that rule the current internet. While other protocols are also used in computer networks, TCP/IP is by far
TCP/IP stack is the family of protocols that rule the current internet. While other protocols are also used in computer networks, TCP/IP is by far the most common of them. TCP/IP can be compared to the
More informationNetworking Technologies and Applications
Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used
More informationPeer to Peer Instant Messaging
Peer to Peer Instant Messaging Assignment in Data communication I, Department of Information Technology, Uppsala University. Overview In this programming exercise you will implement a peer to peer instant
More informationChapter 3. The Data Link Layer. Wesam A. Hatamleh
Chapter 3 The Data Link Layer The Data Link Layer Data Link Layer Design Issues Error Detection and Correction Elementary Data Link Protocols Sliding Window Protocols Example Data Link Protocols The Data
More informationLecture 8: February 19
CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and
More informationDISTRIBUTED NETWORK COMMUNICATION FOR AN OLFACTORY ROBOT ABSTRACT
DISTRIBUTED NETWORK COMMUNICATION FOR AN OLFACTORY ROBOT NSF Summer Undergraduate Fellowship in Sensor Technologies Jiong Shen (EECS) - University of California, Berkeley Advisor: Professor Dan Lee ABSTRACT
More informationRequest for Comments: 4571 Category: Standards Track July 2006
Network Working Group J. Lazzaro Request for Comments: 4571 UC Berkeley Category: Standards Track July 2006 Status of This Memo Framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP)
More informationMultimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!
Part 3: Lecture 3 Content and multimedia Internet traffic Multimedia How can multimedia be transmitted? Interactive/real-time Streaming 1 Voice over IP Interactive multimedia Voice and multimedia sessions
More informationPart 3: Lecture 3! Content and multimedia!
Part 3: Lecture 3! Content and multimedia! Internet traffic! Multimedia! How can multimedia be transmitted?! Interactive/real-time! Streaming! Interactive multimedia! Voice over IP! Voice and multimedia
More informationTransport Protocol (IEX-TP)
Transport Protocol (IEX-TP) Please contact IEX Market Operations at 646.568.2330 or marketops@iextrading.com, or your IEX onboarding contact with any questions. Version: 1.1 Updated: December 22, 2014
More informationAssignment 1: tcpbridge
Assignment 1: tcpbridge 1 The assignment is to create a program that forwards the data from the bridge port (a) to other host's port (b). The target host's address details and port numbers to be used are
More informationQoE Characterization for Video-On-Demand Services in 4G WiMAX Networks
QoE Characterization for Video-On-Demand Services in 4G WiMAX Networks Amitabha Ghosh IBM India Research Laboratory Department of Electrical Engineering University of Southern California, Los Angeles http://anrg.usc.edu/~amitabhg
More informationInternet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06
More informationMULTIMEDIA I CSC 249 APRIL 26, Multimedia Classes of Applications Services Evolution of protocols
MULTIMEDIA I CSC 249 APRIL 26, 2018 Multimedia Classes of Applications Services Evolution of protocols Streaming from web server Content distribution networks VoIP Real time streaming protocol 1 video
More informationReal-Time Control Protocol (RTCP)
Real-Time Control Protocol (RTCP) works in conjunction with RTP each participant in RTP session periodically sends RTCP control packets to all other participants each RTCP packet contains sender and/or
More informationChapter 9. Multimedia Networking. Computer Networking: A Top Down Approach
Chapter 9 Multimedia Networking A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationTCP/IP protocol suite
TCP/IP protocol suite The TCP/IP protocol suite was developed prior to the OSI model. Therefore, the layers in the TCP/IP protocol suite do not match exactly with those in the OSI model. The original TCP/IP
More informationMedical Sensor Application Framework Based on IMS/SIP Platform
Medical Sensor Application Framework Based on IMS/SIP Platform I. Markota, I. Ćubić Research & Development Centre, Ericsson Nikola Tesla d.d. Poljička cesta 39, 21000 Split, Croatia Phone: +38521 305 656,
More informationCisco Call Management Records Field Descriptions
CHAPTER 8 Cisco Call Management Records Field Descriptions This chapter describes the field descriptions of the Call Management Records (CMRs). The chapter contains the following information:, page 8-143
More information