Monday, September 11, 2017

Who Wants to be the DNS Server?

We’re studying how the Internet works in my AP CS Principles course. I wanted a little exercise to help students understand how DNS servers work and maybe through in a bit about address caching.  So I came up with a little role play to try out. I think it worked ok. I’ll try it again tomorrow with some more instructions.

Here’s what I did. I started by taking screen shots of a half dozen or so web sites. The usual suspects: Google, Apple, Microsoft, Twitter, CNN, MSNBC, and the school’s home page. I printed them out and assigned students to “serve” each site. An other students was assigned to be the DNS server. I handed him a form and asked him to record which student was “serving” each web site. So the address in this case was a student name.

Another student was assigned as the user and still another was assigned to act as their computer. The computer had their own sheet for looking up addresses (student names) for each web site. As we started it was empty. This would become the address cache for the computer.

The user asked the computer for a web page. If the address was known to the computer they asked the appropriate student to display the web page. If they address was not known the computer asked the DNS server for an address.  The DNS server would return the address which the computer would record in cache and then ask the server to display the page.  We ran through several request to see how this worked.

I did this before any detailed explanation of the process. I followed the role play with a video from code.org called THE INTERNET: IP Addresses and DNS that can be found on their collection of videos. Not surprisingly, this video went into some good detail on the very things we observed in the role play. I’m hoping that the combination of the role play, the video, and in-class discussion will help with both understanding and retention of the information.

What do you think? How would you add or change this? Do you do something similar?

2 comments:

Hal said...

I like it. For extra credit, ask someone to be a rogue DNS server and send requests to the wrong place.

Shanna said...

I like this as well. You could also add in packets by asking the appropriate person to cut the webpage into pieces and then reassemble them.