SlideShare a Scribd company logo
1 of 72
Chapter 1
Introduction


A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers).
They’re in PowerPoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously         Computer Networking:
represent a lot of work on our part. In return for use, we only ask the           A Top Down Approach ,
following:
 If you use these slides (e.g., in a class) in substantially unaltered form,     3rd/5th edition.
that you mention their source (after all, we’d like people to use our book!)      Jim Kurose, Keith Ross
 If you post any slides in substantially unaltered form on a www site, that
you note that they are adapted from (or perhaps identical to) our slides, and     Pearson/Addison-
note our copyright of this material.                                              Wesley, April 2009.
Thanks and enjoy! JFK/KWR

All material copyright 1996-2009
J.F Kurose and K.W. Ross, All Rights Reserved
Network Performance: Measurement &
             Evaluation
Motivations

   Understanding network behavior
   Improving protocols
   Verifying correctness of implementation
   Detecting faults
   Monitor service level agreements
   Choosing providers
   Billing
How do loss and delay occur?
*packets queue in router buffers
-packet arrival rate to link exceeds output link capacity
-packets queue, wait for turn
-when packet arrives to full queue, packet is dropped (aka lost)
-lost packet may be retransmitted by previous node, by source end system,
or not retransmitted at all


                                   packet being transmitted (delay)

   A


       B
                                  packets queueing (delay)
                    free (available) buffers: arriving packets
                    dropped (loss) if no free buffers
Definitions
   Link bandwidth (capacity): maximum rate (in bps) at
    which the sender can send data along the link
   Propagation delay: time it takes the signal to travel
    from source to destination
   Packet transmission time: time it takes the sender to
    transmit all bits of the packet
   Queuing delay: time the packet need to wait before
    being transmitted because the queue was not empty
    when it arrived
   Processing Time: time it takes a router/switch to
    process the packet header, manage memory, etc
Four sources of packet delay
1. nodal processing:               2. queueing
check bit errors                      time waiting at output

determine output link                  link for transmission
                                      depends on congestion
                                       level of router


            transmission
 A                           propagation


     B
               nodal
             processing    queueing
Delay in packet-switched networks
3. Transmission delay:         4. Propagation delay:
R=link bandwidth (bps)         d = length of physical link
L=packet length (bits)         s = propagation speed in
time to send bits into            medium (~2x108 m/sec)
   link = L/R                  propagation delay = d/s

                               Note: s and R are very
                                 different quantities!
         transmission
A                         propagation


    B
            nodal
          processing    queueing
Transmission delay
                    L
                        R          R        R

*Packet switching                      Example:
-Store-and-forward
                                       L = 7.5 Mbits
-Packet completely received
before being transmitted to next       R = 1.5 Mbps
node
                                       delay = 15 sec
*Takes L/R seconds to
transmit (push out) packet of L
bits on to link or R bps
*Entire packet must arrive at
router before it can be
transmitted on next link: store
and forward                            more on delay shortly …
delay = 3L/R (assuming zero
propagation delay)
Transmission vs Propagation Delay
                                    R bits per second (bps)
Bandwidth: R bps
Propagation delay: T sec                T seconds

                       P bits


                                                              T
   Transmission time = P/R




                             time

         Propagation delay =T = Length/speed (per bit)
Transmission vs Propagation Delay

P = 1 Kbyte
R = 1 Gbps
100 Km, fiber =>                  T >> P/R
                                                   T
   T = 500 usec
    P/R = 8 usec



                                                   P/R
                    time

                           T << P/R
P = 1 Kbyte                                  T
R = 100 Mbps
1 Km, fiber =>
                                             P/R
   T = 5 usec
    P/R = 80 usec

                    time
Queueing Delay

   The queue has Q bits when packet arrives packet
    has to wait for the queue to drain before being
    transmitted          Capacity = R bps
                                Propagation delay = T sec
              P bits   Q bits


    Queueing delay = Q/R


                                                            T
                       P/R



                        time
Queueing delay

R=link bandwidth (bps)
L=packet length (bits)
a=average packet arrival
rate

 traffic intensity = La/R

 La/R ~ 0: average queueing delay small
 La/R -> 1: delays become large
 La/R > 1: more “work” arriving than can be
  serviced, average delay infinite!
Nodal delay
           d nodal = d proc + d queue + d trans + d prop

dproc = processing delay
typically a few microsecs or less
dqueue = queuing delay
depends on congestion
dtrans = transmission delay
= L/R, significant for low-speed links
dprop = propagation delay
a few microsecs to hundreds of msecs
Delay Related Metrics
   Delay (Latency) of bit (packet, file) from A to
    B
       The time required for bit (packet, file) to go from
        A to B
   Jitter
       Variability in delay
   Round-Trip Time (RTT)
       Two-way delay from sender to receiver and back
   Bandwidth-Delay product
       Product of bandwidth and delay “storage” capacity
        of network
Little’s Theorem

    Assume a system at which packets arrive
     at rate λ
    Let d be mean delay of packet, i.e., mean
     time a packet spends in the system
    Q: What is the mean (average) number of
     packets in the system (N) ?
                                d = mean delay
        λ – mean arrival rate
                                    system
Example
                                               d=5

    λ=1
    d=5

                                            N = 5 packets




packets

              0    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16   time

         A: N = λ x d
                 E.g., N = λ x d = 5
“Real” Internet delays and routes

*What do “real” Internet delay & loss look like?
Traceroute program: provides delay measurement
from source to router along end-end Internet path
towards destination. For all i:
-sends three packets that will reach router i on path towards
destination
-router i will return packets to sender
-sender times interval between transmission and reply.


       3 probes       3 probes

           3 probes
Performance Metric: Throughput
   Throughput of a connection or link = total
    number of bits successfully transmitted during
    some period [t, t + T) divided by T
   Link utilization = (throughput of the link)/(link
    rate)
   Bit rate units: 1Kbps = 103bps, 1Mbps = 106bps,
    1 Gbps = 109bps [For memory: 1 Kbyte = 210 bytes =
    1024 bytes]
     Some rates are expressed in packets per second
      (pps) -- relevant for routers/switches where the
      bottleneck is the header processing
Example: Windows Based Flow Control

                                        Source   Destination
   Connection:
     Send W bits (window size)

     Wait for ACKs               RTT
     Repeat

   Assume the round-trip-time
    is RTT seconds                RTT
   Throughput = W/RTT bps

   Numerical example:
     W = 64 Kbytes               RTT
     RTT = 200 ms

     Throughput = W/RTT =
                                   time
      64,000*8/0.2s = 2.6 Mbps
