Lecture 1 (Feb. 2) Reading assignment: Chapter 1. Course Objectives =================== -- How computer networks work from the perspectives of -- network designers -- computer user, programmer, system designer -- use Internet as example -- emphasis is on basic principles, not implementation details -- not a programming course, no coverage on Java or other programming languages for WWW. -- many concepts and terminologies introduced in this course, but they are simple, best illustrated via examples. -- we will study mostly things that we don't see when we use the Internet. ------------------------------------------------------------------- Examples of a network -- telephone network, CATV network, the Internet Success of the Internet -- much of its functionality is provided by software running over general-purpose computers --> flexibility new functionality can be added with new software, e.g. WWW new functionality includes new applications and new functions ``inside'' the network, e.g. multicast routing. The development of the Internet is also enabled by the massive increase in processor speed. Some applications run over the Internet: FTP, WWW, NV(Network Video) A Brief History --------------- Network Requirements -------------------- What to expect from a network - multiple requirements and constraints, depending on your perspective: * network user -- would list the service requirements of applications, e.g., guaranteed delivery of the user's message to the destination without error and within a reasonable amount of time. * network designer -- emphasis on cost-effective design, e.g., network resources should be efficiently utilized and fairly allocated to different users. * network provider -- interested in systems that are robust, easy to manage, e.g., faults can be easily isolated and where usage can be easily accounted for. Network Connectivity -------------------- Ideally, we want to build a network that can connect an arbitrarily large number of computers. Some terminologies: At the lowest level, a network consists of 2 or more computers connected by a physical medium, e.g. coaxial cable or optical fiber, also called a link. The computers connected are called hosts. Two types of links: a) point-to-point links (telephone line) where only two nodes are connected b) multiple-access (e.g. Ethernet) where more than two nodes are connected. usually limited in size, in terms of geographical distance it covers and # nodes connected (exception - satellite link). No need to connect two nodes directly on a physical link (point-to-point or multiple access) for them to communicate. Indirect connectivity using a switched network. Illustration using a figure. Two types of switched networks Circuit Switching (e.g. telephone networks) * Phone(s) ------ CO ---------- CO ------ Phone (s) * signaling to establish a dedicated path (circuit) along a sequence of links * the source can then send a stream of bits across the circuit to its destination. * may be blocked if there are no circuits Packet switching (e.g. Internet and most computer networks) * an application chops its message into discrete blocks of data called packets. * each node in the network uses a store-and-forward strategy -- receives a complete packet, stores the packet into memory, then forwards the complete packet to the next node. Nodes that implement the network are called switches Nodes that are outside of the cloud that use the network are called hosts (which support users and run applications).