Internet Technology 3/2/2016

Similar documents
Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology 2/18/2016

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

NT1210 Introduction to Networking. Unit 10

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

CSCI 466 Midterm Networks Fall 2013

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

CS 416: Operating Systems Design April 22, 2015

Operating Systems. Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring Paul Krzyzanowski. Rutgers University.

Distributed Systems. Pre-Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2015

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

CMPE150 Midterm Solutions

Networking and Internetworking 1

Application Layer Introduction; HTTP; FTP

Introduction to Network. Topics

Transporting Voice by Using IP

4.0.1 CHAPTER INTRODUCTION

Operating Systems Design Exam 3 Review: Spring Paul Krzyzanowski

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017

EEC-484/584 Computer Networks

ECE 650 Systems Programming & Engineering. Spring 2018

PLEASE READ CAREFULLY BEFORE YOU START

Introduction to TCP/IP networking

CS454/654 Midterm Exam Fall 2004

CS Paul Krzyzanowski

CS November 2018

User Datagram Protocol

Introduction to Networking

Review of Previous Lecture

Chapter 11: Wide-Area Networks and the Internet

OSI Transport Layer. objectives

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 21. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2018

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

CSCI-GA Operating Systems. Networking. Hubertus Franke

Computer Networks - Midterm

CS155b: E-Commerce. Lecture 3: Jan 16, How Does the Internet Work? Acknowledgements: S. Bradner and R. Wang

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Different Layers Lecture 21

Applied Networks & Security

CPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CMPE 80N: Introduction to Networking and the Internet

Computer Networks - Midterm

Cisco Cisco Certified Network Associate (CCNA)

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Internet Technology 4/29/2013

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Defining the Internet

Computer Security. 15. Tor & Anonymous Connectivity. Paul Krzyzanowski. Rutgers University. Spring 2017

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

Internet Applications. Dr Steve Gordon ICT, SIIT

Private Browsing. Computer Security. Is private browsing private? Goal. Tor & The Tor Browser. History. Browsers offer a "private" browsing modes

CS November 2017

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

Transport Layer (TCP/UDP)

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Data Communication & Computer Networks MCQ S

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5.

Distributed System Chapter 16 Issues in ch 17, ch 18

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

Closed book. Closed notes. No electronic device.

PLEASE READ CAREFULLY BEFORE YOU START

CCNA R&S: Introduction to Networks. Chapter 10: The Application Layer

Internet Content Distribution

UDP, TCP, IP multicast

The Client Server Model and Software Design

Internet Load Balancing Guide. Peplink Balance Series. Peplink Balance. Internet Load Balancing Solution Guide

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Setting Up a Mitel SX-2000 Digital PIMG Integration with Cisco Unity Connection

Outline. What is TCP protocol? How the TCP Protocol Works SYN Flooding Attack TCP Reset Attack TCP Session Hijacking Attack

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

Review for Internet Introduction

Chapter 2 Network Models 2.1

Networking and Internetworking 1

Lecture (11) OSI layer 4 protocols TCP/UDP protocols

APPENDIX F THE TCP/IP PROTOCOL ARCHITECTURE

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

Network and Security: Introduction

CS4700/CS5700 Fundamentals of Computer Networks

UseNet and Gossip Protocol

Networks. Distributed Systems. Philipp Kupferschmied. Universität Karlsruhe, System Architecture Group. May 6th, 2009

CSC 401 Data and Computer Communications Networks

ECE 650 Systems Programming & Engineering. Spring 2018

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

Network Model: Each layer has a specific function.

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

Chapter 5.6 Network and Multiplayer

Computer Security. 11. Network Security. Paul Krzyzanowski. Rutgers University. Spring 2018

QUIZ: Longest Matching Prefix

Tutorial 2 : Networking

CS Paul Krzyzanowski

Networks and distributed computing

Question Score 1 / 19 2 / 19 3 / 16 4 / 29 5 / 17 Total / 100

CS457 Transport Protocols. CS 457 Fall 2014

Transcription:

Question 1 Defend or contradict this statement: for maximum efficiency, at the expense of reliability, an application should bypass TCP or UDP and use IP directly for communication. Internet Technology 06. Exam 1 Review No. Applications need to use the transport layer (e.g., TCP or UDP). If you just use IP, how will the message find its way to the application? Paul Krzyzanowski Rutgers University Spring 2016 March 2, 2016 2016 Paul Krzyzanowski 1 March 2, 2016 2016 Paul Krzyzanowski 5 Question 2 Question 3 What is the security danger of having an intruder hack into a DNS resolver? Why does VoIP (Voice over IP) telephone software usually use UDP instead of TCP? The hacked DNS resolver can give applications incorrect IP addresses, redirecting them to other nodes Poor answer: the intruder will get access to the cache of frequentlyused lookups Totally wrong: The intruder will get access to your name, address, and other personal info. The intruder will be able to connect to other machines. UDP is ideal for loss-tolerant, real-time streaming services. There is no time to retransmit packets if they have errors UDP transmission gives lower latency and very low jitter which matters a lot in VoIP Speed of the connection is generally not an issue. VoIP tends to be low bandwidth (a few tens of kbps) Bad answers: No need to set up a connection (that would be a one-time overhead) Out of order messages area ok (not really they would cause glitches in the voice) March 2, 2016 2016 Paul Krzyzanowski 6 March 2, 2016 2016 Paul Krzyzanowski 7 Question 4 Circuit switching does not require packetizing data and the overhead of adding a destination header to each packet. What makes packet switching preferable? It can make more efficient use of the network. An application is not limited to a fixed % of the available bandwidth and bandwidth does not get wasted if one app has nothing to send. It ensures that time slots will not be wasted Question 5 In a negative acknowledgement protocol: (a) The receiver notifies the sender that a message was not received or received with errors. (b) The sender does not transmit the next message until the previous one was acknowledged. (c) The receiver notifies the sender that a message was received correctly. (d) The sender gives the receiver confirmation that an acknowledgement message was received. A negative acknowledgement (NAK) is the opposite of a positive acknowledgement (ACK). It indicates that a message is missing or contained errors. March 2, 2016 2016 Paul Krzyzanowski 8 March 2, 2016 2016 Paul Krzyzanowski 9 Paul Krzyzanowski 1

Question 6 Question 7 Which was not a design principle of the ARPANET? (a) Support the interconnection of different types of physical networks. (b) Provide centralized control and monitoring of the core network. (c) Use routers to forward packets. (d) Assume unreliable end-to-end communication. Devices on a LAN are considered peers because: (a) They are all directly connected to each other. (b) They all have equivalent computing capabilities. (c) Any device can send data to any other device. (d) They work together to provide a single service. That s a peer in peer-to-peer app architectures The Internet was designed to be decentralized. Peer devices on a LAN: All devices have equal control of the network Any device can initiate data transfer with any other device on the network March 2, 2016 2016 Paul Krzyzanowski 10 March 2, 2016 2016 Paul Krzyzanowski 11 Question 8 IP (Internet Protocol) provides us with this type of message delivery: (a) Unreliable but with a notification of lost data or damaged data. (b) Reliable end-to-end. (c) Reliable but only within the network core, not the edges. (d) Best-effort delivery, where some messages might be lost. Question 9 Peering among ISPs means: (a) ISPs agree to forward and receive traffic between each other without charge. (b) ISPs are connected together but charge for moving traffic between them. (c) Hosts on multiple ISPs may form a peer-to-peer network. (d) A single host may be connected to several ISPs for fault tolerance (a) If packets are dropped by routers, nobody gets notified. (b, c) IP does not assume that any part of the network is reliable Another use of the word peering For ISPs, peering refers to an agreement to exchange traffic. The accepted meaning of peering is that there is a mutual exchange of data at no cost. Some people started to use peering to refer to cases where there is a fee but that is not the standard usage. March 2, 2016 2016 Paul Krzyzanowski 12 March 2, 2016 2016 Paul Krzyzanowski 13 Question 10 TCP occupies which layer of the OSI protocol model? (a) Physical. (b) Data Link. (c) Network. (d) Transport. Question 11 UDP occupies which layer of the OSI protocol model? (a) Physical. (b) Data Link. (c) Network. (d) Transport. Layer 1: Physical = hardware (voltages, connectors) Layer 2: Data Link = transfers data between nodes in a LAN or between adjacent nodes in a WAN Layer 3: Network = manages the route of data machine-to-machine communication Layer 4: Transport = application-application communication (TCP, UDP) UDP is not a lower level protocol than TCP Layer 1: Physical = hardware (voltages, connectors) Layer 2: Data Link = transfers data between nodes in a LAN or between adjacent nodes in a WAN Layer 3: Network = manages the route of data machine-to-machine communication Layer 4: Transport = application-application communication (TCP, UDP) March 2, 2016 2016 Paul Krzyzanowski 14 March 2, 2016 2016 Paul Krzyzanowski 15 Paul Krzyzanowski 2

