Circuit Switching - Computer Netrwork - Solved exam, Exams of Computer Networks

These are the Exam of Computer Network and its key important points are: Circuit Switching, Packet Switching, Dedicated Path, Established, Path, Communications, Established, Communications Begins, Packet Delay, Conforming

Typology: Exams

2012/2013

Uploaded on 03/28/2013

rohit-sharma
rohit-sharma 🇮🇳

4.3

(11)

200 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Comprehensive Final Exam for Computer Networks Spring 2006
>>> SOLUTIONS <<<
Welcome to the comprehensive final exam for Computer Networks. Read each problem carefully. There
are ten required problems each worth 10 points and one extra credit problem worth 10 points. You may
have with you a calculator, pencils, blank paper, lucky rabbit's foot, and one 8.5 x 11 inch “formula
sheet”. On this formula sheet you may have anything you want (definitions, formulas, homework
answers, old exam answers, etc.) as handwritten by you on both sides of the sheet. Photocopies, scans,
or computer generated text are not allowed on this sheet. You have 120 minutes for the exam. Unless
otherwise stated in the problem, start the answer for each new problem on a separate sheet of paper and
write only on one side of each sheet. Good luck and be sure to show your work!
Problem #1
Answer the following questions regarding the basics of computer networks and the Internet.
a) What are the fundamental measures of interest for a communications system?
Throughput, delay, loss, cost, mobility, robustness, and secrecy
b) Briefly describe circuit switching and packet switching.
Circuit switching uses a dedicated path that is established before communications
begins. Packet switching shares a path that need not be established before
communications begins.
c) What are the four causes of packet delay?
Processing, transmission, propagation, and queueuing.
d) Roughly, what is the signal propagation delay from here to Atlanta (about 400 miles)?
Speed of light propagation delay is about 1 nanosecond per foot, so 1 mile is
about 5 microseconds, and thus the propagation delay from Tampa to Atlanta is
about 2 milliseconds (400 miles x 5 microsecond/mile).
e) Define the open concept.
The ability of any two systems conforming to the reference model and associated
standards to communicate (and interoperate) with each other.
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Circuit Switching - Computer Netrwork - Solved exam and more Exams Computer Networks in PDF only on Docsity!

Comprehensive Final Exam for Computer Networks Spring 2006

>>> SOLUTIONS <<<

Welcome to the comprehensive final exam for Computer Networks. Read each problem carefully. There

are ten required problems each worth 10 points and one extra credit problem worth 10 points. You may

have with you a calculator, pencils, blank paper, lucky rabbit's foot, and one 8.5 x 11 inch “formula

sheet”. On this formula sheet you may have anything you want (definitions, formulas, homework

answers, old exam answers, etc.) as handwritten by you on both sides of the sheet. Photocopies, scans,

or computer generated text are not allowed on this sheet. You have 120 minutes for the exam. Unless

otherwise stated in the problem, start the answer for each new problem on a separate sheet of paper and

write only on one side of each sheet. Good luck and be sure to show your work!

Problem

Answer the following questions regarding the basics of computer networks and the Internet.

a) What are the fundamental measures of interest for a communications system?

Throughput, delay, loss, cost, mobility, robustness, and secrecy

b) Briefly describe circuit switching and packet switching.

Circuit switching uses a dedicated path that is established before communications begins. Packet switching shares a path that need not be established before communications begins.

c) What are the four causes of packet delay?

Processing, transmission, propagation, and queueuing.

d) Roughly, what is the signal propagation delay from here to Atlanta (about 400 miles)?

Speed of light propagation delay is about 1 nanosecond per foot, so 1 mile is about 5 microseconds, and thus the propagation delay from Tampa to Atlanta is about 2 milliseconds (400 miles x 5 microsecond/mile).

e) Define the open concept.

The ability of any two systems conforming to the reference model and associated standards to communicate (and interoperate) with each other.

Problem

Describe how email works. Describe the key components and flows. Identify key standards that apply.

Use figures as needed. About 150 words should be sufficient.

Email is an asynchronous communications medium based on sent and received text messages (may include non-text attachments). The three major components of email are user agents, mail servers, and the SMTP (Simple Mail Transfer Protocol). SMTP is used to transfer messages between mail servers using TCP/IP (client/server). SMTP uses ASCII commands and headers. Commands are not authenticated. Between a mail server and a user agent, POP (Post Office Protocol), IMAP (Internet Mail Access Protocol), or HTTP (HyperText Transfer Protocol) is used to access received mail stored in inboxes on the mail server. Mail servers have a fixed IP address and are always powered-on. The user agents need not always be powered-on and also need not be fixed in location or IP address. The figure shows a user agent accessing a mail server with POP, two mail servers exchanging messages using SMTP, and another user agent accessing its mail server using IMAP.

