Chapter 3: Transport Layer

3y ago
17 Views
2 Downloads
2.23 MB
55 Pages
Last View : 22d ago
Last Download : 3m ago
Upload by : Sabrina Baez
Transcription

Chapter 3: Transport Layerour goals: understandprinciples behindtransport layerservices: learn about Internettransport layerprotocols: UDP: connectionlesstransport TCP: connection-orientedreliable transport TCP congestion control multiplexing,demultiplexing reliable data transfer flow control congestion controlTransport Layer 3-1Chapter 3 outline3.1 transport-layerservices3.2 multiplexing anddemultiplexing3.3 connectionlesstransport: UDP3.4 principles of reliabledata transfer3.5 connection-orientedtransport: TCP segment structurereliable data transferflow controlconnection management3.6 principles of congestioncontrol3.7 TCP congestion controlTransport Layer 3-21

Transport services and protocols provide logical communicationbetween app processesrunning on different hoststransport protocols run inend systems send side: breaks appmessages into segments,passes to network layer rcv side: reassemblessegments into messages,passes to app layermore than one transportprotocol available to apps Internet: TCP and UDPapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalTransport Layer 3-3Transport vs. network layernetwork layer: logicalcommunicationbetween hosts transport layer:logicalcommunicationbetween processes relies on, enhances,network layerserviceshousehold analogy:12 kids in Ann’s house sendingletters to 12 kids in Bill’shouse: hosts houses processes kids app messages letters inenvelopes transport protocol Annand Bill who demux to in-house siblings network-layer protocol postal serviceTransport Layer 3-42

Internet transport-layer protocols applicationtransportnetworkdata linkphysicalreliable, in-orderdelivery (TCP) congestion control flow control connection setup networkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalunreliable, unordereddelivery: UDP no-frills extension of“best-effort” IP networkdata linkphysicalnetworkdata linkphysicalservices not available:networkdata linkphysicalnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical delay guarantees bandwidth guaranteesTransport Layer 3-5Chapter 3 outline3.1 transport-layerservices3.2 multiplexing anddemultiplexing3.3 connectionlesstransport: UDP3.4 principles of reliabledata transfer3.5 connection-orientedtransport: TCP segment structurereliable data transferflow controlconnection management3.6 principles of congestioncontrol3.7 TCP congestion controlTransport Layer 3-63

Multiplexing/demultiplexingmultiplexing at sender:handle data from multiplesockets, add transport header(later used for demultiplexing)demultiplexing at receiver:use header info to deliverreceived segments to lTransport Layer 3-7How demultiplexing works host receives IP datagrams each datagram has source IPaddress, destination IPaddress each datagram carries onetransport-layer segment each segment has source,destination port number host uses IP addresses &port numbers to directsegment to appropriatesocket32 bitssource port #dest port #other header fieldsapplicationdata(payload)TCP/UDP segment formatTransport Layer 3-84

Connectionless demultiplexing created socket has host-localport #: DatagramSocket mySocket1 new DatagramSocket(12534); when host receives UDPsegment: checks destination port #in segment directs UDP segment tosocket with that port #when creating datagram tosend into UDP socket,must specify destination IP address destination port #IP datagrams with samedest. port #, but differentsource IP addresses and/or source port numberswill be directed to samesocket at destTransport Layer 3-9Connectionless demux: exampleDatagramSocketmySocket2 newDatagramSocket(9157);DatagramSocketserverSocket newDatagramSocketDatagramSocketmySocket1 icalsource port: 6428dest port: 9157source port: 9157dest port: 6428source port: ?dest port: ?source port: ?dest port: ?Transport Layer 3-105

