lap@udel.EDU (Larry Pearlstein) (08/17/89)
Can anyone tell me: At what levels (interrupt, daemon, system driver, application program) are each of the seven network layers generally implemented in a typical TCP/IP system. I imagine that the answers might differ depending on whether the host was a microcomputer, mini, or mainframe? Since most micros are single-tasking, would daemons be available? Thanks for any info. Larry Pearlstein lap@huey.udel.edu
geoff@hinode.East.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) (08/17/89)
In article <21853@louie.udel.EDU> lap@udel.EDU (Larry Pearlstein) writes: >Can anyone tell me: > >At what levels (interrupt, daemon, system driver, application >program) are each of the seven network layers generally >implemented in a typical TCP/IP system. What seven levels? Not even ISO has seven levels. You need to read Mike Padlipsky's "Elements of Networking Style" to get rid of any such mystical numerological superstitions before embarking on a study of real-world implementations. Then go read RFC817: Dave Clark on "Modularity and efficiency in protocol implementation", and McKusick on 4.3BSD. One day John Romkey et al may get around to writing about the PC/IP experience (John?). Comer's Xinu and TCP/IP books are invaluable. The bottom line: there are a LOT of different solutions that have been tried. Geoff Arnold, Internet: geoff@East.Sun.COM PCDS Group, Sun Microsystems Inc. --------------------------------------------------------------------------- My disclaimer is available via anonymous FTP as a compressed tar archive....
gors@well.UUCP (Gordon Stewart) (08/18/89)
In article <718@east.East.Sun.COM> geoff@East.Sun.COM (Geoff Arnold @ Sun BOS - R.H. coast near the top) writes: > >What seven levels? Not even ISO has seven levels. You need to read >Mike Padlipsky's "Elements of Networking Style" to get rid of Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Application Layer Presentation Layer I count seven. But then, I'm off caffeine this week, so maybe I miscounted! :-) In answer to the original query, and your flippant reply, it is true that most implementations provide a programmatic interface, which means Transport level at best, with some Session material (connection-oriented sockets). There is considerable effort to implement all seven (SEVEN, count 'em) layers of ISO OSI on top of TCP/IP, despite the fact that they are not isomorphic in the first few layers. DOD and others have a big investment in TCP/IP, but there is a billion dollar push for OSI. The physical and data-link layers are usually hardware/device - driver level; The Network and Transport level services are provided by daemon processes in most unix systems - session level services involve library function calls that give access to lower levels. -- {apple, pacbell, hplabs, ucbvax}!well!gors gors@well.sf.ca.us (Doolan) | (Meyer) | (Sierchio) | (Stewart)
lap@udel.EDU (Larry Pearlstein) (08/19/89)
> At what levels (interrupt, daemon, system driver, application > program) are each of the seven network layers generally > implemented in a typical TCP/IP system. I imagine that the I have received a proper scolding for using the "seven layer model" in the same sentence with "TCP/IP". I actually was aware that TCP/IP did not strictly adhere to the ISO model. Still, it has been my impression that a "typical" TCP/IP system might correspond roughly as follows: Physical & data link Ethernet Network IP Transport TCP Session RPC Presentation XDR Application user application Is there some heresy in this conceptualization? I didn't want to spell out the RPC, XDR, ... layers in the question in the hopes of receiving the most general responses. Thanks for all those who responded (either by mail or on the net). If I get a few more mail messages, I'll summarize to the net. Larry Pearlstein lap@huey.udel.edu
dcrocker@AHWAHNEE.STANFORD.EDU (Dave Crocker) (08/19/89)
Previous messages certainly have pointed out the dangers of asking about TCP and the seven-layer model and protocol implementation. They certainly are correct that there is no straightforward, objective, single "truth" in dealing with either. However, It is useful to try to view TCP in terms of the 7-layer model, simply because the 7-layer model is the international lingua franca for protocol discussions. Your suggested association of Ethernet/IP/TCP/RPC/XDR/Appl is quite reasonalbe, as a first-order approximation. I used just that model for a couple of years, until a few other beat me unmercifully. The modifications that I suggest are: IP resides at the internet SUB-layer of the network layer. X.25 has 3 sub-layers, of which the top resides at the SUB-network SUB-layer of the network layer(layer 3). (Yes, it is a mouthful.) When using ethernet, the subnetwork layer is null. TCP has some session functionality in it, and therefore crosses into part of layer 5. Referring to XDR and RPC is correct, but mostly confusing, since they are used by so few of the application protocols. (I.e., none of the official, standard applications.) With respect to implementation choices -- and keeping in mind the obvious religious furvor that this topic can generate: Physical layer usually is in a device driver and link layer (or part of it) often is. Network and Transport usually are in the kernel, both for performance and multiplexing reasons. (They have multiple clients and many o/s's have trouble getting applications to provide reasonable service from one user program to a number of others.) For the TCP world, the rest is in individual user-level programs. For the OSI world, there seems to be a tendency to put layers 5-7 into individual user-level programs, but I have run into at least a few attempts to put session into the kernel. Haven't heard of Presentation being in the kernel, and my current level of understanding suggests that that would not make sense, anyhow. Dave
mckee@MITRE.MITRE.ORG (H. Craig McKee) (08/22/89)
>that a "typical" TCP/IP system might correspond roughly as follows: > >[deleted] > > Application user application > >Is there some heresy in this conceptualization? There is, depending on your religious fervor, a small heresy: The Application layer does not contain applications such as an editor, spreadsheet, or matrix inversion; rather, it contains communications routines, such as file transfer and e-mail, that may be used by applications. For example, on the Ultrix system here, when the system goes down, the editor vi uses e-mail to tell me how to recover the file I was working on. Regards - Craig