1 Introduction 1.1 Applications 1.2 Requirements 1.3 Network Architecture 1.4 Implementing Network Software 1.5 Performance.

Slides:



Advertisements
Similar presentations
Spring 2000CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics.
Advertisements

OSI MODEL Maninder Kaur
Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
CIS 527 Computer Networks Introduction Professor Jinhua Guo (updated version) Fall 2003.
Foundation Outline Requirements Network Architecture Implementing Network Software.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
1/20 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
Review on Networking Technologies Linda Wu (CMPT )
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Chapter 2 Network Models.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Gursharan Singh Tatla Transport Layer 16-May
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Data Communications and Networks
Network Architecture and Protocol Concepts. Network Architectures (1) The network provides one or more communication services to applications –A service.
CS 6401 Introduction to Networking Aditya Akella Outline Administrivia Networking History Statistical Multiplexing Performance Metrics.
Fall 2009COSC 6501 Welcome to COSC650 Towson University Yanggon Kim.
1 Introduction to Computer Networks Foundation Ilam University Mozafar Bag-Mohammadi.
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
Chapter 2 Network Models
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Lecture 2: Foundation.
THE OSI MODEL AND THE TCP/IP PROTOCOL SUITE CS 1202 Lectur3 part2.
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Networks QUME 185 Introduction to Computer Applications.
1 Chapter 1 Foundation Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Copyright © 2010, Elsevier Inc. All rights Reserved.
Computer Communication & Networks Lecture # 02 Nadeem Majeed Choudhary
The OSI Model An ISO (International standard Organization) that covers all aspects of network communications is the Open System Interconnection (OSI) model.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
The OSI Model.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
Computer Networks with Internet Technology William Stallings
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
First, by sending smaller individual pieces from source to destination, many different conversations can be interleaved on the network. The process.
1 Pre-Introduction What is computer network?. 2 Pre-Introduction Suppose you want to build a computer network The question is: –What available technologies.
Fall 2001CS 6401 Introduction to Networking Outline Networking History Statistical Multiplexing Performance Metrics.
Spring 2002CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
Lecture 1 Outline Statistical Multiplexing Inter-Process Communication.
Prepared by Engr.Jawad Ali BSc(Hons)Computer Systems Engineering University of Engineering and Technology Peshawar.
Network Models.
ISDS 4120 Project 1 DWAYNE CARRAL JR 3/27/15. There are seven layers which make up the OSI (Open Systems Interconnection Model) which is the model for.
1 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
Spring 2002CS 3321 Introduction Outline Statistical Multiplexing Network Architecture Performance Metrics (just a little)
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
CSE 331: Introduction to Networks and Security Fall 2000 Instructor: Carl A. Gunter Slide Set 2.
TCP/IP Protocol Suite Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
1 Overview Administrative Networking: An Overview of Ideas and Issues.
Network Models.
The OSI Model and the TCP/IP Protocol Suite
Layered Architectures
Understanding the OSI Reference Model
The OSI Model and the TCP/IP Protocol Suite
Chapter 3: Open Systems Interconnection (OSI) Model
The University of Adelaide, School of Computer Science
University of Houston Datacom II Lecture 1B Review Dr Fred L Zellner
Introduction and Foundation
The OSI Model and the TCP/IP Protocol Suite
OSI Reference Model Unit II
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Network Basics and Architectures Neil Tang 09/05/2008
Unit – III Network Essentials
Presentation transcript:

1 Introduction 1.1 Applications 1.2 Requirements 1.3 Network Architecture 1.4 Implementing Network Software 1.5 Performance

1.1 Applications  Most people know the Internet through its applications World Wide Web, , chat rooms, etc The Web presents an intuitively simple interface. Users view pages full of textual and graphical objects, click on objects that they want to learn about, and a corresponding new page appears. Each selectable object is bound to an identifier for the next page to be viewed. 2

URL  The identifier is called Uniform Resource Locator (URL)  http indicates that the HyperText Transfer Protocol should be used to download the page is the name of the machine serving the page /~llp/index.html uniquely identifies the page at this site 3

 By clicking on just one such URL, as many as 17 messages may be exchanged over the Internet 6 messages to translate the server name into its Internet address 3 messages to set up a TCP connection between your browser and this server 4 messages for your browser to send the HTTP “get” request and the server to respond with the requested page 4 message to tear down the TCP connection 4

 Another widespread application of the Internet is the delivery of “streaming” audio and video While an entire video file could first be fetched from a remote machine and then played on the local machine Stream video implies that the sender and the receiver are respectively the source and the sink for the video stream 5