Connection-oriented demux TCP socket identifiedby 4-tuple:source IP addresssource port numberdest IP addressdest port number server host may supportmany simultaneous TCPsockets: each socket identified byits own 4-tuple demux: receiver usesall four values to directsegment toappropriate socketweb servers havedifferent sockets foreach connecting client non-persistent HTTP willhave different socket foreach requestTransport Layer 3-11Connection-oriented demux: physicalhost: IPaddress Atransportnetworklinkserver: IPaddress Bsource IP,port: B,80dest IP,port: A,9157source IP,port: A,9157dest IP, port: B,80three segments, all destined to IP address: B,dest port: 80 are demultiplexed to different socketsphysicalsource IP,port: C,5775dest IP,port: B,80host: IPaddressCsource IP,port: B,9157dest IP,port: B,80Transport Layer 3-126

Connection-oriented demux: examplethreaded calhost: IPaddress Atransportnetworklinkserver: IPaddress Bsource IP,port: B,80dest IP,port: A,9157physicalhost: IPaddressCsource IP,port: C,5775dest IP,port: B,80source IP,port: A,9157dest IP, port: B,80source IP,port: B,9157dest IP,port: B,80Transport Layer 3-13Chapter 3 outline3.1 transport-layerservices3.2 multiplexing anddemultiplexing3.3 connectionlesstransport: UDP3.4 principles of reliabledata transfer3.5 connection-orientedtransport: TCP segment structurereliable data transferflow controlconnection management3.6 principles of congestioncontrol3.7 TCP congestion controlTransport Layer 3-147

UDP: User Datagram Protocol [RFC 768] “no frills,” “bare bones”Internet transportprotocol“best effort” service, UDPsegments may be: lost delivered out-of-orderto appconnectionless: no handshakingbetween UDP sender,receiver each UDP segmenthandled independentlyof others UDP use: streaming multimediaapps (loss tolerant, ratesensitive) DNS SNMP reliable transfer overUDP: add reliability atapplication layer application-specific errorrecovery!Transport Layer 3-15UDP: segment header32 bitssource port #dest port #lengthchecksumapplicationdata(payload)length, in bytes ofUDP segment,including headerwhy is there a UDP? UDP segment format no connectionestablishment (which canadd delay)simple: no connectionstate at sender, receiversmall header sizeno congestion control:UDP can blast away asfast as desiredTransport Layer 3-168

UDP checksumGoal: detect “errors” (e.g., flipped bits) in transmittedsegmentsender:receiver: treat segment contents,including header fields,as sequence of 16-bitintegerschecksum: addition(one’s complementsum) of segmentcontentssender puts checksumvalue into UDPchecksum field compute checksum ofreceived segmentcheck if computedchecksum equals checksumfield value: NO - error detected YES - no error detected.But maybe errorsnonetheless? More later .Transport Layer 3-17Internet checksum: exampleexample: add two 16-bit integers1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 01 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1wraparound 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1sum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1Note: when adding numbers, a carryout from the mostsignificant bit needs to be added to the resultTransport Layer 3-189

Chapter 3 outline3.1 transport-layerservices3.2 multiplexing anddemultiplexing3.3 connectionlesstransport: UDP3.4 principles of reliabledata transfer3.5 connection-orientedtransport: TCP segment structurereliable data transferflow controlconnection management3.6 principles of congestioncontrol3.7 TCP congestion controlTransport Layer 3-19Principles of reliable data transfer important in application, transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determinecomplexity of reliable data transfer protocol (rdt)Transport Layer 3-2010

Principles of reliable data transfer important in application, transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determinecomplexity of reliable data transfer protocol (rdt)Transport Layer 3-21Principles of reliable data transfer important in application, transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determinecomplexity of reliable data transfer protocol (rdt)Transport Layer 3-2211

Reliable data transfer: getting startedrdt send(): called from above,(e.g., by app.). Passed data todeliver to receiver upper layerdeliver data(): called byrdt to deliver data to uppersendsidereceivesideudt send(): called by rdt,to transfer packet overunreliable channel to receiverrdt rcv(): called when packetarrives on rcv-side of channelTransport Layer 3-23Reliable data transfer: getting startedwe’ll: incrementally develop sender, receiver sides ofreliable data transfer protocol (rdt) consider only unidirectional data transfer but control info will flow on both directions! use finite state machines (FSM) to specify sender,receiverevent causing state transitionactions taken on state transitionstate: when in this“state” next stateuniquely determinedby next eventstate1eventactionsstate2Transport Layer 3-2412

