Chapter 1 Review Csc4220/6220 Computer Networks Instructor: Akshaye Dhawan
Dec 17, 2015
Chapter 1 Review
Csc4220/6220
Computer Networks
Instructor: Akshaye Dhawan
Network Core
• 2 ways of transferring data thru the core:
a. Circuit Switching
b. Packet Switching
• Circuit Switching : Dedicated resources per ‘call’. How do we divide resources?
a. TDM
b. FDM
Circuit Switching: FDM and TDM
FDM
frequency
time
TDM
frequency
time
4 users
Example:
Packet Switching
• Resources shared as needed
• aka. Statistical multiplexing
• Advantages:
1. More users
2. Great for bursty traffic patterns
• Disadvantage: No guarantees. Congestion issues.
Packet-switching: store-and-forward
• 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
• delay = 3L/R
Example:• L = 7.5 Mbits• R = 1.5 Mbps• delay = 15 sec
R R RL
Network Taxonomy
Telecommunicationnetworks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
• Datagram network is not either connection-oriented or connectionless.• Internet provides both connection-oriented (TCP) and connectionless services (UDP) to apps.
Access Networks and Physical Media
• Dialup
• ADSL – Asymmetric. Why?
• Still use phone line. Distance between ISP and user reduced.
• Coaxial cable
• LAN’s
• Wireless LAN’s
Physical Media
• Twisted Pair
• Coaxial Cable
• Fiber
• Radio
• ISP structuring model
Delays
A
B
propagation
transmission
nodalprocessing queueing
• 1. nodal processing: – check bit errors– determine output link
• 2. queueing– time waiting at output
link for transmission
– depends on congestion level of router
3. Transmission delay:• R=link bandwidth (bps)• L=packet length (bits)• time to send bits into
link = L/R
4. Propagation delay:• d = length of physical link• s = propagation speed in
medium (~2x108 m/sec)• propagation delay = d/s
Note: s and R are very different quantities!
A
B
propagation
transmission
nodalprocessing queueing
Total delay
• 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
proptransqueueprocnodal ddddd
Queuing delay
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!
• R=link bandwidth (bps)• L=packet length (bits)• a=average packet
arrival rate
Internet protocol stack• application: supporting network
applications– FTP, SMTP, STTP
• transport: host-host data transfer– TCP, UDP
• network: routing of datagrams from source to destination– IP, routing protocols
• link: data transfer between neighboring network elements– PPP, Ethernet
• physical: bits “on the wire”
application
transport
network
link
physical
Chapter 2 Review
Architectures for Applications
• Client-server
• Peer-to-peer (P2P)
• Hybrid of client-server and P2P
Socket Model
• process sends/receives messages to/from its socket
• socket analogous to door– sending process shoves message out door– sending process relies on transport
infrastructure on other side of door which brings message to socket at receiving process
Addressing needs: IP address (host) + Port (process)
Main services needed from Transport Layer
• Data Loss
• Timing
• Band Width
Internet transport protocols services
TCP service:• connection-oriented: setup
required between client and server processes
• reliable transport between sending and receiving process
• flow control: sender won’t overwhelm receiver
• congestion control: throttle sender when network overloaded
• does not provide: timing, minimum bandwidth guarantees
UDP service:• unreliable data transfer
between sending and receiving process
• does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee
Q: why bother? Why is there a UDP?
HTTP
• Non Persistent -At most one object is sent over a TCP connection.
• Persistent - Multiple objects can be sent over single TCP connection between client and server.
Persistent without pipelining:• client issues new request only when previous response
has been received• one RTT for each referenced objectPersistent with pipelining:• default in HTTP/1.1• client sends requests as soon as it encounters a
referenced object• as little as one RTT for all the referenced objects
HTTP contd
• Packet Types (Request, Response)
• Methods (GET, POST etc.)
• Response codes
Add ons
• Cookies
• Way of adding some ‘state’
• Advantages?
• Disadvantages/Concerns?
Caching
• How to cache?
• Why should we cache?
• Caching issues. Keeping cache coherent?
(Conditional GET)
client
Proxyserver
client
HTTP request
HTTP request
HTTP response
HTTP response
HTTP request
HTTP response
origin server
origin server
• User agents
• Mail servers
• SMTP – steps, contrast with HTTP
• SMTP Headers
• MIME
Mail access protocols
• POP – download and keep
• POP – download and delete
• POP Is stateless across sessions
• IMAP – everything organized and stored at server.
• Keeps state across sessions
DNS
• Name -> IP address mapping
• What other services?
• Model: Distributed Hierarchical
Root DNS Servers
com DNS servers org DNS servers edu DNS servers
poly.eduDNS servers
umass.eduDNS servers
yahoo.comDNS servers
amazon.comDNS servers
pbs.orgDNS servers
Distributed, Hierarchical Database
Structure
• Root servers
• TLD servers
• Authoritative servers.
• Also, Local Name Server
Querying
• Iterative
• Recursive
• DNS caching, updating cache (TTL)
gaia.cs.umass.edu
root DNS server
1
23
4
5
678
TLD DNS server
P2P
• Centralized Directory – Napster Model
• Full y Distributed – Gnutella model
• Gnutella – Overlay network, limited flooding?
• How does a peer join/leave a distributed Network?
P2P
• Kazaa – Group leader model
• Distinguish between powerful/less powerful peers
• Graph model: Connected Dominating Set
Socket Programming
• Socket Programming with TCP
• Socket Programming with UDP