Internet protocol stack application: supporting network - - PowerPoint PPT Presentation

internet protocol stack
SMART_READER_LITE
LIVE PREVIEW

Internet protocol stack application: supporting network - - PowerPoint PPT Presentation

Internet protocol stack application: supporting network applications application FTP, SMTP, HTTP transport: process-process data transfer transport TCP, UDP network network: routing of datagrams from source to destination


slide-1
SLIDE 1

Introduction

Internet protocol stack

▪ application: supporting network applications

  • FTP, SMTP, HTTP

▪ transport: process-process data transfer

  • TCP, UDP

▪ network: routing of datagrams from source to destination

  • IP, routing protocols

▪ link: data transfer between neighboring network elements

  • Ethernet, 802.111 (WiFi), PPP

▪ physical: bits “on the wire”

application transport network link physical

1-1

slide-2
SLIDE 2

Introduction

source

application transport network link physical

Ht Hn M

segment

Ht

datagram

destination

application transport network link physical

Ht Hn Hl M Ht Hn M Ht M M

network link physical link physical

Ht Hn Hl M Ht Hn M Ht Hn M Ht Hn Hl M

router switch

Encapsulation

message

M Ht M Hn

frame

1-2

slide-3
SLIDE 3

Introduction

What’s the Internet: “nuts and bolts” view

▪ billions of connected computing devices:

  • hosts = end systems
  • running network apps

▪ communication links

  • fiber, copper, radio,

satellite

  • transmission rate:

bandwidth ▪ packet switches: forward packets (chunks of data)

  • routers and switches

wired links wireless links router smartphone PC server wireless laptop

1-3

mobile network global ISP regional ISP home network institutional network

slide-4
SLIDE 4

Introduction

Four sources of packet delay (1 of 2)

dproc: nodal processing

▪ check bit errors ▪ determine output link ▪ typically < msec

dqueue: queueing delay

▪ time waiting at output link for transmission ▪ depends on congestion level of router

1-4

propagation nodal processing queueing

dnodal = dproc + dqueue + dtrans + dprop A B

transmission

slide-5
SLIDE 5

Introduction

dtrans: transmission delay:

▪ L: packet length (bits) ▪ R: link bandwidth (bps) ▪ dtrans = L/R

dprop: propagation delay:

▪ d: length of physical link ▪ s: propagation speed (~2x108 m/sec) ▪ dprop = d/s

Four sources of packet delay (2 of 2)

1-5

* Check out the Java applet for an interactive animation on trans vs. prop delay

dtrans and dprop very different

* Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive/

propagation nodal processing queueing

dnodal = dproc + dqueue + dtrans + dprop A B

transmission

slide-6
SLIDE 6

Application Layer 2-6

Sockets

▪ 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
  • ther side of door to deliver message to socket at

receiving process

Internet controlled by OS controlled by app developer

transport application physical link network

process

transport application physical link network

process

socket

slide-7
SLIDE 7

Application Layer 2-7

Internet transport protocols services

TCP service:

▪ reliable transport between sending and receiving process ▪ flow control: sender won’t

  • verwhelm receiver

▪ congestion control: throttle sender when network

  • verloaded

▪ does not provide: timing, minimum throughput guarantee, security ▪ connection-oriented: setup required between client and server processes

UDP service:

▪ unreliable data transfer between sending and receiving process ▪ does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup, Q: why bother? Why is there a UDP?

slide-8
SLIDE 8

Chapter 2: summary

▪ application architectures

  • client-server
  • P2P

▪ application service requirements:

  • reliability, bandwidth, delay

▪ Internet transport service model

  • connection-oriented,

reliable: TCP

  • unreliable, datagrams: UDP
  • ur study of network apps now complete!

Application Layer 2-8

▪ specific protocols:

  • HTTP
  • SMTP, POP, IMAP
  • DNS
  • P2P: BitTorrent

▪ video streaming, CDNs ▪ socket programming: TCP , UDP sockets

slide-9
SLIDE 9

Transport Layer 3-9

▪ characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt)

▪ important in application, transport, link layers

  • top-10 list of important networking topics!

Principles of reliable data transfer

slide-10
SLIDE 10

Transport Layer 3-10

TCP: Overview RFCs: 793,1122,1323, 2018, 2581

▪ full duplex data:

  • bi-directional data flow

in same connection

  • MSS: maximum

segment size

▪ connection-oriented:

  • handshaking (exchange
  • f control msgs) inits

sender, receiver state before data exchange

▪ flow controlled:

  • sender will not
  • verwhelm receiver

▪ point-to-point:

  • one sender, one

receiver

▪ reliable, in-order byte stream:

  • no “message

boundaries”

▪ pipelined:

  • TCP congestion and

flow control set window size

slide-11
SLIDE 11

Transport Layer 3-11

TCP segment structure

source port # dest port #

32 bits

application data (variable length) sequence number acknowledgement number

receive window Urg data pointer checksum

F S R P A U

head len not used

  • ptions (variable length)

URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) # bytes rcvr willing to accept counting by bytes

  • f data

(not segments!) Internet checksum (as in UDP)

slide-12
SLIDE 12

Transport Layer 3-12

TCP congestion control: additive increase

multiplicative decrease

▪ approach: sender increases transmission rate (window size), probing for usable bandwidth, until loss occurs

  • additive increase: increase cwnd by 1 MSS every

RTT until loss detected

  • multiplicative decrease: cut cwnd in half after loss

cwnd: TCP sender congestion window size

AIMD saw tooth behavior: probing for bandwidth

additively increase window size … …. until loss occurs (then cut window in half) time