rdt1.0: reliable transfer over a reliable channel underlying channel perfectly reliable no bit errors no loss of packets separate FSMs for sender, receiver: sender sends data into underlying channel receiver reads data from underlying channelWait forcall fromaboverdt send(data)packet make pkt(data)udt send(packet)senderWait forcall frombelowrdt rcv(packet)extract (packet,data)deliver data(data)receiverTransport Layer 3-25rdt2.0: channel with bit errors underlying channel may flip bits in packet checksum to detect bit errors the question: how to recover from errors: acknowledgements (ACKs): receiver explicitly tells senderthat pkt received OK negative acknowledgements (NAKs): receiver explicitly tellssender that pkt had errors senderretransmitspkt onrecoverreceipt ofNAK“errors”Howdo humansfromnew mechanisms in rdt2.0 (beyond rdt1.0):during conversation? error detection receiver feedback: control msgs (ACK,NAK) rcvr- senderTransport Layer 3-2613

rdt2.0: channel with bit errors underlying channel may flip bits in packet checksum to detect bit errors the question: how to recover from errors: acknowledgements (ACKs): receiver explicitly tells senderthat pkt received OK negative acknowledgements (NAKs): receiver explicitly tellssender that pkt had errors sender retransmits pkt on receipt of NAKnew mechanisms in rdt2.0 (beyond rdt1.0): error detection feedback: control msgs (ACK,NAK) from receiver tosenderTransport Layer 3-27rdt2.0: FSM specificationrdt send(data)sndpkt make pkt(data, checksum)udt send(sndpkt)rdt rcv(rcvpkt) &&isNAK(rcvpkt)Wait forWait forcall fromACK orudt send(sndpkt)aboveNAKrdt rcv(rcvpkt) && isACK(rcvpkt)Λsenderreceiverrdt rcv(rcvpkt) &&corrupt(rcvpkt)udt send(NAK)Wait forcall frombelowrdt rcv(rcvpkt) &¬corrupt(rcvpkt)extract(rcvpkt,data)deliver data(data)udt send(ACK)Transport Layer 3-2814

rdt2.0: operation with no errorsrdt send(data)snkpkt make pkt(data, checksum)udt send(sndpkt)rdt rcv(rcvpkt) &&isNAK(rcvpkt)Wait forWait forcall fromACK orudt send(sndpkt)aboveNAKrdt rcv(rcvpkt) && isACK(rcvpkt)Λrdt rcv(rcvpkt) &&corrupt(rcvpkt)udt send(NAK)Wait forcall frombelowrdt rcv(rcvpkt) &¬corrupt(rcvpkt)extract(rcvpkt,data)deliver data(data)udt send(ACK)Transport Layer 3-29rdt2.0: error scenariordt send(data)snkpkt make pkt(data, checksum)udt send(sndpkt)rdt rcv(rcvpkt) &&isNAK(rcvpkt)Wait forWait forcall fromACK orudt send(sndpkt)aboveNAKrdt rcv(rcvpkt) && isACK(rcvpkt)Λrdt rcv(rcvpkt) &&corrupt(rcvpkt)udt send(NAK)Wait forcall frombelowrdt rcv(rcvpkt) &¬corrupt(rcvpkt)extract(rcvpkt,data)deliver data(data)udt send(ACK)Transport Layer 3-3015

