week9 lec1

40
Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.

Upload: syedhaiderraza

Post on 18-Dec-2014

61 views

Category:

Education


0 download

DESCRIPTION

Computer Networks

TRANSCRIPT

Page 1: Week9 lec1

Chapter 3 Transport Layer

Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith RossAddison-Wesley, July

2007.

Page 2: Week9 lec1

Last Lecture

TCP Congestion Control

Page 3: Week9 lec1

Today’s Lecture

Retransmission Timer in TCPChapter 4

Network Layer

Page 4: Week9 lec1

TCP Congestion Control: Details

Congestion Window Imposes a constraint on the rate at which a TCP sender can

send traffic into the network The amount of unacknowledged data at a sender may not

exceed the minimum of CongWin and RcvWindowLastByteSent-LastByteAcked min{CongWin,

RcvWindow} CongWin is dynamic, function of perceived network

congestion TCP takes arrival of ACKs as successful delivery

Increases Congestion Window Self Clocking

TCP uses ACKs to trigger its increase in congestion window size

Page 5: Week9 lec1

TCP Congestion Control Algorithm:Additive Increase Multiplicative Decrease (AIMD) Additive Increase

Increase CongWin by 1 MSS until loss detected Multiplicative Decrease

Cut CongWin in half after loss CongWin is 20 Kbytes, cut it to half after loss Continue to drop but not allowed to drop below 1 MSS

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

Page 6: Week9 lec1

TCP Slow Start

AIMD can take a long time to ramp up to full capacity from scratch

When connection begins, CongWin = 1 MSS

Increase rate exponentially until first loss event: Double CongWin every

RTT Done by incrementing CongWin for every ACK received

Summary: Initial rate is slow but ramps up exponentially fast

Host A

one segment

RTT

Host B

time

two segments

four segments

Page 7: Week9 lec1

Refinement: Inferring Loss

3 Duplicate ACKs Indicates network capable of delivering some segments.

Timeout Indicates a “more alarming” congestion scenario.

Page 8: Week9 lec1

Refinement: Inferring Loss After timeout event

CongWin instead set to 1 MSS Window then grows exponentially (enters slow

start) Till it reaches one half of the value it had

before the timeout Window then grows linearly (congestion

avoidance) Threshold Value

Determines the window size at which slow start will end

After three duplicate ACKs: CongWin is cut in half Window then grows linearly Fast Retransmit and Fast Recovery

Page 9: Week9 lec1

Refinement: Inferring Loss

TCP Tahoe For either events

Cuts congestion window size to 1 MSS and enters slow start

TCP Reno Uses Fast Retransmit and Fast Recovery for

three Dupicate ACKs. Same as Tahoe for Timeout events.

Page 10: Week9 lec1

TCP Congestion Control

Page 11: Week9 lec1

TCP Round Trip Time and Timeout

Retransmission Timer larger than the RTT How much larger? How would RTT be

calculated? Sample RTT

Sample RTT fluctuates from segment to segment Congestion in routers and varying load on

end systems TCP never computes a Sample RTT for retransmitted

segments. (Why?) EstimatedRTT

TCP maintains an average of Sample RTT (RFC 2988)

The new value of Estimated RTT is a weighted combination of the previous value of Estimated RTT plus new value of Sample RTT.

EstimatedRTT = (1- )*EstimatedRTT + *SampleRTT

Page 12: Week9 lec1

TCP Round Trip Time and Timeout The recommended value of is 0.125 in which case the

formula becomes

EstimatedRTT = 0.875*EstimatedRTT + 0.125*SampleRTT

RTT: gaia.cs.umass.edu to fantasia.eurecom.fr

100

150

200

250

300

350

1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106

time (seconnds)

RTT

(mill

isec

onds

)

SampleRTT Estimated RTT

Page 13: Week9 lec1

Setting the Timeout Interval

• The timeout interval should be greater than or equal to EstimatedRTT

• Not too large, delay to retransmit packet

• Desirable to set the timeout interval plus some “safety margin.”

• Estimate of how much SampleRTT deviates from EstimatedRTT

TimeoutInterval = EstimatedRTT + 4*DevRTT

For more details see RFC 2988V. Jacobson, “Congestion Avoidance and Control”, in Proc. ACM SIGCOMM, pp. 314-329, 1988.

