Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Slides:



Advertisements
Similar presentations
Introduction 2 1: Introduction.
Advertisements

Spring 2000CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics.
Spring 2003CS 4611 Introduction, Continued COS 461.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
Network Architectures Professor Jinhua Guo CIS 527 Fall 2002.
5: DataLink Layer5-1 Asynchronous Transfer Mode: ATM r 1990’s/00 standard for high-speed (155Mbps to 622 Mbps and higher) Broadband Integrated Service.
James 1:5 If any of you lacks wisdom, he should ask God, who gives generously to all without finding fault, and it will be given to him.
 Readings: Peterson & Davie, Chapter 1.  “We reject kings, presidents, and voting. We believe in rough consensus and running code.”
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
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.
Spring 2003CS 4611 Welcome to COS 461 Vivek Pai. Spring 2003CS 4612 Mechanics First time teaching 461 –But have been doing some level of networking for.
Semester Copyright USM EEE442 Computer Networks Introduction: Protocols En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK)
1/20 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
Review on Networking Technologies Linda Wu (CMPT )
Chapter 2 Network Models.
 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 Networking
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
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.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
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.
Chapter 2 – X.25, Frame Relay & ATM. Switched Network Stations are not connected together necessarily by a single link Stations are typically far apart.
1 Chapter 1 Foundation Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Copyright © 2010, Elsevier Inc. All rights Reserved.
1 Chapter 1 OSI Architecture The OSI 7-layer Model OSI – Open Systems Interconnection.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
RSC Part I: Introduction Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to.
William Stallings Data and Computer Communications 7 th Edition Chapter 1 Data Communications and Networks Overview.
Ch 1. Computer Networks and the Internet Myungchul Kim
Computer Networks with Internet Technology William Stallings
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
William Stallings Data and Computer Communications
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.
Requirements Connectivity Resource Sharing Support for Common Services Performance.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
Ch 1. Computer Networks and the Internet Myungchul Kim
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.
Performance Metrics & Network Architectures Professor Jinhua Guo CIS 427 Winter 2003.
CSE 331: Introduction to Networks and Security Fall 2000 Instructor: Carl A. Gunter Slide Set 2.
CSE331: Introduction to Networks and Security Lecture 2 Fall 2002.
CS380 Intro. to Comp. Networks Introduction & Foundation1 Introduction and Foundation.
Roadmap  Introduction to Basics  Computer Network – Components | Classification  Internet  Clients and Servers  Network Models  Protocol Layers.
The University of Adelaide, School of Computer Science
Process-to-Process Delivery:
University of Houston Datacom II Lecture 1B Review Dr Fred L Zellner
Introduction to Computer Networks
Introduction and Foundation
Introduction and Foundation
Network Basics and Architectures Neil Tang 09/05/2008
Presentation transcript:

Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier. 1st step is to identify the constraints and requirements that influence network design.

2 Perspective It is important to understand the expectations one has of a network depending on your perspective Network users: services that their applications need, e.g., guarantee that each message it sends will be delivered without error within a certain amount of time Network designers: cost-effective design e.g., network resources are efficiently utilized and fairly allocated to different users Network providers: system that is easy to administer and manage e.g., faults can be easily isolated and it is easy to account for usage This section attempts to distill these different perspectives into a high-level introduction to the major considerations that drive network design and, in doing so, identify challenges addressed throughout the book.