Evaluation Techniques
   Measurements
       gather data from a real network
       e.g., ping www.nyu.edu
       realistic, specific
   Simulations: run a program that pretends to be a real
    network
       e.g., NS network simulator, Nachos OS simulator
   Models, analysis
       write some equations from which we can derive conclusions
       general, may not be realistic
   Usually use combination of methods
Simulation
     Model of traffic
     Model of routers, links
     Simulation:
         Time driven:
  X(t) = state at time t
  X(t+1) = f(X(t), event at time t)
         Event driven:
  E(n) = n-th event
  Y(n) = state after event n
  T(n) = time when even n occurs
  [Y(n+1), T(n+1)] = g(Y(n), T(n), E(n))

     Output analysis: estimates, confidence
      intervals
Simulation Example

   Use trivial time-driven simulation to illustrate
    statistical multiplexing
   Probabilistically generate the bandwidth of a
    flow, e.g.,
       With probability 0.2, bandwidth is 6
       With probability 0.8, bandwidth is 1


   Average bandwidth, avg=0.2*6 + 0.8*1 = 2
   peak/avg = 6/2 = 3
Statistical Multiplexing

   As number of flows increases,
    agg_peak/agg_avg decreases
       For 1000 flows, peak/avg = 2125/2009=1.057
   Q: What does this mean?
   A: Multiplexing a large enough number of
    flows “eliminates” burstiness
       Use average bandwidth to provision capacity,
        instead of peak bandwidth
       E.g., For 1000 flows
           Average of aggregate bandwidth = 2,000
           Sum of bandwidth peaks = 6,000
Summary
Internet:
      User perspective: End-to-end view
      Network perspective: core-view
      Networking Technologies : Physical Media


Network Performance metrics
Network Design Principles
The Networking Dilemma
*Many different networking technologies


*Many different network applications


*How do you prevent incompatibilities?
Placing Network Functionality
*Hugely influential paper: “End-to-End Arguments
in System Design” by Saltzer, Reed, and Clark
(‘84)
*Basic observation: some types of network
functionality can only be correctly implemented
end-to-end
*Because of this, end hosts:
-Can satisfy the requirement without network’s help
Will/must do so, since can’t rely on network’s help

*Therefore don’t go out of your way to implement
them in the network
Hourglass design
 End-to-end principle leads to “Hourglass”
  design of protocols
 Only one protocol at the Internet level
      Minimal required elements at narrowest point
 IP – Internet Protocol
    http://www.rfc-editor.org/rfc/rfc791.txt

      http://www.rfc-editor.org/rfc/rfc1812.txt
    Unreliable datagram service
    Addressing and connectionless connectivity
    Fragmentation and assembly
End-to-end principle and
Hourglass design
End-to-end principle and the
Hourglass design
 The good
    Basic network functionality allowed for
     extremely quick adoption and deployment using
     simple devices
 The bad
    New network features and functionality are
     impossible to deploy, requiring widespread
     adoption within the network
    IP Multicast, QoS
Network Architecture Principles
The Problem

  Application    Skype   SSH    NFS    HTTP


  Transmission      Coaxial    Fiber   Radio
  Media             cable      optic



 Re-implement every application for every technology?
 No! But how does the Internet design avoid this?
Solution: Intermediate Layers
*Introduce intermediate layers that provide set of
abstractions for various network functionality &
technologies
-A new app/media implemented only once
Variation on “add another level of indirection”
    Application      Skype    SSH      NFS        HTTP

     Intermediate
     layers

     Transmission        Coaxial      Fiber       Packet
     Media               cable        optic       radio
Network Architecture

*Architecture is not the implementation itself


*Architecture is how to organize/structure the
elements of the system & their implementation
-What interfaces are supported
      • Using what sort of abstractions
-Where functionality is implemented
-The modular design of the network
Computer System Modularity
*Partition system into modules & abstractions:
*Well-defined interfaces give flexibility
Hides implementation - thus, it can be freely changed
Extend functionality of system by adding new modules


-E.g., libraries encapsulating set of functionality


-E.g., programming language + compiler abstracts
 away not only how the particular CPU works …
… but also the basic computational model
Network System Modularity
*Like software modularity, but:
*Implementation distributed across many
 machines (routers and hosts)
*Must decide:
How to break system into modules
    o Layering
Where modules are implemented
    o End-to-End Principle
Where state is stored
    o Fate-sharing -one's fate affects all
Example: 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
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   airplane routing    airplane routing

   departure                intermediate air-traffic              arrival
    airport                     control centers                   airport



Layers: each layer implements a service
    via its own internal-layer actions
    relying on services provided by layer below
Why layering?
Dealing with complex systems:
 explicit structure allows identification,
  relationship of complex system’s pieces
    layered reference model for discussion
 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
 layering considered harmful?
Layering: A Modular Approach

*Partition the system
-Each layer solely relies on services from layer below
-Each layer solely exports services to layer above



*Interface between layers defines interaction
-Hides implementation details
-Layers can change without disturbing other layers
Layering in Networks: OSI
Model
 Physical
      how to transmit bits                Application
 Data link
                                           Presentation
      how to transmit frames
                                           Session
 Network
                                           Transport
      how to route packets host-to-host
                                           Network
 Transport
      how to send packets end2end         Data Link
 Session
                                           Physical
      how to tie flows together
 Presentation                                            Host

      byte ordering, formatting
 Application: everything else
Properties of Layers (OSI
Model)
 *Service: what a layer does
 *Service interface: how to access the service
 Interface for layer above

 *Protocol (peer interface): how peers
 communicate to achieve the service
 -Set of rules and formats that govern the
 communication between network elements
 -Does not govern the implementation on a single
 machine, but how the layer is implemented between
 machines
Internet Protocol Stack
Only 5 layers!

--Application
--Transport
--Network
--Data Link
--Physical Layer
Physical Layer (1)
*Service: move bits between two systems
connected by a single physical link


*Interface: specifies how to send and receive
bits
-E.g., require quantities and timing



*Protocols: coding scheme used to represent bits,
voltage levels, duration of a bit
(Data) Link Layer (2)
*Service:
-Enable end hosts to exchange atomic messages with one another
       • Using abstract addresses (i.e., not just direct physical
         connections)
-Perhaps over multiple physical links
       • But using the same framing (headers/trailers)
-Possible other services:
       o arbitrate access to common physical media
       o reliable transmission, flow control

*Interface: send messages (frames) to other end
hosts; receive messages addressed to end host
*Protocols: addressing, routing, Media Access Control
(MAC) (e.g., CSMA/CD - Carrier Sense Multiple Access /
Collision Detection)
(Inter) Network Layer (3)
*Service:
-Deliver packets to specified inter-network destination
      • Inter-network = across multiple layer-2 networks
-Works across networking technologies (e.g., Ethernet +
802.11 + Frame Relay + ATM …)
      • No longer the same framing all the way
-Possible other services:
      • packet scheduling/priority
      • buffer management

*Interface: send packets to specified
internetwork destinations; receive packets
destined for end host
*Protocols: define inter-network addresses
(globally unique); construct routing tables
Transport Layer (4)
*Service:
-Provide end-to-end communication between processes
–-Demultiplexing of communication between hosts
-Possible other services:
    o Reliability in the presence of errors
    o Timing properties
    o Rate adaption (flow-control, congestion control)

*Interface: send message to specific process at
given destination; local process receives
messages sent to it
*Protocol: perhaps implement reliability, flow
control, packetization of large messages, framing
-Examples: TCP and UDP
Application Layer (7)
*Service: any service provided to the end user
*Interface: depends on the application
*Protocol: depends on the application


-Examples: Skype, SMTP (email), HTTP (Web),
Halo, BitTorrent …


What happened to layers 5 & 6?
“Session” and “Presentation” layers
Part of OSI architecture, but not Internet architecture
Drawbacks of Layering
*Layer N may duplicate lower level functionality
-E.g., error recovery to retransmit lost data
*Layers may need same information
-E.g., timestamps, maximum transmission unit size
*Layering can hurt performance
-E.g., hiding details about what is really going on
*Some layers are not always cleanly separated
-Inter-layer dependencies for performance reasons
Some dependencies in standards (header checksums)
*Headers start to get really big
-Sometimes header bytes >> actual content
Layer Violations
*Sometimes the gains from not respecting layer
boundaries are too great to resist
*Can occur with higher-layer entity inspecting
lower-layer information:
-E.g., TCP-over-wireless system that monitors wireless
link-layer information to try to determine whether packet
loss due to congestion or corruption
*Can occur with lower-layer entity inspecting
higher-layer information
-E.g., firewalls, NATs (network address translators),
“transparent proxies”
*Just as with in-line assembly code, can be messy
and paint yourself into a corner (you know too much)
                                                50
Who Does What?
 *Five layers
 -Lower three layers implemented everywhere
 -Top two layers implemented only at hosts


   Application                        Application
    Transport                           Transport
     Network          Network           Network
     Datalink         Datalink          Datalink
     Physical         Physical          Physical
      Host A           Router             Host B
Logical Communication

 Layers interacts with peer’s corresponding
 layer


    Application                    Application
    Transport                       Transport
     Network        Network          Network
     Datalink       Datalink         Datalink
     Physical       Physical         Physical
      Host A         Router           Host B
Physical Communication
 *Communication goes down to physical network
 *Then from network peer to peer
 *Then up to relevant layer


   Application                         Application
     Transport                          Transport
     Network            Network          Network
     Datalink           Datalink         Datalink
     Physical           Physical         Physical
      Host A             Router           Host B
IP Suite: End Hosts vs. Routers
   host                                                                                     host

                                            HTTP message
  HTTP                                                                                     HTTP



                                             TCP segment
   TCP                                                                                       TCP

                              router                             router

             IP packet                        IP packet                        IP packet
    IP                         IP                                 IP                          IP



 Ethernet         Ethernet              SONET         SONET               Ethernet         Ethernet
 interface        interface            interface     interface            interface        interface
Layer Encapsulation

   User A                                       User B

                       Appl: Get index.html



                       Trans: Connection ID


                       Net: Source/Dest

                        Link: Src/Dest




   Common case: 20 bytes TCP header + 20 bytes IP header
      + 14 bytes Ethernet header = 54 bytes overhead
source
      message     M    application
                                                Encapsulation
    segment Ht    M    transport
datagram Hn Ht    M     network
frame Hl Hn Ht    M       link
                        physical
                                      Hl Hn Ht       M      link       Hl Hn Ht       M
                                                          physical

                                                                                switch



               destination             Hn Ht     M       network       Hn Ht    M
           M   application
                                     Hl Hn Ht    M         link      Hl Hn Ht     M
     Ht    M   transport                                 physical
  Hn Ht    M    network
Hl Hn Ht   M      link                                                          router
                physical
Discussion: Reliable File
Transfer
         Host A               Host B

           Appl.                Appl.

            OS                   OS
                     OK



  Solution 1: make each step reliable, and then
  concatenate them
  Solution 2: end-to-end check and try again if
  necessary
Discussion

 *Solution 1 is incomplete
 -What happens if any network element misbehaves?
 Receiver has to do the check anyway!

 *Solution 2 is complete
 -Full functionality can be entirely implemented at
 application layer with no need for reliability from
 lower layers

 *Is there any need to implement reliability at
 lower layers?
 -Well, it could be more efficient
Network Security
 The field of network security is about:
   how bad guys can attack computer networks
   how we can defend networks against attacks
   how to design architectures that are immune to
    attacks
 Internet not originally designed with
  (much) security in mind
    original vision: “a group of mutually trusting
     users attached to a transparent network” 
    Internet protocol designers playing “catch-up”
    Security considerations in all layers!
Bad guys can put malware into
hosts via Internet
 Malware can get in host from a virus, worm, or
  trojan horse.

 Spyware malware can record keystrokes, web
  sites visited, upload info to collection site.

 Infected host can be enrolled in a botnet, used
  for spam and DDoS attacks.

 Malware is often self-replicating: from an
  infected host, seeks entry into other hosts
Bad guys can put malware into
hosts via Internet
 Trojan horse                  Worm:
    Hidden part of some          infection by passively
     otherwise useful              receiving object that gets
     software                      itself executed
    Today often on a Web         self- replicating: propagates
     page (Active-X, plugin)       to other hosts, users
 Virus                                 Sapphire Worm: aggregate scans/sec
                                in first 5 minutes of outbreak (CAIDA, UWisc data)
    infection by receiving
     object (e.g., e-mail
     attachment), actively
     executing
    self-replicating:
     propagate itself to
     other hosts, users
                                                              Introduction
Bad guys can attack servers and
     network infrastructure
  Denial of service (DoS): attackers make resources
      (server, bandwidth) unavailable to legitimate traffic
      by overwhelming resource with bogus traffic
1.   select target
1. break into hosts
   around the network
   (see botnet)
1. send packets toward
   target from                               target
   compromised hosts
The bad guys can sniff packets
Packet sniffing:
   broadcast media (shared Ethernet, wireless)
   promiscuous network interface reads/records all
    packets (e.g., including passwords!) passing by

       A                              C


                       src:B dest:A   payload
                                                B
      Wireshark software used for end-of-chapter
       labs is a (free) packet-sniffer
The bad guys can use false source
addresses
 IP   spoofing: send packet with false source address
        A                               C


               src:B dest:A   payload

                                             B
