📄 rfc874.txt
字号:
other hand, the metaphor is not being taken literally enough in some other sense (with the emphasis on the "virtual" aspect), for many construe it to imply that the logical connection it represents is "only as strong as a wire." Whether the whole problem stems from the desire to "save bits" by not making addresses explicitly available on a per-transmission basis is conjectural, but if such be the case it is also unfortunate. (As an aside, it should be noted that there is some evidence that bit saving reaches fetish--if not pathological--proportions in X.25: For instance, there does not even appear to be a Packet Type field in data packets; rather--as best we can determine--for data packets the low order bit of the "P(R)" field, which overlaps/stands in the place of the Packet Type is always 0, whereas in "real" Packet Type fields it's always 1. [That may, by the way, not even be the way they do it--it's hard to tell ... or care.]) There is also confusion even amongst its advocates as to what implications, if any, the protocol(s) has (have) for comm subnet node to comm subnet node (CSN) processing. Those who draw just two highrises seem to be implying that from their perspective the CSN (or "DCE") is invisible. This might make a certain amount of sense if they did not assert that each floor of a highrise has a "peer-relationship" with the corresponding floor of the other highrise--for to do so implies excessively long wires, well beyond the state of the wire-drawing art, when one notices that the first floor is the physical level. (It also appears to disallow the existence of concatenated comm subnets into an internet, or "catenet," unless the CSN's are all identically constituted. And those who hold that the ISORM dictates single protocols at each level will have a hard time making an HDLC interface into a Packet Radio Net, in all probability.) Those who, on the other hand, "draw parking garages," seem to be dictating that the internal structure of the CSN also adhere to X.25 link and physical protocols. This implies that Packet Radio or satellite CSNs, for example, cannot "be X.25." Now that might be heartening news to the designers of such comm subnets, but it presumably wasn't intended by those who claim universality for X.25--or even for the ISO Reference Model. 4 RFC 874 September 1982 Even granting that ambiguities in the conceptual model do not constitute prima facie grounds for rejecting the protocol(s), it is important to note that they almost assuredly will lead to vendor implementations based on differing interpretations that will not interoperate properly. And the unambiguous position that virtual circuits are broken whenever X.25 says so constitutes a flaw at least as grave as any of the ambiguities. Another, in our view extremely severe, shortcoming of the X.25 conceptual model is that it fails to address how programs that interpret its protocol(s) are to be integrated into their containing operating systems. (This goes beyond the shortcoming of the X.25 specifications in this area, for even the advocates of the ISORM--who, by hypothesis at least, have adopted X.25 for their Levels 1-3--are reticent on the topic in their literature.) Yet, if higher level protocols are to be based on X.25, there must be commonality of integration of X.25 modules with operating systems at least in certain aspects. The most important example that comes to mind is the necessity for "out-of-band signals" to take place. Yet if there is no awareness of that sort of use reflected in the X.25 protocol's specification, implementers need not insert X.25 modules into their operating systems in such a fashion as to let the higher level protocols function properly when/if an X.25 Interrupt packet arrives. Yet much of the problem with the conceptual model might turn out to stem from our own misunderstandings, or the misunderstandings of others. After all, it's not easy to infer a philosophy from a specification. (Nor, when it comes to recognizing data packets, is it easy even to infer the specification--but it might well say something somewhere on that particular point which we simply overlooked in our desire to get the spec back on the shelf rapidly.) What other aspects of X.25 appear to be "bad art"? "Personality Problems" When viewed from a functionality perspective, X.25 appears to be rather schizophrenic, in the sense that sometimes it presents a deceptively end-to-end "personality" (indeed, there are many who think it is usable as an integral Host-Host, or Transport, and network interface protocol, despite the fact that its specification itself--at least in the CCITT "Fascicle" version--points out several functional omissions where a higher-level protocol is expected--and we have even spoken to one or two people who say they actually do -- use it as an end-to-end protocol, regardless); sometimes it presents a comm subnet network interface personality (which all would agree it must); and sometimes (according to some observers) it presents a 5 RFC 874 September 1982 "Host-Front End Protocol" personality. Not to push the "bad art" methaphor too hard, but this sort of violation of "the Unities" is, if demonstrable, grounds for censure not only to literary critics but also to those who believe in Layering. Let's look at the evidence for the split-personality claim: X.25 is not (and should not be) an "end-to-end" protocol in the sense of a Transport or Host-to-Host protocol. Yet it has several end-to-end features. These add to the space-time expense of implementation (i.e., consume "core" and CPU cycles) and reflect badly on the skill of its designers if one believes in the design principles of Layering and Least Mechanism. (Examples of end-to-end mechanisms are cited below, as mechanisms superfluous to the network interface role.) The absence of a datagram mode which is both required and "proper" (e.g., not Flow Controlled, not Delivery Confirmed, not Non-delivery mechanized) may also be taken as evidence that the end-to-end view is very strong in X.25. That is, in ISO Reference Model (ISORM) terms, even though X.25 "is" L1-3, it has delusions of L4-ness; in ARPANET Reference Model (ARM) terms, even though X.25 could "be" L I, it has delusions of L II-ness.* X.25 is at least meant to specify an interface between a Host (or "DTE") and a comm subnet processor (or "DCE"), regardless of the ambiguity of the conceptual model about whether it constrains the CSNP "on the network side." (Aside: that ambiguity probably reflects even more badly on certain X.25 advocates than it does on the designers, for there is a strong sense in which "of course it can't" is the only appropriate answer to the question of whether it is meant to constrain generic CSN processors (CSNP's) in the general case. Note, though, that it might well be meant to constrain specific DCE's; that is, it started life as a protocol for PTT's--or Postal, Telephone, and Telegraph monopolies--and they are presumably entitled to constrain themselves all they want.) Yet the end-to-end features alluded to above are redundant to the interfacing role, and, as noted, extraneous features have space-time consequences. There are also several features which, though not end-to-end, seem superfluous to a "tight" interface protocol. Further, the reluctance of the designers to incorporate a proper "datagram" capability in the protocol (what they've got doesn't seem to be ________________ * For more on the ARM, see Padlipsky, M. A., "A Perspective on the ARPANET Reference Model", M82-47, The MITRE Corporation, September 1982; also available in Proc. INFOCOM '83. (Some light may also be cast by the paper on the earlier-mentioned topic of Who Invented What.) 6 RFC 874 September 1982 usable as a "pure"--i.e., uncontrolled at L3 but usable without superfluous overheard by L4--datagram, but instead entails delivery confirmation traffic like it or not; note that "seem" is used advisedly: as usual, it's not easy to interpret the Fascicle) suggests at least that they were confused about what higher-level protocols need from interfaces to CSNP's, and at worst that there is some merit to the suggestion that, to paraphrase Louis Pouzin, "the PTT's are just trying to drum up more business for themselves by forcing you to take more service than you need." Examples of mechanisms superfluous to the interface role: 1. The presence of a DTE-DTE Flow Control mechanism. 2. The presence of an "interrupt procedure" involving the remote DTE. 3. The presence of "Call user data" as an end-to-end item (i.e., as "more" than IP's Protocol field). 4. The "D bit" (unless construed strictly as a "RFNM" from the remote DCE). 5. The "Q bit" (which we find nearly incomprehensible, but which is stated to have meaning of some sort to X.29--i.e., to at least violate Layering by having a higher-level protocol depend on a lower level machanism--and hence can't be strictly a network interface mechanism). 7 RFC 874 September 1982 The final "personality problem" of X.25 is that some of its advocates claim it can and should be used as if it were a Host-Front End protocol.* Yet if such use were intended, surely its designers would have offered a means of differentiating between control information destined for the outboard implementation of the relevant protocols and data to be transmitted through X.25, but there is no evidence of such mechanisms in the protocol. "Borrowing" a Packet Type id for H-FP would be risky, as the spec is subject to arbitrary alteration. Using some fictitious DTE address to indicate the proximate DCE is also risky, for the same reason. Further, using "Call user data" to "talk to" the counterpart H-FP module allows only 15 octets (plus, presumably, the 6 spare bits in the 16th octet) for the conversation, whereas various TCP and IP options might require many more octets than that. Granted that with sufficient ingenuity--or even by the simple expedient of conveying the entire H-FP as data (i.e., using X.25 only to get channels to demultiplex on, and DTE-DCE flow control, with the "DCE" actually being an Outboard Processing Environment that gets its commands in the data fields of X.25 data packets)--X.25 might be used to "get at" outboard protocol interpreters, but its failure to address the issue explicitly again reflects badly on its designers' grasp of intercomputer networking issues. (Another possibility is that the whole H-FP notion stems from the use of X.25 as a Host-Host ________________ * That is, as a distributed processing mechanism which allows Host operating systems to be relieved of the burden of interpreting higher level protocols "inboard" of themselves by virtue of allowing Host processes to manipulate "outboard" interpreters of the protocols on their behalf. Note that the outboarding may be to a separate Front-End processor or to the CSNP itself. (The latter is likely to be found in microprocessor-based LAN "BIU's.") Note also that when dealing with "process-level" protocols (ARM L III; approximately ISORM L5-7), only part of the functionality is outboarded (e.g., there must be some Host-resident code to interface with the native File System for a File Transfer Protocol) and even when outboarding Host-Host protocols (ARM L II; approximately ISORM L4 plus some of 5) the association of logical connections (or "sockets") with processes must be performed inboard--which is why, by the way, it's annoying to find ISO L5 below ISO L6: because, that is, you'd like to outboard "Presentation" functionality but its protocol expects to interact with the "Session" protocol, the functionality of which can't be outboarded. (Although this approach, not the proper context for a full treatment of the H-FP approach, it is also of interest that the approach can effectively insulate the Host from changes in the protocol suite, which can be a major advantage in some environments.) 8 RFC 874 September 1982 protocol so that some might think of it in its Host aspect as "simply" a way of getting at the H-HP. This interpretation does
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -