Chapter 1 Review Csc4220/6220 Computer Networks Instructor: Akshaye Dhawan.

Post on 17-Dec-2015

217 views 4 download

Tags:

transcript

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

Email

• 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