Then set timeout interval:

DevRTT = (1-)*DevRTT +*|SampleRTT-EstimatedRTT|( = 0.25)

Page 14: Week9 lec1

TCP Connection Management

• How TCP connection is established?–Three Way handshake?

• How TCP connection is closed?–Four Way handshake?

Reading Assignment

Page 15: Week9 lec1

TCP Connection Management

TCP clientlifecycle

TCP serverlifecycle

•Reading Assignment

Page 16: Week9 lec1

Chapter 4 Network Layer

Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith RossAddison-Wesley, July 2007.

Page 17: Week9 lec1

Network layer

Transport segment from sending to receiving host

On sending side encapsulates segments into datagrams

On receiving side, delivers segments to transport layer

Network layer protocols in routers

Router examines header fields in all IP datagrams passing through it

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

networkdata linkphysical network

data linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

Page 18: Week9 lec1

Two Key Network-Layer Functions

Forwarding: Move packets from router’s input to appropriate router’s output Local action of transferring a packet

Routing: Determine route taken by packets from source to destination.

Network wide process that determines the end to end paths

The algorithms that calculate these paths are referred to as routing algorithms

Page 19: Week9 lec1

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Routing and Forwarding

Forwarding Table

o Router Forwards a packet by examining the destination address of the packet

o Routing Algorithm determines the values that are inserted in the routers forwarding tables

Page 20: Week9 lec1

Network Layer

forwardingtable

Host, router network layer functions:

Routing protocols•path selection•RIP, OSPF, BGP

IP protocol•addressing conventions•datagram format•packet handling conventions

ICMP protocol•error reporting•router “signaling”

Transport layer: TCP, UDP

Link layer

physical layer

Networklayer

Page 21: Week9 lec1

IP Address• An IP address is a 32-bit address.• The IP addresses are unique.• The address space of IPv4 is

232 or 4,294,967,296.(more than 4 billion)• Represented in binary or decimal

Page 22: Week9 lec1

CLASSFUL ADDRESSING

• IP addressing when started used the concept of classes. • This architecture is called classful addressing.

• Organizations can be of different sizes • Require varying numbers of IP addresses on the Internet.

• A system was devised whereby the IP address space would be divided into classes.• Each class occupies some part of the whole

address space• Some classes are for

• Large networks on the Internet• Smaller organizations

• Some classes are reserved for special purposes.

Page 23: Week9 lec1

IP Address Classes

• There are five classes in the “classful” system, which are given letters A through E.

• The first few bits in binary notation can immediately tell us the class of the address

Page 24: Week9 lec1

IP Address Classes

Page 25: Week9 lec1

Netid and Hostid•An IP address is divided into Netid and Hostid

•Network Identifier (Netid): Few bits starting from the left-most bit are used to identify the network where the host is located.

•Host Identifier (Hostid): The remainder of the bits are used to identify the host on the network.

•These parts are of varying lengths depending on the class of the address.

Page 26: Week9 lec1

Netid and Hostid

Page 27: Week9 lec1

Class A

• Class A is divided into 128 blocks (27) – Each block having different Netid

• First block covers addresses from– 0.0.0.0 to 0.255.255.255 (netid 0)

• Second block covers addresses from– 1.0.0.0 to 1.255.255.255 (netid 1)

• The last block covers addresses from– 127.0.0.0 to 127.255.255.255 (netid 127)

• Each block in this class contains 16,777,216 addresses

• Class A addresses were designed for large organizations with large number of hosts attached to their network– 16,777,216 too large, millions of class A addresses are

wasted

Page 28: Week9 lec1

Class B

• Class B is divided into 16384 blocks (214)– Each block having different netid

• First block covers addresses from– 128.0.0.0 to 128.0.255.255 (netid 128.0)

• The last block covers addresses from– 191.255.0.0 to 191.255.255.255 (netid

191.255)• Each block in this class contains 65,536 addresses• Class B addresses were designed for medium size

organizations with thousands of hosts attached to their network– 65,536 is also too large for medium size organizations,

many of class B addresses are wasted

Page 29: Week9 lec1

Class C

• Class C is divided into 2097152 blocks (221)– Each block having different netid