Difference classes of video applications  Video-on-demand Reads a preexisting movie from disk and transmits it over the network  Videoconferencing More challenging case  It has very tight timing constraints (just as using a telephone). Too much delay makes the system unusable.  Video is flowing in both directions (interactive video) 6

VideoConferencing 7

8

9 1.2 Requirements  Building blocks  Switched networks  Addressing and routing  Multiplexing  Inter-process communication

 The expectations of a network from different perspective: An application programmer: a guarantee that each message the application sends will be delivered without error within a certain amount of time A network designer: cost-effective design A network provider: a system that is easy to administer and manage 10

11 Building Blocks  A network must provide connectivity among a set of computers  Nodes: PC, special-purpose hardware… hosts switches  Links: coax cable, optical fiber… point-to-point multiple access (a) (b)

 Indirect connectivity  Terms node  a computer or a more specialized piece of hardware network switch  a small hardware device that joins multiple computers together within one local area network (LAN)  technically, network switches operate at layer two (data link layer) of the OSI model 12

link  physical medium point-to-point  two nodes share a single physical link multiple-access  more than two nodes share a single physical link 13

14 Switched Networks two or more nodes connected by a link, or two or more networks connected by two or more nodes A network can be defined recursively as... Switched network Interconnection of networks

15 Strategies  Circuit switching original telephone network carry bit streams

 Packet switching store-and-forward messages  each node first receives a complete packet over some link  stores the packet in its internal memory  forwards the complete packet to the next node multiplex multiple flows of data over a single physical link example: Internet 16

17 Addressing and Routing  Address a set of hosts directly or indirectly connected to each other does not mean that host-to-host connectivity is provided successful. byte-string that identifies a node usually unique (IP address, MAC address)

18 Addressing and Routing  Switches, Router and Gateways Used if the sending and receiving nodes are not directly connected  Routing process of how to forward messages to the destination node based on its address

 Types of address unicast: node-specific broadcast: all nodes on the network multicast: some subset of nodes on the network 19

 IP address (Internet Protocol address) a unique address that certain electronic devices use in order to identify and communicate with each other on a computer network utilizing the Internet Protocol standard (IP)—in simpler terms, a computer address any participating network device—including routers, computers, servers, printers, Internet fax machines, and some telephones—can have their own unique address example:

 MAC address (Media Access Control address) a MAC address or EHA (Ethernet Hardware Address) or hardware address or adapter address is a quasi-unique identifier attached to most network adapters (NICs) a number that acts like a name for a particular network adapter, so, e.g., the network cards (or built-in network adapters) in two different computers will have different names, or MAC addresses 8:0:2b:e4:b1:2 8:0:20:xx:xx:xx (AMD) 21

22 Multiplexing  How do several hosts share the same link when they all want to use it at the same time  Multiplexing: a system resource is shared among multiple users: ex, CPU

 three flows of data (L1 to R1 and so on)  multiplexed onto a single physical link by switch 1  demultiplexed back into separate flows by switch 2 23 Multiplexing multiple logical flows over a single physical link

24  Synchronous Time-Division Multiplexing (STDM) divide time into equal-sized quanta, and in a round- robin fashion, give each flow a chance to send its data over the physical link

 Frequency-Division Multiplexing (FDM) transmit each flow over the physical link at a different frequency e.g. signals for different TV stations are transmitted at a different frequency on a physical cable TV link 25

Drawbacks  if one of the flows (host pairs) does not have any data to send, its share of the physical link (ie, time quantum or frequency) remains idle  both STDM and FDM are limited to situations in which the maximum number of flows is fixed and known ahead of time. 26

Statistical Multiplexing  Time-division & interleaved the physical link is shared over time (time-division) - first data from one flow is transmitted over the physical link, then data from another flow is transmitted, and so on (interleaved) 27

 On-demand data is transmitted from each flow on demand rather than during a predetermined time slot if only one flow has data to send, it gets to transmit that data without waiting for its quantum to come around and thus without having to watch the quanta assigned to the other flows go by unused this avoidance of idle time gives packet switching its efficiency 28

 Schedule link on a per-packet basis once a flow begins sending data, we need some way to limit the transmission, so that the other flows can have a turn an upper bound on the size of the block of data (packet) is defined that each flow is permitted to transmit at a given time the source may need to fragment the message into several packets, with the receiver reassembling the packets back into the original message 29

