Reference no: EM132411315
Assignment - Transport Layer
Review questions -
1. What are the functions of the transport layer?
2. Why are two protocols, TCP and UDP, defined at the transport layer instead of just TCP?
3. What is segmentation?
4. Why is segmentation useful?
5. What is reliability in the context of the transport layer?
6. What are the important potential problems with reliability that are handled by the transport layer?
7. How does TCP provide reliability?
8. What is flow control?
9. Why is it more useful to allow the receiver to control flow speed, rather than the sender?
10. How is flow control implemented?
11. What is sliding window in the context of flow control? Describe its operation.
12. What is multiplexing in the context of the transport layer?
13. How is the multiplexing at the transport layer different from the multiplexing at the physical layer?
14. What is a socket?
15. What is a port?
16. Why is it necessary to define port numbers at the receiving end for network services (such as web, email, etc.)?
17. From the /etc/services file on your computer, list any five standard ports not listed in the text.
18. If you were developing an application that provided services over the network, could you have your application listen to client requests on port 80 (the port for web servers)? If yes, do you think it would be a good idea? Why, or why not?
19. What is connection establishment in TCP? Why is it necessary?
20. Describe the three-way handshake used in TCP.
21. What is the largest possible TCP port number?
22. Why is the initial sequence number for a connection chosen at random?
23. A receiver sends an acknowledgment packet with the number 2817 in the acknowledgment number field. What inference can the sender draw from this packet?
24. What is the function of the window-size field in TCP?
25. What are some application scenarios where UDP may be more useful than TCP? Why?
Hands-on exercise -
1. Show the output of netstat on your computer.
2. netstat (on Windows) has an option, -b, that shows the applications on the computer that open each port. Using the -b option requires that netstat be run with administrator privileges. You can do this by right-clicking the Command Prompt icon and selecting "Run as Administrator"). What applications have opened each open port on your computer?
3. Visit your university or college website. Then run netstat again. Show the output.
4. How many new ports were opened by the browser to gather all the information on the page?
5. How does opening multiple ports simultaneously speed up the display of the web page on your browser?
6. Display the output from netstat -s. The output can be lengthy. A simple and elegant way to capture it is to save it to a text file, then copy and paste the file contents into your assignment. The "greater than" sign, ">" is the redirect operator in almost every major operating system and can be used to send the output of a command to any location, including networked locations. Try netstat -s > netstat_output.txt. Now open the netstat_output.txt file to view the results of executing the command.
Critical thinking exercise -
1. Looking ahead at your life and career, what should you be spending most of your time on these days?
2. What flow control mechanisms/ tools (e.g. calendars, lists etc) do you use to direct your time to its most productive uses you identified in q1?
3. To what extent do distractions (e.g. TV and social media) foil your flow control measures to manage your time (you may use metrics such as how many unscheduled hours or how many incomplete tasks etc you lose each day due to these distractions)?
4. Why are these distractions so attractive to you?
5. Based on your responses above, how can you improve your flow control mechanisms to improve how you use your time to maximize personal productivity?
IT infrastructure design exercise -
1. What is the average data rate in bits per second required to support the database queries with no unnecessary delays? To do this, you would like to have enough capacity so that all agents can run queries simultaneously. Remember that 1 byte = 8 bits and carriers report data rates in bits per second because this gives a larger number, which is useful for marketing purposes (10 mega-bits-per-second is more marketable than 1.25 mega-bytes-per-second)
2. What is the data rate required to support the voice traffic?
3. Adding both the above, what is the total data rate required on the Amsterdam-Mumbai link? What fraction of this traffic is data, and what fraction is voice?
Example case questions -
1. Watch your personal expenses for a week. What fraction of your total expenses is in the form of cash? What fraction is in the form of network data exchange (credit and debit cards, online payments)? For privacy reasons, please do not report actual amounts, just report fractions.
2. Do a similar exercise for your net worth. What fraction of your net worth is in the form of cash or cash equivalents (checking and savings accounts)? What fraction is in the form of networked data (retirement assets, brokerage account assets)? Again, please only report fractions. Hint: you may find websites such as mint (www.mint.com) helpful in gathering this information from multiple financial institutions in which you have accounts.
3. What is the sequence of actions in settling a trade in securities markets? How many of these actions are completed over computer networks? How many by manual transfer? Hint: Look at the broker-to-broker trade in the DTCC publication, "following a trade."
For the following questions, please use online sources to gather the required information. Answer each question in not more than 4 - 5 sentences each.
4. What is the Nagle algorithm? Why is it useful in TCP? Why might it be a good idea to disable the use of the algorithm when TCP is used in the financial services industry?
5. Specialist firms have emerged to help organizations, especially financial organizations, reduce latency. Write a brief report on the services offered by any one such firm.
6. What is an Internet socket? What is socket-oriented programming or network programming? Why do you think financial services firms are interested in experts in computer network programming?