The bad guys can record and
playback
 record-and-playback: sniff sensitive info (e.g.,
  password), and use later
    password holder is that user from system point of
     view

                          C
     A

                              src:B dest:A   user: B; password: foo


                                                   B
Internet History
1961-1972: Early packet-switching principles
 1961: Kleinrock - queueing    1972:
  theory shows                       ARPAnet public demonstration
  effectiveness of packet-           NCP (Network Control Protocol)
  switching
                                      first host-host protocol
 1964: Baran - packet-
                                     first e-mail program
  switching in military nets
                                     ARPAnet has 15 nodes
 1967: ARPAnet conceived
  by Advanced Research
  Projects Agency
 1969: first ARPAnet node
  operational
Internet History
    1972-1980: Internetworking, new and proprietary nets
 1970: ALOHAnet satellite
                                  Cerf and Kahn’s internetworking
    network in Hawaii                principles:
   1974: Cerf and Kahn -              minimalism, autonomy - no
    architecture for                     internal changes required
    interconnecting networks             to interconnect networks
                                       best effort service model
   1976: Ethernet at Xerox
    PARC                               stateless routers
                                       decentralized control
   ate70’s: proprietary
    architectures: DECnet, SNA,   define today’s Internet
    XNA                              architecture
   late 70’s: switching fixed
    length packets (ATM
    precursor)
   1979: ARPAnet has 200 nodes
Internet History
1980-1990: new protocols, a proliferation of networks

 1983: deployment of        new national networks:
    TCP/IP                    Csnet, BITnet,
   1982: smtp e-mail         NSFnet, Minitel
    protocol defined         100,000 hosts
   1983: DNS defined for     connected to
    name-to-IP-address        confederation of
    translation               networks
   1985: ftp protocol
    defined
   1988: TCP congestion
    control
Internet History
1990, 2000’s: commercialization, the Web, new apps
 Early 1990’s: ARPAnet             Late 1990’s – 2000’s:
  decommissioned                     more killer apps: instant
 1991: NSF lifts restrictions on     messaging, P2P file sharing
  commercial use of NSFnet           network security to
  (decommissioned, 1995)
                                      forefront
 early 1990s: Web
                                     est. 50 million host, 100
    hypertext [Bush 1945, Nelson
                                      million+ users
     1960’s]                         backbone links running at
    HTML, HTTP: Berners-Lee
                                      Gbps
    1994: Mosaic, later Netscape
    late 1990’s:
     commercialization of the Web
Internet History

2010:
 ~500 million hosts
 Voice, Video over IP
 P2P applications: BitTorrent
  (file sharing) Skype (VoIP),
  PPLive (video)
 more applications: YouTube,
  gaming
 wireless, mobility
Summary
Network Performance Metrics & Evaluation
  Delay and Related metrics


Network Design Philosophy
  Case Study: Internet's Layered Architecture

  Network Security

  History of Internet
Acknowledgment & Copyright
Acknowledgment: The instructor duly
  acknowledges the authors of the text book
  “Computer Networking: A Top-down approach”,
  James Kurose & Keith Ross and the instructors
  of EE122 “Computer Networks” course at UC
  Berkeley, Ian Stoica, Scott Shenker, Jennifer
  Rexford, Vern Paxson and other instructors at
  Princeton University for the course material.
Copyright: Certain modifications have been done
  to adapt the slides to the current audience and
  copyrighted by the instructor -Bruhadeshwar
  (Instructor) CSC335/CS3350 2011 Spring (C)

More Related Content

What's hot

K means clustering
K means clusteringK means clustering
K means clusteringkeshav goyal
 
Fishers linear discriminant for dimensionality reduction.
Fishers linear discriminant for dimensionality reduction.Fishers linear discriminant for dimensionality reduction.
Fishers linear discriminant for dimensionality reduction.Nurul Amin Choudhury
 
Neural Networks in Data Mining - “An Overview”
Neural Networks  in Data Mining -   “An Overview”Neural Networks  in Data Mining -   “An Overview”
Neural Networks in Data Mining - “An Overview”Dr.(Mrs).Gethsiyal Augasta
 
Community Detection
Community Detection Community Detection
Community Detection Kanika Kanwal
 
Dynamic source routing
Dynamic source routingDynamic source routing
Dynamic source routingAshraf Uddin
 
ML - Simple Linear Regression
ML - Simple Linear RegressionML - Simple Linear Regression
ML - Simple Linear RegressionAndrew Ferlitsch
 
Unsupervised learning (clustering)
Unsupervised learning (clustering)Unsupervised learning (clustering)
Unsupervised learning (clustering)Pravinkumar Landge
 
Equalization
EqualizationEqualization
Equalizationbhabendu
 
Linear models and multiclass classification
Linear models and multiclass classificationLinear models and multiclass classification
Linear models and multiclass classificationNdSv94
 
Community Detection with Networkx
Community Detection with NetworkxCommunity Detection with Networkx
Community Detection with NetworkxErika Fille Legara
 
Neural networks...
Neural networks...Neural networks...
Neural networks...Molly Chugh
 
INTRODUCTION TO NETWORK LAYER
INTRODUCTION TO NETWORK LAYER INTRODUCTION TO NETWORK LAYER
INTRODUCTION TO NETWORK LAYER Pramudya Maulana
 
Protocols and standards
Protocols and standardsProtocols and standards
Protocols and standardsPriyankaM69
 
Community detection in graphs
Community detection in graphsCommunity detection in graphs
Community detection in graphsNicola Barbieri
 

What's hot (20)

K means clustering
K means clusteringK means clustering
K means clustering
 
Machine Learning in R
Machine Learning in RMachine Learning in R
Machine Learning in R
 
Routing Techniques
Routing TechniquesRouting Techniques
Routing Techniques
 
Routing Algorithm
Routing AlgorithmRouting Algorithm
Routing Algorithm
 
Decision trees
Decision treesDecision trees
Decision trees
 
Fishers linear discriminant for dimensionality reduction.
Fishers linear discriminant for dimensionality reduction.Fishers linear discriminant for dimensionality reduction.
Fishers linear discriminant for dimensionality reduction.
 
CSC446: Pattern Recognition (LN6)
CSC446: Pattern Recognition (LN6)CSC446: Pattern Recognition (LN6)
CSC446: Pattern Recognition (LN6)
 
Neural Networks in Data Mining - “An Overview”
Neural Networks  in Data Mining -   “An Overview”Neural Networks  in Data Mining -   “An Overview”
Neural Networks in Data Mining - “An Overview”
 
Community Detection
Community Detection Community Detection
Community Detection
 
Dynamic source routing
Dynamic source routingDynamic source routing
Dynamic source routing
 
ML - Simple Linear Regression
ML - Simple Linear RegressionML - Simple Linear Regression
ML - Simple Linear Regression
 
Unsupervised learning (clustering)
Unsupervised learning (clustering)Unsupervised learning (clustering)
Unsupervised learning (clustering)
 
Equalization
EqualizationEqualization
Equalization
 
Logistic regression
Logistic regressionLogistic regression
Logistic regression
 
Linear models and multiclass classification
Linear models and multiclass classificationLinear models and multiclass classification
Linear models and multiclass classification
 
Community Detection with Networkx
Community Detection with NetworkxCommunity Detection with Networkx
Community Detection with Networkx
 
Neural networks...
Neural networks...Neural networks...
Neural networks...
 
INTRODUCTION TO NETWORK LAYER
INTRODUCTION TO NETWORK LAYER INTRODUCTION TO NETWORK LAYER
INTRODUCTION TO NETWORK LAYER
 
Protocols and standards
Protocols and standardsProtocols and standards
Protocols and standards
 
Community detection in graphs
Community detection in graphsCommunity detection in graphs
Community detection in graphs
 

Similar to Week3.1

Lec 4 and_5
Lec 4 and_5Lec 4 and_5
Lec 4 and_5hz3012
 
Availability Computer Communication Network .pdf
Availability Computer Communication Network .pdfAvailability Computer Communication Network .pdf
Availability Computer Communication Network .pdfYashShirude1
 
Delays in packet switch network
Delays in packet switch networkDelays in packet switch network
Delays in packet switch networkShanza Sohail
 
Ch1 2ed 29_dec03
Ch1 2ed 29_dec03Ch1 2ed 29_dec03
Ch1 2ed 29_dec03Sugan Nalla
 
lec 3 4 Core Delays Thruput Net Arch.ppt
lec 3 4 Core Delays Thruput Net Arch.pptlec 3 4 Core Delays Thruput Net Arch.ppt
lec 3 4 Core Delays Thruput Net Arch.pptMahamKhurram4
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)NYversity
 
Lec 4(packet delay layered Architecture)
Lec 4(packet delay layered Architecture)Lec 4(packet delay layered Architecture)
Lec 4(packet delay layered Architecture)maamir farooq
 
Switching Problems.pdf
Switching Problems.pdfSwitching Problems.pdf
Switching Problems.pdfSenthil Vit
 
UNIT-3 network security layers andits types
UNIT-3 network security layers andits typesUNIT-3 network security layers andits types
UNIT-3 network security layers andits typesgjeyasriitaamecnew
 
Assignment cn tl
Assignment cn tlAssignment cn tl
Assignment cn tlH K
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputIJLT EMAS
 
Ad Hoc Probe
Ad Hoc ProbeAd Hoc Probe
Ad Hoc Probenutikumar
 

Similar to Week3.1 (20)

Ch1 delays, loss, and throughput l5
Ch1 delays, loss, and throughput l5Ch1 delays, loss, and throughput l5
Ch1 delays, loss, and throughput l5
 
Lec - 1_Chapter_1.ppt
Lec - 1_Chapter_1.pptLec - 1_Chapter_1.ppt
Lec - 1_Chapter_1.ppt
 
Unit_I - 3
Unit_I - 3Unit_I - 3
Unit_I - 3
 
Lec 4 and_5
Lec 4 and_5Lec 4 and_5
Lec 4 and_5
 
Availability Computer Communication Network .pdf
Availability Computer Communication Network .pdfAvailability Computer Communication Network .pdf
Availability Computer Communication Network .pdf
 
Dcn lecture 3
Dcn lecture 3Dcn lecture 3
Dcn lecture 3
 
Network delay
Network delayNetwork delay
Network delay
 
Delays in packet switch network
Delays in packet switch networkDelays in packet switch network
Delays in packet switch network
 
Ch1 2ed 29_dec03
Ch1 2ed 29_dec03Ch1 2ed 29_dec03
Ch1 2ed 29_dec03
 
Ch1 internet Networks
Ch1 internet NetworksCh1 internet Networks
Ch1 internet Networks
 
lec 3 4 Core Delays Thruput Net Arch.ppt
lec 3 4 Core Delays Thruput Net Arch.pptlec 3 4 Core Delays Thruput Net Arch.ppt
lec 3 4 Core Delays Thruput Net Arch.ppt
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
 
Lec 4(packet delay layered Architecture)
Lec 4(packet delay layered Architecture)Lec 4(packet delay layered Architecture)
Lec 4(packet delay layered Architecture)
 
Lecture set 1
Lecture set 1Lecture set 1
Lecture set 1
 
Switching Problems.pdf
Switching Problems.pdfSwitching Problems.pdf
Switching Problems.pdf
 
UNIT-3 network security layers andits types
UNIT-3 network security layers andits typesUNIT-3 network security layers andits types
UNIT-3 network security layers andits types
 
Assignment cn tl
Assignment cn tlAssignment cn tl
Assignment cn tl
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum Throughput
 
Ad Hoc Probe
Ad Hoc ProbeAd Hoc Probe
Ad Hoc Probe
 
Tcp ip
Tcp ipTcp ip
Tcp ip
 

More from Digvijay Singh (14)

Week3 applications
Week3 applicationsWeek3 applications
Week3 applications
 
Week2.1
Week2.1Week2.1
Week2.1
 
Week1.2 intro
Week1.2 introWeek1.2 intro
Week1.2 intro
 
Networks
NetworksNetworks
Networks
 
Uncertainty
UncertaintyUncertainty
Uncertainty
 
Overfitting and-tbl
Overfitting and-tblOverfitting and-tbl
Overfitting and-tbl
 
Ngrams smoothing
Ngrams smoothingNgrams smoothing
Ngrams smoothing
 
Query execution
Query executionQuery execution
Query execution
 
Query compiler
Query compilerQuery compiler
Query compiler
 
Machine learning
Machine learningMachine learning
Machine learning
 
Hmm viterbi
Hmm viterbiHmm viterbi
Hmm viterbi
 
3 fol examples v2
3 fol examples v23 fol examples v2
3 fol examples v2
 
Multidimensional Indexing
Multidimensional IndexingMultidimensional Indexing
Multidimensional Indexing
 
Bayesnetwork
BayesnetworkBayesnetwork
Bayesnetwork
 

