cmpe 80n winter 2004 lecture 20

40
1 CMPE 80N - Introduction to Networks and the Internet CMPE 80N Winter 2004 Lecture 20 Introduction to Networks and the Internet

Upload: chase

Post on 23-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

CMPE 80N Winter 2004 Lecture 20. Introduction to Networks and the Internet. Announcements. Fourth quiz on Monday, March 1 st . HTML summary posted on the Web page. Quiz review session today by Kiran in BE 354I from 4:45-5:45. Practice quiz. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CMPE 80N Winter 2004 Lecture 20

1CMPE 80N - Introduction to Networks and the Internet

CMPE 80N

Winter 2004

Lecture 20

Introduction to Networks and the Internet

Page 2: CMPE 80N Winter 2004 Lecture 20

2CMPE 80N - Introduction to Networks and the Internet

Announcements• Fourth quiz on Monday, March 1st.• HTML summary posted on the Web page.• Quiz review session today by Kiran in BE

354I from 4:45-5:45.– Practice quiz.

• In order to schedule a second review session, we will wait to hear from you first.

Page 3: CMPE 80N Winter 2004 Lecture 20

3CMPE 80N - Introduction to Networks and the Internet

More announcements

• Library presentation on Wed. March 3rd.• “Internet behind the Web” video on March

10th.• 5th. Quiz Friday, March 12th.• Final exam, Thu March 18th.

Page 4: CMPE 80N Winter 2004 Lecture 20

4CMPE 80N - Introduction to Networks and the Internet

The Transport Layer

Page 5: CMPE 80N Winter 2004 Lecture 20

5CMPE 80N - Introduction to Networks and the Internet

The Transport Layer

• So far, all functions performed on a hop-by-hop basis.

• Transport layer: first end-to-end layer.– Communication from source to destination

host.

– Only hosts run transport-level protocols.

– Under user’s control as opposed to network layer which is controlled/owned by network provider.

Page 6: CMPE 80N Winter 2004 Lecture 20

6CMPE 80N - Introduction to Networks and the Internet

The Transport Layer

TransportEntity

ApplicationLayer

Network Layer

TransportEntity

ApplicationLayer

Network Layer

TPDU

Source host Destination host

Page 7: CMPE 80N Winter 2004 Lecture 20

7CMPE 80N - Introduction to Networks and the Internet

Types of Transport Services

• Provided to the application layer.• Connection-less versus connection-oriented.• Connection-less service:

– No logical connections, no flow or error control.

• Connection-oriented: – Based on logical connections: connection

setup, data transfer, connection teardown.– Flow and error control.– Reliability and in-order delivery.

Page 8: CMPE 80N Winter 2004 Lecture 20

8CMPE 80N - Introduction to Networks and the Internet

TPDU

• Transport protocol data unit.• Messages sent between transport entities.• TPDUs contained in network-layer packets,

which in turn are contained in DLL frames.

Frameheader

Packetheader

TPDUheader TPDU payload

Page 9: CMPE 80N Winter 2004 Lecture 20

9CMPE 80N - Introduction to Networks and the Internet

• TCP segments travel in IP datagrams

• Internet routers only look at IP header to forward datagrams

Example: TCP

TCP segment

IP header Payload

Page 10: CMPE 80N Winter 2004 Lecture 20

10CMPE 80N - Introduction to Networks and the Internet

Transport Protocol Addressing

• Address of the transport-level entity.• Several transport-level entities may be

running on single machine.• Source-destination address pair not enough

to uniquely identify transport entity.• Port number: uniquely identifies transport

entity.

Page 11: CMPE 80N Winter 2004 Lecture 20

11CMPE 80N - Introduction to Networks and the Internet

The Internet Transport Protocols: TCP and UDP

• UDP: user datagram protocol (RFC 768).– Connection-less protocol.

• TCP: transmission control protocol (RFCs 793, 1122, 1323).– Connection-oriented protocol.

Page 12: CMPE 80N Winter 2004 Lecture 20

12CMPE 80N - Introduction to Networks and the Internet

TCP

• Reliable end-to-end communication.• TCP transport entity:

– Interfaces to the IP layer.

– Manages TCP streams.• Accepts user data, breaks it down and sends it

as separate IP datagrams.• At receiver, reconstructs original byte stream

from IP datagrams.

Page 13: CMPE 80N Winter 2004 Lecture 20

13CMPE 80N - Introduction to Networks and the Internet

Features of TCP

• Connection oriented: An application requests a “connection” to destination and uses connection to transfer data– IP does not uses “connections” - each datagram is

sent independently!

• Point-to-point: A TCP connection has two endpoints (no broadcast/multicast)

• Reliability: TCP guarantees that data will be delivered without loss, duplication or transmission errors

