1 / 109

COM 360

COM 360. Chapter 1. Foundation. Building a Network. What available technologies would be the building blocks ? What software architecture would you design to integrate these building blocks into an effective communication service? Which has the potential to grow to global proportions,

yestin
Télécharger la présentation

COM 360

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

  2. Chapter 1 Foundation

  3. Building a Network • What available technologies would be the building blocks ? • What software architecture would you design to integrate these building blocks into an effective communication service? • Which has the potential • to grow to global proportions, • to support diverse applications • such as teleconferencing, • video-on demand, • electronic commerce, • distributed computing and • digital libraries? • Answering this question is our goal.

  4. What distinguishes a computer network from other networks? • At one time a network meant serial lines used to attach dumb terminals to mainframes. • To others it is a voice telephone network, or the cable network used to disseminate video signals. • Each of these is specialized to handle one particular kind of data (keystrokes, voice, video)

  5. What distinguishes a computer network from other networks? • Most important characteristic of a computer network is its generality: • Built from general-purpose programmable hardware • Is able to carry many different types of data • Supports a wide, every growing range of applications

  6. Understanding How to Build a Network Explores: • The requirements that different people and applications place on a network • The network architecture that lays the foundation • The key elements in the implementation of computer networks • The key metrics that are used to evaluate the performance of networks.

  7. Applications • Most people know the Internet through its applications: • World Wide Web • Email • Streaming Audio and Video • Chat Rooms • Music and File Sharing

  8. World Wide Web • The web presents an intuitively simple interface. • Users view pages of text and graphics, click on objects and another page appears. • Each page is bound to an identifier or Uniform Resource Locator (URL) which uniquely names the page. ( For example, http://www.mkp.com/pd4e ) • Most are unaware that by clicking on the URL as many as 17 messages are sent across the Internet to translate the server name, set up the TCP connection, get the HTTP request, respond with the requested page, and to tear down the connection. ( See p.4)

  9. Streaming Audio and Video • Video files can be fetched like web pages, this involves waiting. • Streaming video implies a source that generates a stream (using a video capture card), sends it across the Internet in messages, and then the sink displays it. • Video is not an application, it is a type of data. Video-on-demand, which reads from an existing disk and transmits it over a network. Another application is videoconferencing, which has tight time constraints and is bi-directional.

  10. Videoconferencing The Unix vic video application

  11. Videoconferencing Tools • Suite of tools developed at Lawrence Berkeley Laboratory and UC Berkeley: • vic for videoconferencing • wb - a whiteboard application to send sketches and slides to each other • vat - a visual audio tool • sdr – a session directory, used to create and advertise videoconferences. • These are all freely available for Unix systems.

  12. Requirements • Need to identify the set of constraints and requirements that influence the design, and which depend on your perspective: • Application programmer - needs services such as a guarantee of delivery without error • Network designer - requires cost effective design, efficient utilization, and fair allocation. • Network Provider - wants a system that is easy to administer and manage, in which faults can be isolated, and where usage can be accounted for.

  13. Connectivity • A network must provide connectivity among a set of computers. • Sometimes limited in size connecting only a few machine • Private and corporate are often limited for reasons of security. • Other networks (like the Internet) are designed to grow in a way to potentially connect all computers in the world. • A system designed to support growth to an arbitrarily large size is said to scale.

  14. Links, Nodes and Clouds • Network connectivity occurs at different levels. • A network can consist of 2 or more computers connected by a physical medium (coaxial cable or optical fiber) called a link. • The computers it connects are callednodes. • Pairs of links are calledpoint-to-point. • More than two nodes which share a physical link are calledmultiple access.

  15. (a) (b) Direct links Point-to-point Multiple access - often limited in size

  16. Links, Nodes and Clouds • If computers networks were limited to situations where all nodes were directly connected to each other, the networks would be very limited or the wires would become both unmanageable and very expensive. • Connectivity does not always require a direct physical connection – indirect connectivity may be achieved among a set of cooperating nodes.

  17. Links, Nodes and Clouds Switch A Switched Network

  18. Links, Nodes and Clouds • In a switched network, there are nodes that run software, which forwards data received on one link, out onto another. • Circuit switched - used by the phone company • Packet switched – used by computer networks • Packet switched networks send discrete blocks of data (file, email message, image) and use a store and forward protocol.

  19. Links, Nodes and Clouds The clouds separate the nodes (switches) that implement the network from those nodes on the outside that use the network

  20. More Indirect Connections • A set of independent networks (clouds) can also be indirectly connected to form an internetwork or internet. • A node connected to 2 or more networks is called a router or gateway and acts like a switch to forward messages from one network to another. • We can recursively build arbitrarily large networks by interconnecting clouds to form larger clouds.

  21. Addressing • Just connecting hosts does not provide connectivity. Each node must be able to specify the node it wants to communicate with. This is done by assigning an address to each node. • An address is a byte string that identifies a node. • The process of determining how to forward messages toward the destination is called routing. • Networks must support sending messages to one node (unicast), to some subset (multicast) or to all (broadcast) and must support all these forms of addressing.

  22. Kinds of Networks According to size: • SANs ( System Area Networks) –single room, connect components of large system- because they sometimes connect massively parallel systems to storage servers, called storage area networks • LANs ( Local Area Networks) < 1 km, mile • MANs ( Metropolitan Area Networks) -miles • WANs ( Wide Area Networks) – worldwide – (original type of network)

  23. Multiplexing Multiplexing logical flows over a single physical link

  24. Cost-Effective Resource Sharing • Multiplexing –system resource is shared among multiple users • Synchronous Time-Division multiplexing (STDM) • Divides time into equal size quanta and in round robin order gives each system a chance to send data • Frequency-Division Multiplexing (FDM) • Transmits at different frequencies (like TV channels) • Statistical Multiplexing – most efficient • Transmits like STDM, except on demand, without wasted cycles • Uses a limited size block called a packet

  25. ■ ■ ■ Switches A switch multiplexing packets from multiple sources onto a single shared line

  26. Switching • Deciding which packet to send next can be made in a number of different ways: • By switch in a packet switched network • First-in-first-out ( FIFO) • Round robin (as in STDM) -fair, ensures certain share of bandwidth, supports Quality of Service ( QoS) • When switch receives packets faster that it can transmit them it, it may run out of buffer space and is said to be congested.

  27. Support for Common Services • Applications must be able to communicate in a meaningful way. • Challenge is to identify the right set of services. • Goal is to hide the complexity of the network, without constraining the application designer.

  28. Channels Processes communicating over an abstract channel

  29. Channels • Network provides logical channels over which application level processes can communicate with each other. • Think of a channel as a “pipe” connecting applications. • Determine the functionality that the channel should provide: guaranteed delivery, correct sequence, encrypted and secure, etc.

  30. Common Communication Patterns • FTP – File Transfer Protocol • NFS – Network File System • Requires a pair of processes • Client – requests access to a server • Server process that supports access to the file • Reading – client sends a request message and the server responds with a large message containing data. • Writing –client sends large data message and server responds, confirming the write to disk • A Digital library works in similar manner

  31. Common Communication Patterns • Types of channels may be used together: • Request/reply channels for file transfer and digital library applications – to guarantee that only one copy of the message was sent and received, and to protect privacy • Message /stream channel- used by video-on-demand and videoconferencing could support one and two way traffic, and support different delay properties. • New types of channels will continue to be designed

  32. Channel Functionality • What functionality channel provides • Where that functionality is implemented • Often seen as a “bit-pipe with high level semantics provided at the end hosts ( keeps the network simple) • Alternative is to push functionality onto switches, allowing hosts to be “dumb” devices

  33. Reliability • Reliable message delivery is one of the most important functions that a network provides. • Major requirement of a network is to hide failures and make it appear reliable. • Classes of failure • Bit errors, burst errors • Packet loss • Node or link level failure (computer crash)

  34. Network Architecture • Networks must provide general, cost-effective, fair, robust connectivity among a large number of computers. • These networks must evolve over time to accommodate changes in technologies and applications. • General blueprints, called a network architecture, guide the design and implementation of a network.

  35. Layering and Protocols • When system gets complex • Define unifying model that captures and important aspect of the system, • Encapsulates this model in an object that provides an interface • And hides the details of how the object is implemented from the users • We provide an abstraction for applications that hide the complexity of the network from application writers.

  36. Layering and Protocols • Abstractions lead to layering, since you start with the services offered by the hardware, and then add layers, each providing a more abstract (higher) level of services. • High level services are implemented in terms of low layers. • Layering provides two features: • It decomposes the problem of building a network into more manageable components. • It provides a more modular design.

  37. Layered Networks The service offered by a higher layer is implemented by a lower layer

  38. Layered Networks Sometimes there are multiple abstraction provided by a level, Providing different services and building on the same lower level. Layered system with alternative abstractions

  39. Protocols • The abstract objects that make up the layers of of a network system are called protocols. • A protocol provides a communication service that higher level objects use to exchange messages. • Each protocol defines two interfaces: • A service interface to other objects that defines operations that local objects can perform. • A peer interface to its counterpart (peer) on another machine, that defines the form and meaning of messages exchanged between protocol peers.

  40. Services and Peer Interfaces

  41. Protocols • In other words, a protocol defines a communication service that it exports locally, along with a set of rules governing the messages that the protocol exchanges with its peers. • Simply a protocol is a set of rules, governing communication on a network.

  42. Protocol Graph • Except at hardware level where peers communicate directly, peer-to-peer communication is indirect- peers pass messages to a lower level protocol, which then delivers it to its peer. • Represent the suite of protocols that make up a network system with a protocol graph. • The nodes correspond to protocols • The edges represent a depends-on relation

  43. Host 1 Host 2 Digital Digital Video Video File File library library application application application application application application Protocol Graph To send a message to host2 using protocol RRP (Request/Reply Protocol), invoke HHP (Host-to-Host Protocol 0, which transmits message to its peer on host2. HHP passes it to RRP and then to the file application.

  44. Protocols • “Protocol” used in two different ways: • Abstract interfaces – the operation defined by the service interface and the form and meaning of the messages between peers. ( Usually called the protocol specification.) • Module that actually implements these two interfaces.

  45. Protocols and Network Architecture • Standardization bodies establish policies for protocol graphs: • ISO – International Standards Organization • IETF –Internet Engineering Task Force • Set of rules governing the form and content of a protocol graph is called a Network Architecture.

  46. Encapsulation • When a message is sent ( such as from the RRP (Request/Reply Protocol) to the HHP (Host-To-Host Protocol) it is sent as a string of bytes. • RRP must communicate to its peer, how to handle the information. It attaches a header with control information. • The data being transmitted is called the body or payload. • We say that the data is encapsulated in the new message.

  47. Host Host Application Application Application Application program program program program Data Data RRP RRP RRP Data RRP Data HHP HHP HHP RRP Data Message Encapsulation High-level messages encapsulated inside low-level messages

  48. Multiplexing and Demultiplexing • Fundamental idea of packet switching is to multiplex multiple flows of data over a single physical link. • The same idea applies up and down the protocol graph. • We can think of RRP as implementing a logical communication channel with messages from 2 applications multiplexed, and then demultiplexed at the host ( using a demux key).

  49. OSI Architecture • The ISO was one of the first organizations to formally define a common way to connect computers. • The Open Systems Interconnect (OSI) partitions a network into 7 layers, where one or more protocols implement the functionality assigned to each layer. • It is a reference model for a protocol graph

  50. OSI Architecture • A second standards organization, the International Telecommunications Union (ITU), publishes a set of protocol specifications based on the OSI architecture and called the”X dot” series since the networks have names like X.25, X.400, etc.

More Related