Average queuing delay Question 12 Question 13 Which Windows socket (Winsock) system call causes a socket to wait for an incoming connection? (a) connect (b) bind (c) accept (d) listen Windows socket calls = mostly the same as sockets on other systems connect: sent by client to establish a connected socket to the server bind: associate a local IP address & port number with a socket accept: wait for and accept an incoming connection, creating a new socket listen: used by the server to make a socket into one that can listen for and accept connections Threads within a process share: (a) A common stack. (b) Open file descriptors and sockets. (c) Processor registers and the instruction pointer. (d) Local variables. Threads share: Process ID, open files (& sockets), signals, memory map Threads get their own: Thread ID, CPU state, stack (=local variables) March 2, 2016 2016 Paul Krzyzanowski 16 March 2, 2016 2016 Paul Krzyzanowski 17 Question 14 What is the delay for a transmission that traverses five (5) network links that are each 1 Gbps with an average packet size of 1,000 bytes? (a) 5 μs (b) 5 ms (c) 40 μs (d) 40 ms N = # links = 5 L = packet size = 8 * 1,000 bytes = 8,000 bits R = transmission rate = 1 Gbps = 1 10 9 bits/s = 1,000 10 6 bits/s NL R = 5 8,000 1,000 10 9 = 40 = 40 μs 109 Question 15 If packets in the above problem arrive at an average rate of 200,000 packets per second, what is the traffic intensity? Per link; ignore N (a) 0.2 (b) 1.0 (c) 1.6 (d) 8.0 a = arrival rate = 200,000 packets per second L = packet size = 8 * 1,000 bytes = 8,000 bits R = transmission rate = 1 Gbps = 1 10 9 bits/s = 1,000 10 6 bits/s Traffic intensity = La R = 8,000 200,000 1,000,000,000 = 1600 1000 = 1.6 March 2, 2016 2016 Paul Krzyzanowski 18 March 2, 2016 2016 Paul Krzyzanowski 19 Question 16 Which traffic intensity value will likely result in little or no packet loss: (a) 0.18 (b) 0.92 (c) 1.0 (d) 1,024 Question 17 Java s synchronized block of code is a way to: (a) Request that multiple threads be created to run the block of code in parallel. (b) Force a thread to execute code at a specific time of day. (c) Enable several threads to run the block of code at the exact same time. (d) Ensure that only one thread at a time executes within that block of code. Increased chance of packet loss The synchronized provides a way to lock a region of code so that only one thread holding that lock can have access to that code private Object lock = new Object(); synchronized(lock) { name = myname; age = myage; } La/R 1 March 2, 2016 2016 Paul Krzyzanowski 20 March 2, 2016 2016 Paul Krzyzanowski 21 Paul Krzyzanowski 3

