1 / 76

CMPE 150: Introduction to Computer Networks

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.

felix-combs
Télécharger la présentation

CMPE 150: Introduction to Computer Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. CMPE 150: Introduction to Computer NetworksLECTURE 1: Introduction and Background UCSC CMPE150

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. UTAH SRI IMP IMP IMP UCSB IMP UCLA In The Beginning There Was ARPANET 12/1/69 UCSC CMPE150

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. ARPANET Growth (a) December 1969, (b) July 1970, (c) March 1971, (d) April 1972, (e) September 1972. UCSC CMPE150

  24. NSFNET Topology • The NSFNET backbone in 1988. UCSC CMPE150

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. Example: 4 users FDM frequency time TDM frequency time FDM and TDM UCSC CMPE150

  41. 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

  42. 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

  43. 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

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

More Related