Homework 4 (Solutions)

Due Friday, November 18 by 11:59PM EST

Meta-note

  • You are welcome (and encouraged!) to collaborate with your peers, though the answers you write down must be your own
  • When you are done, please upload a PDF of your work to Gradescope under the assignment labeled "Homework 4". If you have issues accessing Gradescope, please contact the course staff

Since you're already working on TCP, this homework intended to be relatively short. Problem 1 is specifically designed to give you some practice with sending/ACKing TCP segments–we HIGHLY recommend doing this problem soon, ie. WHILE you are working on this part of your TCP project, we promise it will help!

Problem 1: Sending data with TCP

Suppose A and B create a TCP connection with initial sequence numbers 20000 and 5000, respectively, and an initial window of 8000 bytes. The table below depicts the flow of the connection, which has 3 main events:

  1. A sends three 100-byte segments (which we will name DataA1, DataA2, and DataA3, respectively) and B sends ACKs for each
  2. Between segments DataA2 and DataA3, B calls conn.Read() on the socket associated with the connection, which returns 200 bytes
  3. B sends a 100-byte segment (DataB1) to A and begins the connection termination process by sending a FIN

In the table below, fill in the SEQ, ACK, and WIN fields for each packet shown, given the listed initial sequence numbers and window sizes.

See this link for a solution. Nick is going to go back to using latex for homeworks and doesn't want to bother porting this table into HackMD.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Problem 2: The state of Internet access today

We have spent a lot of time in this course assuming that the network infrastructure to support the systems and protocols we're learning about actually exists and–for the most part–works. To solve a problem at one layer, we assume that we have some infrastructure from the layer below. However, this is not always true in practice: at the most fundamental level, someone needs to build the physical infrastructure, and not everyone can access it.

The International Telecommunications Union (ITU) is a UN agency that develops standards for communication networks and works to facilitate connectivity around the world. The ITU publishes a Global Connectivity Report about the state of Internet access globally. In this problem, we'll examine some findings from this report to explore differences in Internet access and usage across regions, and consider some of the barriers to connectivity today.

Part A: Comparing speeds

Open up the ITU Global Connectivity Report and take a look at Figure 2.22. (You can find it in the PDF's table of contents.)

i) Which region of the world has the highest median download and upload speeds across both figures, and what are they (in Mbps)? Your answer should include two numbers with units.

Europe; Upload: 86 Mbps; Download: 43 Mpbs

ii) On HW2, you measured upload and download speeds from your own devices, mainly from the Brown campus network. Across all of your measurements, the median reported download and upload speeds were 139.5 Mbps and 93.8 Mbps, respectively. In a sentence, how does this compare to the numbers you found in part (i)?

The median download and upload speeds for Homework 2 are higher (approx 2x, though they don't need to specify this to receive full credit) than the median download and upload speeds of Europe

Part B: Growth

i) Now take a look at Figure 2.2. What is the percentage and number of people that the ITU estimates as using the Internet in 2021? Report your answer as two numbers.

63%; 4.901 billion people

ii) Start reading Section 2.3. What is number of people that the ITU estimates as not using the Internet in 2021?

2.9 billion people

Part C: Today

i) Take a look at Figure 2.16. What percentage of the world population does the ITU estimate as being covered at least a 3G network in 2021?

95%

ii) Take a look at Figure 2.18. On a global scale, what does the ITU estimate to be the difference between the percentage of people covered by an Internet network and the percentage who actually use the Internet (the number you found in Part B)? What name does the ITU report name this difference?

32%; Usage gap

iii) Skim over Sections 2.4 and 2.5–you don't need to read it all, just look over the headers and figures to get a sense of the major points. What are some of the barriers identified by the ITU that prevent people from using the Internet today? You can express your answer in 1-2 sentences, or a couple of bullet points.

  • Access elsewhere
  • High cost (equipment)
  • High cost (service)
  • Cultural
  • No need
  • No household need
  • Privacy/security
  • Service not available