Download - Week9 lec1
Chapter 3 Transport Layer
Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith RossAddison-Wesley, July
2007.
Last Lecture
TCP Congestion Control
Today’s Lecture
Retransmission Timer in TCPChapter 4
Network Layer
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
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
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
Refinement: Inferring Loss
3 Duplicate ACKs Indicates network capable of delivering some segments.
Timeout Indicates a “more alarming” congestion scenario.
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
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.
TCP Congestion Control
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
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
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)
TCP Connection Management
• How TCP connection is established?–Three Way handshake?
• How TCP connection is closed?–Four Way handshake?
Reading Assignment
TCP Connection Management
TCP clientlifecycle
TCP serverlifecycle
•Reading Assignment
Chapter 4 Network Layer
Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith RossAddison-Wesley, July 2007.
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
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
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
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
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
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.
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
IP Address Classes
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.
Netid and Hostid
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
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
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
IP Address Classes
• Given the network address 17.0.0.0, find the class, the netid, and the range of the addresses?.
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.
IP Address Classes
• Given the network address 220.34.76.0, find the class, the block/netid, and the range of the addresses?.
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
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
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.
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.
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?
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
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
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 )