Computer Networking
Naeem Ul Islam
Contact: naeem@saturn.yzu.edu.tw
         Office: 70928
   Internet communication
Internet communication technologies uses:
 ✓Circuit switching
 ✓Packet switching
                                            Introduction: 1-2
   Internet communication
Internet communication technologies uses:
                      Circuit switching     Packet switching
                                                      Introduction: 1-3
    Circuit switching: FDM and TDM
   Frequency Division Multiplexing
   (FDM)                                                   4 users
    ▪ optical, electromagnetic frequencies
                                               frequency
      divided into (narrow) frequency
      bands
    ▪ each call allocated its own band, can
      transmit at max rate of that narrow
      band                                                 time
▪ In telephone networks, this frequency band
  typically has a width of 4 kHz
                                                                     Introduction: 1-4
 Circuit switching: FDM and TDM
                                                          4 users
Time Division Multiplexing (TDM)
                                              frequency
▪ time is divided into frames of fixed
  duration
▪ each frame is divided into a fixed
  number of time slots                                      time
▪ each call allocated periodic slot(s), can
  transmit at maximum rate of (wider)
  frequency band, but only during its time
  slot(s)
                                                                    Introduction: 1-5
Packet-switching: queueing delay, loss
                    R = 100 Mb/s
            A                                                C
                                                            D
                B                       R = 1.5 Mb/s
                                                                  E
                          queue of packets
                        waiting for output link
  Packet queuing and loss: if arrival rate (in bps) to link exceeds
  transmission rate (bps) of link for a period of time:
  ▪ packets will queue, waiting to be transmitted on output link
  ▪ packets can be dropped (lost) if memory (buffer) in router fills
    up
                                                                       Introduction: 1-6
Packet switching versus circuit switching
              packet switching allows more users to use network!
Example:
▪ 1 Gb/s link
▪ each user:                                                                      N
  • 100 Mb/s when “active”                                                       users                               1 Gbps link
  • active 10% of time
▪ circuit-switching: 10 users
                                                                         Q: how did we get value 0.0004?
▪ packet switching: with 35 users,
 probability > 10 active at same time
 is less than .0004 *
  * Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive
                                                                                                                          Introduction: 1-7
How do packet loss and delay occur?
packets queue in router buffers
▪ packets queue, wait for turn
▪ arrival rate to link (temporarily) exceeds output link capacity: packet loss
                                       packet being transmitted (transmission delay)
               B
                                        packets in buffers (queueing delay)
                         free (available) buffers: arriving packets
                         dropped (loss) if no free buffers
                                                                              Introduction: 1-8
Packet delay: four sources
              transmission
      A                        propagation
      B
                 nodal
               processing queueing
     dnodal = dproc + dqueue + dtrans + dprop
 dproc: nodal processing      dqueue: queueing delay
  ▪ check bit errors          ▪ time waiting at output link for transmission
  ▪ determine output link     ▪ depends on congestion level of router
  ▪ typically < msec
                                                                               Introduction: 1-9
Packet delay: four sources
               transmission
      A                               propagation
      B
                   nodal
                 processing queueing
     dnodal = dproc + dqueue + dtrans + dprop
 dtrans: transmission delay:                  dprop: propagation delay:
 ▪ L: packet length (bits)                    ▪ d: length of physical link
 ▪ R: link transmission rate (bps)            ▪ s: propagation speed (~2x108 m/sec)
 ▪ dtrans = L/R                               ▪ dprop = d/s
                         dtrans and dprop                       * Check out the online interactive exercises:
                                                                http://gaia.cs.umass.edu/kurose_ross
                         very different
                                                                                              Introduction: 1-10
Packet queueing delay (revisited)
                                         average queueing delay
▪ R: link bandwidth (bps)
▪ L: packet length (bits)
▪ a: average packet arrival rate
                                                                  traffic intensity = La/R    1