rdt2.0 has a fatal flaw!what happens if ACK/NAK corrupted? sender doesn’t know whathappened at receiver!can’t just retransmit:possible duplicatehandling duplicates: sender retransmitscurrent pkt if ACK/NAKcorruptedsender adds sequencenumber to each pktreceiver discards (doesn’tdeliver up) duplicate pktstop and waitsender sends one packet,then waits for receiverresponseTransport Layer 3-31rdt2.1: sender, handles garbled ACK/NAKsrdt send(data)sndpkt make pkt(0, data, checksum)udt send(sndpkt)rdt rcv(rcvpkt) &&rdt rcv(rcvpkt)&& notcorrupt(rcvpkt)&& isACK(rcvpkt)Wait forcall 0 fromabove( corrupt(rcvpkt) isNAK(rcvpkt) )udt send(sndpkt)Wait forACK orNAK 0rdt rcv(rcvpkt)&& notcorrupt(rcvpkt)&& isACK(rcvpkt)Λrdt rcv(rcvpkt) &&( corrupt(rcvpkt) isNAK(rcvpkt) )udt send(sndpkt)ΛWait forACK orNAK 1Wait forcall 1 fromaboverdt send(data)sndpkt make pkt(1, data, checksum)udt send(sndpkt)Transport Layer 3-3216

