FIT3165/FIT4165 Tutorial #1 Introduction to computer networks and
TCP/IP Layered Architecture Week 2 – Semester 1 – 2022
19/02/2022
Revision Status
Copyright By PowCoder代写 加微信 powcoder
Updated by Dr. , Feb 2022.
©2022, Faculty of IT, Monash University
Instructions
Students will work individually to solve this week’s exercise. Answer all the questions.
Do not forget to attempt the Week 2 – Pre-Class Quiz
Task 1: Review Questions
Explain the following concepts in the context of data communication and computer networks:
― a protocol
― protocol layering
― a protocol
A protocol defines the rules that both the sender and receiver and all
intermediate devices need to follow to be able to communicate effectively. ―protocol layering
Protocol layering is dividing a single complex protocol into multiple simpler protocols stacked together to perform the same task.
List the advantages and disadvantages of a layered architecture?
Advantages:
• Division of tasks: Divide a complex task into several smaller and simpler tasks.
• Modularity (flexibility): allowing a layer to be replaced by another without the need
to change the entire protocol layer stack
• Hiding complexity: protocol layering allows the services to be separated from
implementation which hides the complexity of how a service is implemented in the lower layer from the higher layer
Disadvantages:
• Communication overhead. Each layer needs to keep track of its communication with the corresponding layer on other devices (host-to-host or hop-to-hop).
• Some of the tasks may be repeated in some of the layers (e.g., error detection at data link layer and transport layer).
Explain Encapsulation and Decapsulation in a layered architecture?
In a layered architecture each layer is communicating with its corresponding layer on another device (host-to-host or hop-to-hop) following a specific protocol which requires adding information relevant to that protocol. The process of adding the required information for the current layer to the PDU received from the higher layer is referred to as Encapsulation, as the PDU of the higher layer is encapsulated (placed inside a
©2022, Faculty of IT, Monash University
capsule) within the current layer information. If the information is added to the beginning of the higher layer PDU a header is added. If the information is added to the end of the higher layer PDU a trailer is added.
Decapsulation is the process of interpreting and consequently removing the current layer information and passing the recovered higher layer PDU up.
4 What is Multiplexing and Demultiplexing in a layered architecture?
The layered architecture may allow the usage of several protocols at each layer. Multiplexing is the process of encapsulating the PDU of multiple higher layer protocols in the current layer protocol at the sender.
Demultiplexing is the process of recovering the PDU of the higher layer protocol and delivering the PDU to the corresponding higher layer protocol. The process naturally requires a way of identifying which higher layer protocol is the sender (multiplexing) and receiver (demultiplexing) of a given PDU.
5 When we say that the transport layer multiplexes and demultiplexes application layer messages, do we mean that a transport-layer protocol can combine several messages from the application layer in one packet? Explain.
The answer is no. Multiplexing/demultiplexing at the transport layer does not mean combining several upper-layer packets (from the same or different applications) into one transport-layer packet. It only means that each of the transport-layer protocols (such as TCP or UDP) can carry a packet from any application-layer protocol that needs its service. However, a transport-layer packet can carry one, and only one, packet from an application-layer protocol. For example, UDP can carry a message from a DNS query in one user datagram and a TCP can carry a message from HTTP in another user datagram called a tcp segment.
6 Is transmission in a LAN with a common cable (Figure 1.1a) an example of broadcast (one to many) transmission? Explain.
In this case, when a station sends a message to another station, the message is received by all stations. All stations except the intended recipient need to drop the message. This is an example of broadcast transmission (one to many).
©2022, Faculty of IT, Monash University
7 What is a logical connection?
The layer-to-layer communication is referred to as a logical connection. Logical since the actual communication occurs at each layer by passing the Protocol Data Units (PDUs) down to the layer below (or up on receiver). So, the actual data exchange is between the layers of the protocol stack. A connection since the corresponding layers follow the same protocol when communicating with one another (host-to-host or hop-to-hop). The term connection here is used loosely.
8 What are the types of addresses (identifiers) used in each of the following layers?
― application layer ― transport layer ― network layer ― data-link layer
● Application layer address: Domain name address.
● Network layer address: IPv4 (32-bit) or IPv6 address (128-bit).
● Transport layer port address (16-bits).
● data-link address is a 48-bit MAC address/Physical address/Hardware NIC
9 Assume we have created a packet-switched internet. Using the TCP/IP protocol suite, we need to transfer a huge file. What is the advantage and disadvantage of sending large packets?
The advantage of using large packets is less overhead. When using large packets, the number of packets to be sent for a huge file becomes small. Since we are adding three headers to each packet, we are sending fewer extra bytes than in the case in which the number of packets is large. The disadvantage manifests itself when a packet is lost or corrupted during the transmission; we need to resend a large amount of data, and another disadvantage is not providing equitable and fair access to other devices in the network.
10 Assume that an application-layer protocol is written to use the services of UDP. Can the application-layer protocol use the services of TCP without change?
Answer: The reason for having several protocols in a layer is to provide different services to the upper-layer protocols. The services provided by UDP are different from the services provided by TCP. When we write an application program, we need to first define which transport-layer protocol is supposed to give services to this application program. The whole program is written based on the availability of these services. Note that this does not violate the principle of layer independence. The independence of a layer means that we can change a protocol in a layer if the new one gives the same services as the old one. This does not mean that we can replace UDP with TCP, because they provide different services.
©2022, Faculty of IT, Monash University
3 Task 2: Wireshark example
You can download free version of Wireshark software from:
https://www.wireshark.org/download.html
Please note, this is already installed in the downloadable VM provided.
A packet analyser (sometimes also referred to as “packet sniffer”) is a program that can log all packets that are received and transmitted over a network interface. We will be using Wireshark, a very popular open-source tool for packet analysis. It is already installed in the virtual machine.
This week, we will analyse a sequence of packets captured on Guido’s network at home. The following diagram depicts how Guido’s computer is connected to the Monash web server:
Figure 1: Guido’s setup for packet capture
You can download the packet capture file that Wireshark produced from the FIT3165 or FIT4165 Moodle site (in Week 2).
The file is called Week_2_Tutorial_Wireshark_capture.pcap.
Download and save the pcap file in the shared folder so that you can access it from the VM, or you can download it into the host computer and use it there (assuming you have downloaded Wireshark to your computer).
After opening the file, you should see a window as shown in Figure-2
©2022, Faculty of IT, Monash University
Figure 2: File Week_2_Tutorial_Wireshark_capture.pcap opened in Wireshark and frame 6 is selected in packet list pane
Familiarise yourself with the three main sections (panes) of the Wireshark window:
a) The packet list pane displays a summary of each packet captured. When you click on a packet here, the other two panes are updated with the details for that packet.
b) The packet details pane below the packet list (middle pane) shows information about the selected packet.
c) The packet bytes pane displays the raw data for the selected packet. It highlights the data for the field that is selected in the packet details pane.
The frame 6 shows a request sent from Guido’s home computer to Guido’s page hosted on Monash web server. Select this frame in the list of packets pane (as shown in Figure-) and answer the following questions.
©2022, Faculty of IT, Monash University
1. Identify the Monash web server host URL (domain name) and the complete address (what Guido used in the browser to visit the page) by inspecting the details presented in the middle pane. Which layer contains this information?
URL: www.csse.monash.edu shown in Hypertext Transfer Protocol, Host field. The complete address: www.csse.monash.edu/~guidot/ put together by Wireshark. Application layer.
2. What is the network address (IP) of the Monash web server? Which layer contains this information?
130.194.64.145, Network layer
3. What is the frame size in bytes?
4. Identify all the layers (protocols) used in the protocol stack for this frame. In what order Wireshark presents the layers?
Ethernet II, IP, TCP, HTTP
The first line provides an overall summary of the frame. The following lines each is a dissection of a layer (headers) in TCP/IP protocol stack from lower layers to higher layers. Opening each layer will show the value of all the fields in that protocol header converted, organised, and presented by Wireshark in a more readable format.
5. What are the PDU names for each protocol?
Application layer: message, Transport layer: segment, Network layer:
packet/datagram, Data Link layer: frame
6. Recall that each protocol layer encapsulates the message from the layer above and adds a header. What are the header sizes for each layer?
Ethernet: 14 bytes, IP: 20 bytes, TCP: 32 bytes When the header is selected in the middle pane, the size of the header is shown on the bottom bar of the Wireshark window
7. Is multiplexing/demultiplexing used in this communication between Guido’s browser and Monash web server? How does the lower layer (TCP) know that the destination host is a web server (we learn more about this in Transport Layer)?
Yes, multiple application layers can use TCP protocol as their transport layer. The port number is used to allow TCP protocol to identify which application layer is the sender/receiver of the message. In frame 6 we can see that port 80 is used as the destination port.
©2022, Faculty of IT, Monash University
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com