▪ La/R ~ 0: avg. queueing delay small
▪ La/R -> 1: avg. queueing delay large                                                   La/R ~ 0
▪ La/R > 1: more “work” arriving is
  more than can be serviced - average
  delay infinite!
                                                                                       La/R -> 1
                                                                                                    Introduction: 1-11
Packet queueing delay (revisited)
                                    Introduction: 1-12
“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 measures time interval between transmission and reply
            3 probes         3 probes
                  3 probes
                                                                   Introduction: 1-13
“Real” Internet delays and routes
                                    Introduction: 1-14
Real Internet delays and routes
   traceroute: gaia.cs.umass.edu to www.eurecom.fr
                                         3 delay measurements from
                                         gaia.cs.umass.edu to cs-gw.cs.umass.edu
   1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms                           3 delay measurements
   2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms
   3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms             to border1-rt-fa5-1-0.gw.umass.edu
   4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms
   5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms
   6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms
   7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms trans-oceanic link
   8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms
   9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms
   10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms               looks like delays
   11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms
   12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms          decrease! Why?
   13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms
   14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms
   15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms
   16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms
   17 * * *
   18 * * *             * means no response (probe lost, router not replying)
   19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms
   * Do some traceroutes from exotic countries at www.traceroute.org
                                                                                               Introduction: 1-15
Packet loss
▪ queue (aka buffer) preceding link in buffer has finite capacity
▪ packet arriving to full queue dropped (aka lost)
▪ lost packet may be retransmitted by previous node, by source end
  system, or not at all
                                      buffer
                                   (waiting area)      packet being transmitted
                   A
                       B
                                           packet arriving to
                                           full buffer is lost
 * Check out the Java applet for an interactive animation on queuing and loss     Introduction: 1-16
Packet loss
 https://www2.tkn.tu-berlin.de/teaching/rn/animations/queue/
 * Check out the Java applet for an interactive animation on queuing and loss   Introduction: 1-17
                            Throughput is the rate at which bits are being sent from the sender to the receiver.
 Throughput                 It is measured in bits per unit of time, such as bits per second (bps) ¹.
                            Instantaneous throughput is the rate at a given point in time,
                            while average throughput is the rate over a longer period of time ¹.
      keluaran
  ▪ throughput: rate (bits/time unit) at which bits are being sent from
    sender to receiver
     • instantaneous: rate at given point in time
     • average: rate over longer period of time
                     link capacity
                     pipe  that can carry                                          linkthat
                                                                                 pipe     capacity
                                                                                              can carry
                       Rsfluid
                          bits/sec
                               at rate                                               Rfluid
                                                                                        c bits/sec
                                                                                             at rate
serverserver,
         sends with
                bits
 (fluid) into pipe       (Rs bits/sec)                                                (Rc bits/sec)
      file of F bits
  to send to client
                                                                                                                   Introduction: 1-18
Throughput
 Rs < Rc What is average end-end throughput?
              Rs bits/sec                     Rc bits/sec
                        depends on this one
 Rs > Rc What is average end-end throughput?
              Rs bits/sec                      Rc bits/sec
    bottleneck link
  link on end-end path that constrains end-end throughput
                                                             Introduction: 1-19
Throughput: network scenario
                                                       ▪ per-connection end-
            Rs                                           end throughput:
                                                                                               find the smallest it'll be the bandwidth
     Rs                         Rs                       min(Rc,Rs,R/10)
                      depend how many users use that   ▪ in practice: Rc or Rs is
                     R                                   often bottleneck
    Rc                            Rc
               Rc
                                                        * Check out the online interactive exercises for more
                                                        examples: http://gaia.cs.umass.edu/kurose_ross/
    10 connections (fairly) share
 backbone bottleneck link R bits/sec
                                                                                                                 Introduction: 1-20
Chapter 1: roadmap
▪ What is the Internet?
▪ What is a protocol?
▪ Network edge: hosts, access network,
  physical media
▪ Network core: packet/circuit
  switching, internet structure
▪ Performance: loss, delay, throughput
▪ Security
▪ Protocol layers, service models
▪ History
                                         Introduction: 1-21