user agent server server user agent +-----+ POP +-----+ SMTP +-----+ IMAP +-----+ | |---------| |---------| |---------| | | | | | | | | | +-----+ +-----+ +-----+ +-----+ |-------------------------------| The Internet

Problem

Attached are server.c and client.c with some “bugs”. Identify the bugs and explain how to fix

them.

Server program:

  • Missing welcome_s = socket() after line 25
  • Missing htons() in line 28
  • Missing bind() after line 29
  • Listen must have more than 0 connections in line 31
  • Missing addr_len assignment after line 32
  • Missing +1 for strlen for \0 in line 38
  • Should recv() on connect_s in line 38
  • Should send() on connect_s in line 38
  • Missing closesocket() of welcome_s after line 42

Client program:

  • Type of server_addr should be struct sickaddr_in in line 18
  • Size of out_buf and in_buf is too small in lines 19 and 20
  • Should be SOCK_STREAM and not DATAGRAM in line 24
  • Missing htons() in line 28
  • Missing +1 for strlen for \0 in line 36

Problem

Below are the first 60 bytes of a TCP/IP packet captured using Ethereal on an Ethernet network. On the

last pages of this exam are packet header templates. Decode the packet for the following fields:

  • Ethernet MAC source and destination addresses (hexadecimal)
  • IP source and destination addresses (in standard dotted-decimal format)
  • TCP source and destination port numbers (decimal)
  • Type of TCP segment (e.g., SYN, FIN, ACK, etc.)
  • Application layer protocol (and command, if applicable)

08 00 20 f7 88 7d 00 11 43 b7 92 43 08 00 45 00 .. ..}..C..C..E. 02 4b 1f f8 40 00 80 06 ca 9b 83 f7 03 2a 83 f7 .K..@........*.. 03 01 08 68 00 50 e0 5a 79 da 38 0b ef 53 50 18 ...h.P.Zy.8..SP. ff ff 80 d7 00 00 47 45 54 20 2f 7e 63 68 72 69 ......GET /~chri 73 74 65 6e 2f 63 68 72 69 73 74 65 6e 2e 68 74 sten/christen.ht 6d 6c 20 48 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 ml HTTP/1.1..Hos

MAC source = 080020f7887d hex MAC dest = 001143b79243 hex IP source = 131.247.3. IP dest = 131.247.3. TCP source port = 2152 TCP dest port = 80 TCP type = PUSH, ACK Application = HTTP (this is an HTTP 1.1 GET)

Problem

Answer the following questions about LANs (wired and wireless):

a) What is a LAN? Define it precisely.

A LAN is a data network optimized for a medium-sized area (10s to 100s of stations and 100s to 1000s of meters). A LAN is owned and operated by a single organization.

b) Describe CSMA/CD and BEB as used in IEEE 802.3 Ethernet.

CSMA/CD is Carrier Sense Multiple Access / Collision Detection and enables the sharing of a wired medium among multiple hosts. A 1-persistent CSMA algorithm is implemented as follows (for when a host has a frame to transmit):

  1. if medium is idle then transmit
  2. if medium is busy then wait for medium to go idle and then transmit
  3. if detect a collision then xmit a brief jam signal, stop transmitting, wait a random period of time, then (1)

The "wait a random period of time" is implemented with Binary Exponential Backoff:

while (attempts < 16) k = min(attempts, 10) r = rand(0, 2^k) delay = r * slot_time

A slot_time is the time it takes to transmit 64 bytes. This time determines the maximum span of an Ethernet (i.e., tpr <= tfr for frame of 64 bytes and tpr being the end-to-end propagation time).

c) Describe CSMA/CA as used in IEEE 802.11 WiFi.

CSMA/CA is Collision Avoidance and has both a sender and receiver component. The sender algorithm is:

  1. if sense channel idle for DIFS then transmit entire frame
  2. if sense channel busy then start random backoff time timer count down while channel is idle transmit when timer expires if no ack, increase random backoff interval and repeat (2)

The receiver algorithm is:

  1. if frame received then return ACK after SIFS

DIFS is distributed interframe time and SIFS is short interframe time. DIFS is longer than SIFS.

Problem

Answer the following questions bridges and switches:

a) What is a bridge? What is a switch? What are the motivations to use bridges and switches?

A bridge is a 2-port layer-2 packet filter. A bridge forwards only non-local frames. A bridge has no knowledge of upper layer protocols. A switch is a multiport bridge. Motivations to uses bridges and switches include increasing performance (by localizing traffic), improving reliability (over a single large LAN), and defining organizational boundaries.

b) Describe (give) the forwarding and learning algorithm for transparent bridges.

receive a frame if (DA is in table) and (DA is local) then not forward else forward if (SA in table) then check/update direction if (SA not in table) then add to table

