SlideShare una empresa de Scribd logo
1 de 50
Week 4 
Reliable transport 
Sharing resources
Agenda 
• Reliable transport 
• Multiplexing 
• Connection establishment 
• Data transfer 
• Connection release 
• Sharing resources
Multiplexing 
applications 
• How can we multiplex data from several 
applications running on the same host ?
Multiplexing 
Request 
Client Server 
Source port : 1234 
Destination port: 5678 
Source port : 5678 
Destination port: 1234 
Response
Agenda 
• Reliable transport 
• Multiplexing 
• Connection establishment 
• Data transfer 
• Connection release 
• Sharing resources
Connection 
establishment 
• How to reliably open a connection ? 
Connect.req 
Connect.ind 
CR 
Connect.conf Connect.resp 
CA 
Connection established 
Connection established
Segment loss 
Connect.req() 
Connect.ind() 
Connect.conf() 
CA 
Connection established 
Connection established 
CR 
Retransmission CR 
timer expires 
Connect.resp()
Segments delayed 
Connect.ind() 
CR 
Connect.conf() CA 
CR 
First connection established 
Old previous CR 
How to detect duplicates ? 
Connect.req() 
CA 
D 
Connect.resp 
First connection established 
First connection stopped First connection stopped
Delayed segments 
• How to deal with delayed segments ? 
• Network level guarantee 
• No packet will survive more than MSL 
seconds inside the network 
• Transport entities use on a local clock to 
detect duplicated connection 
establishment requests
Three way 
handshake 
Host A Host B 
CR (seq=x) 
CA (seq=y, ack=x) 
CA (seq=x, ack=y) 
Sequence number x read 
from local transport clock 
Local state : 
Connection to B : 
- Wait for ack for CR (x) 
- Start retransmission timer 
Sequence number y read from 
local transport clock 
CA sent to ack CR 
Local state : 
Connection to A : 
- Wait for ack for CA(y) 
Received CA acknowledges CR 
Send CA to ack received CA 
Local state : 
Connection to B : 
- established 
- current_seq = x 
The sequence numbers used 
for the data segments will start 
from x 
The sequence numbers 
used for the data segments 
will start from y 
D(x) 
D(y) 
Local state : 
Connection to A : 
- established 
Connection established - current_seq=y 
Connection established
Three way handshake 
(2) 
Host A CR (seq=z) 
Host B 
CA (seq=y, ack=z) 
REJECT (ack=y) 
Connection cancelled 
No connection is established 
Sequence number y read from 
local transport clock 
Acknowledges CR segment 
Local state : 
Connection to A : 
- Wait for ack for CA(y) 
Local state : 
No connection to B 
Send REJECT to cancel 
connection establishment
Three way handshake 
(3) 
Host A Host B 
CR (seq=z) 
Current state does not contain 
a CR with seq=x 
CA (seq=y, ack=x) 
REJECT (ack=y) 
CR (seq=z) Retransmission timer 
expires 
CA (seq=w, ack=z) 
CA (seq=z, ack=w) 
Connection established 
Sequence number z read 
from local transport clock 
Local state : 
Connection to B : 
- Wait for ack for CR (z) 
- Start retransmission timer 
Current state does not contain 
a segment with seq=y 
REJECT ignored 
Sequence number w read from 
local transport clock 
CA sent to ack CR 
Local state : 
Connection to A : 
- Wait for ack for CA(w) 
Received CA acknowledges CR 
Send CA to ack received CA 
Local state : 
Connection to B : 
- established 
- current_seq = z
Three way handshake 
(4) 
Host A Host B 
Invalid CA received from A 
Send REJECT 
CR (seq=z) 
CA (seq=w, ack=z) 
REJECT (ack=w) 
CA (seq=z, ack=y) 
REJECT (ack=z) 
Sequence number w read from 
local transport clock 
Acknowledges CR segment 
Local state : 
Connection to A : 
- Wait for ack for CA(w) 
Current state does not contain 
a CR with seq=z 
No connection is established
Agenda 
• Reliable transport 
• Multiplexing 
• Connection establishment 
• Data transfer 
• Connection release 
• Sharing resources
Reliable data transfer 
• What are the differences with the 
reliable protocols of the datalink layer ? 
• Segments can be reordered 
• Buffers can change dynamically 
• Bytestream service
Retransmission 
policies 
• Which retransmission policy in reliable 
transport protocols ? 
• Alternating Bit 
• Go-back-n 
• Selective repeat
Buffer management 
• A transport entity serves a variable 
number of applications with a limited 
buffer 
• The buffer/window allocated to a 
given connection may need to change 
dynamically as connections start and 
stop
Buffer management 
A B 
Data.req(a) 
Data.ind(a) 
D(0,a) 
C(OK,0, w=1) 
C(OK,0,w=3) 
Data.req(c) 
D(2,c) 
2 new buffers become 
available 
Data.req(b) 
Data.ind(b) 
D(1,b) 
0 1 2 3 
0 1 2 3 
0 1 2 3 
C(OK,1,w=3) 
Rwin=1 
Swin=3, rwin=1 
0 1 2 3 
Swin=3, rwin=1 
0 1 2 3 
Swin=3, rwin=3 
0 1 2 3 
Data.req(d) 
D(3,d) 0 1 2 3
Buffer management 
A B 
Data.req(b) 
Rwin=1 
Receiver cannot handle 
segment immediately 
Data.ind(a) 
Data.req(a) 
D(0,a) 
C(OK,0, w=0) 
0 1 2 3 
2 new buffers are 
available 
Swin=3, rwin=1 
0 1 2 3 
0 1 2 3 
C(OK,0,w=3) 
Lost segment 
Swin=3, rwin=0 
0 1 2 3 
Window blocked 
No transmission possible 
Waits for control segment Waits for data segment 
How to recover from deadlock ? 
Persitence timer on receiver, resend control segment after 
timer expiration
Delayed segments 
A B 
D(1,b) 
Timer expiration 
Retransmission 
D(3,d) 
D(1,b) 
C(OK,0) 
C(OK,0) 
C(OK,3) 
D(0,e) Data.ind(e) 
C(OK,0) 
C(OK,1) 
Data.ind(b) !!!!!!!!!!!! 
D(0,a) 
Data.req(a) 
Data.ind(a) 
Data.ind(b) 
Data.ind(e)
Delayed segments 
• How to deal with them ? 
• Packets cannot live more than MSL 
seconds inside the network 
• Only one segment carrying sequence 
number x can be transmitted during MSL 
seconds 
• upper bound on maximum throughput
Bidirectional transfer 
• How to efficiently carry data in both 
directions ?
Piggybacking 
A B 
Data.req(a) 
Data.ind(a) 
Data.req(b) D(0,0,a) 
D(1,0,b) 
Error 
Discarded 
Data.req(c) 
D(2,0,c) 
D(5,0,w) acks D(0,0,a) 
Retransmission Segment -> buffer 
Data.ind(b) 
D(1,5,b) 
Data.ind(c) 
Data.req(d) 
D(3,6,d) 
C(OK,2) Data.ind(d) 
C(OK,3) 
Data.req(x) 
D(5,0,w) 
Data.req(w) 
Data.ind(w) 
D(6,0,x) 
Data.ind(x)
Bytestream 
• How to provide a bytestream service ?
Byte stream service (2) 
A B 
Data.req(abcdef) 
Data.req(ijkl) 
Data.req(mnop) 
Data.ind(ab) 
D(0,ab) 
C(OK,1) 
C(OK,1) 
D(2,cd) 
Lost segment 
D(4,ef) 
Placed in buffer 
Data.ind(cdef) 
D(2,cd) 
Expiration timer 
Retransmission 
D(6,ijklmnop) 
C(OK,5) Data.ind(ijklmnop) 
C(OK,13)
Agenda 
• Reliable transport 
• Multiplexing 
• Connection establishment 
• Data transfer 
• Connection release 
• Sharing resources
Connection release 
• Graceful release 
• Data transfer is finished and connection 
must be terminated 
• Abrupt release 
• Something went wrong and the 
connection must be closed immediately 
• Data can be lost !
Graceful release 
D(‘a’,1233) 
DISCONNECT.req (A-B) 
DISCONNECT.ind(A-B) 
ACK,1234 
DISCONNECT.conf(A-B) 
ACK,4567 
DISCONNECT.req(B-A) 
DISCONNECT.conf(A-B) 
DISCONNECT.ind(B-A) 
DR(B-A,4567) 
Outgoing connection (A->B) 
closed 
Incoming connection (A->B) 
closed 
Incoming connection (B->A) 
closed 
Outgoing connection (B->A) 
closed 
DR(A-B,1234) 
DATA.ind(‘a’)
Abrupt release 
CR (seq=z) 
CA (seq=w, ack=z) 
CA (seq=z, ack=w) 
Data.req() D 
Data.ind() 
Disc.req() 
Data.req() D 
DR 
Disc.req() 
Connection closed 
Connection closed 
This segment will not be delivered !
Agenda 
• Reliable transport 
• Sharing resources 
• Which resources need to be shared 
• Medium Access Control 
• Congestion Control
Network resources 
• What are the resources that are shared 
by multiple users inside a network ?
Sharing bandwidth 
• Several nodes on a single link
Agenda 
• Reliable transport 
• Sharing resources 
• Which resources need to be shared 
• Medium Access Control 
• Congestion Control
How to share access 
to a link ? 
• Deterministic solutions 
• Probabilistic solutions
Time Division 
Multiplexing
ALOHA
The collision problem 
A 
B 
collision
Medium Access 
Control : ALOHA 
N=1; 
while ( N<= max) do 
send frame; 
wait for ack on return channel or timeout: 
if ack on return channel 
exit while; 
else 
/* timeout */ 
/* retransmission is needed */ 
N=N+1; 
end do 
/* too many attempts */
CSMA 
• Key idea 
• Listen to the link before transmitting 
and only transmit when nobody else 
transmits
CSMA/CD 
• Key idea 
• Listen to link before transmitting 
• Detect collisions 
• If a collision occurs, stop 
transmitting 
• Caveat 
• Is it possible to detect all collisions ?
CSMA/CA 
• Key idea 
• In wireless networks, we need to 
avoid collisions by deferring 
transmissions 
• Possibility of “reserving” transmission 
slots
Agenda 
• Reliable transport 
• Sharing resources 
• Which resources need to be shared 
• Medium Access Control 
• Congestion Control
Adapting to different 
bandwidth
Self-clocking
The congestion 
problem
Fairness 
• What is the final objective of congestion 
control ? 
• On a single link 
• Fair share 
• In a large network 
• Max-min fairness
Max-min fairness 
• a max-min allocation of bandwidth is an 
allocation of bandwidth which 
maximises the allocation of bandwidth 
to the sources receiving the smallest 
allocation 
• a max-min fair allocation is such that 
in order to increase the bandwidth 
allocated to one source, it is 
necessary to decrease the bandwidth 
allocated to another source which 
already receives a lower allocation
Congestion control
Congestion control 
• Additive Increase / Multiplicative 
Decrease 
# Additive Increase Multiplicative Decrease 
if congestion : 
rate=rate*betaC # MD, betaC<1 
else 
rate=rate+alphaN # AI
How to detect 
congestion ? 
• Host-based solutions 
• Router-based solutions