Page 14: CMPE 80N Winter 2004 Lecture 20

14CMPE 80N - Introduction to Networks and the Internet

Features of TCP (cont’d)

• Full duplex: Endpoints can exchange data in both directions simultaneously

• Reliable connection startup: TCP guarantees reliable, synchronized startup between endpoints (using “three-way handshake”)

• Graceful connection shutdown: TCP guarantees delivery of all data after endpoint shutdown

Page 15: CMPE 80N Winter 2004 Lecture 20

15CMPE 80N - Introduction to Networks and the Internet

• TCP segments travel in IP datagrams.

• Internet routers only look at IP header to forward datagrams.

Delivering TCP Segments

TCP segment

IP header Payload

Page 16: CMPE 80N Winter 2004 Lecture 20

16CMPE 80N - Introduction to Networks and the Internet

Delivering TCP

• TCP at destination interprets TCP messages

Page 17: CMPE 80N Winter 2004 Lecture 20

17CMPE 80N - Introduction to Networks and the Internet

TCP Connection Setup

• 3-way handshake.

Host 1 Host 2SYN (SEQ=x)

SYN(SEQ=y,ACK=x+1)

(SEQ=x+1, ACK=y+1)

Page 18: CMPE 80N Winter 2004 Lecture 20

18CMPE 80N - Introduction to Networks and the Internet

TCP and Reliable Delivery

• TCP provides reliable delivery, recovering from:– Lost packets– Duplicate packets– Delayed packets– Corrupted data– Source/destination mismatches– Congestion

Page 19: CMPE 80N Winter 2004 Lecture 20

19CMPE 80N - Introduction to Networks and the Internet

TCP Reliability

• Reliable delivery.– Acknowledgements..

– Timeouts and retransmissions.

• Ordered delivery.– Sequence numbers.

Page 20: CMPE 80N Winter 2004 Lecture 20

20CMPE 80N - Introduction to Networks and the Internet

Lost Packets• Recipient sends acknowledgment control

message (ACK) to sender to verify successful receipt of data– ACKs usually are carried onboard other TCP

packets.– However, even if an application has nothing to

transmit, it must transmit acknowledgment packets for each packet it receives.

• Thus, for each packet sent, a host expects to receive an acknowledgment, which ensures that the packet did not get lost.– What if the packet or the acknowledgment get lost?

Page 21: CMPE 80N Winter 2004 Lecture 20

21CMPE 80N - Introduction to Networks and the Internet

Lost Packets (cont’d)

• Retransmission timer– When a data segment is sent, a timer is started

– If the segment is acknowledged before the timer expires, the timer is stopped and reset

– Otherwise, the segment is retransmitted (and the timer is reset and started again)

• The choice of the timeout is critical!– If timeout is too long: overall throughput may be

reduced (always waiting for acknowledgments)– If timeout is too short: too many packets get

retransmitted (may increase network congestion)

Page 22: CMPE 80N Winter 2004 Lecture 20

22CMPE 80N - Introduction to Networks and the Internet

Lost Packets (cont’d)

• IMPORTANT: packet retransmission (especially if it has to be carried out on an end-to-end basis) significantly increases latency (delay)

• For real-time video or audio transmission, delay is a more important performance issue than error rate

• Thus, in many cases it is preferable to forget the error and simply work with the received data stream

Page 23: CMPE 80N Winter 2004 Lecture 20

23CMPE 80N - Introduction to Networks and the Internet

Lost Packets - Example

Page 24: CMPE 80N Winter 2004 Lecture 20

24CMPE 80N - Introduction to Networks and the Internet

TCP Transmission

• Sender process initiates connection.• Once connection established, TCP can start

sending data.• Sender writes bytes to TCP stream.• TCP sender breaks byte stream into

segments.– Each byte assigned sequence number.

– Segment sent and timer started.

Page 25: CMPE 80N Winter 2004 Lecture 20

25CMPE 80N - Introduction to Networks and the Internet

TCP Transmission (cont’d)

• If timer expires, retransmit segment.– After retransmitting segment for maximum

number of times, assumes connection is dead and closes it.

Page 26: CMPE 80N Winter 2004 Lecture 20

26CMPE 80N - Introduction to Networks and the Internet

Flow Control

• Flow control is necessary so that source doesn’t transmit too fast for given receiver.– E.g., a fast server trying to send 1Gb/s data to a

small PC.– Without some form of control, some data will get

lost.

• Requires feedback from receiver.

- So sender realizes it is sending too fast.

Page 27: CMPE 80N Winter 2004 Lecture 20

27CMPE 80N - Introduction to Networks and the Internet

Sliding Window

• TCP uses ACKs and sliding window mechanism for flow control.

Page 28: CMPE 80N Winter 2004 Lecture 20

