CS475 – Networks Lecture 1 Chapter 1: Foundation Assignments • Reading for Lecture 2: Sections 1.3 – 1.4 Introduction Suppose we want to build a new computer network from the ground up … • What types of applications should it support? • What requirements do the applications impose on the network structure? • How can hardware and software be arranged into a complete network architecture? How would we measure the _______________________________ of our network? • Section 1.1: Applications Assume we want our network to support all of the applications that have made the Internet popular: • World Wide Web • Streaming Audio and Video • Email • Live Video Conferencing • _________________________________ • Other? Section 1.2: Requirements The expectations you have of the network depend on your perspective. • An application programmer would list services that his application needs (guaranteed delivery, minimal delay, etc.) A network designer would list properties that result in a ___________________________________ A network provider would list characteristics that make the network easy to manage. • • Section 1.2.1: Connectivity Does our network need to connect many machines or just a few? Does it need to be scalable (support growth)? The physical medium connecting two or more computers is known as a __________________. The computers (or other specialized hardware) connected by the links are known as _____________________. Note that all nodes are directly connected to each other. Point-to-point examples: switched Ethernet, RS232 (serial) Multiple-access examples: ___________ Ethernet, cable TV 08/25/2011 Page 1 of 4 We can extend the size of our network by connecting nodes indirectly via _____________. Switches are nodes that implement the network. Hosts are nodes that support _________ and run applications. There are two types of switched networks. • In a ______________________________ network the two communicating nodes are directly connected. ◦ The plain old telephone system (POTS) is the most well-known circuit switched network. • In a _______________________________ network nodes send discrete blocks of data (packets or messages) over the network. Each packet has a destination address. ◦ Switches typically use a store-and-forward strategy for packet handling. Almost all computer networks are packet switched networks. We can connect networks to form an interconnection of networks or an ______________. The Internet is the most well-known internet. The nodes that connect networks are known as _____________ or gateways. In order to send data from one node to another each node must have an ________________. When nodes are connected indirectly, the switches/routers use the destination address to determine how to forward the message. We have been discussing unicasting (single destination), but our network should also support __________________________ (send to all nodes) and ___________________ (send to subset of nodes). 08/25/2011 Page 2 of 4 Terminology Review Word Bank: user, link, cable TV, circuit-switched, packet-switched, router, node, switch, computer, modem, serial (RS232), hub 1. The old telephone system is an example of a _____________________ network. 2. A ______________________ is the physical medium connecting two or more computers. 3. A __________________________ link is an an example of a point-to-point link. 4. A ____________________ is used to connect different networks. 5. In a network, the hardware between two links is known as a _____________________. 6. _______________________ is an example of a multiple-access link. 7. The Internet is an example of a __________________________ network. 8. A ______________________ can be used to extend a network. Section 1.2.2: Resource Sharing Hosts share a network via ________________________. In synchronous time-division multiplexing (STDM) each host takes a turn transmitting during a time slot. In _____________________________ multiplexing (FDM) each host transmits at a different frequency (like radio and TV). Most computer networks use statistical multiplexing. This is similar to STDM, but hosts transmit only when they have data and they don't wait for a turn. To ensure that each host gets to transmit data, large messages are broken into smaller ___________. The network will typically place a limit on the maximum packet size. Issues for later exploration: • Which packet should the switch send next? (____________________ or round-robin) ◦ Do we want to guarantee a certain bandwidth (Quality of Service or QoS) to a particular host? • 08/25/2011 How to we handle switch ___________________________________? ◦ If packets arrive at a faster rate than the switch can send them, the switch buffer will overflow and packets will be dropped. Page 3 of 4 Section 1.2.3: Support for Common Services Many applications use common _____________ (reliability, security, etc) when they communicate over a network. Instead of building that functionality into each application, it is logical to implement the most common services into the network. We can view the network as providing logical communication _____________. Each channel can provide a set of services required by an application. What types of logical channels would be of most use to applications? File transfer and streaming multimedia are among the most common applications on the Internet. • A ____________________ channel is useful for file transfer. Delivery is guaranteed. Privacy may be included. • A ______________________ channel might ensure in-order arrival of packets but not guarantee delivery (packets might be dropped). How might a network provide guaranteed or reliable delivery? The network must be able to recover from failure. There are three general classes of network failure: • bit errors (single-bit or burst) • packet errors (lost or misrouted packets) • _______________ errors (broken network links or crashed routers). Bit errors may be corrected with error detection or error correction coding (ECC). Packet errors can be corrected by packet __________________________. (How do we know if a packet is lost or just late?) Physical errors can be corrected by re-routing packets In-Class Exercises 1. Refer to the man page for the gethostbyname() function. Write C++ code that uses this function to display the IP address of “www.evansville.edu”. You may find the inet_ntop() (or inet_ntoa()) function and the ip(7) man page useful. 2. gethostbyname() is now considered obsolete (you will still find it used in most books on network programming). Redo exercise 1 using getaddrinfo(). When you have completed this exercise, email your source file as an attachment to the instructor at hwang@evansville.edu. 08/25/2011 Page 4 of 4