rdt2.1: receiver, handles garbled ACK/NAKsrdt rcv(rcvpkt) && notcorrupt(rcvpkt)&& has seq0(rcvpkt)rdt rcv(rcvpkt) && (corrupt(rcvpkt)extract(rcvpkt,data)deliver data(data)sndpkt make pkt(ACK, chksum)udt send(sndpkt)rdt rcv(rcvpkt) && (corrupt(rcvpkt)sndpkt make pkt(NAK, chksum)udt send(sndpkt)rdt rcv(rcvpkt) &¬ corrupt(rcvpkt) &&has seq1(rcvpkt)sndpkt make pkt(ACK, chksum)udt send(sndpkt)sndpkt make pkt(NAK, chksum)udt send(sndpkt)Wait for0 frombelowWait for1 frombelowrdt rcv(rcvpkt) && notcorrupt(rcvpkt)&& has seq1(rcvpkt)rdt rcv(rcvpkt) &¬ corrupt(rcvpkt) &&has seq0(rcvpkt)sndpkt make pkt(ACK, chksum)udt send(sndpkt)extract(rcvpkt,data)deliver data(data)sndpkt make pkt(ACK, chksum)udt send(sndpkt)Transport Layer 3-33rdt2.1: discussionsender: seq # added to pkt two seq. #’s (0,1) willsuffice. Why? must check if receivedACK/NAK corrupted twice as many statesreceiver: must check if receivedpacket is duplicate state indicates whether0 or 1 is expected pktseq # state must “remember”whether “expected”pkt should have seq #of 0 or 1Transport Layer 3-3417

rdt2.2: a NAK-free protocol same functionality as rdt2.1, using ACKs onlyinstead of NAK, receiver sends ACK for last pktreceived OK receiver must explicitly include seq # of pkt being ACKed duplicate ACK at sender results in same action asNAK: retransmit current pktTransport Layer 3-35rdt2.2: sender, receiver fragmentsrdt send(data)sndpkt make pkt(0, data, checksum)udt send(sndpkt)rdt rcv(rcvpkt) &&( corrupt(rcvpkt) Wait forWait forisACK(rcvpkt,1) )ACKcall 0 from0udt send(sndpkt)abovesender FSMfragmentrdt rcv(rcvpkt) &&(corrupt(rcvpkt) has seq1(rcvpkt))udt send(sndpkt)Wait for0 frombelowrdt rcv(rcvpkt)&& notcorrupt(rcvpkt)&& isACK(rcvpkt,0)receiver FSMfragmentΛrdt rcv(rcvpkt) && notcorrupt(rcvpkt)&& has seq1(rcvpkt)extract(rcvpkt,data)deliver data(data)sndpkt make pkt(ACK1, chksum)udt send(sndpkt)Transport Layer 3-3618

rdt3.0: channels with errors and lossnew assumption:underlying channelcan also lose packets(data, ACKs) checksum, seq. #,ACKs, retransmissionswill be of help butnot enoughapproach: sender waits“reasonable” amount oftime for ACK retransmits if no ACKreceived in this timeif pkt (or ACK) just delayed(not lost): retransmission will beduplicate, but seq. #’salready handles this receiver must specify seq# of pkt being ACKedrequires countdown timerTransport Layer 3-37rdt3.0 senderrdt send(data)rdt rcv(rcvpkt)Λrdt rcv(rcvpkt)&& notcorrupt(rcvpkt)&& isACK(rcvpkt,1)rdt rcv(rcvpkt) &&( corrupt(rcvpkt) isACK(rcvpkt,0) )timeoutudt send(sndpkt)start timerrdt rcv(rcvpkt)&& notcorrupt(rcvpkt)&& isACK(rcvpkt,0)stop timerstop timertimeoutudt send(sndpkt)start timerΛWaitforACK0Wait forcall 0fromaboveΛrdt rcv(rcvpkt) &&( corrupt(rcvpkt) isACK(rcvpkt,1) )sndpkt make pkt(0, data, checksum)udt send(sndpkt)start timerWaitforACK1Wait forcall 1 fromaboverdt send(data)rdt rcv(rcvpkt)Λsndpkt make pkt(1, data, checksum)udt send(sndpkt)start timerTransport Layer 3-3819

rdt3.0 in actionreceiversendersend pkt0pkt0ack0rcv ack0send pkt1pkt1ack1rcv ack1send pkt0pkt0ack0send pkt0rcv pkt0send ack0rcv pkt1send ack1rcv pkt0send ack0rcv ack0send pkt1pkt0rcv pkt0send ack0ack0pkt1Xlosstimeoutresend pkt1rcv ack1send pkt0(a) no lossreceiversenderpkt1rcv pkt1send ack1ack1pkt0rcv pkt0send ack0ack0(b) packet lossTransport Layer 3-39rdt3.0 in actionreceiversendersend pkt0pkt0rcv ack0send pkt1ack0pkt1ack1Xrcv pkt0send ack0pkt1rcv ack1send pkt0ack1pkt0ack0(c) ACK losssend pkt0rcv ack0send pkt1rcv pkt1send ack1losstimeoutresend pkt1rcv pkt1(detect duplicate)send ack1rcv pkt0send ack0receiversenderpkt0rcv pkt0send ack0ack0pkt1rcv pkt1send ack1ack1timeoutresend pkt1rcv ack1send pkt0rcv ack1send pkt0pkt1rcv pkt1pkt0ack1ack0pkt0(detect duplicate)ack0(detect duplicate)send ack1rcv pkt0send ack0rcv pkt0send ack0(d) premature timeout/ delayed ACKTransport Layer 3-4020

Performance of rdt3.0 rdt3.0 is correct, but performance stinkse.g.: 1 Gbps link, 15 ms prop. delay, 8000 bit packet:8000 bitsLDtrans R 109 bits/sec 8 microsecs U sender: utilization – fraction of time sender busy sending if RTT 30 msec, 1KB pkt every 30 msec: 33kB/sec thruputover 1 Gbps link network protocol limits use of physical resources!Transport Layer 3-41rdt3.0: stop-and-wait operationsenderreceiverfirst packet bit transmitted, t 0last packet bit transmitted, t L / RRTTfirst packet bit arriveslast packet bit arrives, send ACKACK arrives, send nextpacket, t RTT L / RTransport Layer 3-4221

Pipelined protocolspipelining: sender allows multiple, “in-flight”, yet-to-be-acknowledged pkts range of sequence numbers must be increased buffering at sender and/or receiver two generic forms of pipelined protocols: go-Back-N,selective repeatTransport Layer 3-43Pipelining: increased utilizationsenderreceiverfirst packet bit transmitted, t 0last bit transmitted, t L / RRTTfirst packet bit arriveslast packet bit arrives, send ACKlast bit of 2nd packet arrives, send ACKlast bit of 3rd packet arrives, send ACKACK arrives, send nextpacket, t RTT L / R3-packet pipelining increasesutilization by a factor of 3!Transport Layer 3-4422

Pipelined protocols: overviewGo-back-N: sender can have up toN unacked packets inpipeline receiver only sendscumulative ackSelective Repeat: sender can have up to Nunack’ed packets inpipeline rcvr sends individual ackfor each packet doesn’t ack packet ifthere’s a gap sender has timer foroldest unacked packet when timer expires,retransmit all unackedpacketssender maintains timerfor each unacked packet when timer expires,retransmit only thatunacked packetTransport Layer 3-45Go-Back-N: sender k-bit seq # in pkt header“window” of up to N, consecutive unack’ed pkts allowedACK(n): ACKs all pkts up to, including seq # n - “cumulativeACK” may receive duplicate ACKs (see receiver)timer for oldest in-flight pkttimeout(n): retransmit packet n and all higher seq # pkts inwindowTransport Layer 3-4623

GBN: sender extended FSMrdt send(data)Λbase 1nextseqnum 1rdt rcv(rcvpkt)&& corrupt(rcvpkt)if (nextseqnum base N) {sndpkt[nextseqnum] make pkt(nextseqnum,data,chksum)udt send(sndpkt[nextseqnum])if (base nextseqnum)start timernextseqnum }elserefuse data(data)timeoutstart timerWaitudt send(sndpkt[base])udt send(sndpkt[base 1]) udt send(sndpkt[nextseqnum-1])rdt rcv(rcvpkt) &¬corrupt(rcvpkt)base getacknum(rcvpkt) 1If (base nextseqnum)stop timerelsestart timerTransport Layer 3-47GBN: receiver extended FSMdefaultudt send(sndpkt)ΛWaitexpectedseqnum 1sndpkt make pkt(expectedseqnum,ACK,chksum)rdt rcv(rcvpkt)&& notcurrupt(rcvpkt)&& a)deliver data(data)sndpkt make pkt(expectedseqnum,ACK,chksum)udt send(sndpkt)expectedseqnum ACK-only: always send ACK for correctly-receivedpkt with highest in-order seq # may generat

Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles

Related Documents:

Part One: Heir of Ash Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 Chapter 21 Chapter 22 Chapter 23 Chapter 24 Chapter 25 Chapter 26 Chapter 27 Chapter 28 Chapter 29 Chapter 30 .

TO KILL A MOCKINGBIRD. Contents Dedication Epigraph Part One Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Part Two Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18. Chapter 19 Chapter 20 Chapter 21 Chapter 22 Chapter 23 Chapter 24 Chapter 25 Chapter 26

DEDICATION PART ONE Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 PART TWO Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 Chapter 21 Chapter 22 Chapter 23 .

9. Build a sugar-cube pyramid as follows: First make a 5 5 1 bottom layer. Then center a 4 4 1 layer on the rst layer, center a 3 3 1 layer on the second layer, and center a 2 2 1 layer on the third layer. The fth layer is a single 1 1 1 cube. Express the volume of this pyramid as a percentage of the volume of a 5 5 5 cube. 10.

C. Rockwell hardness test LAMINATES RHN LAYER 1 95 LAYER 2 96 LAYER 3 97 LAYER 4 98 Table 4.2 Hardness number RHN rockwell hardness number D. Impact test LAMINATES ENERGY (J) DEGREE (ang) LAYER 1 1.505 105 B. LAYER 2 2.75 114 LAYER 3 3.50 124 LAYER 4 4.005 132 Table 4.3 Impact Test data E.

Office IP Phones Access Layer Distribution Layer Main Distribution Facility Core Switch Server Farm Call Servers Data Center Data/Voice/Video Pipe IDF / Wiring Closet VoIP and IP Telephony Layer 1 - Physical Layer IP Phones, Wi-Fi Access Points Layer 1 - Physical Layer IP Phones, W i-F Access Points Layer 2 - Distribution Layer Catalyst 1950 .

Transport Layer 3-3 3. Transport Layer: Outline 3.1 transport-layer services 3.2 multiple

Transport Management System of Nepal Nepalese transport management is affected by existing topographical condition of the country. Due to this only means of transport used in the country are road transport and air transport. In this paper only road transport is discussed. During the Tenth Plan period, the vehicle transport management