[ Pobierz całość w formacie PDF ]
.That DCE willinform the network that the call is being cleared, and the other DCE will inform the other DTEthat the call is being cleared.When the noninitiating DTE acknowledges that it knows the callhas been cleared, its DCE informs the network, which informs the initiating DTE's DCE,which, in turn, informs the DTE that originally requested that the call be cleared.When the network detects a problem with a call, it might do one of the following.1.The DCE might issue a clear request, which causes the call to be disconnected withno guarantee regarding unacknowledged packets.They may or may not have beendelivered to the destination.2.The DCE might issue a reset, which also offers no guarantee regarding the fate ofunacknowledged packets.It restarts the sequence numbers for the call at 0 but keepsthe call up.3.The network might recover transparently.(This is, unfortunately, not common.)The sorts of problems that could trigger one of the preceding responses include the following.1.A DCE or link along a call's route goes down.(X.25 networks can be designed so thata call could be rerouted when a route fails, but many of them are not.)2.The DTE transmits a packet for a call with an unexpected sequence number,indicating that the DCE and DTE are no longer coordinated with each other regardingthat call.It is also possible for a DCE to inform a DTE that all the DTE's current calls have been torndown.This is usually the result of a restart by the DCE because it has lost state with respectto any calls that might have been in progress.7.2.8 InterruptsX.25 offers the ability for a DTE to transmit a single packet (with 1 to 32 bytes of data) on acall, which the network will deliver to the destination DTE as quickly as possible that is,without having to wait for all previously transmitted data to be delivered to the destination.There is no flow control on interrupt packets, so even if the destination has transmitted areceive not ready the interrupt packet will be delivered.An interrupt confirmation packet isused to acknowledge an interrupt packet.A DTE can transmit a second interrupt packet onlyafter the DCE informs the DTE (via an interrupt confirmation packet) that the destination DTEhas acknowledged the previous interrupt packet.7.3 Implementing X.25 Inside the NetIn this section, I discuss two methods of implementing a service interface with the X.25guarantees: that all packets be transmitted in order with no duplication or loss, or else the callis disconnected.Some X.25 providers use the first strategy, and others use the second.7.3.1 Circuit MethodIn this method a call-setup procedure is done, just as in Figure 7.1, creating state in all therouters along the path.In X.25 nets built this way, the routers usually reserve a certainnumber of buffers for each call that has been set up through them.If a call request comes inand the call-mapping database is full or all the buffers are reserved, the call is refused by thenetwork (as with "fast busy signal" in the U.S.telephone network).Because the number of calls is limited, if the network completes a call a certain level ofperformance is guaranteed.When the network gets to a particular level of utilization, furthercalls are refused but service is not degraded for those calls already in progress.This is incontrast to a connectionless service, in which service for all users would be degradeddemocratically.In an X.25 network built this way, a router usually holds on to a data packet only until thedownstream router acknowledges it.Consequently, if any router along the path fails, there isno way for the network to recover lost packets.The network disconnects or resets the callunder these circumstances because it can't guarantee 100% reliability.7.3.2 Reliable Connections over Datagrams MethodAnother way to provide an X.25 interface is to build a connectionless network but haveadditional code in routers with endnode neighbors.The additional code is a protocol similar toa full-service transport layer.When a router, R1, receives a call request packet from anattached endnode, E1, with destination address E2 and call number x, R1 consults its routingdatabases to find out the router, R2, to which endnode E2 is attached.R1 then sets up aconnection to R2 an end-to-end service between the two routers that ensures that everypacket transmitted by R1 gets received by R2 in order, with no loss, duplication, ormisordering.Other than R1 and R2, no other routers keep state regarding the conversationbetween endnodes E1 and E2.Load splitting might be implemented within the network, anddifferent packets of the conversation might travel different routes.R2 will hold on to datapackets until all earlier ones have been received.R1 will hold on to packets until R2 hasacknowledged them.7.3.3 ComparisonWith the second method for building an X.25 interface, no service guarantees are made.Aslong as the end routers have sufficient space to hold the state regarding the end-to-endconnection, the call is accepted by the network.Buffers in intermediate routers are notreserved, and packets might be dropped en route (but the source router will be able toretransmit them).A network built according to the second method can handle more calls because buffers andbandwidth can be shared.With the first method, if traffic is at all bursty, the resourcesreserved for a particular call are wasted when no data is being sent.The first method enables routers to forward data packets more quickly and easily because therouting decision is based on a small call number rather than a larger network layer address
[ Pobierz całość w formacie PDF ]