Computer Networking Chapter #3
Transcript of Computer Networking Chapter #3
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: