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

communication system Chapter 6
communication system Chapter 6communication system Chapter 6
communication system Chapter 6moeen khan afridi
 
Computer Networks- Introduction and Data Link Layer
Computer Networks- Introduction and Data Link LayerComputer Networks- Introduction and Data Link Layer
Computer Networks- Introduction and Data Link LayerDeepak John
 
TWO STAGE NETWORKS
TWO STAGE NETWORKSTWO STAGE NETWORKS
TWO STAGE NETWORKSAakankshaR
 
Classical probability
Classical probabilityClassical probability
Classical probabilityKen Kretsch
 
Information Theory Coding 1
Information Theory Coding 1Information Theory Coding 1
Information Theory Coding 1Mahafuz Aveek
 
Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)A B Shinde
 
5. 2 ray propagation model part 1
5. 2 ray propagation model   part 15. 2 ray propagation model   part 1
5. 2 ray propagation model part 1JAIGANESH SEKAR
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correctionMaria Akther
 
Comparison of coherent optical transmission systems performance by DP-QAM lev...
Comparison of coherent optical transmission systems performance by DP-QAM lev...Comparison of coherent optical transmission systems performance by DP-QAM lev...
Comparison of coherent optical transmission systems performance by DP-QAM lev...IJECEIAES
 
Stochastic modelling and its applications
Stochastic modelling and its applicationsStochastic modelling and its applications
Stochastic modelling and its applicationsKartavya Jain
 
Digital VLSI Design : Introduction
Digital VLSI Design : IntroductionDigital VLSI Design : Introduction
Digital VLSI Design : IntroductionUsha Mehta
 
Characterization of the Wireless Channel
Characterization of the Wireless ChannelCharacterization of the Wireless Channel
Characterization of the Wireless ChannelSuraj Katwal
 

What's hot (20)

communication system Chapter 6
communication system Chapter 6communication system Chapter 6
communication system Chapter 6
 
Computer Networks- Introduction and Data Link Layer
Computer Networks- Introduction and Data Link LayerComputer Networks- Introduction and Data Link Layer
Computer Networks- Introduction and Data Link Layer
 
TWO STAGE NETWORKS
TWO STAGE NETWORKSTWO STAGE NETWORKS
TWO STAGE NETWORKS
 
Classical probability
Classical probabilityClassical probability
Classical probability
 
Source coding systems
Source coding systemsSource coding systems
Source coding systems
 
Information Theory Coding 1
Information Theory Coding 1Information Theory Coding 1
Information Theory Coding 1
 
3g cdma-qualcom
3g cdma-qualcom3g cdma-qualcom
3g cdma-qualcom
 
Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)
 
5. 2 ray propagation model part 1
5. 2 ray propagation model   part 15. 2 ray propagation model   part 1
5. 2 ray propagation model part 1
 
Bayes' theorem
Bayes' theoremBayes' theorem
Bayes' theorem
 
Lesson 08
Lesson 08Lesson 08
Lesson 08
 
communication system ch1
communication system ch1communication system ch1
communication system ch1
 
Question bank digital electronics
Question bank digital electronicsQuestion bank digital electronics
Question bank digital electronics
 
Huffman Encoding Pr
Huffman Encoding PrHuffman Encoding Pr
Huffman Encoding Pr
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
 
Lecture 6
Lecture 6Lecture 6
Lecture 6
 
Comparison of coherent optical transmission systems performance by DP-QAM lev...
Comparison of coherent optical transmission systems performance by DP-QAM lev...Comparison of coherent optical transmission systems performance by DP-QAM lev...
Comparison of coherent optical transmission systems performance by DP-QAM lev...
 
Stochastic modelling and its applications
Stochastic modelling and its applicationsStochastic modelling and its applications
Stochastic modelling and its applications
 
Digital VLSI Design : Introduction
Digital VLSI Design : IntroductionDigital VLSI Design : Introduction
Digital VLSI Design : Introduction
 
Characterization of the Wireless Channel
Characterization of the Wireless ChannelCharacterization of the Wireless Channel
Characterization of the Wireless Channel
 

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

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

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)