Más contenido relacionado

La actualidad más candente

Part 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocolsPart 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocolsOlivier Bonaventure
 
Part 2 : reliable transmission and building a network
Part 2 : reliable transmission and building a networkPart 2 : reliable transmission and building a network
Part 2 : reliable transmission and building a networkOlivier Bonaventure
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Olivier Bonaventure
 
Beyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocolsBeyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocolsOlivier Bonaventure
 
Surviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview QuestionsSurviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview QuestionsDuane Bodle
 
IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?Olivier Bonaventure
 
Network interview questions
Network interview questionsNetwork interview questions
Network interview questionsrajasekar1712
 
16 coms 525 tcpip - routing protocols -all
16    coms 525 tcpip - routing protocols -all16    coms 525 tcpip - routing protocols -all
16 coms 525 tcpip - routing protocols -allPalanivel Kuppusamy
 
Byte blower basic setting full_v2
Byte blower basic setting full_v2Byte blower basic setting full_v2
Byte blower basic setting full_v2Chen-Chih Lee
 
(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet CountAmazon Web Services
 
Unit III IPV6 UDP
Unit III IPV6 UDPUnit III IPV6 UDP
Unit III IPV6 UDPsangusajjan
 

La actualidad más candente (20)

Part 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocolsPart 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocols
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
 
Future Internet protocols
Future Internet protocolsFuture Internet protocols
Future Internet protocols
 
Part 2 : reliable transmission and building a network
Part 2 : reliable transmission and building a networkPart 2 : reliable transmission and building a network
Part 2 : reliable transmission and building a network
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
 
Beyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocolsBeyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocols
 
Part 12 : Local Area Networks
Part 12 : Local Area Networks Part 12 : Local Area Networks
Part 12 : Local Area Networks
 
Part 6 : Internet applications
Part 6 : Internet applicationsPart 6 : Internet applications
Part 6 : Internet applications
 
12 ethernet-wifi
12 ethernet-wifi12 ethernet-wifi
12 ethernet-wifi
 
Part 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCPPart 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCP
 
11 bgp-ethernet
11 bgp-ethernet11 bgp-ethernet
11 bgp-ethernet
 
Surviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview QuestionsSurviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview Questions
 
IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?
 
TCPLS presentation @ietf 109
TCPLS presentation @ietf 109TCPLS presentation @ietf 109
TCPLS presentation @ietf 109
 
10 routing-bgp
10 routing-bgp10 routing-bgp
10 routing-bgp
 
Network interview questions
Network interview questionsNetwork interview questions
Network interview questions
 
16 coms 525 tcpip - routing protocols -all
16    coms 525 tcpip - routing protocols -all16    coms 525 tcpip - routing protocols -all
16 coms 525 tcpip - routing protocols -all
 
Byte blower basic setting full_v2
Byte blower basic setting full_v2Byte blower basic setting full_v2
Byte blower basic setting full_v2
 
(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet Count
 
Unit III IPV6 UDP
Unit III IPV6 UDPUnit III IPV6 UDP
Unit III IPV6 UDP
 

Destacado

CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesWei Tsang Ooi
 
Lecture 5
Lecture 5Lecture 5
Lecture 5ntpc08
 
Socket网络编程
Socket网络编程Socket网络编程
Socket网络编程qhm123
 
TCP with delayed ack for wireless networks
TCP with delayed ack for wireless networksTCP with delayed ack for wireless networks
TCP with delayed ack for wireless networksambitlicksolutions
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic PerformanceJavier Arauz
 
Flow & Error Control
Flow & Error ControlFlow & Error Control
Flow & Error Controltameemyousaf
 

Destacado (9)

2 reliability-network
2 reliability-network2 reliability-network
2 reliability-network
 
3 network-transport
3 network-transport3 network-transport
3 network-transport
 
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Socket网络编程
Socket网络编程Socket网络编程
Socket网络编程
 
TCP with delayed ack for wireless networks
TCP with delayed ack for wireless networksTCP with delayed ack for wireless networks
TCP with delayed ack for wireless networks
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic Performance
 
TCP Model
TCP ModelTCP Model
TCP Model
 
Flow & Error Control
Flow & Error ControlFlow & Error Control
Flow & Error Control
 

Similar a 4 transport-sharing

Data linkcontrol
Data linkcontrolData linkcontrol
Data linkcontrolBablu Shofi
 
Data link layer
Data link layerData link layer
Data link layersbkbca
 
KandR_TCP (1).ppt notes for congestion control
KandR_TCP (1).ppt    notes for congestion controlKandR_TCP (1).ppt    notes for congestion control
KandR_TCP (1).ppt notes for congestion controlGOKULKANNANMMECLECTC
 
Data Link Layer of OSI Model responsibilities
Data Link Layer of OSI Model responsibilitiesData Link Layer of OSI Model responsibilities
Data Link Layer of OSI Model responsibilitiesHemantPareek21
 
Unit IV_Flow.pptx
Unit IV_Flow.pptxUnit IV_Flow.pptx
Unit IV_Flow.pptxTejasRao8
 
Network protocols and vulnerabilities
Network protocols and vulnerabilitiesNetwork protocols and vulnerabilities
Network protocols and vulnerabilitiesG Prachi
 
Switching concepts Data communication and networks
Switching concepts Data communication and networksSwitching concepts Data communication and networks
Switching concepts Data communication and networksNt Arvind
 
RoutingProtocols.ppt
RoutingProtocols.pptRoutingProtocols.ppt
RoutingProtocols.pptImXaib
 

Similar a 4 transport-sharing (20)

Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
 
Data linkcontrol
Data linkcontrolData linkcontrol
Data linkcontrol
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
Data link layer
Data link layerData link layer
Data link layer
 
KandR_TCP (1).ppt notes for congestion control
KandR_TCP (1).ppt    notes for congestion controlKandR_TCP (1).ppt    notes for congestion control
KandR_TCP (1).ppt notes for congestion control
 
07 data linkcontrol
07 data linkcontrol07 data linkcontrol
07 data linkcontrol
 
Transport layer
Transport layerTransport layer
Transport layer
 
Data Link Layer of OSI Model responsibilities
Data Link Layer of OSI Model responsibilitiesData Link Layer of OSI Model responsibilities
Data Link Layer of OSI Model responsibilities
 
Data_Link_Layer.ppt
Data_Link_Layer.pptData_Link_Layer.ppt
Data_Link_Layer.ppt
 
Transport layer
Transport layerTransport layer
Transport layer
 
Week8 lec1-bscs1
Week8 lec1-bscs1Week8 lec1-bscs1
Week8 lec1-bscs1
 
Unit IV_Flow.pptx
Unit IV_Flow.pptxUnit IV_Flow.pptx
Unit IV_Flow.pptx
 
Network protocols and vulnerabilities
Network protocols and vulnerabilitiesNetwork protocols and vulnerabilities
Network protocols and vulnerabilities
 
Switching concepts Data communication and networks
Switching concepts Data communication and networksSwitching concepts Data communication and networks
Switching concepts Data communication and networks
 
Part5-tcp-improvements.pptx
Part5-tcp-improvements.pptxPart5-tcp-improvements.pptx
Part5-tcp-improvements.pptx
 
transport protocols
transport protocolstransport protocols
transport protocols
 
RoutingProtocols.ppt
RoutingProtocols.pptRoutingProtocols.ppt
RoutingProtocols.ppt
 
application layers
application layersapplication layers
application layers
 

Más de Olivier Bonaventure

Más de Olivier Bonaventure (15)

Part10-router.pptx
Part10-router.pptxPart10-router.pptx
Part10-router.pptx
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
 
Part11-lan.pptx
Part11-lan.pptxPart11-lan.pptx
Part11-lan.pptx
 
Part8-ibgp.pptx
Part8-ibgp.pptxPart8-ibgp.pptx
Part8-ibgp.pptx
 
Part7-routing.pptx
Part7-routing.pptxPart7-routing.pptx
Part7-routing.pptx
 
Part6-network-routing.pptx
Part6-network-routing.pptxPart6-network-routing.pptx
Part6-network-routing.pptx
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
 
A personal journey towards more reproducible networking research
A personal journey towards more reproducible networking researchA personal journey towards more reproducible networking research
A personal journey towards more reproducible networking research
 
Part 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGPPart 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGP
 
Part 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGPPart 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGP
 
Part 3 : building a network and supporting applications
Part 3 : building a network and supporting applicationsPart 3 : building a network and supporting applications
Part 3 : building a network and supporting applications
 
Making our networking stack truly extensible
Making our networking stack truly extensible Making our networking stack truly extensible
Making our networking stack truly extensible
 

Último

Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 

Último (20)

Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 

4 transport-sharing

  • 1. Week 4 Reliable transport Sharing resources
  • 2. Agenda • Reliable transport • Multiplexing • Connection establishment • Data transfer • Connection release • Sharing resources
  • 3. Multiplexing applications • How can we multiplex data from several applications running on the same host ?
  • 4. Multiplexing Request Client Server Source port : 1234 Destination port: 5678 Source port : 5678 Destination port: 1234 Response
  • 5. Agenda • Reliable transport • Multiplexing • Connection establishment • Data transfer • Connection release • Sharing resources
  • 6. Connection establishment • How to reliably open a connection ? Connect.req Connect.ind CR Connect.conf Connect.resp CA Connection established Connection established
  • 7. Segment loss Connect.req() Connect.ind() Connect.conf() CA Connection established Connection established CR Retransmission CR timer expires Connect.resp()
  • 8. Segments delayed Connect.ind() CR Connect.conf() CA CR First connection established Old previous CR How to detect duplicates ? Connect.req() CA D Connect.resp First connection established First connection stopped First connection stopped
  • 9. Delayed segments • How to deal with delayed segments ? • Network level guarantee • No packet will survive more than MSL seconds inside the network • Transport entities use on a local clock to detect duplicated connection establishment requests
  • 10. Three way handshake Host A Host B CR (seq=x) CA (seq=y, ack=x) CA (seq=x, ack=y) Sequence number x read from local transport clock Local state : Connection to B : - Wait for ack for CR (x) - Start retransmission timer Sequence number y read from local transport clock CA sent to ack CR Local state : Connection to A : - Wait for ack for CA(y) Received CA acknowledges CR Send CA to ack received CA Local state : Connection to B : - established - current_seq = x The sequence numbers used for the data segments will start from x The sequence numbers used for the data segments will start from y D(x) D(y) Local state : Connection to A : - established Connection established - current_seq=y Connection established
  • 11. Three way handshake (2) Host A CR (seq=z) Host B CA (seq=y, ack=z) REJECT (ack=y) Connection cancelled No connection is established Sequence number y read from local transport clock Acknowledges CR segment Local state : Connection to A : - Wait for ack for CA(y) Local state : No connection to B Send REJECT to cancel connection establishment
  • 12. Three way handshake (3) Host A Host B CR (seq=z) Current state does not contain a CR with seq=x CA (seq=y, ack=x) REJECT (ack=y) CR (seq=z) Retransmission timer expires CA (seq=w, ack=z) CA (seq=z, ack=w) Connection established Sequence number z read from local transport clock Local state : Connection to B : - Wait for ack for CR (z) - Start retransmission timer Current state does not contain a segment with seq=y REJECT ignored Sequence number w read from local transport clock CA sent to ack CR Local state : Connection to A : - Wait for ack for CA(w) Received CA acknowledges CR Send CA to ack received CA Local state : Connection to B : - established - current_seq = z
  • 13. Three way handshake (4) Host A Host B Invalid CA received from A Send REJECT CR (seq=z) CA (seq=w, ack=z) REJECT (ack=w) CA (seq=z, ack=y) REJECT (ack=z) Sequence number w read from local transport clock Acknowledges CR segment Local state : Connection to A : - Wait for ack for CA(w) Current state does not contain a CR with seq=z No connection is established
  • 14. Agenda • Reliable transport • Multiplexing • Connection establishment • Data transfer • Connection release • Sharing resources
  • 15. Reliable data transfer • What are the differences with the reliable protocols of the datalink layer ? • Segments can be reordered • Buffers can change dynamically • Bytestream service
  • 16. Retransmission policies • Which retransmission policy in reliable transport protocols ? • Alternating Bit • Go-back-n • Selective repeat
  • 17. Buffer management • A transport entity serves a variable number of applications with a limited buffer • The buffer/window allocated to a given connection may need to change dynamically as connections start and stop
  • 18. Buffer management A B Data.req(a) Data.ind(a) D(0,a) C(OK,0, w=1) C(OK,0,w=3) Data.req(c) D(2,c) 2 new buffers become available Data.req(b) Data.ind(b) D(1,b) 0 1 2 3 0 1 2 3 0 1 2 3 C(OK,1,w=3) Rwin=1 Swin=3, rwin=1 0 1 2 3 Swin=3, rwin=1 0 1 2 3 Swin=3, rwin=3 0 1 2 3 Data.req(d) D(3,d) 0 1 2 3
  • 19. Buffer management A B Data.req(b) Rwin=1 Receiver cannot handle segment immediately Data.ind(a) Data.req(a) D(0,a) C(OK,0, w=0) 0 1 2 3 2 new buffers are available Swin=3, rwin=1 0 1 2 3 0 1 2 3 C(OK,0,w=3) Lost segment Swin=3, rwin=0 0 1 2 3 Window blocked No transmission possible Waits for control segment Waits for data segment How to recover from deadlock ? Persitence timer on receiver, resend control segment after timer expiration
  • 20. Delayed segments A B D(1,b) Timer expiration Retransmission D(3,d) D(1,b) C(OK,0) C(OK,0) C(OK,3) D(0,e) Data.ind(e) C(OK,0) C(OK,1) Data.ind(b) !!!!!!!!!!!! D(0,a) Data.req(a) Data.ind(a) Data.ind(b) Data.ind(e)
  • 21. Delayed segments • How to deal with them ? • Packets cannot live more than MSL seconds inside the network • Only one segment carrying sequence number x can be transmitted during MSL seconds • upper bound on maximum throughput
  • 22. Bidirectional transfer • How to efficiently carry data in both directions ?
  • 23. Piggybacking A B Data.req(a) Data.ind(a) Data.req(b) D(0,0,a) D(1,0,b) Error Discarded Data.req(c) D(2,0,c) D(5,0,w) acks D(0,0,a) Retransmission Segment -> buffer Data.ind(b) D(1,5,b) Data.ind(c) Data.req(d) D(3,6,d) C(OK,2) Data.ind(d) C(OK,3) Data.req(x) D(5,0,w) Data.req(w) Data.ind(w) D(6,0,x) Data.ind(x)
  • 24. Bytestream • How to provide a bytestream service ?
  • 25. Byte stream service (2) A B Data.req(abcdef) Data.req(ijkl) Data.req(mnop) Data.ind(ab) D(0,ab) C(OK,1) C(OK,1) D(2,cd) Lost segment D(4,ef) Placed in buffer Data.ind(cdef) D(2,cd) Expiration timer Retransmission D(6,ijklmnop) C(OK,5) Data.ind(ijklmnop) C(OK,13)
  • 26. Agenda • Reliable transport • Multiplexing • Connection establishment • Data transfer • Connection release • Sharing resources
  • 27. Connection release • Graceful release • Data transfer is finished and connection must be terminated • Abrupt release • Something went wrong and the connection must be closed immediately • Data can be lost !
  • 28. Graceful release D(‘a’,1233) DISCONNECT.req (A-B) DISCONNECT.ind(A-B) ACK,1234 DISCONNECT.conf(A-B) ACK,4567 DISCONNECT.req(B-A) DISCONNECT.conf(A-B) DISCONNECT.ind(B-A) DR(B-A,4567) Outgoing connection (A->B) closed Incoming connection (A->B) closed Incoming connection (B->A) closed Outgoing connection (B->A) closed DR(A-B,1234) DATA.ind(‘a’)
  • 29. Abrupt release CR (seq=z) CA (seq=w, ack=z) CA (seq=z, ack=w) Data.req() D Data.ind() Disc.req() Data.req() D DR Disc.req() Connection closed Connection closed This segment will not be delivered !
  • 30. Agenda • Reliable transport • Sharing resources • Which resources need to be shared • Medium Access Control • Congestion Control
  • 31. Network resources • What are the resources that are shared by multiple users inside a network ?
  • 32. Sharing bandwidth • Several nodes on a single link
  • 33. Agenda • Reliable transport • Sharing resources • Which resources need to be shared • Medium Access Control • Congestion Control
  • 34. How to share access to a link ? • Deterministic solutions • Probabilistic solutions
  • 36. ALOHA
  • 37. The collision problem A B collision
  • 38. Medium Access Control : ALOHA N=1; while ( N<= max) do send frame; wait for ack on return channel or timeout: if ack on return channel exit while; else /* timeout */ /* retransmission is needed */ N=N+1; end do /* too many attempts */
  • 39. CSMA • Key idea • Listen to the link before transmitting and only transmit when nobody else transmits
  • 40. CSMA/CD • Key idea • Listen to link before transmitting • Detect collisions • If a collision occurs, stop transmitting • Caveat • Is it possible to detect all collisions ?
  • 41. CSMA/CA • Key idea • In wireless networks, we need to avoid collisions by deferring transmissions • Possibility of “reserving” transmission slots
  • 42. Agenda • Reliable transport • Sharing resources • Which resources need to be shared • Medium Access Control • Congestion Control
  • 46. Fairness • What is the final objective of congestion control ? • On a single link • Fair share • In a large network • Max-min fairness
  • 47. Max-min fairness • a max-min allocation of bandwidth is an allocation of bandwidth which maximises the allocation of bandwidth to the sources receiving the smallest allocation • a max-min fair allocation is such that in order to increase the bandwidth allocated to one source, it is necessary to decrease the bandwidth allocated to another source which already receives a lower allocation
  • 49. Congestion control • Additive Increase / Multiplicative Decrease # Additive Increase Multiplicative Decrease if congestion : rate=rate*betaC # MD, betaC<1 else rate=rate+alphaN # AI
  • 50. How to detect congestion ? • Host-based solutions • Router-based solutions

Notas del editor

  1. In this example, the duplicate CR is likely to be a previous retransmission of the CR that was delayed in the network.
  2. MSL means Maximum Segment Lifetime