c) What is “media speed” or “wire speed” (in packets per second) for 1500 byte packets on a 1 Gb/s

Ethernet link.

10^9 bits/sec / ((1500 + 8 + 12) bytes/frame * 8 bits/byte) = 82345 frames/sec

  1. //======================================================= file = server.c =====
  2. //= A message "server" program to demonstrate sockets programming =
  3. //= - TCP/IP client/server model is implemented =
  4. //=============================================================================
  5. //----- Include files ---------------------------------------------------------
  6. #include <stdio.h> // Needed for printf()
  7. #include <string.h> // Needed for memcpy() and strcpy()
  8. #include <windows.h> // Needed for all Winsock stuff
  9. //----- Defines ---------------------------------------------------------------
  10. #define PORT_NUM 1050 // Arbitrary port number for the server
  11. //===== Main program ==========================================================
  12. void main(void)
  13. {
  14. WORD wVersionRequested = MAKEWORD(1,1); // Stuff for WSA functions
  15. WSADATA wsaData; // Stuff for WSA functions
  16. unsigned int welcome_s; // Welcome socket descriptor
  17. struct sockaddr_in server_addr; // Server Internet address
  18. unsigned int connect_s; // Connection socket descriptor
  19. struct sockaddr_in client_addr; // Client Internet address
  20. struct in_addr client_ip_addr; // Client IP address
  21. int addr_len; // Internet address length
  22. char out_buf[100]; // Output buffer for data
  23. char in_buf[100]; // Input buffer for data
  24. // This stuff initializes winsock
  25. WSAStartup(wVersionRequested, &wsaData);
  26. // Fill-in server (my) address information and bind the welcome socket
  27. server_addr.sin_family = AF_INET;
  28. server_addr.sin_port = PORT_NUM;
  29. server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
  30. // Listen on welcome socket for a connection
  31. listen(welcome_s, 0);
  32. // Accept a connection.
  33. connect_s = accept(welcome_s, (struct sockaddr *)&client_addr, &addr_len);
  34. // Print an informational message that accept completed
  35. printf("Accept completed \n”);
  36. // Send to the client using the connect socket
  37. strcpy(out_buf, "Test message from server to client");
  38. send(welcome_s, out_buf, strlen(out_buf), 0);
  39. // Receive from the client using the connect socket
  40. recv(welcome_s, in_buf, sizeof(in_buf), 0);
  41. printf("Received from client... data = '%s' \n", in_buf);
  42. // Close sockets and clean-up
  43. closesocket(connect_s);
  44. WSACleanup();
  45. }
  1. //======================================================= file = client.c =====
  2. //= A message "client" program to demonstrate sockets programming =
  3. //= - TCP/IP client/server model is implemented =
  4. //=============================================================================
  5. //----- Include files ---------------------------------------------------------
  6. #include <stdio.h> // Needed for printf()
  7. #include <string.h> // Needed for memcpy() and strcpy()
  8. #include <windows.h> // Needed for all Winsock stuff
  9. //----- Defines ---------------------------------------------------------------
  10. #define PORT_NUM 1050 // Port number used at the server
  11. #define IP_ADDR "127.0.0.1" // IP address of server (*** HARDWIRED ***)
  12. //===== Main program ==========================================================
  13. void main(void)
  14. {
  15. WORD wVersionRequested = MAKEWORD(1,1); // Stuff for WSA functions
  16. WSADATA wsaData; // Stuff for WSA functions
  17. unsigned int client_s; // Client socket descriptor
  18. double server_addr; // Server Internet address
  19. char out_buf[10]; // Output buffer for data
  20. char in_buf[10]; // Input buffer for data
  21. // This stuff initializes winsock
  22. WSAStartup(wVersionRequested, &wsaData);
  23. // Create a client socket
  24. client_s = socket(AF_INET, DATAGRAM, 0);
  25. // Fill-in the server's address information and do a connect with the
  26. // listening server
  27. server_addr.sin_family = AF_INET;
  28. server_addr.sin_port = PORT_NUM;
  29. server_addr.sin_addr.s_addr = inet_addr(IP_ADDR);
  30. connect(client_s, (struct sockaddr *)&server_addr, sizeof(server_addr));
  31. // Receive from the server using the client socket
  32. recv(client_s, in_buf, sizeof(in_buf), 0);
  33. printf("Received from server... data = '%s' \n", in_buf);
  34. // Send to the server using the client socket
  35. strcpy(out_buf, "Test message from client to server");
  36. send(client_s, out_buf, strlen(out_buf), 0);
  37. // Close and clean-up
  38. closesocket(client_s);
  39. WSACleanup();
  40. }

From: W. Stevens, TCP/IP Illustrated, Volume 1 The Protocols , Addison-Wesley, Boston, 1994.