Week 2 Lec 1 - WordPress.com

Download Report

Transcript Week 2 Lec 1 - WordPress.com

Advanced Computer
Networks
Chapter 1:Introduction
Computer Networking:
A Top Down Approach ,
4th edition.
Jim Kurose, Keith Ross
Last Lecture
•What’s the Internet: “nuts and
bolts” view
•What is a protocol?
•Packet and Circuit Switching
•Loss and Delay in packet Switching
Networks
•Throughput
Today’s Lecture
•Queuing Delay
•Internet Protocol Stack
•Layered Architecture
Chapter 2
•Application Layer
•What Transport Service does an
Application need?
•Internet Transport Protocols Services
What’s the Internet: “nuts and bolts” view
PC
 Interconnects millions Mobile network
of computing devices:
Global ISP
hosts = end systems
wireless
laptop
 running network
cellular
Home network
handheld
apps
Regional ISP
 communication links
 fiber, copper, radio,
access
points
Institutional network
satellite
wired
links
 transmission rate =
bandwidth (bits/sec)
 routers: forward
router
packets (chunks of
data)
server
What’s the Internet: “nuts and bolts” view
 protocols control sending,
Mobile network
receiving of msgs

e.g., TCP, IP, HTTP, Skype
 Internet: “network of
networks”

Global ISP
public Internet versus
private intranet
 Internet standards
 IETF: Internet Engineering
Task Force
 RFC: Request For Comments
 IETF standard Documents
 More than 5000 RFCs
Home network
Regional ISP
Institutional network
What’s the Internet: A Service View
 Communication infrastructure
that provides services to
applications:
 Involve multiple end system
that exchange data with each
other.
 Web, VoIP, email, games, ecommerce, file sharing
 Applications do not run on the
routers
 Communication services provided
to applications:
 reliable data delivery from
source to destination
(connection oriented)
 “best effort” (unreliable) data
delivery (connection less)
What’s a protocol?
human protocols:
 “what’s the time?”
 “I have a question”
 Interview
… 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
Network Core: Circuit Switching
End-end resources reserved for the
duration of the call
 Three phases
 Establish, Transfer,
Disconnect
 dedicated resources: no sharing
 Guaranteed performance
 Very Reliable
 Developed for Telephone
networks
 Inefficient
 Channel capacity dedicated
for duration of connection
 If no data, capacity wasted
 Set up (connection) takes time
Network Core: Packet Switching








Today’s internet is a packet switched network
Each end-end data stream divided into packets
Each packet contains a portion of user data plus some
control info.
Each packet has to find its own route to the destination
No predetermined path
Decision as to which node to hop to in the next step is
taken only when a node is reached.
Resources used as needed
Congestion : packets queue, wait for link use
Reliability
 Less Reliable
Store and forward switching
 Switches receive complete packet before forwarding
Question: What is Cut Through Switching?
Throughput
 The rate (bits/sec) at which bits are transferred
between sender/receiver
 Difference between Bandwidth and Throughput?
 In computer networks, the throughput is less
than the bandwidth for several reasons
• The channel may be shared by other users
• Packet loss due to congestion
• Packet loss due to bit errors
• Noise in the channel
• Transmission rates of the link over which the
data flows.
Four sources of packet delay
 1. Processing Delay:
 Time required to
examine packet header
and determine output
link
 Check bit errors
 High Speed Routers
Microseconds or less
 2. Queuing Delay:




transmission
A
propagation
B
processing
queueing
Time waiting at output
link for transmission
Depends on congestion
level of router
If queue empty no delay
Microseconds to
milliseconds
Delay in packet-switched networks
3. Transmission Delay:
 R=link bandwidth (bps)
 L=packet length (bits)
 Time to push all of
packets bits into the
link = L/R
 Microseconds to
milliseconds
transmission
A
4. Propagation Delay:
 Time to propagate from
the beginning of the link
to the other router
(node)
 Propagation delay = d/s
 d = length of physical link
 s = propagation speed in
medium (~3x108 m/sec)
propagation
B
nodal
processing
queueing
Queuing Delay
 When is Queuing Delay large and
when it is insignificant?
 Rate at which traffic arrives at the
queue
 Transmission rate of the link
 Nature of the arriving traffic
 R=Transmission Rate (bps)
 L=packet length(bits)
 a=average packet arrival
rate(packets/sec)
Traffic Intensity = (Average rate at which bits arrive at the queue) =La
Transmission Rate
R
 La/R ~ 0: average queuing delay small
 La/R -> 1: delays become large (queue begins to get larger)
 La/R > 1: average rate at which bits arrive at the queue exceeds the
rate at which the bits can be transmitted from the queue.
 more “work” arriving than can be serviced
 Packet Loss will occur