Question 18 Question 19 A race condition is: (a) The condition where the outcome of a program is dependent on a specific order of thread scheduling. (b) A bug where one thread keeps another thread from executing. (c) The behavior of threads where the operating system schedules one thread more frequently than another. (d) A situation where multiple concurrent threads are competing to finish their task first. A race condition is a bug where the results of a program are due to exactly how the threads are scheduled. It occurs because mutual exclusion (locks) for critical sections is not defined You can register a domain name via any one of multiple domain name registrars because: (a) The registrar simply keeps track of the mapping between your domain name and IP address. (b) DNS servers are decentralized and the registrar can act as a DNS zone for your domain. (c) The database of domain names for each top-level domain is distributed across all registrars. (d) Registrars all interact with the same master database for the top-level domain held by a registry operator. (a) No. The registrar only keeps track of your registration info. It does not care about your IP address (b) DNS is decentralized but registrars are not responsible for running DNS servers (c) No. There is one central database per top-level domain that all registrars access (d) Yes A registry operator is responsible for managing the database of domain name registrations for a top-level domain March 2, 2016 2016 Paul Krzyzanowski 22 March 2, 2016 2016 Paul Krzyzanowski 23 Question 20 A DNS record for a canonical name (CNAME) contains: (a) The IP address for that domain name. (b) A domain name that for which the queried name is an alias. (c) The domain name that is the immediate parent of the one being queried. (d) The name server that is responsible for that domain name CNAME = alias name Question 21 If a root name server cannot answer an iterative query for a valid domain name, it will: (a) Forward the query to a name server responsible for that domain. (b) Forward the query to a name server one level lower in the domain hierarchy. (c) Return a referral to another root name server that may have the answer. (d) Return a referral to another non-root name server lower in the domain hierarchy. (a, b) Iterative queries no forwarding (c) A referral will not be sent to another root DNS server they all have the same data March 2, 2016 2016 Paul Krzyzanowski 24 March 2, 2016 2016 Paul Krzyzanowski 25 Question 22 Names under the i n- addr. ar pa domain are: (a) IP addresses, which are resolved through DNS servers run by Regional Internet Registries. (b) Systems that used to be on the old ARPANET but have not migrated to hierarchical domain names. (c) Domain names for private nodes within an organization. (d) ISP names to allow routers to query destination routes Used for reverse DNS.arpa = Address and Routing Parameter Area top-level domain Referrals to Regional Internet Registries, which handle address assignments RIRs will send referrals to ISPs Question 23 Why do DNS (Domain Name System) servers use UDP by default? (a) It is faster. (b) It is more reliable. (c) It makes it easier to associate responses with requests. (d) It is more secure. (b-d) do not make sense Attraction of UDP for DNS: DNS queries are short: typically one query message & one reply - TCP will require an extra handshake for connection setup & will be 2x slower Require no memory to store connection state in the OS kernel - Heavily used DNS servers won t waste lots of memory keeping track of connections March 2, 2016 2016 Paul Krzyzanowski 26 March 2, 2016 2016 Paul Krzyzanowski 27 Paul Krzyzanowski 4

