Generalize the basic approaches we used for making the


Part -1:

1 Generalize the basic approaches we used for making the best out of best effort service for real-time interactive multimedia applications.

2 Why RTSP is called an out of band control protocol? Find out another protocol that also uses out of band control and compare them.

3 Assume an Internet phone application generates packets only during talk spurts. During a talk spurt the sender generates bytes at a rate of 1,000 bytes per second, and every 40 msecs the sender gathers bytes into chunks. Assume that RTP is used that will add a header to each chunk. In addition UDP and IP will be used. Suppose all headers (including RTP, UDP and IP) have a total length of h and an IP datagram is emitted every 50 msecs. Find the transmission rate in bits per second for the datagram generated by one side of the application.

4 Consider the procedure described in "Adaptive Playout Delay" for estimating average delay di. Let r1 - t1 be the most recent sample delay, let r2 - t2 be the next most recent sample delay, and so on. For a given audio application, suppose three packets have arrived at the receiver with sample delays r3 - t3 , r2 - t2 , and r1 - t1 . Express the estimate of delay d in terms of u and the three samples.

5 This chapter describes several FEC schemes. Briefly summarize them . Both schemes increase the transmission rate of the stream by adding overhead. Does interleaving also increase the transmission rate?

6 Compare the procedure described in "Adaptive Playout Delay" for estimating average delay with the procedure in Chapter 3 ("Estimating the Round-Trip Time") for estimating round-trip time. What do the procedures have in common? How are they different?

7 Is it possible for a CDN to provide worse performance to a host requesting a multimedia object than if the host has requested the object directly from the distant origin server? Please explain.

8 Compare and contrast RTSP and HTTP used for multimedia applications.

9 Summarize how the token buckets and WFQs can be used together to provide policing mechanisms.

Part - 2

1 What is the most important difference between a symmetric key system and a public key system?

2 In what way does a hash function provide a better message integrity check than a checksum (such as Internet Checksum)?

3 Can you "decrypt" a hash of a message to get the original message? Explain.

4 Suppose that Bob receives a PGP message from Alice. How does Bob know for sure that Alice created the message?

5 Consider WEP for 802.11. Suppose that the data is 01010101 and the keystream is 11110001. What is the resulting ciphertext?

6. Using the monoalphabetic cipher in the textbook, encode the message "Computer is fun."

Decode the message "rmij'u uamu xyj."

7 Consider the RSA algorithm with p=5 and q=11.

a. What are n and z?
b. Let e be 3. Why is this an acceptable choice for e?
c. Find d such that de=1 (mod z) and d<160.

Part -3

1 What are the five areas of network management defined by the ISO?

2 Define the following terms; managing entity, managed device, management agent, MIB, network management protocol.

3 What is SNMP and what are its major parts?

4 In this chapter we saw that it was preferable to transport SNMP messages in unreliable UDP datagrams. Why do you think the designers of SNMP chose UDP rather than TCP as the transport protocol of choice for SNMP?

Practical assignment

This assignment consists of programming a Pinger client. Please submit the following items in a ZIP file.

1) Java or Python source code;
2) Instructions on how to install and run your program;
3) A brief design document explaining your solution.

Option 1: UDP Pinger Lab Using Java

In this assignment, you will study a simple Internet ping server written in the Java language, and implement a corresponding client. The functionality provided by these programs is similar to the standard ping programs available in modern operating systems, except that they use UDP rather than Internet Control Message Protocol (ICMP) to communicate with each other. (Java does not provide a straightforward means to interact with ICMP.)

The ping protocol allows a client machine to send a packet of data to a remote machine, and have the remote machine return the data back to the client unchanged (an action referred to as echoing). Among other uses, the ping protocol allows hosts to determine round-trip times to other machines.

You should write the client so that it sends 10 ping requests to the server, separated by approximately one second. Each message contains a payload of data that includes the keyword PING, a sequence number, and a timestamp. After sending each packet, the client waits up to one second to receive a reply. If one second goes by without a reply from the server, then the client assumes that its packet or the server's reply packet has been lost in the network.

Hint: Cut and paste PingServer, rename the code PingClient, and then modify the code.

You should write the client so that it starts with the following command:

java PingClient host port

where host is the name of the computer the server is running on and port is the port number it is listening to. Note that you can run the client and server either on different machines or on the same machine.

The client should send 10 pings to the server. Because UDP is an unreliable protocol, some of the packets sent to the server may be lost, or some of the packets sent from server to client may be lost. For this reason, the client can not wait indefinitely for a reply to a ping message. You should have the client wait up to one second for a reply; if no reply is received, then the client should assume that the packet was lost during transmission across the network. You will need to research the API for DatagramSocket to find out how to set the timeout value on a datagram socket.

When developing your code, you should run the ping server on your machine, and test your client by sending packets to localhost (or, 127.0.0.1). After you have fully debugged your code, you should see how your application communicates across the network with a ping server run by another member of the class.

Message Format

The ping messages in this lab are formatted in a simple way. Each message contains a sequence of characters terminated by a carriage return character (r) and a line feed character (n). The message contains the following string:

PING sequence_number time CRLF

where sequence_number starts at 0 and progresses to 9 for each successive ping message sent by the client, time is the time when the client sent the message, and CRLF represent the carriage return and line feed characters that terminate the line.

Option 2: UDP Pinger Lab Using Python

You can implement your ping client using Python. You should write a simple Python program that follow a step-by-step process to establish a UDP connection with a server through sockets, and send out ping requests. The other requirements are very similar to those by choosing Java. One interesting point to mention is that, that you can use one programming to write your server program, and use a different language to write your client program.

Request for Solution File

Ask an Expert for Answer!!
Computer Networking: Generalize the basic approaches we used for making the
Reference No:- TGS0794907

Expected delivery within 24 Hours