computer networking chapter #3

7
Computer Networking Chapter #3 Dr. Abdulrhaman Alameer Transport Layer Transport layer provides logical communication between application process running on different host. Application processes use the logical communication provided by the transport layer to send messages to each other. What are transport-layer services

Upload: others

Post on 13-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

ComputerNetworking

Chapter#3

Dr.AbdulrhamanAlameer

TransportLayer

Transportlayerprovideslogicalcommunicationbetweenapplicationprocessrunningondifferenthost.Applicationprocessesusethelogicalcommunicationprovidedbythetransportlayertosendmessagestoeachother.

• Whataretransport-layerservices

– MultiplexingandDemultiplexing

– Principlesofreliabledatatransfer:Making sure that the packets sent by the sender are correctly and reliably received by the receiver.

– Connectionlesstransport:User Datagram Protocol (UDP).Point-to-multiple:onesender,manyreceivers.Itisunreliabledatatransfer.NohandshakingbetweenUDPsender,receiverandnocongestioncontrol:UDPcanblastawayasfastasdesired.

– EachUDPsegmenthandledindependentlyofothers.– UDPsegmentsmaybe:lostordeliveredout-of-ordertoapp.

– Connection-orientedtransport:Transmission Control Protocol(TCP).Point-to-point:onesender,onereceiver.Itis:

§ Reliabledatatransfer§ Flowcontrol:Senderwillnotoverwhelmreceiver§ Connectionmanagement§ Fullduplexdata:Bi-directionaldataflowinsameconnection.

§ Connection-oriented:Handshaking(exchangeofcontrolmsgs)initssender,receiverstatebeforedataexchange.

§ Pipelined:TCPcongestionandflowcontrolsetwindowsize

• Reliability Technique

- Stop-and-waitprotocol:Itis a method in telecommunications to send information between two connected devices.

- Pipelinedprotocols:It is a technique in which multiple requests are written out to a single socket without waiting for the corresponding responses.

v Therearetwogenericformsofpipelinedprotocols:Go-Back-N,selectiverepeat

Go-Back-N:

v SendercanhaveuptoNunackedpacketsinpipelinev Receiveronlysendscumulativeack,doesn’tackpacketifthere’sagapv Senderhastimerforoldestunackedpacketwhentimerexpires,retransmit

allunackedpackets.

v k-bitseq#inpktheaderv “window”ofuptoN,consecutiveunack’edpktsallowedv ACK(n):ACKsallpktsupto,includingseq#n-“cumulativeACK”v mayreceiveduplicateACKs(seereceiver)v timerforoldestin-flightpktv timeout(n):retransmitpacketnandallhigherseq#pktsinwindowv ACK-only:alwayssendACKforcorrectly-receivedpktwithhighestin-order

seq#v maygenerateduplicateACKsv needonlyrememberexpectedseqnumv out-of-orderpkt:discard(don’tbuffer):noreceiverbuffering!Andre-ACKpkt

withhighestin-orderseq#

Selectiverepeat:

v receiverindividuallyacknowledgesallcorrectlyreceivedpkts§ bufferspkts,asneeded,foreventualin-orderdeliverytoupperlayer

v senderonlyresendspktsforwhichACKnotreceived§ sendertimerforeachunACKedpkt

v senderwindow§ Nconsecutiveseq#’s§ limitsseq#sofsent,unACKedpkts

§ ConnectionManagement

- Beforeexchangingdata,sender/receiver“handshake”:• Agreetoestablishconnection(eachknowingtheotherwillingtoestablish

connection)• Agreeonconnectionparameters

§ TCP:retransmissionscenarios2-wayhandshake:

2-way handshake failure scenarios:

TCP3-wayhandshake