Question 24 Question 25 Persistent HTTP connections: (a) Allow multiple objects to be sent in parallel over the same connection. (b) Are more user-friendly since the user does not need to authenticate for each page access. (c) Speed up object access by not requiring a connection to be set up for each object accessed. (d) All of the above. HTTP cookies: (a) Are mini databases that contains things like shopping cart contents, passwords, and user preferences. (b) Enable the passing of state between clients and servers even though HTTP itself is stateless. (c) Store a complete browsing history of all sites that a user visited. (d) Enable third parties to insert ads into a web page that a user requested (a) No. That s pipelining or multiplexing (b) HTTP authentication isn t connection-specific (we didn t even cover this) (c) Yes: one connection, many requests (a) No. Cookies were not designed for this that data is stored on servers. In the past, some cookies have been used for client-side storage before browsers had local storage APIs (b) Yes. Cookies were created to allow managing state via HTTP, which is stateless (c) No. Cookies do not store browsing history (d) No. A server may use 3 rd party components but, on their own, third parties cannot manipulate your page via cookies. March 2, 2016 2016 Paul Krzyzanowski 28 March 2, 2016 2016 Paul Krzyzanowski 29 Question 26 An HTTP Conditional GET request enables: (a) A server to send additional objects that are associated with the requested objects. (b) A client to request content for specific media formats and screen resolutions. (c) A client to avoid contacting the server if its cached content has not reached its expiration time. (d) A server to return content only if the client s cached copy is no longer valid. Conditional GET = server request to get content if it has been modified Question 27 HTTP/2 multiplexing improves on pipelining by allowing a client to: (a) Send successive requests without waiting for responses. (b) Receive responses that can be intermingled or out of order. (c) Open multiple connections to the server and send requests in parallel. (d) Compress headers to reduce the number of packets that need to be transmitted. Parallel Connections Different requests for objects are sent on separate connections. Pipelining Send multiple requests but responses must come in order. One long response (e.g., high resolution photo or video) will hold up other objects Multiplexing Send multiple requests Responses can arrive in any order and be interleaved (a long response may be chopped into multiple pieces with other responses in between) March 2, 2016 2016 Paul Krzyzanowski 30 March 2, 2016 2016 Paul Krzyzanowski 31 Question 28 Passive FTP: (a) Uses a single TCP connection for both data and commands, similar to HTTP. (b) Accepts scripted commands instead of an interactive session with a user. (c) Ensures that clients cannot perform destructive operations, such as overwriting or deleting files. (d) Requires the client to open both command and data connections to the server (a) No. Both active and passive FTP use two connections (b) That s up to the shell. (c) No. (d) Yes. With active FTP, the server opens the data connection to the client. Question 29 Which system uses a central server as a content directory? (a) Napster. (b) Gnutella. (c) Kazaa. (d) BitTorrent. Gnutella and Kazaa have decentralized directories. Bittorrent doesn t handle naming. March 2, 2016 2016 Paul Krzyzanowski 32 March 2, 2016 2016 Paul Krzyzanowski 33 Paul Krzyzanowski 5

Question 30 Question 31 In peer-to-peer systems, an overlay network is: (a) A graph of nodes that know about each other. (b) A set of high-speed links that connect specific nodes together. (c) A secondary network to provide fault tolerance. (d) A set of persistent connections among nodes to optimize message delivery For software systems, an overlay network isn t a real network. It s the knowledge that each machine has of others E.g., a gnutella peer knows of five other peers. They, in turn, know other machines. Flooding enables a message to get relayed and distributed to a large set of systems. BitTorrent is differs from Kazaa and Gnutella in that it: (a) Provides distributed file storage. (b) Provides scalable performance when there are more downloads of a specific file. (c) Provides a decentralized naming system. (d) Uses flooding to locate content. With Kazaa and Gnutella, content sits as a single file on a node many downloaders = heavy load With BitTorrent, downloaders can serve partial content March 2, 2016 2016 Paul Krzyzanowski 34 March 2, 2016 2016 Paul Krzyzanowski 35 Question 32 A finger table in the Chord distributed hash table (DHT): (a) Is a hash table that stores the mapping between names and node addresses. (b) Stores a partial list of nodes in the system. (c) Keeps track of the relocation of content among nodes. (d) Keeps track of which nodes hold backup content. The end It stores nodes that are 2 0, 2 1, 2 2, 2 3, 2 4, 2 5, hops away. March 2, 2016 2016 Paul Krzyzanowski 36 March 2, 2016 2016 Paul Krzyzanowski 37 Paul Krzyzanowski 6