• First block covers addresses from– 192.0.0.0 to 192.0.0.255 (netid 192.0.0)

• The last block covers addresses from– 223.255.255.0 to 223.255.255.255 (netid

223.255.255)• Each block in this class contains 256 addresses• Class C addresses were designed for small

organizations– 256 is small for most organizations

Page 30: Week9 lec1

IP Address Classes

• Given the network address 17.0.0.0, find the class, the netid, and the range of the addresses?.

Page 31: Week9 lec1

IP Address Classes

Solution• The class is A because the first byte is between

0 and 127. The block has a netid of 17. The addresses range from 17.0.0.0 to 17.255.255.255.

Page 32: Week9 lec1

IP Address Classes

• Given the network address 220.34.76.0, find the class, the block/netid, and the range of the addresses?.

Page 33: Week9 lec1

IP Address Classes

Solution• The class is C because the first byte is between

192 and 223. The block has a netid of 220.34.76. The addresses range from 220.34.76.0 to 220.34.76.255

Page 34: Week9 lec1

Issues with Classful Addressing

• Flexibility in Internal addressing:– Thousands of hosts connected to one large network

• Inefficient Use of Address Space: – Wastage of limited IP address space.

• Router Table Entries: – Increase in router table entries.

Example:• Hosts needed by organization are 5000• Hosts in B 65,536 and in C 256

– Organization with 5,000 hosts is in a dilemma– It can only choose to either waste 90% of a Class B

address or use 20 different Class C networks.– Replacing with 20 C networks will increase entries in

routers

Page 35: Week9 lec1

Subnetting• To better meet the administrative and technical

requirements of larger organizations, the “classful” IP addressing system was enhanced through a technique known as subnet addressing or subnetting.

• A three-level hierarchy is created: networks, which contain subnets, each of which then has a number of hosts.

Page 36: Week9 lec1

Subnetting• Subnetting adds an additional level to the

hierarchy of structures used in IP addressing.• IP addresses must be broken into three elements

instead of two. • Network ID is unchanged • The host ID into a subnet ID and host ID. • These subnet ID bits are used to identify each

subnet within the network. • Splitting the host ID into subnet ID and host ID,

we reduce the size of the host ID portion of the address

• Class A networks have 24 bits to split between the subnet ID and host ID: class B networks have 16, and class C networks only 8.

Page 37: Week9 lec1

IPv4 Datagram Format

ver length

data (variable length,

a TCP or UDP segment)

16-bit identifier

header checksum

time tolive

32 bit source IP address

IP protocol versionnumber

header length (bytes)

max numberremaining hops

(decremented at each router)

forfragmentation/reassembly

total datagramlength (bytes)

upper layer protocolto deliver payload to

head.len

type ofservice

“type” of data flgsfragment

offset

protocol

32 bit destination IP address

Options (if any) e.g. timestamp,record routetaken etcFind other use?

Type of Service field is now called Differentiated Service? See RFC 2474 Home Assignment

IPV5? Does it exists?

Page 38: Week9 lec1

IP Fragmentation & Reassembly Network links have MTU

(Maximum Transmission Unit) – Maximum length of data that can be encapsulated in a frame.o Different link between

sender and destination• Use different MTUs

Large IP datagram is divided (“fragmented”) o One datagram becomes

several datagramso Referred as

Fragmentso “Reassembled” only at

final destinationo IP header bits used to

identify, order related fragments

fragmentation: in: one large datagramout: 3 smaller datagrams

reassembly

Page 39: Week9 lec1

IP Fragmentation & Reassembly Identification Number, Flag and Offset fields in the datagram

header

Identification Numbero Sending Host stamps the datagram with an identification numbero Destination receives datagram

o Examines the identification number

Flag Bito All fragments set to 1o Last fragment set to 0

Offset Fieldo Use to specify where fragment fits in the within the original IP

datagram

Page 40: Week9 lec1

IP Fragmentation & Reassembly

Example Datagram of 4000 bytes

o 20 bytes of IP header, 3980 bytes of payloado MTU is 1500 bytes

Fragment Bytes ID Offset Flag

1st Fragment 1480 bytes 777 0 (beginning) 1 (there is more)

2nd Fragment 1480 bytes 777 185 1 (there is more)

3rd Fragment 1020 bytes 777 370 0 (Last )