Network security
▪ field of network security:
  • 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!
                                                                     Introduction: 1-22
Bad guys: malware
▪ malware can get in host from:
   • virus: self-replicating infection by receiving/executing object
     (e.g., e-mail attachment)
   • worm: self-replicating infection by passively receiving object that
     gets itself executed
▪ spyware malware can record keystrokes, web sites visited, upload
  info to collection site
▪ infected host can be enrolled in botnet, used for spam or
  distributed denial of service (DDoS) attacks
                                                                      Introduction: 1-23
Bad guys: denial of service
Denial of Service (DoS): attackers make resources (server,
 bandwidth) unavailable to legitimate traffic by
 overwhelming resource with bogus traffic
     1. select target
     2. break into hosts
          around the network
          (see botnet)
     3. send packets to target              target
         from compromised
         hosts
                                                             Introduction: 1-24
Bad guys: packet interception
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 our end-of-chapter labs is a (free) packet-sniffer
                                                                              Introduction: 1-25
Bad guys: fake identity
IP spoofing: send packet with false source address
             A                              C
                   src:B dest:A   payload
… lots more on security (throughout, Chapter 8)
                                                      Introduction: 1-26
Chapter 1: roadmap
▪ What is the Internet?
▪ What is a protocol?
▪ Network edge: hosts, access network,
  physical media
▪ Network core: packet/circuit
  switching, internet structure
▪ Performance: loss, delay, throughput
▪ Security
▪ Protocol layers, service models
▪ History
                                         Introduction: 1-27
Protocol “layers” and reference models
  Networks are complex,
  with many “pieces”:                 Question:
    ▪ hosts                     is there any hope of
    ▪ routers                  organizing structure of
    ▪ links of various media           network?
    ▪ applications
    ▪ protocols
    ▪ hardware, software
                                  …. or at least our
                               discussion of networks?
                                                    Introduction: 1-28
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
     airline travel: a series of steps, involving many services
                                                                  Introduction: 1-29
Example: organization of air travel
 ticket (purchase)     ticketing service      ticket (complain)
 baggage (check)       baggage service            baggage (claim)
 gates (load)            gate service              gates (unload)
 runway takeoff         runway service            runway landing
 airplane routing      routing service
                       airplane routing       airplane routing
layers: each layer implements a service                 Q: describe in words
  ▪ via its own internal-layer actions                  the service provided
                                                        in each layer above
  ▪ relying on services provided by layer below
                                                                       Introduction: 1-30
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 in layer's service implementation: transparent to rest of
    system
  • e.g., change in gate procedure doesn’t affect rest of system
▪ layering considered harmful?
                                                                   Introduction: 1-31
Internet protocol stack
 application                 application
                            presentation
  transport
                                session
  network                      transport
    link                       network
                                   link
  physical                     physical
                          The seven layer OSI/ISO
                             reference model
                                                    Introduction: 1-32
Internet protocol stack
▪ application: supporting network applications
   • IMAP, SMTP, HTTP
                                                 application
▪ transport: process-process data transfer
  (recognize source and dest processes for a
  specific message)                              transport
   • TCP, UDP
▪ network: routing of datagrams from source to    network
  destination
   • IP, routing protocols                          link
▪ link: data transfer between neighboring         physical
  network elements
   • Ethernet, 802.11 (WiFi), PPP
▪ physical: bits “on the wire”
                                                               Introduction: 1-33
 ISO/OSI reference model
Two layers not found in Internet
                                                    application
protocol stack!
                                                   presentation
▪ presentation: allow applications to
  interpret meaning of data, e.g., encryption,         session
  compression, machine-specific conventions           transport
▪ session: synchronization, checkpointing,            network
  recovery of data exchange                               link
▪ Internet stack “missing” these layers!              physical
   • these services, if needed, must be
     implemented in application                  The seven layer OSI/ISO
                                                    reference model
   • needed?
                                                                           Introduction: 1-34
                                  source
        message           M     application                  Encapsulation
  segment          Ht     M      transport
