760 likes | 951 Views
CMPE 150: Introduction to Computer Networks. J.J. Garcia-Luna-Aceves Email: jj@cse.ucsc.edu Phone: 94153 Office: E2, Room 317 CCRG Lab: E2, Room 315 http://www.cse.ucsc.edu/research/ccrg/CMPE150/FALL2004. CMPE 150: Introduction to Computer Networks LECTURE 1:. Introduction and Background.
E N D
CMPE 150: Introduction to Computer Networks J.J. Garcia-Luna-Aceves Email: jj@cse.ucsc.edu Phone: 94153 Office: E2, Room 317 CCRG Lab: E2, Room 315 http://www.cse.ucsc.edu/research/ccrg/CMPE150/FALL2004 UCSC CMPE150
CMPE 150: Introduction to Computer NetworksLECTURE 1: Introduction and Background UCSC CMPE150
Outline • What is a computer network? • Brief history and outlook of the Internet. • What are communication protocols and how do we go about studying them? • Architectural structure of the Internet. • Issues of interest with transmission media as a black box. • More about networks and links. UCSC CMPE150
What Is a Computer Network? • A communication network is a set of nodes connected by links and able to communicate with one another. • A computer network is a communication network in which nodes are computers. • The purpose of the network is to serve users, which can be humans or processes. • Network links can be point-to-point or multipoint and implemented with several transmission media. • Information exchanged can be represented in multiple media (audio, text, video, images, etc.) • Services provided to users can vary widely. UCSC CMPE150
Why Learn about Computer Networks? • Computer networks started as a means for • Distributed processing • Communicating among people (electronic mail, conferencing) • Increasing system reliability • The “web” and affordable hardware have changed this! • We are evolving into Internet-based enterprises, Internet-based home services, and an Internet society • The network will be everywhere… • Computers will be used in almost everything we build (including sensors, appliances, books, newspapers) • These computers need to be interconnected NETWORKING = COMPUTING UCSC CMPE150
Why Learn about Computer Networks? • Industry and research are wide open to innovation! • Today’s protocols are oriented to support “host-to-host” communication and assume a client-server model for services and an “open door” policy for the Internet community. • The continuing success of the Internet requires: • Person-to-person communication (voice and other media over the Internet) • Client-to-content services. • Security in the services, the infrastructure, and the clients of the Internet • Innovation required includes: • Mechanisms to “look-up” content, rather than addresses. • Protocols aimed at the new types of communication and services • Protocols that adhere to new principles of design. • Protocol stacks for nomadic users. UCSC CMPE150
Evolution of Computer Networks 1876: Telephone by A. Graham Bell 1890s: Electromagnetic telephone switches 1897: Cathode Ray Tube by K.F. Braun 1940s: Computers, error detection and retransmission 1960: RS-232 physical layer interface (the “serial port”) and modems 1960s: T-1 carrier system for telephone transmission (1.5Mbps) 1961: The Compatible Time Sharing System 1962: Paul Baran at RAND proposes packet switching 1965: Automatic equalization by Bob Lucky and others 1968: Carterfone FCC decision that led to AT&T divestiture in 1984. 1969: DARPA funds project on packet switching 1970s: Computerized switches; work on ISDN starts UCSC CMPE150
Evolution of Computer Networks 1970s: ARPANET starts (UCLA, Utah, SRI, UCSB); its technology evolved into today’s Internet 1970s: ALOHA system at U. of Hawaii; first protocol for multiple access channels; leads to Ethernet 1970s: GUI, mouse, hypertext by Doug Engelbart at SRI 1974: “A Protocol for Packet Network Interconnection,” V. Cerf and R. Kahn, IEEE Trans. Comm (May). 1980s: OSI (open system interconnection) reference model 1982: TCP/IP is deployed in ARPANET/MILNET 1984: Host table evolves into DNS in ARPANET 1984: AT&T breaks up 1986: NSFNET is created; becomes Internet backbone 1992: WWW by Tim Berners-Lee (CERN) is released; gives a GUI to the Internet 1990s: Caches and proxies helping clients access content UCSC CMPE150
Evolution of Computer Networks 1970s: CCITT publishes standards for public data networks (X.25 standards) 1980s: Token ring LANs, FDDI emerge; do not replace Ethernet 1990s: ATM evolves; does not replace IP 1990s: Internet: From 4 to 30M+ wired, published nodes in two decades 1990s: SONET (synchronous optical network) and SDH (synchronous digital hierarchy) evolve 1990s: Cellular phones, laptops, palmtops become popular 1999: Gigabit Ethernet starts, simplicity wins again. UCSC CMPE150
Evolution of Computer Networks What will happen in the 2000s?: • Ad-hoc wireless networks; self-configuring nets • Networked sensors and appliances • System-area networks (“the network is [in] the computer”) • Network-based computing: grid computing (“the computer--processing and storage--is in the network”) • Internet-to-go; deeply networked systems • IP voice, IP devices • Content routing: ISPs start to be CDNs, allow clients to obtain content based on its name from the best location • …. Networking = Computing UCSC CMPE150
What Do We Study? • We will use the Internet as our running example. • The Internet has computer hardware, software, operating systems, transmission technology, services defined over it... What is its glue? • Communication protocols implemented in software or hardware transform otherwise isolated machines into a society of computers. • Protocols specify how processes in different machines can interact to provide a given service. • Distributed algorithms are the essence of what we study. UCSC CMPE150
Communication Protocols • A set of rules governing the interaction of concurrent processes in a system. • A protocol has five parts: • The service it provides. • The assumptions about the environment where it executes, including the services it enjoys. • The vocabulary of messages used to implement it • The format of each message in the vocabulary. • The procedure rules (algorithms) guarding the consistency of message exchanges and the integrity of the service provided. UCSC CMPE150
What Do We Study Regarding Protocols? • What is a good protocol design? • Judging by their survival, Ethernet and IP are good; token ring protocols are not very good • What are good and bad aspects in a protocol? • TCP adapts to congestion, but it inherently assumes that the Internet sends packets in order. • Use representative protocols to go over these issues. • Discuss new directions in computer communication. UCSC CMPE150
What Do We Study Regarding Protocols? • We will take a quick look at the principles of computer communication. • Our principles are: • The description of a protocol has no ambiguity. • A protocol does what it is supposed to do, all the time. • A protocol does not leave any communicating party waiting forever for something to happen. • A protocol makes efficient use of available resources. • A protocol enables the use of resources fairly or according to a predefined contract. • As with most engineering topics, simplicity is important. UCSC CMPE150
Principles of Computer Communication • Protocol specification: The description of the protocol is complete and accurate. • Safety: A protocol does what it is supposed to do, all the time. • Liveness: A protocol does not leave any deadlocks. • Efficiency: A protocol makes efficient use of available resources. • Fairness: Fair or contractual use of resources • Simplicity is desirable, but not necessary. UCSC CMPE150
UTAH SRI IMP IMP IMP UCSB IMP UCLA In The Beginning There Was ARPANET 12/1/69 UCSC CMPE150
Host-Host IMP IMP HOST IMP Host-IMP IMP-IMP IMP application application The Beginnings of Protocol Layering Routing within ARPANET is transparent to hosts attaching to the ARPANET HOST UCSC CMPE150
Characteristics of ARPANET Architecture • Backbone-based: • A finite number of identifiers suffices to name the IMPs that constitute the backbone. • The backbone provides a common packet-delivery service to the backbone users. • Host-centric: • The users of the backbone are host computers. • The identifiers used to route packets to destinations are the names of the attachment points of the hosts; these are unique identifiers throughout the network. • A centralized host table can be used to map text-based host names to the numeric names. UCSC CMPE150
Internet Model • Problem: • Need to maintain the details of how packets are forwarded within and across heterogeneous networks transparent to the users (hosts) of the interconnect. • Approach: • Use a common end-to-end protocol spoken by all gateways interconnecting networks, and also by the hosts talking to gateways. UCSC CMPE150
3 NET NET A G IP IP G A@3 G G B NET NET Internet Model • Users of the interconnect are hosts. • A single address space is used to draw numeric names for networks (“3”) and hosts (“A@3”). • An end-to-end protocol (the Internet Protocol or IP) is used for delivering all user and control data, with a common definition of services. • A table is used to map people-friendly names to numeric names. UCSC CMPE150
R R R R R Internet Model G How data are forwarded within each network is transparent to IP, and IP is transparent to each network G G G UCSC CMPE150
R R R R R Internet R NSFNET: Routers inside networks also use IP. IP in every router; no need for network gateways. Names of routers are “router@net” R R R R UCSC CMPE150
ARPANET Growth (a) December 1969, (b) July 1970, (c) March 1971, (d) April 1972, (e) September 1972. UCSC CMPE150
NSFNET Topology • The NSFNET backbone in 1988. UCSC CMPE150
R R R R R R R R R Hosts: The computers running user applications (clients, servers, proxies). Routers/bridges/switches: Devices used to interconnect hosts and to forward data from source to destination host. Networks: Aggregations of hosts and routers. Linksbetween devices. Internet Elements UCSC CMPE150
protocols Internet: “network of networks” loosely hierarchical public Internet versus private intranet Internet standards RFC: Request for comments IETF: Internet Engineering Task Force What Is The Internet router workstation server mobile local ISP regional ISP company network UCSC CMPE150
Internet Example What does it take to get a page from the web? • Your client computer (client) and attached router have to be configured. • Host and router communicate with each other through a LAN or point-to-point link (PPP, CSMA/CD, 802.11, etc.). • Data is broken into “packets,” which are to be routed from client to server and from server to client over a large number of links, computers dedicated to routing, and networks (IP, ARP, ICMP, OSPF, RIP, BGP). • Host obtains the IP address of remote server from a name resolver (UDP, DNS) . • Client starts an end-to-end reliable connection with remote server (TCP). • Client and server start exchanging messages (HTTP). UCSC CMPE150
R R R R R Internet Example P P R R R R R One of many processes at one of many hosts in one of many networks communicates with another process, which is one of many processes at one of many hosts attached to one of many networks. UCSC CMPE150
Layering Model • Purpose is to divide and conquer complex software and hardware needed to implement services • Partition services and functions needed in system into layers • Each layer of service is provided by peer protocol entities • Communication can be point-to-point or multipoint Layer N packets Layer-N Protocol Entity Layer-N Protocol Entity NODE B NODE A (virtual communication) protocol interface Layer-(N - 1) Protocol Entity Layer-(N - 1) Protocol Entity UCSC CMPE150
The OSI Architecture • Proposed by the International Standards Organization • Specifies the functions at each layer, not the protocols that implement them End-user services (e.g., mail, file transfer) Formatting, encryption, compression of data Setup and management of end-to-end dialogue End-to-end delivery of messages to processes End-to-end transmissions of packets in net Transmissions of packets over a link Transmission of bits over physical media APPLICATION Web access TCP IP PPP, CSMA/CD SONET PRESENTATION SESSION TRANSPORT NETWORK LINK PHYSICAL UCSC CMPE150
Protocol Description • Specify the service to be provided by the protocol • Specify assumptions about environment • Specify vocabulary (messages) needed in the protocol • Specify the algorithms used to process and exchange information in the protocol • Specify format of messages in vocabulary • We do this only in some cases • Our specifications are informal! UCSC CMPE150
Protocol Correctness • A protocol must be safe and live • Safety: • Protocol provides the desired service all the time • Liveness: • Protocol has no deadlocks (no process waits forever for an event to occur) • Proving one may depend on the other UCSC CMPE150
Protocol Performance • Average delay • Time between transmission of an information bit and reception of the bit at the receiver • Throughput or capacity • Number of information bits sent divided by the time between transmission of first bit and delivery of the last bit • Bottlenecks • Computations will make strong assumptions; in most cases, results of analytical model provide only a rough approximation • Most effective for comparative analysis UCSC CMPE150
1,2 1,2 Basic Network Services S D All data flow along same path Connection-oriented service: • Reliable data transfer: In-order delivery, no duplicates or missing data. • Flow control: Do not congest the receiver(s). • Congestion control: Do not congest the network(s). Shared network resources UCSC CMPE150
1,2 1,2 2 2 2 1 1 1 1 Basic Network Services S D Data may take different paths to destination Connection-oriented service: • Reliable data transfer: In-order delivery, no duplicates or missing data. • Flow control: Do not congest the receiver(s). • Congestion control: Do not congest the network(s). Shared network resources UCSC CMPE150
1,2,3 2,1,2 Basic Network Services S D Connectionless service: • No delivery guarantees needed from the network. • Any connection-oriented service to application is provided by end-to-end protocol. Shared network resources UCSC CMPE150
Switching Methods S • Allocation of shared network resources to the transport of user data. • Circuit switching and packet switching are the two main types we will consider. D Shared network resources UCSC CMPE150
DATA Circuit Switching S D call request Portion of physical resource is assigned to a single connection. Delay and signaling overhead in establishing and ending connections. call accept call termination termination ack UCSC CMPE150
Multiplexing in Circuit Switching • Share a given communication channel among multiple connections. • Frequency division multiplexing (FDM): • Frequency spectrum of a link is partitioned into multiple bands, and each band is assigned to zero or one connection at any given time. • Time division multiplexing (TDM): • Time is divided into frames of fixed duration, and each frame is divided into a fixed number of time slots. A connection is assigned to a time slot, and occupies the same time slot for multiple frames. UCSC CMPE150
Example: 4 users FDM frequency time TDM frequency time FDM and TDM UCSC CMPE150
Message Switching D S message Message from sender is sent on a store-and-forward basis. Message has a header used for forwarding. Resources shared among different calls. UCSC CMPE150
D1 S1 m2 m2 m1 m1 m2 m2 m1 m1 Link is shared based on the statistics of each connection or flow. m2 m2 m1 m1 S2 D2 Statistical Multiplexing • Share the same communication channel among multiple connections without fixed allocations of the resource to those connections. Limitation: Entire message must be received at a switch before it can be forwarded UCSC CMPE150
packet 1 packet 2 packet 3 packet 4 Packet Switching D S Message from sender is broken into packets. Each packet consists of a header and a payload. Header information is used to forward packet to destination. UCSC CMPE150
forward store Packet Switching D S A packet switch stores each packet it receives and determines how to forward it based on the header information in the packet. UCSC CMPE150
packet 1 packet 2 packet 3 packet 4 Packet Switching D S Resources are shared among connections Packets from the same connection can be processed concurrently Connection setup delay can be avoided using datagrams UCSC CMPE150
Packet Switching vs Message Switching D S Processing message as packets in store-and-forward mode saves time if propagation delays are small! UCSC CMPE150
Packet Switching • Information is organized into packets • A packet consists of a header and a payload • Header specifies the control information needed to transport the packet from origin to destination • Packets are forwarded from source to destination using routing tables • There are two basic approaches to packet switching: • datagrams • virtual circuits UCSC CMPE150
a->e a->e a->e c->d c->d a->b a->e a->b a->b e 2 6 a 7 b 5 1 c 3 4 d To b go to 2 next To d go to 3 next To e go to 2 next To 4 go to 3 next …. Datagrams • Routing table specifies next hop to each destination • Packets are forwarded based on the routing table • Each packet is routed independently UCSC CMPE150
VC1 e 2 6 a 7 b 5 1 c 3 4 VC2 d VC3 Virtual Circuits • Virtual circuits are established and terminated much like circuits in circuit switching. • Statistical multiplexing using packets, rather than FDM or TDM is used to share links among connections. UCSC CMPE150
VC3 VC1 VC2 e 2 6 a 7 b 5 1 c 3 4 d For VC1 use 2 For VC2 use 3 For VC3 use 3 ... Virtual Circuits • Routing table specifies the next hop of an established VC. • Packet header specifies VC to be used for the packet. • All packets of the same VC are routed the same way. UCSC CMPE150