Date post: | 21-Dec-2015 |
Category: |
Documents |
View: | 219 times |
Download: | 0 times |
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