28CMPE 80N - Introduction to Networks and the Internet

TCP Sliding Window

Page 29: CMPE 80N Winter 2004 Lecture 20

29CMPE 80N - Introduction to Networks and the Internet

TCP Flow Control: Example

2K;SEQ=0

ACK=2048; WIN=2048

2K; SEQ=2048

ACK=4096; WIN=0

ACK=4096; WIN=2048

1K; SEQ=4096

App. writes 2K of data

4K

2K

0

App. reads 2K of data

2K

1K

App. does 3K write

Senderblocked

Sendermay send upto 2K

Page 30: CMPE 80N Winter 2004 Lecture 20

30CMPE 80N - Introduction to Networks and the Internet

Congestion

• Network with 1 Mb/s lines and 1000 computers, half of which are trying to transfer files at 100 Kb/s to the other half.– The total offered traffic exceeds what the network

can handle (congestion).

• Congestion collapse: – When congestion occurs, packets get dropped.– Due to packet loss, packets get retransmitted.– Congestions gets worse and worse!

Page 31: CMPE 80N Winter 2004 Lecture 20

31CMPE 80N - Introduction to Networks and the Internet

Congestion Control

• Why do it at the transport layer?– Real fix to congestion is to slow down sender.

• Use law of “conservation of packets”.– Keep number of packets in the network

constant.

– Don’t inject new packet until old one leaves.

• Congestion indicator: packet loss.

Page 32: CMPE 80N Winter 2004 Lecture 20

32CMPE 80N - Introduction to Networks and the Internet

TCP and Congestion Control

• Interprets packet loss as an indicator of congestion– When it senses packet loss, it slows down the rate

of packet transmission– When packets are received correctly, sends

packets faster • Still within the limits of the sliding window

Page 33: CMPE 80N Winter 2004 Lecture 20

33CMPE 80N - Introduction to Networks and the Internet

TCP Congestion Control

• Like, flow control, also window based.– Sender keeps congestion window (cwin).

– Each sender keeps 2 windows: receiver’s advertised window and congestion window.

– Number of bytes that may be sent is min(advertised window, cwin).

Page 34: CMPE 80N Winter 2004 Lecture 20

34CMPE 80N - Introduction to Networks and the Internet

TCP Congestion Control (cont’d)

• Slow start [Jacobson 1988]:– Connection’s congestion window starts at 1

segment.

– If segment ACKed before time out, cwin=cwin+1.

– As ACKs come in, current cwin is increased by 1.

– Exponential increase.

Page 35: CMPE 80N Winter 2004 Lecture 20

35CMPE 80N - Introduction to Networks and the Internet

TCP Congestion Control (cont’d)

• Congestion Avoidance:– Third parameter: threshold.

– Initially set to 64KB.

– If timeout, threshold=cwin/2 and cwin=1.

– Re-enters slow-start until cwin=threshold.

– Then, cwin grows linearly until it reaches receiver’s advertised window.

Page 36: CMPE 80N Winter 2004 Lecture 20

36CMPE 80N - Introduction to Networks and the Internet

TCP Retransmission Timer

• When segment sent, retransmission timer starts.– If segment ACKed, timer stops.

– If time out, segment retransmitted and timer starts again.

Page 37: CMPE 80N Winter 2004 Lecture 20

37CMPE 80N - Introduction to Networks and the Internet

TCP Segment Header

Source port Destination port

Sequence number

Acknowledgment numberHeaderlength

UA

P R S F Window size

Checksum Urgent pointerOptions (0 or more 32-bit words)

Data

Page 38: CMPE 80N Winter 2004 Lecture 20

38CMPE 80N - Introduction to Networks and the Internet

UDP

• Provides connection-less, unreliable service.– No delivery guarantees.

– No ordering guarantees.

– No duplicate detection.

• Low overhead.– No connection establishment/teardown.

• Suitable for short-lived connections.– Example: client-server applications.

Page 39: CMPE 80N Winter 2004 Lecture 20

39CMPE 80N - Introduction to Networks and the Internet

UDP Segment Format

0 15 31

Source port Destination port

Length Checksum

Data

Source and destination ports: identify the end points.Length: 8-byte header+ data.Checksum: optional; if not used, set to zero.

Page 40: CMPE 80N Winter 2004 Lecture 20

40CMPE 80N - Introduction to Networks and the Internet

TCP and UDP• TCP provides end-to-end communication. It takes care

of reliable, error-free transfer of data, and in-sequence delivery

• UDP has less overhead compared to TCP, but does not guarantee transfers– TCP is preferred to transfer files– UDP is preferred to transfer audio/video streams

• In real-time streaming, we cannot afford the delay consequent to packet retransmission

• Both protocols support multiplexing, i.e. they allow several distinct streams of data between two hosts