Department of Computer Science and Engineering
 Computer Science 204:  Advanced Computer
Networks
 
 Course Syllabus -
Fall 2013
 Grading Scheme
  -  3  Assignments: 15% each
 
  - 1  Final Project:
55%
 
Lecture Topics
  - Basic
concepts
of
layering:
 
  
    - the OSI reference model vs. Padlipsky's
view of the ARPAnet reference model
 
    - the IEEE
802-2001 "Overview and Architecture" Standard
     
    - Saltzer et al's classic paper
on the importance End-to-End protocols for correctness
 
    - Metcalfe's
lessons learned from network interface design
 
    - What you should remember from
these readings
 
    
      - How to read standards documents and understand of the process
by which they are created
 
      
        - Specifies behavior, but NOT how to implement it. Tutorial
not included.
         
      
      - Layering and/or modularity are very important concepts but...
 
      
        - The number
layers and placement of
functions is not based on some universal law
 
        - Things change over time (e.g., disappearance of "true" OSI
Network Layer and its replacement by IP)
         
        - For some functions (e.g., link aggregation), it is provably
impossible to assign it to the "correct" layer
 
      
      - Not everyone is working from the same high-level picture of
what a network is supposed to "do"
 
      
        - Generations of people with a classical telecommunications /
telephony background have tried to recreate the public telephone
network to handle "data calls" between computers and/or terminals.
(X.25, ISDN, ATM)
 
        - Internet is about "always on" connectivity to everyone and
everything using message passing abstraction
 
        
          - Has anyone noticed what is happening to "smart phones"
and their effect on cellular carriers?
           
        
      
      - The "KISS" principle (Keep It Simple, Stupid!):
 
      
        - A key design principle for both Ethernet and IP has been to
aim for "best effort" service
         
        
          - Many alternatives offering "better service" (reliable,
flow controlled, bandwidth / delay guarantees, etc) have tried and
failed to displace them. Why is this?
           
        
      
      - The importance of the "End-to-End Argument":
 
      
        - Why didn't anyone care about Token Ring's link-layer
acknowledgements?
 
        - Why should the standards for layer-2 bridge/switches care
about the Ethernet CRC?
         
      
    
  
  - The Binary Exponential Backoff (originally from Ethernet) and
Additive-Increase/Multiplicative-Decrease (from TCP) Algorithms:
 
  
    - how (and why) a transmitter can use them to avoid overloading
some scarce network resource, and hence hurting themselves and others
 
    
      - single-use-at-a-time resource for BEB (e.g., shared broadcast
channel with collisions)
 
      - sharable resource that may degrade/collapse under excessive
load for AIMD (e.g., buffer space at an IP router)
 
    
    - how both algorithms produce unstable, chaotic behavior rather
than "converging" to a "nice" pattern
 
    
      - See this report
for information about BEB:
 
      
        - Section II.a and Figure 6 show it reacts much slower than
expected (linear, not exponential)
 
        - Section I.b explains the capture effect
 
      
      - See this
paper for the derivation of an analytical model of TCP congetion
control
 
      - See Figure 3 from this
paper to see an example of chaotically varying traffic levels from
the router's viewpoint.
       
      - See figures 1 and 2 from this paper
to see that the chaos looks even worse from the viewpoint of the users.
       
    
  
  - Modelling traffic
 
  
    - Abstract graph-theorectic model
 
    
      - trivial fluid-flow model of communications
 
      - calculation of link flows from end-to-end demands and routing
tables
       
      - calculation of average path length
 
      - associated Excel spreadsheet
with sample calculations
 
      - For recent developments related to this subject, look for network
tomography
 
    
    - Poisson traffic
 
    
    - Operational
Analysis
 
    
      - Operationally testable system behavior based on finite
measurements
 
      
        - Here is my example
spreadsheet to show the operational laws hold without Kleinrock's
Independence assumption. (Try changing packet sizes, arrival times, or
link speeds and see that everything still works)
         
      
      - Little's Law
 
      - Flow balance, visit ratios, bottleneck analysis
 
      - MVA
algorithm
 
      - An interesting
perspective on the topic by one of its inventors
       
      - An Excel spreadsheet showing
how to MVA to model file transfer with sliding window
       
    
    - Cruz's deterministic network calculus (see pages 1-26 of this document
provides more than enough detail)