Connectivity Building Blocks A network must provide connectivity among computers. –a few select machines (private corporate networks). privacy, security concerns –potentially all computers in world (e.g., the Internet). growth concerns (challenge of scalability to arbitrary size) Network connectivity occurs at many levels Link: physical medium directly connecting computers(coax, fiber) 2 computers: point-to-point (pp links) link. more than 2 computers: multiple-access link. limited size (geographically & #nodes) or unlimited (satellite nets) Node: a computers (other device?) linked by network. –indirect connections among sets of cooperating nodes possible –(without a complete set of direct physical connections)

4 Strategies Node in a set of nodes can be connected to 1 or more links –Those attached to  2 run software to forward data from 1 to next CIRCUIT SWITCHED networks (carry bit streams, e.g., telephony networks) circuit-switched net establishes dedicated circuit across a sequence of links, allows source to send a stream of bits. PACKET SWITCHED (store-and-forward, vast majority eg, Internet) –nodes send discrete data blocks (frames/packet/messages) –Use "store and forward" strategy, typically: Each nodes receives an entire packet, stores it in its internal memory, forwards complete packet to the next node.

5 Switched Networks A network = 2 or more nodes connected by links (and a network is the simples internet An "internet“ consists of 2 or more networks/internets. Signified by links interconnecting clouds. The nodes on these links are called routers or gateways Nodes can be inside the network (switches, routers, gateways) or outside the network (hosts) A cloud is used for any type of net (pt-to-pt or multiple access) A generic internet (connected group of networks) will be in lower case while the currently operational TCP/IP Internet will be indicated in upper case. internetworking can be recursed to any number of levels.

6 Addressing and Routing Internetworking requires "addressing" so communication can take place. –Address: identifies a node –Routing: systematic determination of how to forward a message to destination node, based on its address (unicast assumed here) Types of addresses –unicast: specific node on a network/internet –broadcast: all nodes on a network/internet –multicast: some subset of the nodes on a network/internet

7 Multiplexing (multiple users sharing a system resource concurrently) Cost-effective Resource Sharing Packet Switching used in computer networks –In circuit switching, when no data is being sent, "circuit” cannot be used by another source-destination pair). –Collection of nodes indirectly connected by nesting of neworks, node pairs may send messages concurrently across a link. Time-Division Multiplexing (TDM) –divide time into equal quanta, round-robin among flows. Frequency-Division Multiplexing (FDM) (transmit flows over different frequencies) L1 L2 L3 R1 R2 R3 Switch 1Switch 2

8 Statistical Multiplexing (SM) (in TDM and FDM, if a flow has nothing to send, resource is wasted over that time or frequency) SM Time-division, but on demand, not fixed. –Reschedule link on a per-packet basis –Packets of different sources interleaved on link –Buffer packets that are contending for the link –Packet queue processed FIFO/priority –Buffer overflow is called congestion Physical link shared over time (like TDM) but data transmitted on demand, not during predetermined time slots. Flow gets to transmit without waiting (if it's the only flow with data) and it avoids idle time. How does SM ensure each flow gets a turn? (Upper bound packet size, rather than arbitrary sized message) - may require "segmentation/reassembly (SAR) Decision made on packet by packet basis as to which flow sends if >= 1 flow has data, packets are interleaved (usually FIFO, RoundRobin) QoS can be requested (max packet delay, etc.) –Buffers needed when switch gets packets faster than it can send. –When buffers fill up (switch congested) some packets must be dropped.

WDM and DWDM DWDM (Dense Wave Division Multiplexing) uses greater wavelength packing densities to multiplex more optical signals over one fiber. Passive bandpass filter Optical fiber WDM

10 Inter-Process Communication One option One option: application designers build all functionality into applications. Better option: implement "common services", for application designer’s use. Challenge for network designers is to identify the right set of services which hide complexity without over-constraining designer. Think of logical process channels as providing communication services: guaranteed message-delivery/correct-ordering & secure communication (no eavesdropping) Turn host-to-host connectivity into process-to-process communication. Fill gap between what apps expect and what underlying technology provides. Think of the net as more than a delivery system of packets between computers. Think of it as providing names for sets of applic-processes to communicate over network. Host Application Host Application Host Channel

11 IPC Abstractions Remote File Access - 1 of the earliest application classes (FTP, NFS, …) Client (request file be sent) Server (honors request) model is used. remote reading: client sends small "request"; server sends large "file". remote writing: client sends large "file"; server sends small "ack". Another class of applications is video over the net (VOD, video-conferencing) Two types of channels (IPC entities) might be provided for these applications, Request/Reply (for files) (guarantee delivery, protect privacy/integrity..) Message-stream (for video) (order-preserve, privacy/integrity protecting, supporting multicasting.

12 What Can Go Wrong in the Network? Bit-level errors –single bits, burst errors (several consecutive bits) –fairly rare (every 10^6 bits on copper; 10^13 on optical) –there are detection/correction techniques. Packet-level errors (e.g., due to congestion and packet dropping?, error?) –(packet lost/discarded due to congested switch or routing error) Link and node failures Messages are delayed Messages are deliver out-of-order Third parties eavesdrop Key problem is to fill in the gap between what applications expect and what underlying technology provides.

13 Bandwidth # of bits per second that can be sent. Latency (delay) Time to send message from point A to point B Example: 24 ms across this continent on fiber Sometimes interested in round-trip time (RTT) –E.g., in Request/Reply mode. Components of latency Latency = Propagation + Transmit + Queue Propagation = Distance / SpeedOfLight Transmit = Size / Bandwidth –amount of time it takes to transmit a unit of data. –delay from when 1st bit of data arrives at dest. of link[channel] until last bit arrives link[channel] Queue latency (delays in switch and send queues - none for links)

14 Speed of light 3.0 x 10 8 meters/second in a vacuum 2.3 x 10 8 meters/second in a cable 2.0 x 10 8 meters/second in a fiber –no queuing delays in direct link –bandwidth not relevant if Size = 1 bit –process-to-process latency includes software overhead –software overhead can dominate when Distance is small –Terminology: NAME: Deka Hecto Kilo Mega Giga Tera Peta Exa Power of 10: NAME: Deci Centi Milli Micro Nano Pico Femto Atto Power of 10: Bandwidth versus Latency (relative importance) If you’re sending 1 byte, propagation latency dominates - Big difference between 1 ms latency and 100 ms - Bandwidth is immaterial (1 Mbps / 1000 Mbps??) If you’re sending 500 MB, bandwidth dominates - Big difference: at 1 Mbps (500 sec transmit delay) or 1 Gbps (500 msec transmit delay) - Prop latency is less material (1msec / 100 msec)

15 Delay x Bandwidth Product Delay x Bandwidth Product is often useful –Example: 100ms x 45Mbps ~= 562KB –#bits held by pipe at one time. (Bandwidth ~ # bits/meter) Whereas, delay ~ length of pipe in meters (or sec, since speed light is constant –#bits a source must send before 1st bit appears at dest.

Network Architecture (general blueprint for design/implementation) The 2 most common architectures are Open Systems Interconnection (OSI) and Internet. Layering and Protocols –When a system gets complex, designers use levels of abstraction encapsulation that provides an interface for higher layers, hides details of how the layer is implemented. Challenge: identify abstractions that provides useful services and can be easily implemented in the underlying system. Services provided at higher layers are implemented in terms of services provided at lower layers. E.g., Application Programs layer –Process-Process layer (AKA channels) –Host-Host layer (links) –Underlying Hardware layer

17 Layering Use abstractions to hide complexity Abstraction naturally leads to layering Can have alternative abstractions at each layer Types of process-to-process “channels” -->

Protocol Provides communication service that higher-layer objects use to exchange messages. Protocols have: –Service-interface used by objects to specify communication services (e.g., request/reply versus message-stream are protocol options for process-to-process channels) –Peer-interface to protocol’s counterpart (peer) on another machine (Note, except at the hardware level where peers communicate directly over a link, peer-to-peer communication is indirect (each protocol communicates with a peer by passing messages to some lower level protocol...)

19 Protocols Net architecture bldg blocks – 2 interfaces: –service interface: operations on this protocol –peer-to-peer interface: messages exchanged with peers Host 1 Protocol Host 2 Protocol High-level object High-level object Service interface Peer-to-peer interface

20 Protocol Machinery Protocol Graph (Represents protocol levels in a hierarchical diagram) The simple example we have used so far has 4 layers: Application programs Process-Process layer (transport); AKA, channels with either Request/Reply or Message Passing protocol Host-Host layer (data link) 3 Protocols: –RRP = Request/Reply Protocol –MSP = Message Stream Protocol –HHP = Host-to-host Protocol E.g., A File application uses RRP/HHP protocol stack. File application Digital library application Video application RRPMSP HHP Host 1 File application Digital library application Video application RRPMSP HHP Host 2

21 Encapsulation (header/body) –RRP, for example, treats application message as string of bytes (or bits). –It doesn’t care what the message is, just where it goes and with what QoS (this info is header info). –Therefore the payload (body) is "encapsulated". –Encapsulation is repeated at each level (and header info from lower level becomes part of payload for next level). –Multiplexing may occur at each level also. RRPDataHHP Application program Application program Host 1Host 2 Data RRP Data HHP Data RRP Data HHP

22 Standard Architectures (Standards bodies define layers) Open Systems Interconnect(OSI) Architecture –of the International Standards Organization (ISO) So “OSI ISO architecture” –International Telecom Union (ITU); formerly CCITT European –“X dot” series: X.25, X.400, X.500 IEEE

23 ISO OSI Architecture ISO was one of the 1st to formally define a connectivity standard for computers (OSI) OSI partitions network functionality into 7 layers with 1 or more protocols implementing each layer. Lower 3 implemented on all network nodes (both switches and hosts) Physical: transmits of raw bits over a physical link Data Link: collects stream of bits into a larger aggregates (called frames ) - makes it a "data link" not just a physical link - Network-adapters (hardware) and device-drivers (software typically involved here. Network: routing among nodes ( packet switching) implements host-host link using eg, IP-adr Next 4 layers run on hosts. (Session and Presentation layers are fuzzy and little used!) Transport: implements process-to-process channel using e.g., ( IP-addr, port-# ) - Provides end-end network-independent message transport services to processes Session: ties together different streams in same appl (eg, audio, video, data in a teleconf. Appl) Presentation: resolves data format differences (16/32/64 bit int., etc.) Application: applications ( sockets are most common API) Application Presentation Session Transport End host One or more nodes within the network Network Data link Physical Network Data link Physical Network Data link Physical Application Presentation Session Transport End host Network Data link Physical

Internet Architecture (4 layer architecture) Network layer : a variety of network protocols (e.g., FDDI, Ehternet...) Internet Protocol layer: (IP) interconnects multiple net technologies into single logical internetwork Transport layer: (TCP=Trans Ctrl Protocol or UDP=User Datagram Protocol) –provide alternative logical channels to applications - TCP provides reliable byte-stream channels - UDP provides unreliable datagram (=message) channels Apps: FTP, TFTP (Trivial File Transfer), Telnet (remote login), SMTP (Simple Mail Transfer ________________________________ Not strict layering: |______________Application______| |_TCP_|_UDP_|_____ | |_____IP__________|_____________| |______________Network__________| IETP requirements for a new protocol: Specifications + at least 1 Implementation Final note: ISO protocols are largely ignored today. It is a good reference architecture, but it is a commercial failure. Why? TCP/IP is good, simple, shipped free_with_BSD_since_80s

25 … FTPHTTPNV TFTP TCP UDP IP NET 1 2 n Internet Architecture (AKA TCP/IP) By Internet Engineering Task Force (IETF) Hourglass Design Evolved from ARPANET (DARPA funded packet net) Different from ISO (reconcilable, but not that informative) OS offers APIs (syntax for impl of layers – eg, sockets)

Reconciling OSI layers with the TCP/IP layers Reconciling OSI layers with the TCP/IP layers? (Peterson-Davies say it’s not worthwihile; Other authors attempt it (Tanenbaum): Application Application Presentation - Session - Transport Transport (TPC/UDP; packet/frame) Network Internet (IP) DataLink Network (aka: host-net) Physical “

TCP/IP Model

In all Reference Models, encapsulate at each layer

ATM Architecture While were talking about architecture standards and reconciling them, there is a 3 rd, the ATM architecture. ATM is "Connection Oriented”, not connectionless like ISO and the Internet Architectures. –ie, there is a "setup phase” (of a virtual end-to-end connection) –(like the telephone system - "dialing and connecting"), then a –“transmission phase” ATM Layers: Apps, e.g., : VOICE VIDEO DATA | | | | ATM Adaptation Layer (ALL) | | ATM Layer | | Physical Layer |

Physical Layer Physical Layer: physical interfaces and framing protocols Several Standards for physical connectivity between devices: –DS-1 or T1 at 1.54 Mbps –DS-3 or T3 at 45 Mbps –100 Mbps access using FDDI standard –155 Mbps access using Fiber Channel standard on multimode fiber Synchronous Optical NETwork (SONET) is the predominant physical layer framing standard for optical transmission (nonUS=SDH-Synch Digital Hierarchy) (The name sometimes also refers to a physical connection architecture – I.e., SONET ring) LEVEL LINE-RATES OC Mbps OC Mbps OC Mbps OC Mbps

ATM Layer Cell structure definition GFC| VPI | VCI |PT |CLP| HEC | Info Field (Payload)| Bits | 4 | 8 | 16 | 3 | 1 | 8 | byte | | | GFC = Generic Flow Control. (police traffic across user-network interface) Two levels of addressing: –VPI Virtual Path Indetifier - size goes to 12 bits for NNIs –VCI = Virtual Circuit Identifier - VPI VCI combo identifies the channel PT = Payload Type (for congestion control) –Types = user-info, connection-mgmt-info-(signaling), etc CPL = Cell Loss Priority - indicates if cell can be discarded upon congestion HEC = Header Error Ctrl ( Cyclic Redundancy Check on cell header – indicates bit errors in header portion) ATM Adaptation Layer Interface between user application and ATM Performs segmentation and reassembly into ATM cells also detects and handles out of order or lost cells

Protocol Implementation Issues Process Model –Process-per-protocol model Separate process (thread) for each protocol in stack Much context switching (each move up/down stack results in a context switch!) –Simple to understand –Process-per-message model OS dispatches one process for message –Message is taken up/down stack by invoked protocol procedures. No context switching Much faster Harder to understand?