CS447-Network and Data Communication Possible Quiz Questions for Quiz #1 on August 29, 2005 (SOLUTIONS) The following is a list of possible questions for our Quiz #1 on August 29th. Some of the questions will not be asked in the quiz. All the questions that will appear in the quiz will appear exactly as shown below (however, parameters may be changed). The quiz is closed textbook, closed notes and closed neighbors. Note that the questions, which did not appear in this quiz, still may appear in the exams. #1: If two computer hosts are directly connected for data transmission, what is the name of this type of data transmissions? Peer-to-peer data transmissions #2: Why we want “networks” instead of “peer-to-peer” data transmissions? Explain with an example (using some mathematical formula). “Network” is better than peer-to-peer communication mainly due to scalability. Example: if we have n host, then n( n 1) links are required for peer-to-peer communication, while 2 only (n-1) links are required for network communication. #3: If a computer system (not necessarily limited to computer networks) can grow for a larger system without a serious problem in explosive increase in components, how is it called? Good scalability (one word after "good"). #4: Network has good scalability compared to peer-to-peer data transmissions, but what are the two disadvantages (tradeoffs) in network (compared to peer-to-peer data communication)? The two primary trade-offs are: (1) Longer delay (since your data now has to go through possibly many intermediate network nodes). (2) Poor security (since your data will not be transmitted through a dedicated transmission medium directly to your destinations). 1 #5: What is a protocol (define "network protocol" by providing the three keywords)? A protocol is (1) a set of rules (2) that governs communication between two network protocols in the same level and (3) is implemented as software. Give two examples of the existing network protocols. (1) TCP/IP, (2) IPX/SPX and (3) Microsoft’s NetBEUI #6: What is an interface (define "network protocol" by providing the three keywords)? An interface is (1) a set of rules (2) that governs communication between two directly facing network protocols in the same level and (3) is implemented as software. #7: What is “layered structure” for a protocol? Group functions with similar purpose, and put them on top of each from bottom to top. #8: Why we want “layered structure” for a protocol? Name the three benefits (please mention those we discussed in the class – you do NOT have to describe them). Layered structure for network protocol is primarily for flexibility. Examples are: (1) Good abstraction (you can c all functions in a network layer as function calls) (2) Flexibility (you can combine different protocols) (3) easy maintenance (you do not have to update all network protocol software to fix a bug in a particular function) #9: What is the primary tradeoff in using "layered architecture"? High overhead (longer delay) Since each time your data goes across a boundary (i.e., an interface) between two network protocols, memory copy is required. For each time your data goes across a boundary, context-switching is performed since two network protocol layers are usually implemented as two different processes (thus they are running in two different independent memory address space). 2 #10: Why do some computer networks use packets to transmit data? Provide one primary advantage and disadvantage in using packets for data transmission. Some networks have relatively high error rate. If huge data needs to be transmitted using such a high error-rate network without packets, each time a bit error happens, you need to start the transmission over from the beginning, which is extremely inefficient. Using packets (and assuming each packet carries packet sequence number), you can retransmit packets that caused a bit error. #11: Answer the following questions to describe what "packet header: is: (1) What do packets consist of? A packet = (Packet Header) + (Protocol Data Unit) (2) Where is the packet header? Usually at the beginning of a packet (before PDU) (3) What kind of information is in the packet header (you need to name at least two different types of information)? Packet header contains the destination address, packet sequence number, sender’s address and error detection code. #12: What is "packet encapsulation"? What is it for (i.e., What is the purpose of "packet encapsulation")? Packet encapsulation means that a packet (= header + data) in an upper network protocol layer simply becomes data in the next lower layer. Packet encapsulation is an implementation of layered structure (or independence in each network later from other layers) in network protocols. 3 #13: If network protocols are implemented without "packet encapsulation", what problems would we have? Without packet encapsulation, “layered structure” in network protocol logically does not work (you can physically separate two layers, but information from all layers still mixed together). Thus each layer will not be independent from other network protocol layers (i.e., you will not be able to change a part of a network protocol layer without change others). CS 447-Data Communications, Solutions for Quiz #1, created on August 30, 2005 4