datagram Hn Ht            M       network
frame        Hl Hn Ht     M         link
                                  physical
                                                                link
                                                              physical
                                                                                 switch
                   destination                  Hn Ht    M   network
               M        application           Hl Hn Ht   M     link      Hn Ht   M
        Ht     M         transport                           physical
  Hn Ht        M          network
Hl Hn Ht       M            link                                                 router
                          physical
                                                                                          Introduction: 1-35
Chapter 1: roadmap
▪ What is the Internet?
▪ What is a protocol?
▪ Network edge: hosts, access network,
  physical media
▪ Network core: packet/circuit
  switching, internet structure
▪ Performance: loss, delay, throughput
▪ Security
▪ Protocol layers, service models
▪ History
                                         Introduction: 1-36
Internet history
1961-1972: Early packet-switching principles
▪ 1961: Kleinrock - queueing       ▪ 1972:
  theory shows effectiveness of      • ARPAnet public demo
  packet-switching                   • NCP (Network Control Protocol)
▪ 1964: Baran - packet-switching       first host-host protocol
  in military nets                   • first e-mail program
▪ 1967: ARPAnet conceived by         • ARPAnet has 15 nodes
  Advanced Research Projects
  Agency
▪ 1969: first ARPAnet node
  operational
                                                                 Introduction: 1-37
Internet history
1972-1980: Internetworking, new and proprietary nets
▪ 1970: ALOHAnet satellite network
                                         Cerf and Kahn’s internetworking
  in Hawaii
                                         principles:
▪ 1974: Cerf and Kahn - architecture     ▪ minimalism, autonomy - no
  for interconnecting networks              internal changes required to
▪ 1976: Ethernet at Xerox PARC              interconnect networks
                                         ▪ best-effort service model
▪ late70’s: proprietary architectures:
  DECnet, SNA, XNA                       ▪ stateless routing
                                         ▪ decentralized control
▪ late 70’s: switching fixed length
  packets (ATM precursor)                define today’s Internet architecture
▪ 1979: ARPAnet has 200 nodes
                                                                       Introduction: 1-38
Internet history
1980-1990: new protocols, a proliferation of networks
▪ 1983: deployment of TCP/IP     ▪ new national networks: CSnet,
▪ 1982: smtp e-mail protocol       BITnet, NSFnet, Minitel
  defined                        ▪ 100,000 hosts connected to
▪ 1983: DNS defined for name-      confederation of networks
  to-IP-address translation
▪ 1985: ftp protocol defined
▪ 1988: TCP congestion control
                                                               Introduction: 1-39
Internet history
1990, 2000s: commercialization, the Web, new applications
▪ early 1990s: ARPAnet                       late 1990s – 2000s:
  decommissioned                             ▪ more killer apps: instant
▪ 1991: NSF lifts restrictions on              messaging, P2P file sharing
  commercial use of NSFnet                   ▪ network security to forefront
  (decommissioned, 1995)
                                             ▪ est. 50 million host, 100 million+
▪ early 1990s: Web                             users
  •   hypertext [Bush 1945, Nelson 1960’s]
  •   HTML, HTTP: Berners-Lee                ▪ backbone links running at Gbps
  •   1994: Mosaic, later Netscape
  •   late 1990s: commercialization of the
      Web
                                                                             Introduction: 1-40
Internet history
2005-present: more new applications, Internet is “everywhere”
▪ ~18B devices attached to Internet (2017)
   • rise of smartphones (iPhone: 2007)
▪ aggressive deployment of broadband access
▪ increasing ubiquity of high-speed wireless access: 4G/5G, WiFi
▪ emergence of online social networks:
• Facebook: ~ 2.5 billion users
▪ service providers (Google, FB, Microsoft) create their own networks
   • bypass commercial Internet to connect “close” to end user, providing
     “instantaneous” access to search, video content, …
▪ enterprises run their services in “cloud” (e.g., Amazon Web Services,
  Microsoft Azure)
                                                                            Introduction: 1-41