28
winter 2008 Introduction 1 What’s a Network: Key Features Providing certain services transport goods, mail, information or data Shared resources used by many users, often concurrently Basic building blocks nodes (active entities): process and transferdata links (passive medium): passive “carrier” of data Typically “multi- hop” two “end points” cannot directly reach each other need other nodes/entities to relay

Winter 2008Introduction1 What’s a Network: Key Features Providing certain services transport goods, mail, information or data Shared resources

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

winter 2008 Introduction 1

What’s a Network: Key Features Providing certain services

transport goods, mail, information or data

Shared resources used by many users, often concurrently

Basic building blocks nodes (active entities): process and transferdata links (passive medium): passive “carrier” of data

Typically “multi- hop” two “end points” cannot directly reach each other need other nodes/entities to relay

winter 2008 Introduction 2

What’s a Network: “Nuts and Bolts” View

“HW/SW that makes the internet”• network edge: millions of end-system devices (hosts):

– pc’s workstations, servers– PDA’s (personal digital system), mobile

computers, toasters, cell-phonerunning network apps

• network core: routers, switches forwarding data– packets: packet switching– calls: circuit switching

• communication links– fiber, copper, radio, …Different links transmit data with different

transmission speed measured in bit/sec

Nodes are connected indirectly throughswitching devises (most popular arerouters and /or link layer switches)

Each packet has a route or path from source to destination

Each sys access the internet through internet service provider (ISP) such as local telephone company, etc..

local net

companynet

regional net

router workstation

servermobile

winter 2008 Introduction 3

• Communication networks can be classified based on the way in which the nodes exchange information:

A Taxonomy of Communication Networks

Communication Network

SwitchedCommunication

Network

BroadcastCommunication Network (bus)

Circuit-Switched

Communication Network

Packet-Switched

Communication Network

Datagram Network

Virtual Circuit Network

establishes a fixed bandwidth circuit (or channel) between nodes and terminals before the users may communicate, as if the nodes were physically connected with an electrical circuit

is a communications method in which packets (discrete blocks of data) are

routed between nodes over data links shared with other traffic. In each

network node, packets are queued or

buffered, resulting in variable delay

Each packet sent independently of the others, No call setup, More reliable (can route around failed nodes or congestion)

Fixed route established before any packets sent, No need for routing decision for each packet at each node

winter 2008 Introduction 4

• Broadcast communication networks– Information transmitted by any node is received by

every other node in the network• E.g., LANs (Ethernet, Wavelan)

– Problem: coordinate the access of all nodes to the shared communication medium (Multiple Access Problem)

• Switched communication networks– Information is transmitted to a sub-set of designated

nodes• E.g., WANs (Telephony Network, Internet)

– Problem: how to forward information to intended node(s)

• Done by special nodes (e.g., routers, switches) running routing protocols

Broadcast vs. Switched Communication Networks

winter 2008 Introduction 5

Data/Computer Networks Delivery of information (“data”) among

computers of all kinds servers, desktops, laptop, PDAs, cell phones, ......

General-Purpose Not for specific types of data or groups of nodes, or

using specific technologies

Utilizing a variety of technologies “physical/link layer” technologies for connecting nodes

copper wires, optical links, wireless radio, satellite or even “non-electronic” means: e.g., cars, postal

services, humans -- e.g., recent “delay-tolerant networks” efforts for 3rd world countries

winter 2008 Introduction 6

Circuit Switching

End-end resources reserved for “call”

• link bandwidth, switch capacity

• dedicated resources: no sharing

• circuit-like (guaranteed) performance

• call setup required

winter 2008 Introduction 7

Packet Switchingeach end-end data stream

divided into packets• user A, B packets share

network resources

• each packet uses full link bandwidth

• resources used as needed,

resource contention: • aggregate resource

demand can exceed amount available

• congestion: packets queue, wait for link use

• store and forward: packets move one hop at a time– transmit over link– wait turn at next link

Bandwidth division into “pieces”

Dedicated allocation

Resource reservation

winter 2008 Introduction 8

Packet Switching vs Circuit Switching: Why?

• “reliability” – no congestion, in order data in circuit-switching

• packet switching: better sharing of bandwidth

• state, resources: packet switching has less state – advantage less control-plane processing resources

along the way– More dataplane (address lookup) processing

• failure modes (routers/links down): – packet switching routing reconfigures sub-second

timescale; – circuit-switching: more complex recovery – need to

involve all (downstream) switches on path

winter 2008 Introduction 9

Fundamental Issues in Networking

Networking is more than connecting nodes!• Naming/Addressing

– How to find name/address of the party (or parties) you would like to communicate with

– Address: bit- or byte-string that identifies a node– Types of addresses

• Unicast: node-specific• Broadcast: all nodes in the network• Multicast: some subset of nodes in the network

• Routing/Forwarding: – process of determining how to send packets

towards the destination based on its address– Finding out neighbors, building routing tables

winter 2008 Introduction 10

Other Key Issues in Networking

• Detecting whether there is an error!• Fixing the error if possible• Deciding how fast to send, meeting user

demands, and managing network resources efficiently

• Make sure integrity and authenticity of messages,

• ……

winter 2008 Introduction 11

Fundamental Problems in Networking …

What can go wrong?• Bit-level errors: due to electrical interferences• Packet-level errors: packet loss due to buffer

overflow/congestion• Out of order delivery: packets may takes

different paths• Link/node failures: cable is cut or system crash• Others: e.g., malicious attacks

winter 2008 Introduction 12

Fundamental Problems in Networking

What can be done?• Add redundancy to detect and correct erroneous packets• Acknowledge received packets and retransmit lost packets• Assign sequence numbers and reorder packets at the

