Download csci5211: Computer Networks and Data Communications

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wireless security wikipedia , lookup

AppleTalk wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Net neutrality law wikipedia , lookup

CAN bus wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Distributed firewall wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Internet protocol suite wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Net bias wikipedia , lookup

Deep packet inspection wikipedia , lookup

Computer network wikipedia , lookup

Network tap wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

IEEE 1355 wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Peer-to-peer wikipedia , lookup

Packet switching wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Airborne Networking wikipedia , lookup

Transcript
What’s a Network: Key Features

Providing certain services


Shared resources


used by many users, often concurrently
Basic building blocks



transport goods, mail, information or data
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
1
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-phone
running 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
router
server
winter 2008
Introduction
mobile
local net
regional net
Nodes are connected indirectly through
switching devises (most popular are
routers 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..
workstation
company
net
2
A Taxonomy of Communication Networks
•
Communication networks can be classified based on the way in which the nodes
exchange information:
Communication
Network
Broadcast
Communication
Network (bus)
Switched
Communication
Network
Packet-Switched
Communication
Network
Circuit-Switched
Communication
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
winter 2008
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
Datagram
Network
Virtual Circuit Network
Each packet sent
independently of the
others, No call
setup, More reliable
(can route around
failed nodes or
congestion)
Introduction
Fixed route established
before any packets sent, No
need for routing decision for
each packet at each node
3
Broadcast vs. Switched
Communication Networks
• 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
winter 2008
Introduction
4
Data/Computer Networks

Delivery of information (“data”) among
computers of all kinds


General-Purpose


servers, desktops, laptop, PDAs, cell phones, ......
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
5
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
6
Packet Switching
each end-end data stream
divided into packets
• user A, B packets share
network resources
• each packet uses full link
bandwidth
• resources used as needed,
Bandwidth division into
“pieces”
Dedicated allocation
Resource reservation
winter 2008
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
Introduction
7
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
8
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
9
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
10
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
11
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
12
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 + Queue
Propagation = Distance / c
Transmit = Size / Bandwidth
Delay Bandwidth Product: # of bits that can be carried in transit
• Reliability, availability, …
• Efficiency/overhead of implementation, ……
winter 2008
Introduction
13
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
14
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
winter 2008
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
Introduction
15
What’s a Protocol?
a human protocol and a computer network protocol:
Hi
TCP connection
req.
Hi
TCP connection
reply.
Got the
time?
Get http://gaia.cs.umass.edu/index.htm
2:00
<file>
time
winter 2008
Introduction
16
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
High-level
object
Protocol
winter 2008
Host 2
Service
interf ace
Peer-to-peer
interf ace
Introduction
High-level
object
Protocol
17
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
application
transport
network
link
physical
• physical: bits “on the wire”
winter 2008
Introduction
18
Layering: Logical Communication
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
winter 2008
data
application
transport
transport
network
link
physical
application
transport
network
link
physical
Introduction
ack
data
network
link
physical
application
transport
network
link
physical
data
application
transport
transport
network
link
physical
19
Layering: Physical Communication
data
application
transport
network
link
physical
application
transport
network
link
physical
winter 2008
network
link
physical
application
transport
network
link
physical
Introduction
data
application
transport
network
link
physical
20
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
21
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
22
Network Edge: Connection-Oriented Service
Goal: data transfer
TCP service [RFC 793]
between end sys.
• reliable, in-order byte• handshaking: setup
stream data transfer
(prepare for) data
– loss: acknowledgements and
transfer ahead of time
retransmissions
– Hello, hello back human
protocol
– set up “state” in two
communicating hosts
• TCP - Transmission
Control Protocol
• flow control:
– sender won’t overwhelm
receiver
• congestion control:
– senders “slow down sending
rate” when network congested
– Internet’s connectionoriented service
winter 2008
Introduction
23
Network Edge: Connectionless Service
App’s using TCP:
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
winter 2008
Introduction
• HTTP (WWW), FTP
(file transfer), Telnet
(remote login), SMTP
(email)
App’s using UDP:
• streaming media,
teleconferencing,
Internet telephony
24
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
25
Example Access Net: Home Network
Typical home network components:
• ADSL or cable modem
• router/firewall
• Ethernet
• wireless access
point
to/from
cable router/
cable
modem firewall
headend
Ethernet
(switched)
winter 2008
Introduction
wireless
laptops
wireless
access
point
26
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
27
Network Core: Routing
Goal: move data among routers from source to dest.
datagram packet network:
circuit-switched 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
winter 2008
Introduction
– 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
28