Laboratory 1 - The Internet
Aim
The aim of this lab is to discuss the material covered in the lectures on the Internet and the Application Layer Protocols DNS and HTTP, and to get some hands on experience with some linux networking commands.
Discussion
Preparation
Please go through the slides for the first two weeks lectures. As well, go through chapters 1, 9 (DNS-345:348) and 11 (HTTP-424:427,Email-416:419). Note down any questions that you may have and bring it up at the end of the discussion session.
- What do you understand by the term cloud computing? What are some advantages and disadvantages of cloud computing?
- What are some of the security issues with BYOD? Can you think of solutions to these issues?
- Differentiate between a URL, a URN and a URI.
- How is a network host commonly identified?
- Differentiate between the client-server and peer-to-peer network models.
- What was the purpose of IMPs in the ARPANET? How was the reliability issue addressed?
- What is the difference between the Internet and the internet.
- What are the four layers of the Internet protocol suite? What is the function of each layer?
- What is the relationship between the OSI and TCP/IP reference models?
- What is an RFC? Which organization manages RFCs?
- How does DNS work? Which transport layer protocol does it use? Which port?
- What is an authoritative name server? Why do root servers use an iterative approach to name resolution?
- How does HTTP work? Which transport layer protocol does it use? Which port?
- Why are persistent connections used? Can you think of some disadvantages?
Linux Networking Commands
In this part, you will explore some of the networking commands in linux. Use the man command to get the online manual page (man page) for each of the commands. For example, man dig will display the man page for the ifconfig command.
The host command
Use the host command to find the IP address of
www.google.com. Now use the same command with this IP address to find
the domain name.
The dig command
Use the Domain Internet Groper (dig) command to
examine the DNS entries for some sites you are familiar with. Try
cs.anu.edu.au. Understand the different sections. Now try
google.com. What's different in the answer section?
Use the -x option to find the domain name, given the IP address.
Use the +trace option to trace the query resolution.
Explore other options in dig by reading the man page.
The telnet command
The telnet command can be used for various purposes. We will use
telnet to simulate a HTTP request/response sessions. Run the
following commands:
telnet cs.anu.edu.au 80Telnet will respond with:
Trying 150.203.164.35... Connected to cs.anu.edu.au. Escape character is '^]'.You now type in the HTTP request, followed by a blank line.
GET /student/comp2410/index.html HTTP/1.1 HOST: cs.anu.edu.auNote the output. What information do you get from the header of the response? Try the same with your favourite off-campus web page.
Windows commands and their Linux equivalents
For those who are a little rusty on Windows or Linux, the following table lists Windows commands and their Linux equivalent.
| Windows | Linux |
| cd | cd |
| copy | cp |
| del | rm |
| dir/w | ls -a |
| type | cat |
