Path: utzoo!attcan!uunet!ginosko!gem.mps.ohio-state.edu!csd4.csd.uwm.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!AHWAHNEE.STANFORD.EDU!dcrocker From: dcrocker@AHWAHNEE.STANFORD.EDU (Dave Crocker) Newsgroups: comp.protocols.tcp-ip Subject: Re: Info on implementation details... Message-ID: <8908191713.AA01499@ucbvax.Berkeley.EDU> Date: 19 Aug 89 16:04:12 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 48 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