Recently uploaded

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Recently uploaded (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Week3.1

  • 1. Chapter 1 Introduction A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously Computer Networking: represent a lot of work on our part. In return for use, we only ask the A Top Down Approach , following:  If you use these slides (e.g., in a class) in substantially unaltered form, 3rd/5th edition. that you mention their source (after all, we’d like people to use our book!) Jim Kurose, Keith Ross  If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and Pearson/Addison- note our copyright of this material. Wesley, April 2009. Thanks and enjoy! JFK/KWR All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved
  • 3. Motivations  Understanding network behavior  Improving protocols  Verifying correctness of implementation  Detecting faults  Monitor service level agreements  Choosing providers  Billing
  • 4. How do loss and delay occur? *packets queue in router buffers -packet arrival rate to link exceeds output link capacity -packets queue, wait for turn -when packet arrives to full queue, packet is dropped (aka lost) -lost packet may be retransmitted by previous node, by source end system, or not retransmitted at all packet being transmitted (delay) A B packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers
  • 5. Definitions  Link bandwidth (capacity): maximum rate (in bps) at which the sender can send data along the link  Propagation delay: time it takes the signal to travel from source to destination  Packet transmission time: time it takes the sender to transmit all bits of the packet  Queuing delay: time the packet need to wait before being transmitted because the queue was not empty when it arrived  Processing Time: time it takes a router/switch to process the packet header, manage memory, etc
  • 6. Four sources of packet delay 1. nodal processing:  2. queueing check bit errors  time waiting at output determine output link link for transmission  depends on congestion level of router transmission A propagation B nodal processing queueing
  • 7. Delay in packet-switched networks 3. Transmission delay: 4. Propagation delay: R=link bandwidth (bps) d = length of physical link L=packet length (bits) s = propagation speed in time to send bits into medium (~2x108 m/sec) link = L/R propagation delay = d/s Note: s and R are very different quantities! transmission A propagation B nodal processing queueing
  • 8. Transmission delay L R R R *Packet switching Example: -Store-and-forward L = 7.5 Mbits -Packet completely received before being transmitted to next R = 1.5 Mbps node delay = 15 sec *Takes L/R seconds to transmit (push out) packet of L bits on to link or R bps *Entire packet must arrive at router before it can be transmitted on next link: store and forward more on delay shortly … delay = 3L/R (assuming zero propagation delay)
  • 9. Transmission vs Propagation Delay R bits per second (bps) Bandwidth: R bps Propagation delay: T sec T seconds P bits T Transmission time = P/R time Propagation delay =T = Length/speed (per bit)
  • 10. Transmission vs Propagation Delay P = 1 Kbyte R = 1 Gbps 100 Km, fiber => T >> P/R T T = 500 usec P/R = 8 usec P/R time T << P/R P = 1 Kbyte T R = 100 Mbps 1 Km, fiber => P/R T = 5 usec P/R = 80 usec time
  • 11. Queueing Delay  The queue has Q bits when packet arrives packet has to wait for the queue to drain before being transmitted Capacity = R bps Propagation delay = T sec P bits Q bits Queueing delay = Q/R T P/R time
  • 12. Queueing delay R=link bandwidth (bps) L=packet length (bits) a=average packet arrival rate traffic intensity = La/R  La/R ~ 0: average queueing delay small  La/R -> 1: delays become large  La/R > 1: more “work” arriving than can be serviced, average delay infinite!
  • 13. Nodal delay d nodal = d proc + d queue + d trans + d prop dproc = processing delay typically a few microsecs or less dqueue = queuing delay depends on congestion dtrans = transmission delay = L/R, significant for low-speed links dprop = propagation delay a few microsecs to hundreds of msecs
  • 14. Delay Related Metrics  Delay (Latency) of bit (packet, file) from A to B  The time required for bit (packet, file) to go from A to B  Jitter  Variability in delay  Round-Trip Time (RTT)  Two-way delay from sender to receiver and back  Bandwidth-Delay product  Product of bandwidth and delay “storage” capacity of network
  • 15. Little’s Theorem  Assume a system at which packets arrive at rate λ  Let d be mean delay of packet, i.e., mean time a packet spends in the system  Q: What is the mean (average) number of packets in the system (N) ? d = mean delay λ – mean arrival rate system
  • 16. Example d=5  λ=1  d=5 N = 5 packets packets 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 time  A: N = λ x d  E.g., N = λ x d = 5
  • 17. “Real” Internet delays and routes *What do “real” Internet delay & loss look like? Traceroute program: provides delay measurement from source to router along end-end Internet path towards destination. For all i: -sends three packets that will reach router i on path towards destination -router i will return packets to sender -sender times interval between transmission and reply. 3 probes 3 probes 3 probes
  • 18. Performance Metric: Throughput  Throughput of a connection or link = total number of bits successfully transmitted during some period [t, t + T) divided by T  Link utilization = (throughput of the link)/(link rate)  Bit rate units: 1Kbps = 103bps, 1Mbps = 106bps, 1 Gbps = 109bps [For memory: 1 Kbyte = 210 bytes = 1024 bytes]  Some rates are expressed in packets per second (pps) -- relevant for routers/switches where the bottleneck is the header processing
  • 19. Example: Windows Based Flow Control Source Destination  Connection:  Send W bits (window size)  Wait for ACKs RTT  Repeat  Assume the round-trip-time is RTT seconds RTT  Throughput = W/RTT bps  Numerical example:  W = 64 Kbytes RTT  RTT = 200 ms  Throughput = W/RTT = time 64,000*8/0.2s = 2.6 Mbps
  • 20. Evaluation Techniques  Measurements  gather data from a real network  e.g., ping www.nyu.edu  realistic, specific  Simulations: run a program that pretends to be a real network  e.g., NS network simulator, Nachos OS simulator  Models, analysis  write some equations from which we can derive conclusions  general, may not be realistic  Usually use combination of methods
  • 21. Simulation  Model of traffic  Model of routers, links  Simulation:  Time driven: X(t) = state at time t X(t+1) = f(X(t), event at time t)  Event driven: E(n) = n-th event Y(n) = state after event n T(n) = time when even n occurs [Y(n+1), T(n+1)] = g(Y(n), T(n), E(n))  Output analysis: estimates, confidence intervals
  • 22. Simulation Example  Use trivial time-driven simulation to illustrate statistical multiplexing  Probabilistically generate the bandwidth of a flow, e.g.,  With probability 0.2, bandwidth is 6  With probability 0.8, bandwidth is 1  Average bandwidth, avg=0.2*6 + 0.8*1 = 2  peak/avg = 6/2 = 3
  • 23. Statistical Multiplexing  As number of flows increases, agg_peak/agg_avg decreases  For 1000 flows, peak/avg = 2125/2009=1.057  Q: What does this mean?  A: Multiplexing a large enough number of flows “eliminates” burstiness  Use average bandwidth to provision capacity, instead of peak bandwidth  E.g., For 1000 flows  Average of aggregate bandwidth = 2,000  Sum of bandwidth peaks = 6,000
  • 24. Summary Internet: User perspective: End-to-end view Network perspective: core-view Networking Technologies : Physical Media Network Performance metrics
  • 26. The Networking Dilemma *Many different networking technologies *Many different network applications *How do you prevent incompatibilities?
  • 27. Placing Network Functionality *Hugely influential paper: “End-to-End Arguments in System Design” by Saltzer, Reed, and Clark (‘84) *Basic observation: some types of network functionality can only be correctly implemented end-to-end *Because of this, end hosts: -Can satisfy the requirement without network’s help Will/must do so, since can’t rely on network’s help *Therefore don’t go out of your way to implement them in the network
  • 28. Hourglass design  End-to-end principle leads to “Hourglass” design of protocols  Only one protocol at the Internet level  Minimal required elements at narrowest point  IP – Internet Protocol  http://www.rfc-editor.org/rfc/rfc791.txt  http://www.rfc-editor.org/rfc/rfc1812.txt  Unreliable datagram service  Addressing and connectionless connectivity  Fragmentation and assembly
  • 30. End-to-end principle and the Hourglass design  The good  Basic network functionality allowed for extremely quick adoption and deployment using simple devices  The bad  New network features and functionality are impossible to deploy, requiring widespread adoption within the network  IP Multicast, QoS
  • 32. The Problem Application Skype SSH NFS HTTP Transmission Coaxial Fiber Radio Media cable optic Re-implement every application for every technology? No! But how does the Internet design avoid this?
  • 33. Solution: Intermediate Layers *Introduce intermediate layers that provide set of abstractions for various network functionality & technologies -A new app/media implemented only once Variation on “add another level of indirection” Application Skype SSH NFS HTTP Intermediate layers Transmission Coaxial Fiber Packet Media cable optic radio
  • 34. Network Architecture *Architecture is not the implementation itself *Architecture is how to organize/structure the elements of the system & their implementation -What interfaces are supported • Using what sort of abstractions -Where functionality is implemented -The modular design of the network
  • 35. Computer System Modularity *Partition system into modules & abstractions: *Well-defined interfaces give flexibility Hides implementation - thus, it can be freely changed Extend functionality of system by adding new modules -E.g., libraries encapsulating set of functionality -E.g., programming language + compiler abstracts away not only how the particular CPU works … … but also the basic computational model
  • 36. Network System Modularity *Like software modularity, but: *Implementation distributed across many machines (routers and hosts) *Must decide: How to break system into modules o Layering Where modules are implemented o End-to-End Principle Where state is stored o Fate-sharing -one's fate affects all
  • 37. Example: 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
  • 38. 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 airplane routing airplane routing departure intermediate air-traffic arrival airport control centers airport Layers: each layer implements a service  via its own internal-layer actions  relying on services provided by layer below
  • 39. Why layering? Dealing with complex systems:  explicit structure allows identification, relationship of complex system’s pieces  layered reference model for discussion  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  layering considered harmful?
  • 40. Layering: A Modular Approach *Partition the system -Each layer solely relies on services from layer below -Each layer solely exports services to layer above *Interface between layers defines interaction -Hides implementation details -Layers can change without disturbing other layers
  • 41. Layering in Networks: OSI Model  Physical  how to transmit bits Application  Data link Presentation  how to transmit frames Session  Network Transport  how to route packets host-to-host Network  Transport  how to send packets end2end Data Link  Session Physical  how to tie flows together  Presentation Host  byte ordering, formatting  Application: everything else
  • 42. Properties of Layers (OSI Model) *Service: what a layer does *Service interface: how to access the service Interface for layer above *Protocol (peer interface): how peers communicate to achieve the service -Set of rules and formats that govern the communication between network elements -Does not govern the implementation on a single machine, but how the layer is implemented between machines
  • 43. Internet Protocol Stack Only 5 layers! --Application --Transport --Network --Data Link --Physical Layer
  • 44. Physical Layer (1) *Service: move bits between two systems connected by a single physical link *Interface: specifies how to send and receive bits -E.g., require quantities and timing *Protocols: coding scheme used to represent bits, voltage levels, duration of a bit
  • 45. (Data) Link Layer (2) *Service: -Enable end hosts to exchange atomic messages with one another • Using abstract addresses (i.e., not just direct physical connections) -Perhaps over multiple physical links • But using the same framing (headers/trailers) -Possible other services: o arbitrate access to common physical media o reliable transmission, flow control *Interface: send messages (frames) to other end hosts; receive messages addressed to end host *Protocols: addressing, routing, Media Access Control (MAC) (e.g., CSMA/CD - Carrier Sense Multiple Access / Collision Detection)
  • 46. (Inter) Network Layer (3) *Service: -Deliver packets to specified inter-network destination • Inter-network = across multiple layer-2 networks -Works across networking technologies (e.g., Ethernet + 802.11 + Frame Relay + ATM …) • No longer the same framing all the way -Possible other services: • packet scheduling/priority • buffer management *Interface: send packets to specified internetwork destinations; receive packets destined for end host *Protocols: define inter-network addresses (globally unique); construct routing tables
  • 47. Transport Layer (4) *Service: -Provide end-to-end communication between processes –-Demultiplexing of communication between hosts -Possible other services: o Reliability in the presence of errors o Timing properties o Rate adaption (flow-control, congestion control) *Interface: send message to specific process at given destination; local process receives messages sent to it *Protocol: perhaps implement reliability, flow control, packetization of large messages, framing -Examples: TCP and UDP
  • 48. Application Layer (7) *Service: any service provided to the end user *Interface: depends on the application *Protocol: depends on the application -Examples: Skype, SMTP (email), HTTP (Web), Halo, BitTorrent … What happened to layers 5 & 6? “Session” and “Presentation” layers Part of OSI architecture, but not Internet architecture
  • 49. Drawbacks of Layering *Layer N may duplicate lower level functionality -E.g., error recovery to retransmit lost data *Layers may need same information -E.g., timestamps, maximum transmission unit size *Layering can hurt performance -E.g., hiding details about what is really going on *Some layers are not always cleanly separated -Inter-layer dependencies for performance reasons Some dependencies in standards (header checksums) *Headers start to get really big -Sometimes header bytes >> actual content
  • 50. Layer Violations *Sometimes the gains from not respecting layer boundaries are too great to resist *Can occur with higher-layer entity inspecting lower-layer information: -E.g., TCP-over-wireless system that monitors wireless link-layer information to try to determine whether packet loss due to congestion or corruption *Can occur with lower-layer entity inspecting higher-layer information -E.g., firewalls, NATs (network address translators), “transparent proxies” *Just as with in-line assembly code, can be messy and paint yourself into a corner (you know too much) 50
  • 51. Who Does What? *Five layers -Lower three layers implemented everywhere -Top two layers implemented only at hosts Application Application Transport Transport Network Network Network Datalink Datalink Datalink Physical Physical Physical Host A Router Host B
  • 52. Logical Communication Layers interacts with peer’s corresponding layer Application Application Transport Transport Network Network Network Datalink Datalink Datalink Physical Physical Physical Host A Router Host B
  • 53. Physical Communication *Communication goes down to physical network *Then from network peer to peer *Then up to relevant layer Application Application Transport Transport Network Network Network Datalink Datalink Datalink Physical Physical Physical Host A Router Host B
  • 54. IP Suite: End Hosts vs. Routers host host HTTP message HTTP HTTP TCP segment TCP TCP router router IP packet IP packet IP packet IP IP IP IP Ethernet Ethernet SONET SONET Ethernet Ethernet interface interface interface interface interface interface
  • 55. Layer Encapsulation User A User B Appl: Get index.html Trans: Connection ID Net: Source/Dest Link: Src/Dest Common case: 20 bytes TCP header + 20 bytes IP header + 14 bytes Ethernet header = 54 bytes overhead
  • 56. source message M application Encapsulation segment Ht M transport datagram Hn Ht M network frame Hl Hn Ht M link physical Hl Hn Ht M link Hl Hn Ht M physical switch destination Hn Ht M network Hn Ht M M application Hl Hn Ht M link Hl Hn Ht M Ht M transport physical Hn Ht M network Hl Hn Ht M link router physical
  • 57. Discussion: Reliable File Transfer Host A Host B Appl. Appl. OS OS OK Solution 1: make each step reliable, and then concatenate them Solution 2: end-to-end check and try again if necessary
  • 58. Discussion *Solution 1 is incomplete -What happens if any network element misbehaves? Receiver has to do the check anyway! *Solution 2 is complete -Full functionality can be entirely implemented at application layer with no need for reliability from lower layers *Is there any need to implement reliability at lower layers? -Well, it could be more efficient
  • 59. Network Security  The field of network security is about:  how bad guys can attack computer networks  how we can defend networks against attacks  how to design architectures that are immune to attacks  Internet not originally designed with (much) security in mind  original vision: “a group of mutually trusting users attached to a transparent network”   Internet protocol designers playing “catch-up”  Security considerations in all layers!
  • 60. Bad guys can put malware into hosts via Internet  Malware can get in host from a virus, worm, or trojan horse.  Spyware malware can record keystrokes, web sites visited, upload info to collection site.  Infected host can be enrolled in a botnet, used for spam and DDoS attacks.  Malware is often self-replicating: from an infected host, seeks entry into other hosts
  • 61. Bad guys can put malware into hosts via Internet  Trojan horse  Worm:  Hidden part of some  infection by passively otherwise useful receiving object that gets software itself executed  Today often on a Web  self- replicating: propagates page (Active-X, plugin) to other hosts, users  Virus Sapphire Worm: aggregate scans/sec in first 5 minutes of outbreak (CAIDA, UWisc data)  infection by receiving object (e.g., e-mail attachment), actively executing  self-replicating: propagate itself to other hosts, users Introduction
  • 62. Bad guys can attack servers and network infrastructure  Denial of service (DoS): attackers make resources (server, bandwidth) unavailable to legitimate traffic by overwhelming resource with bogus traffic 1. select target 1. break into hosts around the network (see botnet) 1. send packets toward target from target compromised hosts
  • 63. The bad guys can sniff packets Packet sniffing:  broadcast media (shared Ethernet, wireless)  promiscuous network interface reads/records all packets (e.g., including passwords!) passing by A C src:B dest:A payload B  Wireshark software used for end-of-chapter labs is a (free) packet-sniffer
  • 64. The bad guys can use false source addresses  IP spoofing: send packet with false source address A C src:B dest:A payload B
  • 65. The bad guys can record and playback  record-and-playback: sniff sensitive info (e.g., password), and use later  password holder is that user from system point of view C A src:B dest:A user: B; password: foo B
  • 66. Internet History 1961-1972: Early packet-switching principles  1961: Kleinrock - queueing  1972: theory shows  ARPAnet public demonstration effectiveness of packet-  NCP (Network Control Protocol) switching first host-host protocol  1964: Baran - packet-  first e-mail program switching in military nets  ARPAnet has 15 nodes  1967: ARPAnet conceived by Advanced Research Projects Agency  1969: first ARPAnet node operational
  • 67. Internet History 1972-1980: Internetworking, new and proprietary nets  1970: ALOHAnet satellite Cerf and Kahn’s internetworking network in Hawaii principles:  1974: Cerf and Kahn -  minimalism, autonomy - no architecture for internal changes required interconnecting networks to interconnect networks  best effort service model  1976: Ethernet at Xerox PARC  stateless routers  decentralized control  ate70’s: proprietary architectures: DECnet, SNA, define today’s Internet XNA architecture  late 70’s: switching fixed length packets (ATM precursor)  1979: ARPAnet has 200 nodes
  • 68. Internet History 1980-1990: new protocols, a proliferation of networks  1983: deployment of  new national networks: TCP/IP Csnet, BITnet,  1982: smtp e-mail NSFnet, Minitel protocol defined  100,000 hosts  1983: DNS defined for connected to name-to-IP-address confederation of translation networks  1985: ftp protocol defined  1988: TCP congestion control
  • 69. Internet History 1990, 2000’s: commercialization, the Web, new apps  Early 1990’s: ARPAnet Late 1990’s – 2000’s: decommissioned  more killer apps: instant  1991: NSF lifts restrictions on messaging, P2P file sharing commercial use of NSFnet  network security to (decommissioned, 1995) forefront  early 1990s: Web  est. 50 million host, 100  hypertext [Bush 1945, Nelson million+ users 1960’s]  backbone links running at  HTML, HTTP: Berners-Lee Gbps  1994: Mosaic, later Netscape  late 1990’s: commercialization of the Web
  • 70. Internet History 2010:  ~500 million hosts  Voice, Video over IP  P2P applications: BitTorrent (file sharing) Skype (VoIP), PPLive (video)  more applications: YouTube, gaming  wireless, mobility
  • 71. Summary Network Performance Metrics & Evaluation Delay and Related metrics Network Design Philosophy Case Study: Internet's Layered Architecture Network Security History of Internet
  • 72. Acknowledgment & Copyright Acknowledgment: The instructor duly acknowledges the authors of the text book “Computer Networking: A Top-down approach”, James Kurose & Keith Ross and the instructors of EE122 “Computer Networks” course at UC Berkeley, Ian Stoica, Scott Shenker, Jennifer Rexford, Vern Paxson and other instructors at Princeton University for the course material. Copyright: Certain modifications have been done to adapt the slides to the current audience and copyrighted by the instructor -Bruhadeshwar (Instructor) CSC335/CS3350 2011 Spring (C)