File: 29.html

package info (click to toggle)
lg-issue48 2-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,284 kB
  • ctags: 139
  • sloc: xml: 324; makefile: 34; sh: 34
file content (283 lines) | stat: -rw-r--r-- 11,070 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.3A.e">
<TITLE>The Answer Guy 48: Protocols on top of Protocols:  It's Protocols ALL THE WAY DOWN!</TITLE>
</HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
	LINK="#3366FF" VLINK="#A000A0">
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H4>"The Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
	<img src="../../gx/dennis/qbubble.gif" alt="(?)" 
		border="0" align="middle">
	<font color="#B03060">The Answer Guy</font>
	<img src="../../gx/dennis/bbubble.gif" alt="(!)" 
		border="0" align="middle">
</A></H1> 
<BR>
<H4>By James T. Dennis,
	<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a><BR>
	LinuxCare,
	<A HREF="http://www.linuxcare.com/">http://www.linuxcare.com/</A> 
</H4>
</center>

<p><hr><p>
<!--  endcut ======================================================= -->
<!-- begin 29 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif" 
	height="50" width="60" alt="(?) " border="0"
	>Protocols on top of Protocols:  It's Protocols ALL THE WAY DOWN!</H3>


<p><strong>From Alicia Romero  on Mon, 11 Oct 1999  
</strong></p>
<!-- ::
Protocols on top of Protocols:  It's Protocols ALL THE WAY DOWN!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello my name is Alicia; I'm a student looking for help
</STRONG></P>
<P><STRONG>
I have a class of networking and there is one thing I don't get
the Questions is What protocol is use typically by UNIX to connect
to a network using TCP/IP?
</STRONG></P>
<P><STRONG>
Can you help me ??
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" ALT="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
It sounds like you are underestimate how much you
don't get.
</BLOCKQUOTE>
<BLOCKQUOTE>
TCP/IP  <EM>IS</EM> a set of networking protocols!
</BLOCKQUOTE>
<BLOCKQUOTE>
The question you ask, answers itself.  UNIX uses the
TCP/IP suite of protocols for almost all of its networking.
IP (internet protocol) is the lower portion of the suite.
TCP (transport control protocol), UDP (unreliable datagram
protocol), ICMP (internetwork control messaging protocol),
and other protocols work over IP.
</BLOCKQUOTE>
<BLOCKQUOTE>
IP packets have source and destination IP addresses.  TCP
packets add source and destination ports, sequence numbers,
and options/flags to support flow control, acknowledgement
and handshaking.  UDP packet headers lack some of features
of TCP packets, so they are different variations of an
IP packet.  ICMP packets (which are used by the 'ping'
and some versions of the 'traceroute' commands) have
headers that are different from UDP and TCP.
</BLOCKQUOTE>
<BLOCKQUOTE>
In addition to TCP, UDP, and ICMP there are also some other
protocols that ride directly over IP (for example GRE, a
routing encapsulation protocol).
</BLOCKQUOTE>
<BLOCKQUOTE>
Other (applications level) protocols are built over TCP and
UDP.  (ICMP is used for very specific operations, so
protocols aren't generally built over that)(*).
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(An aquaintance who's wired into the


black hat scene once told me about
a kernel hack that implemented a "stealth
telnet and file transfer protocol" by using
the normally unused data payload portion of
ICMP packets.  This would require kernel
modules or patches since normally ICMP
packets are not routed to user space
applications.  I'm not sure if this story
is apocryphal.  If not it makes for a
scary way for crackers to traverse many
"naive" packet filtering schemes.)
</UL></BLOCKQUOTE>
<BLOCKQUOTE>
So, protocols like telnet, HTTP, and FTP are implemented
over TCP while protocols like SNMP, syslog and FSP(*)
are implemented over UDP.
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(a fairly obscure file sharing protocol,


which used to be particularly popular among
purveyors of "warez" -- pirated software)
</UL></BLOCKQUOTE>
<BLOCKQUOTE>
Some services use UDP and TCP.  For example SMB uses
hybrid protocols over both. DNS uses UDP for normal
name resolution and uses TCP for "zone transfers"
(updating secondary authority servers).
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(Another, mythical stealth communications tool


apparently uses DNS/UDP packets with "magic"
domain names as the communications
mechanism. That's even scarier since there are
lots of sites that block ICMP while there are
fewer that would block DNS).
</UL></BLOCKQUOTE>
<BLOCKQUOTE>
So, you have applications protocols over transport
protocols.  Under the IP layer you have network layer
protocols like ethernet CSMA/CD, token ring, ARCnet,
etc.  Under that you have media layer (physical) protocols
which describe the wires, fibres, voltages, frequences
and modulation parameters of the signals that actually
carry all of these protocols.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, your question is a bit confusing.  It's like asking:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
What driver does a bus driver use to drive a bus?
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
UNIX and Linux predominantly use TCP/IP for most of their
applications protocols. Connecting UNIX to a network
involves running many protocols over the TCP/IP suite.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's worth noting that Linux and some other forms of UNIX
also offer support for some other transport protocols like
Novell's IPX/SPX, Apple's DDP and DEC's DECnet (Pathworks)
protocols.
</BLOCKQUOTE>
<BLOCKQUOTE>
All of this material should have been covered in the
first day of any decent computer networking class. (Except
for the references to FSP, and those mythical/apocryphal
"stealth" protocols, of course).
</BLOCKQUOTE>
<BLOCKQUOTE>
Consider taking a better course, getting better text books
to study on your own, or something --- because it sounds
like this one is just not doing it for you.
</BLOCKQUOTE>

<!-- sig -->


<!-- end 29 -->
<!--startcut ======================================================= -->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
	>Copyright &copy;</a> 1999, James T. Dennis 
<BR>Published in <I>The Linux Gazette</I> Issue 48 December 1999</H5>
<H6 ALIGN="center">HTML transformation  by
	<A HREF="mailto:star@starshine.org">Heather Stern</a> of
	Starshine Technical Services,
	<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> 
</H6>
<P> <hr> <P>
<!-- begin tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::-->
<TABLE WIDTH="95%"><TR VALIGN="center" ALIGN="center">
<TD colspan="2" rowspan="2"><A 
	HREF="../lg_answer48.html"
	><IMG SRC="../../gx/dennis/answernew.gif"
              ALT="[ Answer Guy Current Index ]"></A>
<TD colspan="2" rowspan="2"><A 
	HREF="../../tag/kb.html"
	><IMG SRC="../../gx/dennis/answertoc.gif"
              ALT="[ Index of Past Answers ]"></A></td>
  <TD WIDTH="11%"><A HREF="../lg_answer48.html#greeting"><img
	src="../../gx/dennis/smily.gif" alt="greetings" border="0"></A></TD>
  <TD WIDTH="11%"><A HREF="1.html">1</A></TD>
  <TD WIDTH="11%"><A HREF="2.html">2</A></TD>
  <TD WIDTH="11%"><A HREF="3.html">3</A></TD>
  <TD WIDTH="11%"><A HREF="4.html">5</A></TD>
</TR><TR VALIGN="center" ALIGN="center">
  <TD WIDTH="11%"><A HREF="5.html">5</A></TD>
  <TD WIDTH="11%"><A HREF="6.html">6</A></TD>
  <TD WIDTH="11%"><A HREF="7.html">7</A></TD>
  <TD WIDTH="11%"><A HREF="8.html">8</A></TD>
  <TD WIDTH="11%"><A HREF="9.html">9</A></TD>
</TR><TR VALIGN="center" ALIGN="center">
  <TD WIDTH="10%"><A HREF="10.html">10</A></TD>
  <TD WIDTH="10%"><A HREF="11.html">11</A></TD>
  <TD WIDTH="10%"><A HREF="12.html">12</A></TD>
  <TD WIDTH="10%"><A HREF="13.html">13</A></TD>
  <TD WIDTH="11%"><A HREF="14.html">14</A></TD>
  <TD WIDTH="11%"><A HREF="15.html">15</A></TD>
  <TD WIDTH="11%"><A HREF="16.html">16</A></TD>
  <TD WIDTH="11%"><A HREF="17.html">17</A></TD>
  <TD WIDTH="11%"><A HREF="18.html">18</A></TD>
</TR><TR VALIGN="center" ALIGN="center">
  <TD WIDTH="10%"><A HREF="19.html">19</A></TD>
  <TD WIDTH="10%"><A HREF="20.html">20</A></TD>
  <TD WIDTH="10%"><A HREF="21.html">21</A></TD>
  <TD WIDTH="10%"><A HREF="22.html">22</A></TD>
  <TD WIDTH="11%"><A HREF="23.html">23</A></TD>
  <TD WIDTH="11%"><A HREF="24.html">24</A></TD>
  <TD WIDTH="11%"><A HREF="25.html">25</A></TD>
  <TD WIDTH="11%"><A HREF="26.html">26</A></TD>
  <TD WIDTH="11%"><A HREF="27.html">27</A></TD>
</TR><TR VALIGN="center" ALIGN="center">
  <TD WIDTH="10%"><A HREF="28.html">28</A></TD>
  <TD WIDTH="10%"><A HREF="29.html">29</A></TD>
  <TD WIDTH="10%"><A HREF="30.html">30</A></TD>
  <TD WIDTH="10%"><A HREF="31.html">31</A></TD>
  <TD WIDTH="11%"><A HREF="32.html">32</A></TD>
  <TD WIDTH="11%"><A HREF="33.html">33</A></TD>
  <TD WIDTH="11%"><A HREF="34.html">34</A></TD>
  <TD WIDTH="11%"><A HREF="35.html">35</A></TD>
  <TD WIDTH="11%"><A HREF="36.html">36</A></TD>
</TR><TR VALIGN="center" ALIGN="center">
  <TD WIDTH="10%"><A HREF="37.html">37</A></TD>
  <TD WIDTH="10%"><A HREF="38.html">38</A></TD>
  <TD WIDTH="10%"><A HREF="39.html">39</A></TD>
  <TD WIDTH="10%"><A HREF="40.html">40</A></TD>
  <TD WIDTH="11%"><A HREF="41.html">41</A></TD>
  <TD WIDTH="11%"><A HREF="42.html">42</A></TD>
  <TD WIDTH="11%"><A HREF="43.html">43</A></TD>
  <TD WIDTH="11%"><A HREF="44.html">44</A></TD>
  <TD WIDTH="11%"><A HREF="45.html">45</A></TD>
</TR><TR VALIGN="center" ALIGN="center">
  <TD WIDTH="10%"><A HREF="46.html">46</A></TD>
  <TD WIDTH="10%"><A HREF="47.html">47</A></TD>
  <TD WIDTH="10%"><A HREF="48.html">48</A></TD>
  <TD WIDTH="10%"><A HREF="49.html">49</A></TD>
  <TD WIDTH="11%"><A HREF="50.html">50</A></TD>
  <TD WIDTH="11%"><A HREF="51.html">51</A></TD>
  <TD WIDTH="11%"><A HREF="52.html">52</A></TD>
  <TD WIDTH="11%"><A HREF="53.html">53</A></TD>
  <TD WIDTH="11%"><A HREF="54.html">54</A></TD>
</TR><TR VALIGN="center" ALIGN="center">
  <TD colspan="3"><A HREF="55.html">55</A></TD>
  <TD colspan="3"><A HREF="56.html">56</A></TD>
  <TD colspan="3"><A HREF="57.html">57</A></TD>
</TR></TABLE>
</TR><TR VALIGN="center" ALIGN="center">
<!-- end tagnav ::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<P> <hr> <P>
<!-- begin lgnav ::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<A HREF="../index.html"
	><IMG SRC="../../gx/indexnew.gif" ALT="[ Table Of Contents ]"></A>
<A HREF="../../index.html"
	><IMG SRC="../../gx/homenew.gif" ALT="[ Front Page ]"></A>
<A HREF="../lg_bytes48.html"
	><IMG SRC="../../gx/back2.gif" ALT="[ Previous Section ]"></A>
<A HREF="../../faq/index.html"
	><IMG SRC="../../gx/dennis/faq.gif"
              ALT="[ Linux Gazette FAQ ]"></A>
<A HREF="../lg_tips48.html"
	><IMG SRC="../../gx/fwd.gif" ALT="[ Next Section ]"></A>
<!-- end lgnav ::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
</BODY></HTML>
<!--endcut ========================================================= -->