each flow sends a sequence of packets over the physical link, with a decision made on a packet-by- packet basis as to which flow’s packet to send next if only one flow has data to send, then it can send a sequence of packets back-to-back should more than one of the flows have data to send, then their packets are interleaved on the link 30

 Scheduling methods FIFO (First-In-First-Out)  a fair scheduling method RR (Round-Robin)  transmit the packets from each of the different flows that are currently sending data  ensure that certain flows receive a particular share of the link bandwidth or that they never have their packets delayed in the switch for more than a certain length of time 31

QoS (Quality of Service)  a network that attempts to allocate bandwidth to particular flows according service priorities  a topic in Ch. 6 32

 Congested in the following figure, the switch has to multiplex three incoming packet streams onto one outgoing link it is possible that the switch will receive packets faster than the shared link can accommodate in this case, the switch is forced to buffer these packets in its memory should a switch receive packets faster than it can send them for an extended period of time, then the switch will eventually run out of buffer space, and some packets will have to be dropped 33 ■ ■ ■■ ■ ■

34 when a switch is operating in this state, it is said to be congested ■ ■ ■■ ■ ■ A switch multiplexing packets from multiple sources onto one shared link

35 Inter-Process Communication  Turn host-to-host connectivity into process-to- process communication  Fill gap between what applications expect and what the underlying technology provides Processes communicating over an abstract channel

 Figure cloud: abstractly represent connectivity among a set of computers channel: connect one process to another view the network as providing logical channels over which application-level processes can communicate with each other, each channel provides the set of services required by that application 36

Challenge  what functionality the channels should provide to application programs does the application require a guarantee that messages sent over the channel are delivered is it necessary that messages arrive at the recipient process in the same order does the network need to ensure that no third parties are able to eavesdrop on the channel  a network provides a variety of different types of channels, with each application selecting the type that best meets its needs 37

38 Types of Communication Channels  Request/reply channel applications  file transfer  digital library delivery  guarantee every message sent by one side is received by the other side and that only one copy of each message is delivered

privacy and integrity  might protect the privacy and integrity of the data that flows over it  unauthorized parties cannot read or modify the data being exchanged between the client and server processes 39

 Message stream channel applications  video-on-demand  videoconferencing delivery  might not need to guarantee that all messages are delivered, since a video application can operate adequately even if some video frames are not received 40

sequence  need to ensure the messages are delivered arrive in the same order in which they were sent, to avoid displaying frames out of sequence privacy and integrity  might want to ensure the privacy aid integrity of the video data  might need to support multicast, so that multiple parties can participate in the teleconference or view the video 41

42 Reliability  Reliable message delivery is one of the most important functions that a network can provide  The computer networks do not exist in a perfect world Machines cash, fibers cut, packets lost, …etc  a major requirement of a network is to recover from certain kinds of failures so that application programs don’t have to deal with them, or even be aware of them  there are three general classes of failure that network designers have to worry about

43  Bit-level errors as a packet is transmitted over a physical link, a “1” is turned into a “0” or vice versa bit errors  single bit is corrupted burst errors  consecutive bits are corrupted causes (outside forces of electrical interference)  lightning strikes, power surges, and microwave ovens, etc. interfere with the transmission of data

bit error rate  one out of every 10 6 to 10 7 bits on a typical copper- based cable  one out of every to bits on a typical optical fiber  there are techniques that detect these bit errors with high probability sometimes it is possible to correct for such errors sometimes it is necessary to discard the entire packet (when damage is too bad) 44

 Packet-level errors the failure is at the packet level, rather than the bit level a complete packet is lost by the network the packet contains an uncorrectable bit error and therefore has to be discarded 45

causes  one of the nodes that has to handle the packet, e.g., a switch that is forwarding it from one link to another, is so overloaded that it has no place to store the packet, and therefore is forced to drop it (congestion)  the software running on one of the nodes that handles the packet makes a mistake (ie., incorrectly forward a packet) main difficulty  distinguish between a packet lost and late arriving 46

 Node and Link level failures a physical link is cut or the computer it is connected to crashes causes  software crashes, power failure, misconfiguration of a network device sometimes route around a failed node or link is possible difficulty  distinguish between a failed computer and one that is merely slow 47

 Others messages are delayed messages are deliver out-of-order third parties eavesdrop 48

Network Architecture  a computer network must provide general, cost effective, and robust connectivity among a large number of computers  network designers have developed general blueprints—network architectures—that guide the design and implementation of networks