receiver• Sense link/node failures and route around failed links/nodes

Goal: to fill the gap between what applications expect and what underlying technology provides

Key Challenges in Internet: large, complex, decentralized, ever-evolving,

distributed network of networks!

winter 2008 Introduction 13

Key Performance Metrics• Bandwidth (throughput)

– data transmitted per time unit– link versus end-to-end( provide connection directly from an application

on one computer to an application on the remote computer)

• Latency (delay)– time to send message from point A to point B– one-way versus round-trip time (RTT)– components

Latency = Propagation + Transmit + QueuePropagation = Distance / cTransmit = Size / Bandwidth

Delay Bandwidth Product: # of bits that can be carried in transit• Reliability, availability, …• Efficiency/overhead of implementation, ……

winter 2008 Introduction 14

Network Architecture and Structure

• Network components: (edge/core) nodes and links

How do we talk about “structure” of network and its architecture?

• layered architecture– structure allows identification, relationship of complex system’s pieces: layered reference model for discussion– layer N builds on services provided by layer N-1– Layer N provides service to layer N+1

• Notions of protocol, service and peer interfaces

• physical topology, interconnection

winter 2008 Introduction 15

What’s a Protocol?

human protocols:• “what’s the time?”• “I have a question”• introductions

… specific msgs sent… specific actions

taken when msgs received, or other events

network protocols:• machines rather than

humans• all communication

activity in Internet governed by protocols

protocols define format, order of msgs sent and

received among network entities, and actions taken on msg transmission, receipt

winter 2008 Introduction 16

What’s a Protocol?a human protocol and a computer network protocol:

Hi

Hi

Got thetime?

2:00

TCP connection req.

TCP connectionreply.Get http://gaia.cs.umass.edu/index.htm

<file>time

winter 2008 Introduction 17

Protocols and Interfaces• Protocols: specification/implementation of a

“service” or “functionality”• Each protocol object has two different

interfaces– service interface: operations on this protocol– peer-to-peer interface: messages exchanged with

peer Host 1 Host 2

Serviceinterface

Peer-to-peerinterface

High-levelobject

High-levelobject

Protocol Protocol

winter 2008 Introduction 18

Internet Protocol Stack• application: supporting network

applications– ftp, smtp, http

• transport: host-host data transfer– tcp, udp

• network: routing of datagrams from source to destination– ip, routing protocols

• link: data transfer between neighboring network elements– ppp, ethernet

• physical: bits “on the wire”

application

transport

network

link

physical

winter 2008 Introduction 19

Layering: Logical Communication

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

networklink

physical

data

data

E.g.: transport• take data from

app• add addressing,

reliability check info to form “datagram”

• send datagram to peer

• wait for peer to ack receipt

• analogy: post office

data

transport

transport

ack

winter 2008 Introduction 20

Layering: Physical Communication

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

networklink

physical

data

data

winter 2008 Introduction 21

A Closer Look at Network Structure:

• network edge: applications and hosts

• network core: – routers– network of networks

• access networks, physical media: communication links

winter 2008 Introduction 22

The Network Edge:• end systems (hosts):

– run application programs– e.g., WWW, email– at “edge of network”

• client/server model– client host requests, receives

service from server– e.g., WWW client (browser)/

server; email client/server

• peer-peer model:– host interaction symmetric– e.g.: Gnutella, KaZaA

winter 2008 Introduction 23

Network Edge: Connection-Oriented Service

Goal: data transfer between end sys.

• handshaking: setup (prepare for) data transfer ahead of time– Hello, hello back human

protocol– set up “state” in two

communicating hosts

• TCP - Transmission Control Protocol – Internet’s connection-

oriented service

TCP service [RFC 793]• reliable, in-order byte-

stream data transfer– loss: acknowledgements

and retransmissions

• flow control: – sender won’t overwhelm

receiver

• congestion control: – senders “slow down

sending rate” when network congested

winter 2008 Introduction 24

Network Edge: Connectionless Service

Goal: data transfer between end systems– same as before!

• UDP - User Datagram Protocol [RFC 768]: Internet’s connectionless service– unreliable data transfer– no flow control– no congestion control

App’s using TCP: • HTTP (WWW), FTP

(file transfer), Telnet (remote login), SMTP (email)

App’s using UDP:• streaming media,

teleconferencing, Internet telephony

winter 2008 Introduction 25

Access Networks and Physical Media

Q: How to connect end systems to edge router?

• residential access nets• institutional access

networks (school, company)

• mobile access networks

Keep in mind: • bandwidth (bits per

second) of access network?

• shared or dedicated?

winter 2008 Introduction 26

Example Access Net: Home NetworkTypical home network components: • ADSL or cable modem• router/firewall• Ethernet• wireless access point

wirelessaccess point

wirelesslaptops

router/firewall

cablemodem

to/fromcable

headend

Ethernet(switched)

winter 2008 Introduction 27

The Network Core

• mesh of interconnected routers

• the fundamental question: how is data transferred through net?– circuit switching:

dedicated circuit per call: telephone net

– packet-switching: data sent thru net in discrete “chunks”

winter 2008 Introduction 28

Network Core: RoutingGoal: move data among routers from source to dest.

datagram packet network: – destination address determines

next hop– routes may change during session– analogy: driving, asking directions – No notion of call state

virtual circuit network: – packet carries tag, tag determines

next hop– fixed path (for call) determined at

call setup time– routers maintain little per-call

state; resources not allocated

circuit-switched network: – call allocated time slots

of bandwidth at each link

– fixed path (for call) determined at call setup

– switches maintain lots of per call state (what?): resource allocation