Queuing Delay
Consider the case La/R≤1
Nature of arriving traffic impacts queuing
delay in such a case
In reality the arrival process to a queue is random and
arrivals do not follow any pattern.
Protocol Layers
Networks are complex!
• many “pieces”:
– hosts
– routers
– links of various
media
– applications
– protocols
– hardware,
software
Question:
Is there any way of
organizing network
architecture?
Answer:
Yes possible with a
layered architecture
Organization of air travel
ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing
airplane routing
airplane routing
airplane routing
•
A series of steps(actions)
Layering of Airline Functionality
ticket (purchase)
ticket (complain)
ticket
baggage (check)
baggage (claim
baggage
gates (load)
gates (unload)
gate
runway (takeoff)
runway (land)
takeoff/landing
airplane routing
airplane routing
airplane routing
departure
airport
airplane routing
airplane routing
intermediate air-traffic
control centers
arrival
airport
Airline functionality can be divided into layers, providing a frame work in
which we can discuss air travel.
• At the ticketing layer and below
– Airline-counter-to-airline-counter transfer of a person.
• At the gate layer
– Departure-gate –to-arrival-gate transfer of a person is accomplished
Layers: each layer implements a service
– via its own internal-layer actions
– Combined with the services directly below it
•
Why layering?
Dealing with complex systems:
Discuss a well defined, specific part of a
large and complex system
Modularization eases maintenance,
updating of system
Change of implementation of layer’s
service transparent to rest of system
e.g. change in gate procedure doesn’t
affect rest of system
Internet Protocol Stack
 To provide structure to design of
network
protocols,
network
designers organize protocols in
layers
 Service – says what a layer does
 Protocol – says how the service is
implemented
 Advantages
 Drawbacks
 When
taken
together
the
protocols of various layers are
called the Protocol Stack.
 Internet Protocol Stack consists
of Five layers
 Physical,
Link,
Network,
Transport and Application layers .
 Organization of Book
Internet Protocol Stack
• Application Layer:
 Network applications and their application layer protocols
reside.
 Provides user interfaces and support for services such as email, file transfer etc.
Hyper Text Transfer Protocol (HTTP)
File Transfer Protocol (FTP)
Session Initiation Protocol (SIP)
 An application layer protocol is distributed over multiple end
systems
 The packets of information at the application layer is called
as a message.
Internet Protocol Stack
• Transport Layer:
 Transports application-layer messages between application
end points.
 Transport layer packet is called as a segment
 Breaks long messages into shorter segments
 There are two Transport Layer Protocols
 Transmission Control Protocol (TCP)
 Connection Oriented service
 Guaranteed delivery of application layer messages
 Flow control
 Congestion Control
 User Datagram Protocol (UDP)
 Connectionless service
 No reliability, flow control and congestion control
Internet Protocol Stack
• Network Layer:
Responsible for moving network layer packets
known as datagrams from one host to another.
Transport layer passes a transport layer
segment and a destination address to the
network layer.
Network layer includes IP Protocol
Defines the fields in the datagram as well as
how end systems and routers act on these
fields
Different routing protocols.
Determine the route that datagrams take
between sources and destinations
Internet Protocol Stack
• Link Layer:
Moves a packet from one node (host or router)
to the next node in the route.
Divide the stream of bits received from the
network layer into manageable data units called
frames.
Transforms a raw transmission facility to a
reliable link.
Mechanism to detect and retransmit damaged
or lost frames
Example of link layer protocols include WiFi,
Ethernet etc.
Internet Protocol Stack
• Physical Layer:
 The job of this layer is to move the individual bits with in frames
from one node to next.
 Representation of bits
 Physical Layer data consists of a stream of bits (0 or 1)
 To be transmitted bits must be encoded into signals. The
physical layer defines the type of encoding.
 The protocol in this layer depend on the actual transmission
medium of the link.
Internet Protocol Stack
 Application: Provides user interfaces and
support for services such as e-mail, file
transfer etc.

FTP, HTTP
 Transport: Transports application-layer
messages between application end points.


Segmentation and reassembly
TCP, UDP
 Network: Routing of Datagrams from
source to destination

IP, routing protocols
 Link: Move a packet from one node (host or
router) to the next node in the route.
 Ethernet, WiFi
 Physical: Move the individual bits with in
frames from one node to next
Application
Transport
Network
Link
Physical
Encapsulation
source
message
segment
M
Ht
M
datagram Hn Ht
M
frame Hl Hn Ht
M
application
transport
network
link
physical
link
physical
switch
destination
M
Ht
M
Hn Ht
Hl Hn Ht
M
M
application
transport
network
link
physical
Hn Ht
Hl Hn Ht
M
M
network
link
physical
Hn Ht
M
router
OSI Reference Model
 In 1970 International Organization for
Standardization proposed a seven layered
model called Open Systems
Interconnection (OSI) model.
 Presentation Layer: Provide services such
as data encryption, compression.
 Session Layer: Synchronization points
(checkpointing) and recovery of data
exchange.
 Internet stack “missing” these layers!
 these services, if needed, must be
implemented in the application by the
application developer.
Chapter 1-- Introduction
 What is Internet?
 What is a Protocol?
 Circuit Switching and Packet Switching
 Loss and Delay in Packet Switching
Networks
 Queuing Delay in Packet Switching
Networks
 Throughput in Packet Switching Networks
 Internet Protocol Stack—Five Layers
Chapter 2
Application Layer
Computer Networking: A
Top Down Approach,
4th edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2007.
Chapter 2: Application layer
Principles of Network Applications
 Hyper Text Transfer Protocol
(HTTP)
File Transfer Protocol (FTP)
Electronic Mail (E-Mail)
 SMTP,
POP3, IMAP
Domain Name System (DNS)
Some Network Applications
 E-mail
 Web
 Instant messaging
 Remote login
 P2P file sharing
 Multi-user network games
 Streaming stored video clips
 Voice over IP
 Real-time video conferencing
 Many more interesting applications
Creating a Network Application
write programs that
 run on (different) end systems
 communicate over network
 e.g., web server software
communicates with browser
software
No need to write software for
network-core devices
 Network-core devices do not run
user applications
 Function at lower layers
 Basic design is to confine
application software to the end
systems
 Facilitate rapid network
application development and
deployment
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
Application Architectures
 Application Architecture is
 Designed
by the application developer
 Dictates how the application is
structured over various end systems
 Two architectures used in modern day
Network Applications:
 Client-Server
Architecture
 Peer-to-Peer (P2P) Architecture
Client-Server Architecture
Client/Server
Server:
 Always-on host
 Permanent well defined IP
address
 A single server is incapable of
keeping up with all the requests
of the clients.
 A cluster of hosts referred as
server farm is often used.
Clients:
 Communicate with server
 May have dynamic IP addresses
 Do not communicate directly with
each other
 Client/Server architecture is
infrastructure intensive
 Require service providers to
install and maintain servers.
P2P Architecture
 Direct communication
between pairs of
intermittently connected
hosts called peers
 Peers are not owned by any
service provider
peer-peer
 P2P

Peers communicate without
passing through any
dedicated server
e.g. Bit Torrent, eMule, Skype
 Security issues

Highly Distributive
 Cost Effective
Sockets
r Process sends/receives
messages to/from its
socket
r Interface between
application layer and
transport layer within a
host.
r Socket analogous to door


Sending process shoves
message out of the door
Sending process relies on
transport infrastructure
on other side of door which
brings message to socket
at receiving process
host or
server
host or
server
process
controlled by
app developer
process
socket
socket
TCP with
buffers,
variables
Internet
controlled
by OS
TCP with
buffers,
variables
What Transport Service does an
Application need?
Data Loss (Reliability)
 Loss Tolerant Applications


Some apps (e.g., audio, VoIP)
can tolerate some loss
2% tolerable for VoIP
 Other apps (e.g., file transfer,
email) require 100% reliable
data transfer
Timing
 Tight timing constraints
Multiplayer games, VoIP,
teleconferencing.
 In Non-real time lower delays
are preferred but no tight
constraint on end-to-end
delays.

Throughput
r Bandwidth sensitive
applications (e.g., multimedia)
require minimum amount of
throughput
r Other apps (“elastic apps”)
make use of whatever
throughput they get
e.g .Email, file transfer
Security
r Encryption, end point
authentication
Transport Service Requirements of Common
Applications
Data loss
Throughput
Time Sensitive
file transfer
e-mail
Web documents
real-time audio/video
no loss
no loss
no loss
loss-tolerant
no
no
no
yes, 100’s msec
stored audio/video
interactive games
loss-tolerant
loss-tolerant
elastic
elastic
elastic
audio: 5kbps-1Mbps
video:10kbps-5Mbps
same as above
few kbps -10kbps
Application
yes, few secs
yes, 100’s msec
Internet Transport Protocols Services
TCP Service:
 connection-oriented: setup




required between client and
server processes
reliable transport between
sending and receiving process
flow control: sender won’t
overwhelm receiver
congestion control: throttle
sender when network
overloaded
does not provide: timing,
minimum throughput
guarantees, security
UDP Service:
 unreliable data transfer
between sending and
receiving process
 does not provide:
connection setup,
reliability, flow control,
security
 Throughput and timing
guarantee not provided
Home Assignment
Secure Sockets
Layer
(SSL)