Layering  When a system gets complex, the system designer introduces another level of abstraction  Abstraction defines a unifying model that can capture some important aspect of the system encapsulate this model in an object that provides an interface that can be manipulated by other components of the system hide the details of how the object is implemented from the users of the object 50

 we will use abstractions to hide complexity of the network from application writers  Abstractions naturally lead to layering start with the services offered by the underlying hardware add a sequence of layers, each providing a higher (more abstract) level of service the services provided at the high layers are implemented in terms of the services provided by the low layers 51

 imagine a simple network as having two layers of abstraction Host-to-host connectivity  abstracting away the fact that there may be an arbitrarily complex network topology between any two hosts process-to-process channels  builds on the available host-to-host communication service  abstracting away the fact that the network occasionally loses messages 52 Example of a layer network system

 layering provides two nice features it decompose the problem of building a network into more manageable components  can implement several layers and each of which solves one part of the problem it provides more modular design  when we want to add some new service need only to modify the functionality at one layer reusing the functions provided at all the other layers 53

 Many times there are multiple abstractions provided at any given level of the system  Each provides a different service to the higher layers but builds on the same low-lever abstractions One provides a request/reply service and one supports a message stream service at the same process-to-process channel 54 Layered system with alternative abstractions available at a given layer

Protocols  Protocol the abstract objects that make up the layers of a network system used to provide a communication service that higher-level objects (e.g. application processes, higher-level protocols) use to exchange messages  e.g. request/reply protocol, message stream protocol building blocks of a network architecture 55

56  Each protocol object defines two different interfaces service interface  defines a service interface to the other objects on the same computer that want to use its communication services  defines the operations that local objects can perform on this protocol

 examples a request/reply protocol would support operations by which an application can send and receive messages an implementation of the HTTP protocol could support an operation to fetch a page of hypertext from a remote server an application such as a web browser would invoke such an operation whenever the browser needs to obtain a new page 57

peer-to-peer interface  defines a peer interface to its counterpart (peer) on another machine  defines the form and meaning of messages exchanged between protocol peers 58

 examples, in the case of HTTP, the protocol specification defines in detail how a "GET" command is formatted what arguments can be used with the command how a web server should respond when it receives such a command 59

summary: a protocol defines  a communication service that it exports locally (the service interface)  a set of rules governing the messages that the protocol exchanges with its peer(s) to implement this service (the peer interface) 60

61 Service and peer interfaces

Protocol Machinery  Peer-to-peer is direct only at hardware level  Most peer-to-peer communication is indirect each protocol communicates with its peer by passing messages to some lower-level protocol, which in turn delivers the message to its peer  Protocol graph there are potentially multiple protocols at any given level, each providing a different communication service protocol graph represents the suite of protocols that make up a network system 62

63  Example of a protocol graph Host 1Host 2 File application Digital library application Video application File application Digital library application Video application nodes : protocols edges : “depends on” relations

process-to-process channels  RRP: Request Reply Protocol  MSP: Message Stream Protocol host-to-host protocol (provides a host to host connectivity service)  HHP: Host-to-Host Protocol 64

hardware level  peers directly communicate with each other over a link the applications are said to employ the services of the protocol stack RRP/HHP or MSP/HHP 65

Encapsulation (header/body) 66 Host Application program Application program RRP Data HHP RRP HHP Application program Application program RRP Data HHP RRP Data High-level messages are encapsulated inside of low-level messages

 Operation flow host1  application sends a message to its peer by passing the message to protocol RRP (uninterpreted) RRP  communicates control info to its peer, instructing it how to handle the message when it is received  attaches a “header” to the message 67

header  a small data structure - from a few bytes to a few dozen bytes  usually attached to the front of a message body (or payload)  the rest of the message data  application data is “encapsulated” in the new message created by protocol RRP 68

encapsulation  high-level messages are encapsulated inside of low- level messages  the process of encapsulation is repeated at each level of the protocol graph inspection & process  nodes in the network (e.g., switches and routers) may inspect the HHP header at the front of the message 69

 It is sometimes the case that the low-level protocol applies some simple transformation to the data it is given, such as to compress or encrypt it 70

Multiplexing and Demultiplexing  A 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  The header that RRP attaches to its messages contains an identifier that records the application to which the message belongs  We call this identifier RRP’s demultiplexing key, or demux key 71

 Source host at the source host, RRP includes the appropriate demux key in its header  Destination host when the message is delivered to RRP on the destination host, it  strips its header  examines the demux key  demultiplexes the message to the correct application 72