Reference no: EM132511435
COS20012/COS70007 Data Communication and Security Assignment - Swinburne University of Technology, Australia
Overview - This assignment is divided in two parts- part A and part B. In part A you need to review given WireShark traces and answer some specific questions. In part B you need to develop a RDT 3.0 protocol on top of a UDP file transfer program in Java. You need to submit a report and your program to Canvas and need to clarify your code to your tutor if necessary.
Part A - Trace Review
Trace Review
Please review the WireShark traces given in the resource folder and answer the following questions.
Question A. Use the TCP Trace to answer the following questions.
1. Examine packets 1 & 2, what is the MSS for packet 1, what is the MSS for packet 2, why are they different.
2. What does the ACK field, in message 5, tell the receiver?
3. Which bytes for the HTTP packet 27 are contained in other segments?
4. What object has been requested at packet 4.
5. What is the win value in packet 2 and what does it tell the receiver?
6. Which three packets are used to open the TCP connection?
7. Which four packages close the TCP connection?
8. Does this trace indicate that there is congestion? If so describe how.
9. What browser is being used by the client?
10. What server is delivering the web pages?
11. What does the CName record for pgaead2.googl.com contain?
Examine packets 5 to 12.
12. What is the average RTT - show calculation.
13. How many bytes were sent be the server?
14. What is the approximate transmission rate = show calculation.
Examine packet 38
15. What does the E_tag field tell the receiver?
16. What do the time-out values tell the receiver?
Question B. Use the Wi-Fi Trace to answer the following questions.
Examine Packet 1
17. Does this frame come from a host or from an access point? What details in the trace support your answer?
18. There are a lot of beacon frames used. Research what a beacon frame is and describe the expected fields in a Beacon Frame. Connect your answer with packet 571.
Examine Frame 700
19. What Transmissions rates are supported?
20. What encryption protocol is being used?
21. What is the PWR MGT filed used for?
22. What is a cipher suite list?
Question C. Use the OSPF Trace to answer the following questions.
Examine Frame 19
23. What sub net is being advertised?
24. How many hosts are in this subnet?
25. What is a "stub network"
26. What does the "Metric" tell the receiver of this advertisement?
27. What is an AS?
28. Is this router on the boundary of an AS, provide supporting evidence for your answer?
29. What is the ID of the Router that generated the advertisement?
Review frame 24.
30. You will notice that the frame destination is name IPv4mcast_00:00:05. Is this address special? Explain your answer.
31. The packet seems to contain different types of headers. What is the purpose of the first header in the OSPF part of the packet?
Examine frame 31
32. What is the purpose of the OSPF part?
33. Read the packet, under what circumstances would a router be dead?
34. What is the backup designated router used for?
35. What is the active neighbour field telling a receiver of this packet?
36. Draw a network diagram including nodes and ip addresses and costs where they can be derived from the trace. The drawing should represent the network state just after packet 31 has been sent.
Question D. Use the Mal Formed Packet to answer the following questions.
Wireshark has identified a mal formed packet.
37. What is the packet number of the malformed pack?
38. What precisely is wrong with the packet?
39. What is the name given for this type of malware?
Some IP fields are associated with "ECN capable transport".
40. What is ECN capable transport?
Examine Frame 8
41. What fields does the checksum apply to?
42. How is the checksum calculated?
43. What response will a router have to a checksum error?
44. How is a checksum different from a HASH?
Enhancement - Email Encryption
Your task here is to write a guide (no more than 3 pages) for encrypting email.
This guide must be written so a person who is not an ICT expert (my grandfather) could use your guide to send and receive encrypted email.
Encryption is to be achieved during transmission and when the email is stored.
Pictures should be included and will not count in the 3 page limit.
Part B - Programming - UDP Pinger
In this programming assignment, you will write a client ping program. Your client will send a simple ping message to a server, receive a corresponding pong message back from the server, and determine the delay between when the client sent the ping message and received the pong message. This delay is called the Round Trip Time (RTT). The functionality provided by the client and server is similar to the functionality provided by standard ping program available in modern operating systems. However, standard ping programs use the Internet Control Message Protocol (ICMP). Here we will create a nonstandard (but simple!) UDP-based ping program.
Your ping program is to send 10 ping messages to the target server over UDP. For each message, your client is to determine and print the RTT when the corresponding pong message is returned. Because UDP is an unreliable protocol, a packet sent by the client or server may be lost. For this reason, the client cannot wait indefinitely for a reply to a ping message. You should have the client wait up to one second for a reply from the server; if no reply is received, the client should assume that the packet was lost and print a message accordingly.
This is a console application. No graphical user interface is required. The ping messages will be sent by the user. The PingClient should ask the user whether they want to send ping to PingServer. The program should be able to send multiple ping messages. The program should generate sequence number for the ping messages. That means as soon as one ping message is sent the user can send another ping message before the arrival of previous pong message. Both PingClient and PingServer should print the status messages.
Enhancement - File Encryption
To enhance your UDP pinger program you can enhance your server side code so that it randomly does not respond (no pong) to some ping messages. The client should be able to detect the failures and print messages accordingly.
Attachment:- Data Communication and Security Assignment File.rar