10.07.2015 Views

DTJ Number 3 September 1987 - Digital Technical Journals

DTJ Number 3 September 1987 - Digital Technical Journals

DTJ Number 3 September 1987 - Digital Technical Journals

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I!!!New Productsneed to implement this feature.) Once this maximumhas been reached, terminal users willexperience a degradation of service, sharedequally among them. As shown later, the minimummessage exchange rate may be much lessthan one exchange every circuit timer, due tooptimizations in the IAT protocol.Removing the SimplificationsSo far, our view of the virtual circuit protocol hasbeen constrained by two major simplifications.These two are concerned with errors that canoccur on the Ethernet, and with a mechanism forreducing traffic on the Ethernet when there )is no data to be sent. The following discussionexplains how the consequences of these simplificationsare taken into account.The IAT protocol, being based on Ethernet,presumes that the majority of packets will betransmitted and received without errors. Theseerrors can be due either to corruption of data(detected by CRC checking) or to bufferingproblems at the destination node. To account forany errors that do occur, a sequence numbermust be assigned to each virtual circuit message,and an acknowledgment of that message must bemade. No extra messages need be sent since thesequence number and acknowledgment fieldsare contained within the normal message formats.However, there is no negative acknowledgmentdefined by the IAT protocol for reasons ofsimplicity and the low error rates experiencedon Ethernet IANs.The Ethernet communications medium isinherently very reliable. Therefore, whenever amessage is unacknowledged within the SO-millisecondperiod before the next message is sent,the cause will normally be due to either a heavyCPU load on the host or a host crash. To avoidcompounding the problem of a transient overloadon the host CPU, IAT specifies that messagesare not retransmitted every 80 millis.econds.Rather, they are retransmitted onlywhen they have not been acknowledged withinapproximately one second. A given message willbe retransmitted a certain number of times; afterthat, the conclusion can be drawn that either thehost has crashed or the communications controllersor medium have failed. This number isknown as the "retransmit limit."If we can reduce the data sent over an idle virtualcircuit, the CPU load of the host will bereduced in tum. !AT employs a scheme wherebyeach end of the virtual circuit can agree to acquiescefor a time; a circuit in this mode is called"balanced." Once balanced, if no data needs tobe sent for a long time, the master will eventuallysend and the slave wiU then respond withsingle run messages. Thus! each end knows theother is still alive. This action is called a "keepalive"function, which taks place every 20 secondsby default.IIf data becomes availabl when the circuit isbalanced, then either end must be permitted to"unbalance" the circuit. If the master wishes tosend data, then this unbalancing operation is nodifferent from any normal run message that themaster may send. However, if the slave wishes tosend data, then it must send an "unsolicited" runmessage that is not explicitly solicited by themaster. As with any other run message, theunsolicited message is sequenced and must beacknowledged by the master before the slave isIpermitted to send another :run message.Thus by allowing virtual circuits to be balancedwhen there is no data to be sent, the IATprotocol uses much less Ethernet bandwidth andallows a corresponding reduction in the loadingof the CPU host.The virtual circuit layer provides reliable communicationbetween a pair of nodes. It also providesa datapath that is bidirectional, sequential,timely, and error free. All users desiring to communicateover that path are multiplexed over thesame virtual circuit, consquently lowering theCPU cost per user on the hbst. This multiplexingIfunction is the responsibility of the slot layer.!The Slot LayerThe slot layer establishes user sessions, transfersdata bidirectionally, and multiplexes and demultiplexessessions over virtual circuits. In thiscontext a session can be envisioned as a connectionfrom one user's terminal to one host system.In the simplified case, a terminal user firstidentifies the computer system with which hedesires to communicate. Aivirtual circuit is thenestablished - if one doe not already exist -from the terminal server t the chosen host system.A session is then established on top of thevirtual circuit. The servic ' e access point at thehost would normally be represented as a virtualterminal port into the host operating system.Thus the user would perceive the virtual terminalas being directly connected to the hostsystem. For example, on the VMS system , the<strong>Digital</strong> Tecbnical]ournalNo. 3 <strong>September</strong> 198679

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!