[LabCompendium] / trunk / lab.tex Repository:
ViewVC logotype

Annotation of /trunk/lab.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7 - (view) (download) (as text)

1 : mark 1 \documentclass{book}
2 :    
3 : mark 5 \author{Oslo University College, Norway\\~\\Mark Burgess}
4 : mark 6 \title{Network Infrastructure and Security Laboratory Workbook\\Version 3.0}
5 : mark 1 \date{\today}
6 :    
7 :    
8 :    
9 :     %\topmargin -30pt
10 : mark 6 % FONTS
11 :     %avantgar courier mathppl palatino symbol zapfchan
12 :     %bookman helvetic ncntrsbk pslatex times zapfding
13 : mark 1
14 : mark 6 %/usr/share/texmf/tex/latex/psnfss/8r.sty
15 :     %/usr/share/texmf/tex/latex/psnfss/avant.sty
16 :     %/usr/share/texmf/tex/latex/psnfss/bookman.sty
17 :     %/usr/share/texmf/tex/latex/psnfss/chancery.sty
18 :     %/usr/share/texmf/tex/latex/psnfss/charter.sty
19 :     %/usr/share/texmf/tex/latex/psnfss/courier.sty
20 :     %/usr/share/texmf/tex/latex/psnfss/helvet.sty
21 :     %/usr/share/texmf/tex/latex/psnfss/mathpazo.sty
22 :     %/usr/share/texmf/tex/latex/psnfss/mathpple.sty
23 :     %/usr/share/texmf/tex/latex/psnfss/mathptm.sty
24 :     %/usr/share/texmf/tex/latex/psnfss/mathptmx.sty
25 :     %/usr/share/texmf/tex/latex/psnfss/newcent.sty
26 :     %/usr/share/texmf/tex/latex/psnfss/palatino.sty
27 :     %/usr/share/texmf/tex/latex/psnfss/pifont.sty
28 :     %/usr/share/texmf/tex/latex/psnfss/times.sty
29 :     %/usr/share/texmf/tex/latex/psnfss/utopia.sty
30 :    
31 : mark 4 \usepackage{epsfig}
32 : mark 1 \usepackage{alltt}
33 : mark 6 %\usepackage{pifont} % -- good
34 : mark 1 \usepackage{fancyheadings}
35 :     \usepackage{tocloft}
36 :    
37 :    
38 :     \usepackage{a4}
39 :     \usepackage{shadethm}
40 : mark 6 \usepackage{boxthm}
41 : mark 1 \pagestyle{fancyplain}
42 :     \lhead[\fancyplain{}{}]{\fancyplain{}{\rightmark}}
43 :     \rhead[\fancyplain{}{\leftmark}]{\fancyplain{}{}}
44 :    
45 :    
46 :     %\textheight 20cm
47 :     \textwidth 15.5cm
48 :     \oddsidemargin -20pt
49 :     \evensidemargin -20pt
50 :    
51 :     \def\sex{\begin{alltt}\small}
52 :     \def\esex{\end{alltt}}
53 :     \def\ex{\begin{alltt}}
54 :     \def\eex{\end{alltt}}
55 :     \def\code{\tt\small}
56 :     \def\file{\tt\small}
57 :     \def\href{\tt\small}
58 :     \def\samp{\tt\small}
59 :     \def\kbd{\tt\small}
60 :     \def\key{\sc}
61 :     \def\var{\em}
62 :     \def\beq{\begin{eqnarray}}
63 :     \def\eeq{\end{eqnarray}}
64 :     \def\2{\frac{1}{2}}
65 :    
66 :     %\setcounter{tocdepth}{1}
67 :    
68 :     \usepackage{amsthm}
69 :    
70 : mark 6 \newboxtheorem{require}{Requirement}
71 : mark 1 \newshadetheorem{expt}{Experiment}
72 :     \newshadetheorem{defin}{Definition}
73 :     \newtheorem*{corollary}{Corollary to principle}
74 :     \newshadetheorem{suggestion}{Suggestion}
75 :     \newtheorem{example}{Example}
76 :     \newtheorem{question}{Question}
77 :     \makeindex
78 :    
79 : mark 7 \pagestyle{empty}
80 :     \begin{document}
81 :     \begin{figure}[ht]
82 :     \psfig{file=NetlabCover.eps,width=14cm}
83 :     \end{figure}
84 : mark 1
85 : mark 7 \eject
86 : mark 1 \maketitle
87 :     \bibliographystyle{plain}
88 :    
89 :     %\setlength{\cftchapnumwidth}{18pt}
90 :     %\setlength{\cftsecnumwidth}{31pt}
91 :     %\setlength{\cftsubsecnumwidth}{40pt}
92 :    
93 : mark 7 ~
94 :     \eject
95 :     \pagestyle{fancyplain}
96 : mark 1 \tableofcontents
97 :    
98 : mark 7
99 : mark 1 \part{Introduction}
100 :    
101 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 :    
103 :     \chapter{Introduction}
104 :    
105 :     This booklet is your guide to the laboratory work for the Master's
106 :     degree in Network and System Administration.
107 :    
108 : mark 6 \section{Aims and requirements}
109 :    
110 : mark 1 MS009A is designed to demonstrate and practise the concepts of design,
111 :     configuration and maintenance of networked systems with a hands-on
112 : mark 6 approach. The course is meant to foster {\em independent and
113 :     scientific/diagnostic thinking}. You will work with the same hardware
114 : mark 1 and development tools used by enterprise and service providers.
115 :    
116 : mark 6 The course covers the four practical skills.
117 :    
118 :     \begin{itemize}
119 :     \item System administration (installation, configuration management etc)
120 :     \item Services (Web, ssh, etc.)
121 :     \item Networking (routing, switching, etc.)
122 :     \item Security (host and network)
123 :     \end{itemize}
124 :     You should aim to learn the following in this course:
125 :     \begin{itemize}
126 :     \item To be familiar with cables and equipment and how to connect network devices together.
127 :    
128 :     \item How to install operating systems and set up web services.
129 :     \item How to take measurements, understand and present the results.
130 : mark 7 \item Understand the meaning of mean, standard deviation and error bars for presenting data.
131 : mark 6 \item How to document experimental work.
132 :     \item How to use virtual machines.
133 : mark 7 \item How to connect switches and how to connect routers using RIP, OSPF and BGP.
134 : mark 6 \end{itemize}
135 :    
136 :     \begin{require}[Required knowledge]
137 :     You should be familiar with the coursework in Network and System
138 :     Administration I, i.e. the contents of ref. \cite{burgessbook}. If you
139 :     have not taken this course or are not familiar with this material, you
140 :     must perform the exercises for installing GNU/Linux and Web Services
141 :     as part of your mandatory work. All students leaving our programme must
142 :     be able to set up a web server.
143 :     \end{require}
144 : mark 7 Another thing you should do is to get an overview of the kinds of
145 :     problems that are to be solved by system administrators, by looking
146 :     through the suggestinos for experiments sections, and by thinking up
147 :     your own.
148 : mark 6
149 :     \begin{require}[Lab notebook]
150 :     When working in the lab you must keep a notebook, e.g. spiral bound in
151 :     which you write the details of what you are doing as you do it. Your
152 :     notebook will be examined each week for your progress. It should be
153 :     readable and carefully documented.
154 :    
155 :     If you want to include screen data in your notebook, you should glue
156 :     or edit it in. You must deliver you notebook in hard copy. If you
157 :     edit your notebook electronically, you need to keep a computer available
158 :     at all times for noting the data.
159 :     \end{require}
160 :    
161 : mark 7 You should not wait until after you are finished with an experiment to
162 :     make your notes. Notes are taken as you work. Do not trust your
163 :     memory. From your notes it should be possible for someone to reproduce
164 :     what you did.
165 : mark 6
166 : mark 7 \bigskip
167 :     Think about this quote: {\em ``I used to think my brain was a trustworthy partner, but then I
168 :     remembered who it was telling me that...''}
169 :    
170 :     \bigskip
171 : mark 6 In the lab, you will be required to complete a certain number of mandatory
172 :     exercises which you should make notes about in your notebooks.
173 :     \begin{require}[Reports]
174 :     You must deliver at least two full experimental reports for the in-depth
175 :     experiments.
176 :     \end{require}
177 :    
178 :    
179 :    
180 :    
181 :     \section{Planning}
182 :    
183 : mark 1 In order to carry out the experimental work, you will need to develop
184 :     your planning skills and your diagnostic (trouble shooting) skills.
185 :     The experiments are deliberately described in little detail to make
186 :     you devise your own plan to succeed.
187 :     In each experiment ask yourself --- how can I measure whether this
188 :     is working? How can I test this?
189 :    
190 :     {\em You will work in pairs} in the lab, but everyone must write an individual
191 :     report. It is not acceptable to submit the same report as another student.
192 :     The estimated time for each experiment is noted in the text, but
193 :     this is not a fixed limit.
194 :    
195 :     A handful of lectures will be given on special topics:
196 :     \begin{itemize}
197 :     \item General orientation.
198 :     \item Setting up an experiment.
199 :     \item Statistics and measurements.
200 :     \item Troubleshooting methods.
201 :     \end{itemize}
202 :     This is not a book of recipes but a guide to help you to make your own
203 :     decisions and investigations.
204 :    
205 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206 :    
207 :     \chapter{Safety and responsibility in the Lab}
208 :    
209 :    
210 :     Oslo University College is committed to providing a safe and healthy
211 : mark 5 working environment for its students and staff, and to teaching safe
212 :     and healthy practices in your later employment. You will learn working
213 :     practices that you will take with you when you leave the College. It
214 :     is your ethical duty to spread safe working practices and procedures
215 :     beyond this College in the workplace.
216 : mark 1
217 :    
218 :     Oslo University College requires its students, staff, and faculty to
219 :     adhere to basic General Laboratory Safety Rules in the Electrical
220 :     Engineering laboratories.
221 :    
222 :     These rules apply to everyone. If you see someone ignoring the rules,
223 :     it is your duty to remind them of their responsibilities.
224 :    
225 :     \noindent {\em This discipline is a mark of professionalism -- it is not for
226 :     annoyance or for show. You might find other labs that do not care about
227 :     safety, but as a student of Oslo University College, we expect the highest
228 :     standards.}
229 :    
230 : mark 5
231 : mark 6 \begin{require}[Accept terms]
232 :     You must sign the terms and conditions for working in the laboratory before
233 :     you can use the equipment.
234 :     \end{require}
235 : mark 5
236 : mark 1 \section{General Laboratory Safety Rules}
237 :    
238 :     \begin{enumerate}
239 : mark 5 \item The lab is a dry and noisy environment. You should try to organize
240 :     your work so that you do not spend more than three or four hours in the lab
241 :     at any one time. If you need to talk to your work partners, go out of the
242 :     lab into a quiet area rather than shouting.
243 :    
244 : mark 1 \item Food and drink must not be brought into, stored in
245 :     or consumed in a laboratory.
246 :    
247 : mark 5 \item Never wear personal headphones or play music to drown out the noise:
248 :     you can damage your hearing by playing loud music, and cause accidents by
249 :     being distracted. Your full attention should be on your work.
250 :    
251 : mark 1 \item Shoes must be worn, and appropriate
252 :     personal clothing shall be worn in laboratories.
253 :    
254 : mark 5 \item Do not wear items of metal jewelry when using electronic equipment. You might cause a short-circuit, get a shock or get the jewelry caught in something.
255 : mark 1
256 : mark 5 \item Bags and coats should be left at the doorway.
257 : mark 1
258 : mark 5 \item {\em BE TIDY AND TREAT ALL EQUIPMENT WITH RESPECT}. Do not
259 :     tread on or run over cables with chairs or heavy objects.
260 :    
261 : mark 1 \item Never drop items on the floor. Always put equipment in the correct box or storage place provided for it. Fold cables neatly to avoid long-term damage to them.
262 :    
263 :     \item Learn and know what to do in an emergency.
264 :    
265 :     \item Do not expose yourself or others to risk. Do not joke around in the lab.
266 :    
267 :     \item Un-authorized persons MUST NOT be admitted to the laboratory.
268 :    
269 :     'Authorized' means having business in the laboratory with the permission
270 :     of the College. No-one under the age of eighteen
271 :     may enter the lab unsupervised. Only trained individuals and students enrolled in courses using the lab may touch the equipment.
272 :    
273 :     \item Laboratory shall remain locked when unoccupied.
274 :     \item Never open (remove cover) of any equipment in the laboratories, unless you are
275 :     instructed to do so.
276 :     \item Report all problems to drift@iu.hio.no (extensions 3268/3264/3263)
277 :     \end{enumerate}
278 :    
279 :     \section{Electrical Safety Guidelines}
280 :    
281 :     \begin{enumerate}
282 :     \item Be familiar with the electrical hazards associated with your workplace.
283 :    
284 :     \item Be as careful for the safety of others as for yourself. Think before
285 :     you act. Be tidy and systematic.
286 :     \item Avoid bulky, loose or trailing clothes. Avoid long loose hair. Remove
287 :     metal bracelets or watch-straps.
288 :    
289 :     \item Do not take food or drink into the laboratory. Avoid wet
290 :     hands and clothing. \item Use extension cords (skj\o
291 :     teledninger) only when necessary and only on a temporary basis.
292 :     Request new power outlets if your work requires equipment in an
293 :     area without an outlet.
294 :    
295 :     \item ALWAYS report damaged cords and cables, including cables that become hot, or with
296 :     exposed wiring. Never ignore these or replace them for others to use.
297 :    
298 :    
299 :     \item Experiments left unattended should be isolated. If
300 :     for a special reason, it must be left on, a barrier and a warning notice
301 :     are required.
302 :     \item Equipment found to be faulty in any way should be reported immediately
303 :     and not used until it is inspected and declared safe.
304 :    
305 :     \item Voltages above 50 V RMS AC and 120 V DC are always dangerous. Extra precautions
306 :     should be considered as voltage levels are increased.
307 :    
308 :     \item Never make any changes to circuits or mechanical layout without first
309 :     isolating the circuit by switching off and removing connections to supplies.
310 :    
311 :     \item Know what you must do in an emergency.
312 :    
313 :     \item Be acquainted with the Emergency Power Off:
314 :    
315 :    
316 :     \item When touching equipment that might be electrically "live" always use the {\em back of your hand}. Never grip anything with your fingers, since and electric shock will tend to make you grip tighter.
317 :    
318 :     \item Electrical power sockets should not be overloaded.
319 :    
320 :     \item {\b No cables should ever be stretched.} Tape them firmly to a table or floor. Remember that people can trip over cables.
321 :    
322 :     \item Hold the plug firmly by the insulating cover when plugging it in or unplugging it.
323 :     {\bf NEVER} unplug an electrical device by pulling on its cord!
324 :    
325 :     \item Do not attempt to lift or move heavy equipment alone.
326 :    
327 :     \end{enumerate}
328 :    
329 :     \section{Electrical Emergency Response}
330 :    
331 :     The following instructions provide guidelines for handling two types
332 :     of electrical emergencies:
333 :    
334 :    
335 :     When someone suffers serious electrical shock, he or she may be
336 :     knocked unconscious. If the victim is still in contact with the
337 :     electrical current, immediately turn off the electrical power
338 :     source. If you cannot disconnect the power source, push in the
339 :     Emergency Power Off button.
340 :     \begin{enumerate}
341 :    
342 :     \item Do not touch a victim that is still in contact with a power source; you
343 :     could electrocute yourself.
344 :    
345 :     \item Have someone call for emergency medical assistance immediately. Administer
346 :     first-aid, as appropriate.
347 :    
348 :     \item If an electrical fire occurs, try to disconnect the electrical power
349 :     source, if possible.
350 :    
351 :    
352 :    
353 :     \item In case of fire, pull out power sockets if possible, taking care not to be electrocuted.
354 :     \item Use of {\bf clean water} to put out electrical fire is acceptable.
355 :     \end{enumerate}
356 :    
357 :    
358 :     \section{Handling equipment}
359 :    
360 :    
361 :     All electronic equipment should be treated as highly fragile and
362 :     easily damaged, regardless of how sturdy it is. Today we are far too
363 :     blas\'e towards electronic equipment.
364 :     \begin{itemize}
365 :     \item Never insert or remove power cords to equipment without ensuring that it is switched off.
366 :     \item Take care when inserting multi-pin connectors that the pins are oriented the right way up and that no pins are bent on insertion.
367 :     \end{itemize}
368 :     Moreover:
369 :     \begin{itemize}
370 :     \item {\em Read instructions:}
371 :     When dealing with hardware, one should always look for and {\em read}
372 :     instructions in a manual. It is foolish to make assumptions about expensive
373 :     purchases. Instructions are there for a reason.
374 :     \item {\em Interfaces and connectors:}
375 :     Hardware is often connected to an interface by a cable or connector.
376 :     Obtaining the correct cable is of vital importance. Many manufacturers
377 :     use cables which look similar, superficially, but which actually are
378 :     different. An incorrect cable can result in damage to an interface.
379 :     Modem cables in particular can damage a computer or modem if they
380 :     are incorrectly wired, since some computers supply power through these
381 :     cables which can damage equipment which does not expect to find a
382 :     power supply coming across the cable.
383 :    
384 :     \item {\em Handling components:}
385 :     Modern day CMOS chips work at low voltages (typically 5 volts or lower).
386 :     Standing on the floor with insulating shoes, you can pick up a
387 :     static electric charge of several thousand volts. Such a charge
388 :     can instantly destroy computer chips. Before touching any
389 :     computer components, earth yourself by touching the metal
390 :     casing of the computer. If you are installing equipment inside
391 :     a computer, wear a conductive wrist strap. Avoid wearing rubber sandals
392 :     or shoes that insulate you from Earth when dealing with
393 :     open case equipment, since these cause the body to
394 :     build up charge that can discharge through that equipment; on the
395 :     other hand this might be good advice when working around high voltage
396 :     or current sources.
397 :     \index{Components, handling}
398 :     \index{Handling components}
399 :    
400 :     \item {\em Disks:}
401 :     Disk technology has been improving steadily for two decades. The most
402 :     common disk types, in the workplace, fall into two families: ATA
403 :     (formerly IDE) and SCSI. The original IDE (Integrated Drive
404 :     Electronics) and SCSI (Small Computer Software Interface) had
405 :     properties that have since evolved faster than the prejudices about
406 :     them. ATA (formerly IDE) disks are now generally cheaper than SCSI
407 :     disks (due to volume sales) and excel at sequential access, but SCSI
408 :     disks have traditionally been more efficient at handling multiple
409 :     accesses due to a multitasking bus design, and are therefore better in
410 :     multitasking systems, where random access is important. However,
411 :     filesystem design also plays an important role in determining the
412 :     perceived performance of each; i.e. how operating systems utilize
413 :     buses during updates is at least as important as bus performance
414 :     itself. Interesting comparisons show that IDE technology has caught up
415 :     with the head start that SCSI disks once had\cite{white1} for many
416 :     purposes, but not all.
417 :    
418 :     SCSI\cite{lisa93157} comes in several varieties, SCSI 1, SCSI
419 :     2, wide SCSI, fast-wide etc. The difference has to do with the width
420 :     of the data-bus and the number of disks which can be attached to each
421 :     controller. There are presently three SCSI standards SCSI-1, SCSI-2
422 :     and SCSI-3. The SCSI-2 standard defines also wide, fast and fast/wide
423 :     SCSI.
424 :     Each SCSI disk has its own address (or number) which must be set by
425 :     changing a setting on the disk-cabinet or by changing jumper settings
426 :     inside the cabinet. Newer disks have programmable identities.
427 :     \index{SCSI disks}
428 :     \index{IDE disks}
429 :     \index{ATA disks}
430 :     Disk chain buses must be terminated with a proper terminating
431 :     connector. Newer disks often contain automatic termination mechanisms
432 :     integrated into the hardware.
433 :     The devices on the SCSI bus talk to the computer through a
434 :     controller. On modern PCs the SCSI controller is usually connected to
435 :     the PCI bus either as an on-board solution on motherboards or as a
436 :     separate card in a PCI slot. Other buses are also used as the carrier
437 :     of the SCSI protocol, like FireWire (IEEE 1394) and USB. The SCSI
438 :     standard also supports removable media devices (CD-ROM, CD-R, Zip
439 :     drives), video frame grabbers, scanners and tape streamers (DAT, DLT).
440 :    
441 :    
442 :     \item {\em Memory:}
443 :     Memory chips are sold on small pluggable boards. They
444 :     are sold in different sizes and with different speeds.
445 :     A computer has a number of slots where they can be installed.
446 :     When buying and installing RAM, remember
447 :     \index{SIMM}
448 :     \begin{itemize}
449 :    
450 :     \item The physical size of memory plug-ins is important. Not all of
451 :     them fit into all sockets.
452 :    
453 :     \item Memory is sold in units with different capacities and data rates. One
454 :     must find out what size can be used in a system. In many cases one
455 :     may not mix different types.
456 :    
457 :     \item There are various incompatible kinds of RAM that work in
458 :     different ways. Error correcting RAM, for instance, is tolerant to
459 :     error from external noise sources like cosmic rays and other ultra
460 :     short wave disturbances. It is recommended for important servers,
461 :     where stability is paramount.
462 :    
463 :     \item On some computers one must fill up RAM slots in a particular
464 :     order, otherwise the system will not be able to find them.
465 :     \end{itemize}
466 :    
467 :     \end{itemize}
468 :    
469 :    
470 :     \index{Weather}
471 :     Another aspect of hardware is the extent to which weather and
472 :     environment are important for operation..
473 :    
474 :     \begin{itemize}
475 :    
476 :     \item {\em Lightning:}
477 :     strikes can destroy fragile equipment. No fuse will protect hardware
478 :     from a lightning strike. Transistors and CMOS chips burn out much faster
479 :     than any fuse. Electronic spike protectors can help here, but nothing
480 :     will protect against a direct strike.
481 :    
482 :     \item {\em Power:}
483 :     failure can cause disk damage and loss of data. A UPS
484 :     (Un-interruptible power supply) can help.
485 :    
486 :     \item {\em Heat:}
487 :     The blazing summer heat or a poorly placed heater oven can cause
488 :     systems to overheat and suddenly black out. One should not let the
489 :     ambient temperature near a computer to rise much above about 25
490 :     degrees Centigrade. Clearly some equipment can tolerate heat, better
491 :     than other equipment. Bear in mind that metals expand significantly,
492 :     so moving parts like disks will be worst affected by heat. Increased
493 :     temperature also increases noise levels that can reduce network
494 :     capacities by a fraction of a percent. While this might not sound like
495 :     much, a fraction of a percent of a Giga-bit cable is a lot of
496 :     capacity. Heat can cause RAM to operate unpredictably and disks to
497 :     misread/miswrite. Good ventilation is essential for computers and
498 :     screens for avoiding electrical faults.
499 :    
500 :     \item {\em Cold:}
501 :     Sudden changes from hot to cold are just as bad. They can
502 :     cause unpredictable changes in electrical properties of chips and
503 :     cause systems to crash. In the long term, these changes could lead
504 :     to cracks in the circuit boards and irreparable chip damage.
505 :    
506 :     \item {\em Humidity:} In times of very cold weather and very
507 :     dry heat, the humidity falls to very low levels. At these times, the
508 :     amount of static electricity builds up to quite high levels, without
509 :     dissipating. This can be a risk to electronic circuitry. Humans pick
510 :     up charge just by walking around, that can destroy fragile
511 :     circuitry. Paper sticks together causing paper crashes in laser
512 :     printers. Too much humidity can lead to condensation and short circuits.
513 :    
514 :     \end{itemize}
515 :     How could you go about verifying that conditions in the lab are
516 :     appropriate?
517 :    
518 :    
519 : mark 6
520 :    
521 :    
522 :    
523 :     \begin{figure}[ht]
524 :     \psfig{file=bad1.eps,width=15cm}
525 :     \caption{Don't do this. Power connectors should not be hanging in mid air,
526 :     as this means they are stretched and can come apart, causing an accident. The red
527 :     network cables should not be tangled and hanging like this.}
528 :     \end{figure}
529 :    
530 :     \begin{figure}[ht]
531 :     \psfig{file=bad2.eps,width=15cm}
532 : mark 7 \caption{Don't do this. Again, a power connection is hanging in mid air. Cables
533 : mark 6 are also hanging freely. Someone could walk into these and pull them apart.}
534 :     \end{figure}
535 :    
536 :    
537 :    
538 : mark 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539 :    
540 :     \chapter{When entering and leaving the laboratory}
541 :    
542 : mark 5 \section{Planning your time}
543 :    
544 :     Time in the lab is precious. Do not arrive without having planned what
545 :     you are going to do. The lab environment is not conducive to thinking
546 :     and planning---it is a stressful and noisy environment. You should do
547 :     most of your thinking in advance. Other people could be using time
548 :     that you waste.
549 :    
550 : mark 1 \section{Sharing the lab}
551 :    
552 :     In order to share the lab resources between many different groups, you
553 :     should expect that:
554 :     \begin{itemize}
555 : mark 7 \item When entering the laboratory, none of the equipment will necessarily be in a
556 : mark 1 pre-configured condition.
557 :    
558 :     \item After your time in the lab, all reasonable equipment should be
559 :     returned to its original condition. Remove temporary cables and
560 :     store them neatly. If you want to preserve any parts of your
561 :     experiment, it is up to you to arrange it with the others on the course.
562 :     \end{itemize}
563 :     This presents you with a challenge. You should begin your lab term by
564 :     devising a way of saving your configurations and setting up your
565 : mark 7 experiments at short notice. {\em You must never permanently save any
566 :     configuration changes in the permanent memory of the routers, or on
567 :     the PC hard-disks. This might cause problems for another group, or another
568 :     group might destroy your work.}
569 : mark 1
570 :     Solving this problem will give you a good working practice that will benefit
571 :     you in a real working environment.
572 :    
573 : mark 7 \section{Tidiness}
574 :    
575 :     Tidiness is tha hardest discipline for most people to learn.
576 :     \begin{itemize}
577 :     \item Never leave pieces of paper in the lab. Keep all notes in your notebook.
578 :    
579 :     \item Never leave cables trailing along the floor, or in mid air. This can result
580 :     in accidents.
581 :     \end{itemize}
582 :    
583 : mark 1 \section{Resources}
584 :    
585 :     Cables need to last a long time. They can be damaged by running chairs
586 :     over them, stepping on them or stretching them.
587 :     \begin{itemize}
588 :     \item Please keep cables neat and tidy. Coil them and sort them by their
589 :     approximate length, so that others will be able to find them.
590 :     \item Make sure that you know the difference between ordinary Ethernet cables
591 :     and crossover (null-modem) cables. The latter are often colour-coded
592 : mark 7 yellow. Are there any other colour codes or markings?
593 : mark 1 \item Make sure that you know the difference between DCE and DTE serial
594 :     cables.
595 :     \end{itemize}
596 :     Tools should never be removed from the lab -- others will need them after you.
597 :    
598 :    
599 :     \begin{figure}[ht]
600 : mark 5 \psfig{file=lab.eps,width=13cm}
601 : mark 1 \caption{Lab layout.}
602 :     \end{figure}
603 :    
604 :     \section{Security: the key}
605 :    
606 :     No one has general access to the lab. You have been given a key card
607 :     to enter. Please do not lend this to others, under any circumstances.
608 :    
609 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610 :    
611 :    
612 :     \chapter{Documenting your lab-work}
613 :    
614 :     Different kinds of experiment warrant different kinds of report.
615 :     You should aim to use your judgement in documenting work. It will
616 :     take you some time to learn how to write good reports.
617 :    
618 :     \section{Keep a notebook}
619 :    
620 :     You should buy a (paper) notebook for recording a diary of your
621 :     procedures, measurements and results from the lab. Keeping a tidy,
622 :     legible notebook is important for your later understanding of what you
623 :     did. Part of your grade will be based on how well you keep your
624 :     notebook. If you later come to doubt your results, you will need to be able
625 :     to read and understand the notes that you made, and perhaps reproduce the
626 :     results again exactly.
627 :    
628 :     \section{Plan your work}
629 :    
630 :     The purpose of the lab experiments is two-fold:
631 :     \begin{itemize}
632 :     \item To develop your practical skills.
633 :     \item To develop your analytical and reporting skills.
634 :     \end{itemize}
635 :     You should take your report writing seriously, since your grade will be based on this.
636 :     Each experiment should be written up as a document, giving all details
637 :     of your procedure and results. The document should have the form:
638 :     \begin{itemize}
639 :     \item {\bf Describe the aim of your experiment}: write an introduction motivating the
640 :     experiment, referring to any sources of information that you use
641 :     explicitly or implicitly.
642 :     \item {\bf Describe the equipment and tools} to solve the experimental task. Explain why you make these choices and what the possible limitations are.
643 :    
644 :     \item {\bf Describe the experimental setup}: How is the equipment set up and
645 :     configured? Use diagrams and words to describe the motivate the
646 :     configuration.
647 :    
648 :     \item {\bf Describe the experimental procedure}: What is it that you actually do?
649 :     How do you collect measurements?
650 :    
651 :     \item {\bf Describe the results}: Use tables and graphs, along with qualitative
652 :     discussions of what happens. Make sure that you collect enough data to
653 :     support the conclusions that you will make.
654 :    
655 :     \item {\bf Use of statistics to estimate uncertainty}: Statistics are a tool for
656 :     quoting results with more certainty, and also estimating the level of
657 :     uncertainty in the quoted results. Use statistics to present your
658 :     results and analyze their reliability. Be careful and realistic about
659 :     your figures, If there is uncertainty in your measurements, describe it and
660 :     estimate it. Never try to cover up uncertainty.
661 :    
662 :     \item {\bf Interpret results and draw conclusions}: The final stage of an experiment
663 :     is to interpret the data that you have collected and explain any
664 :     anomalies in the results. What are the data telling you? How certain
665 :     can you be of your conclusion?
666 :     \end{itemize}
667 :    
668 :    
669 :    
670 :     \section{The main elements}
671 :    
672 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
673 :    
674 : mark 5 When reporting about an investigation, it is normal to use the following template:
675 : mark 1 \begin{itemize}
676 :     \item {\bf Introduction}: An explanation of what the aim of the experiment
677 :     is, in your own words and opinion. Since the experiments are very open-ended,
678 :     you can choose to colour them with your own interests. Explain here what it
679 :     was you were looking for and provide an overview to the reader.
680 :    
681 :     \item {\bf Method}: In this part of the report you should describe exactly
682 :     what you did. There should be enough detail to allow another person to be able
683 :     to reproduce exactly what you did and get the same results.
684 :    
685 :     \item {\bf Results}: This part of the report is where you document what
686 :     actually happened. If you make measurements, you should make tables of them here
687 :     and perform any statistical analysis here. Again, the purpose of documenting
688 :     this is not to impress anyone, but to create a faithful record of what you have
689 :     observed, together with the analysis you use to draw your conclusions.
690 :     If you have written this up properly, then it should be easy to find any mistakes
691 :     that might arise.
692 :    
693 :     \item {\bf Conclusions and discussion}: You should be able to state what you have discovered
694 :     in your experiment. In your conclusions you should address things like:
695 :     \begin{itemize}
696 :     \item How effective was your method?
697 :     \item How reliable are your results?
698 :     \item What is the chain of cause and effect?
699 :     \item How certain can you be of your results.
700 :     \item What is the best hypothesis to explain what happened in the experiment.
701 :     \item Criticize your own work and say what you would have done differently under other
702 :     circumstances.
703 :     \end{itemize}
704 :     \end{itemize}
705 :    
706 : mark 5 Some notes on this:
707 :    
708 :     \begin{itemize}
709 :     \item You do not have to take this four-fold list as a literal structure for
710 :     your report. Sometimes it is useful to break up the report into
711 :     subsections that are organized differently. Every part of your work
712 :     should contain these four elements however.
713 :    
714 :     \item {\em The point of documentation is to show critical thinking. There is
715 : mark 1 no right or wrong answer.}
716 :    
717 : mark 5 \item Using Latex for writing your report is recommended.
718 : mark 1
719 : mark 5
720 :     \item Although some of you will be asked to produce corporate presentations
721 :     in your future workplace, you should not write your reports here as corporate
722 : mark 7 psychobabble. Here, we are interested in doing science, not in marketing. In general
723 :     system administrators should take an engineering approach and leave marketing to others.
724 : mark 5 \end{itemize}
725 :    
726 :    
727 : mark 1 \section{Analysing results}
728 :    
729 :     Analyzing results requires experience and a proper understanding of tools
730 :     like mathematics and statistics. In industry, one can buy all kinds of
731 :     programs that plot graphs and make nice pictures --- but how many users
732 :     of these programs actually understand what they are seeing?
733 :    
734 :     The correct way to analyze results is to maintain a constant dialogue
735 :     between {\em hypothesis} and {\em observation}, being critical at all
736 :     times. Tools like statistics can be used to organize observations
737 :     logically and test the reliability of our beliefs, but there is no
738 :     substitute for scientific thinking.
739 :    
740 :     \begin{itemize}
741 :     \item Tabulate raw data in appendices. Include your estimate of how much uncertainty
742 :     there is in the values that you have observed.
743 :    
744 :     \item Are the data numerical or qualitative?
745 :     \begin{itemize}
746 :     \item How should they be organized?
747 :     \item What information do they provide?
748 :     \end{itemize}
749 :     \item What is the mean and standard deviation of the data?
750 :    
751 :     \item What is the distribution of data about the mean?
752 :     \end{itemize}
753 :    
754 :    
755 : mark 3
756 : mark 1 \section{Your grade}
757 :    
758 :     Your final grade in this course will be based on several things:
759 :     \begin{itemize}
760 : mark 7 \item The quality of your documentation (including your lab book).
761 : mark 1 \item How well you show scientific thinking (an enquiring mind, formulating clear hypotheses) and present your results in a critical way.
762 :     \item How well you develop sound routines for working in the lab, including
763 :     safety, tidiness and methodology. (You will be asked to present your
764 :     `best practice' working procedures to the class about half-way through the
765 :     course -- so you should be thinking constantly about how you can improve).
766 :     \end{itemize}
767 :    
768 : mark 3 \chapter{Plotting graphs}
769 :    
770 :    
771 :     There are many tools available for plotting graphs. An especially
772 :     powerful tool is the free software program {\tt xmgrace} (formerly
773 :     {\tt xmgr}). This tool parses files of numbers and plots them in two
774 :     dimensions. It generates output in JPEG, PNG and EPS formats, for easy
775 :     inclusion into web pages, Word or Latex documents.
776 :    
777 :     \section{Xmgrace}
778 :    
779 :     The program has a graphical user interface and a command-line batch mode.
780 :     Both of these are quite useful.
781 :    
782 :     \begin{figure}[ht]
783 :     \begin{center}
784 :     \psfig{file=graph2.eps,width=10cm}
785 :     \caption{Figure without error bars.\label{fig1}}
786 :     \end{center}
787 :     \end{figure}
788 :    
789 :     \begin{figure}[ht]
790 : mark 4 \begin{center}
791 :     \psfig{file=graph1.eps,width=10cm}
792 : mark 3 \caption{Figure with error bars.\label{fig2}}
793 : mark 4 \end{center}
794 : mark 3 \end{figure}
795 :    
796 :     For example, the following graphs in fig. \ref{fig1} and fig
797 :     \ref{fig2} have been generated from a file of data that has this form:
798 :    
799 :     \begin{verbatim}
800 :     1 9.669296 14.743795
801 :     2 3.836614 2.676340
802 :     3 3.513647 2.650355
803 :     4 3.907752 2.221279
804 :     5 3.606293 2.578484
805 :     6 2.923111 1.948955
806 :     7 3.180441 1.898489
807 :     8 6.231966 7.795706
808 :     9 5.284695 3.546003
809 :     10 5.774313 3.107895
810 :     11 5.222317 4.321972
811 :     12 6.515415 3.246366
812 :     13 8.258536 3.403739
813 :     14 7.499281 3.464971
814 :     15 8.041888 4.894231
815 :     ...
816 :     \end{verbatim}
817 :     The graphs were generated using the commands:
818 :     \begin{verbatim}
819 :     xmgrace -settype xy www-in.xy.cfenv -hardcopy -hdevice EPS
820 :     xmgrace -settype xydy www-in.xydy.cfenv -hardcopy -hdevice EPS
821 :     \end{verbatim}
822 :     to generate Encapsulated Postscript files directly from the data,
823 :     without using the graphical interface. They could also have been
824 :     generated from the graphical interface by following the menus: Data,
825 :     Import, ASCII, (SetType) etc.
826 :    
827 :     Xmgrace reads several file formats.
828 :     \begin{verbatim}
829 :     X,Y
830 :     X,Y,DY
831 :     X,Y1,Y2,Y3...
832 :     \end{verbatim}
833 :     i.e. a single line-graph with $x,y$ points, a single line with error
834 :     bars $x,y\pm dy$, or overlaid lines $x,y1,y2,...$
835 :    
836 :     \section{Adding labels and legends}
837 :    
838 :     A graph is not complete without a caption to explain what it is
839 :     showing, and labels on the axes. If your graph contains several lines,
840 :     it should display a legend, which explains what the different lines
841 :     are. The default is to plot lines in different colours; this can be
842 :     changed for black and white printing.
843 :    
844 :     For example, suppose we read in a multiline data-set:
845 :     \begin{verbatim}
846 :     0 11.520878 46.062277 63.216033 ...
847 :     1 12.733537 47.316163 70.035250 ...
848 :     etc
849 :     \end{verbatim}
850 :     \begin{enumerate}
851 :     \item Start the program in graphical mode.
852 :     \item Select, Data, Import, ASCII.
853 :     \item In the dialogue box, remove the Filter ``*.dat'' to see all the files
854 :     in a directory.
855 :     \item Select ``Load as NXY'', select the filename and press OK. Press Cancel to get rid of the dialogue.
856 :     \item You should now see a graph like this:
857 :     \begin{figure}[ht]
858 : mark 4 \begin{center}
859 : mark 3 \psfig{file=ex1.eps,width=6cm}
860 : mark 4 \end{center}
861 : mark 3 \end{figure}
862 :     \item Select Plot, Axis properties and enter labels for the X and Y axes (press ``Apply'' for each change).
863 :    
864 :     \item You should now see a graph like this:
865 :     \begin{figure}[ht]
866 : mark 4 \begin{center}
867 : mark 3 \psfig{file=ex2.eps,width=6cm}
868 : mark 4 \end{center}
869 : mark 3 \end{figure}
870 :    
871 :     \item To change from colour to black and white,
872 :     select Plot, Set Appearence, and click on ``Symbols''.
873 :    
874 :     Select a new colour and line style in ``Line properties''.
875 :     For each set in the ``select set'' dialogue, click and select a style.
876 :     Press ``Apply'' for each change.
877 :    
878 :     \item You should now see a graph like this:
879 :     \begin{figure}[ht]
880 : mark 4 \begin{center}
881 : mark 3 \psfig{file=ex3.eps,width=6cm}
882 : mark 4 \end{center}
883 : mark 3 \end{figure}
884 :    
885 :     \item To create a legend box, select Plot, Graph Appearence, Leg. box.
886 :     (This does not seem to work in some versions.)
887 :    
888 :     The difficult part about the legend box is finding it! It tends to
889 :     fall off the end of the displayed area. You must specify coordinates
890 :     where it will appear. Note that the viewport coordinate range is described on
891 :     the ``Main'' tab of Graph Properties.
892 :    
893 :     \end{enumerate}
894 :    
895 :     If you generate postscript file, you can edit the strings in the
896 :     postscript for greater finesse.
897 :    
898 :     \section{Trouble-shooting}
899 :    
900 :     Problems: you might see the error message "Strings are not allowed".
901 :     This means that a non-numerical string was found in the file, where a
902 :     numerical value was expected. Check that no occurrences of ``NaN'' or
903 :     ``nan'' have not come into the file, if you have generated the file
904 :     from a program.
905 :    
906 :     \section{Command summary}
907 :    
908 :     \begin{verbatim}
909 :     host\$ xmgrace -nxy cfenv-averages
910 :     host\$ xmgrace rootprocs.cfenv
911 :     host\$ xmgrace -settype xydy rootprocs.cfenv
912 :     host\$ xmgrace -settype xydy rootprocs.cfenv -hardcopy -hdevice JPEG
913 :     \end{verbatim}
914 :    
915 :    
916 : mark 7 \section{Pictures in Latex}
917 :    
918 :     You include pictures in Latex using the {\tt epsfig} package. At the start
919 :     of your
920 :     document you must include
921 :     \begin{verbatim}
922 :     \include{epsfig}
923 :     \end{verbatim}
924 :     Then for each figure:
925 :     \begin{verbatim}
926 :     Se figure below....
927 :    
928 :     \begin{figure}[ht]
929 :     \psfig{file=myfile.eps,width=12cm}
930 :     \caption{Some text under the figure.\label{mylabel}}
931 :     \end{figure}
932 :    
933 :     See figure \ref{mylabel}....
934 :     \end{verbatim}
935 :     Latex will position the figures for you automatically. If figures are very large,
936 :     you can turn them sideways using:
937 :     \begin{verbatim}
938 :    
939 :     \psfig{file=myfile.eps,width=12cm,angle=-90}
940 :    
941 :     \end{verbatim}
942 :     Or use the rotate figure package.
943 :    
944 :    
945 :    
946 :    
947 : mark 1 \chapter{Troubleshooting}
948 :    
949 :     Trouble-shooting is a general skill. You can learn more about it in
950 : mark 5 ref. \cite{burgessbook}. In this course you will develop your
951 :     trouble-shooting skills. A few hints can be borne in mind.
952 : mark 1
953 : mark 5 One of the important things to learn in the la is to not be afraid of
954 :     handling the equipment. If something does not work, or if you make a mistake,
955 :     you should be confident in your ability to fix the problem. If you are
956 :     afraid of making changes, you will never master the equipment.
957 :    
958 : mark 1 First of all, you should remember obvious things:
959 :     \begin{itemize}
960 :     \item Is it switched on?
961 :     \item Am I logged in as supervisor (enable)?
962 :     \item Is the cable crossed over or not?
963 :     \item Is the cable damaged?
964 :     \end{itemize}
965 :     You can amplify on certain points yourself. For instance:
966 :     \begin{itemize}
967 :     \item Be aware that not all of the equipment components work perfectly. If something is not working, try changing the component for a different one.
968 :     \item Are cables working or connected properly? Do you have the right kind of cable?
969 :     \item Are port lights active? Is the port working?
970 :     \item Are IP addresses set correctly?
971 :     \item Have you allowed several minutes for switch ARP tables to be updated? (Only then will you be able to make a connection to a router.)
972 :     \item Is there `ping' connectivity?
973 :     \item Use show/traceroute to see where problems arise.
974 :     \item Verify that configuration commands actually succeed before assuming that they have.
975 :     \end{itemize}
976 :     See the example troubleshooting diagram below. You can formulate your own
977 :     troubleshooting procedures.
978 :     \begin{figure}[ht]
979 : mark 5 \psfig{file=troubleshoot.eps,width=13cm}
980 : mark 1 \caption{Example troubleshooting procedure for routers.}
981 :     \end{figure}
982 :    
983 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
984 :    
985 : mark 6 \part{Mandatory Experiments}
986 : mark 1
987 :    
988 :    
989 : mark 6 \chapter{Host configuration management and web server}
990 :    
991 : mark 1 %%%%%%%%%
992 :     \begin{expt}
993 :    
994 : mark 6 The purpose of this experiment is to learn about setting up a
995 : mark 7 Unix Apache web server, and running a farm of web servers using automatic configuration management cfengine.
996 : mark 6
997 : mark 7 You will install apache first on a computer that has virtual machines with Linux pre-installed, and then you will use cfengine to set up and customize each web server automatically.
998 : mark 6
999 :     \begin{itemize}
1000 :     \item {\bf Estimated time}: Two weeks
1001 : mark 7 \item {\bf Preparation}: Install apache on GNU/Linux. Read about cfengine,apache, nano, sudo and Debian package management utility APT.
1002 : mark 6 \item {\bf Equipment}: PCs and virtual machines.
1003 :    
1004 :    
1005 :     \item {\bf How to leave the lab after session}: Virtual machines can continues to
1006 :     run. Physical machines will not be preserved, so make sure you complete
1007 :     Linux installation before leaving the lab.
1008 :     \end{itemize}
1009 :     \end{expt}
1010 :    
1011 :     In this exercise you are asked to work step by step through some
1012 :     simple recipes for managing web farms. This is a skill that many
1013 :     employers need.
1014 :    
1015 :    
1016 :     \section{Setting up a virtual Unix server farm}
1017 :    
1018 : mark 7 \subsection{The setup}
1019 :     In this experiment we will be using a Linux machine that hosts 4 virtual machines. We use virtual machines for practical reasons, but the setup as shown in figure \ref{web} could also have been accomplished with physical hosts rather than virtual ones.
1020 : mark 6
1021 : mark 7 All the servers have cfengine installed on them. Server \textit{one} will be our policy host and all the other servers including server \textit{one} will be updating their configuration/policy through cfengine from server \textit{one}. Apache will be installed on server \textit{two}, \textit{three} and \textit{four}.
1022 : mark 6
1023 : mark 7 \newpage
1024 :     \begin{figure}[ht]
1025 :     \begin{center}
1026 :     \psfig{file=web.eps,width=14cm}
1027 :     \caption{Web farm setup.\label{web}}
1028 :     \end{center}
1029 :     \end{figure}
1030 :     \subsection{The login process}
1031 :     The first step is to login to the machines that will be hosting the web servers with the provided username and password. The machines are protected with a firewall that only allows access from our network. To login from another Linux host issue the command:
1032 :     \begin{center}
1033 :     \begin{verbatim}
1034 :     ssh username@host
1035 :     \end{verbatim}
1036 :     \end{center}
1037 :     (Where username is the one provided to you and host is the name or the IP address of the host ). The machines are:
1038 :    
1039 :     \begin{itemize}
1040 :     \item two.vlab.iu.hio.no with the IP address 128.39.73.202
1041 :     \item three.vlab.iu.hio.no with the IP address 128.39.73.203
1042 :     \item four.vlab.iu.hio.no with the IP address 128.39.73.204
1043 :     \end{itemize}
1044 : mark 6
1045 : mark 7 The first thing you will notice is that there are no graphics and you will have to do all your administration task on the command line. To edit files for example, you can use the editors nano and jed which are pre-installed on the hosts. If you prefer another editor then you will have to install it your selv. Read the next section \textbf{Installing Apache} on how to intstall software.
1046 : mark 6
1047 : mark 7 \newpage
1048 :     \subsection{Installing Apache}
1049 :     The GNU/Linux destribution that is installed on these hosts is Ubuntu Dapper which is a Debian derived destribution. To install software on a Debian derived destribution, the package management utility APT(Advanced Packaging Tool) is used. To install Apache on the host you use the command:
1050 :     \begin{verbatim}
1051 :     sudo apt-get install apache2
1052 :     \end{verbatim}
1053 :     After initiating the command you will be asked to accept the installation of apache2 and any other needed packages. Just answer yes and everything will be installed autematically.
1054 :     \sex
1055 :     Reading package lists... Done
1056 :     Building dependency tree... Done
1057 :     The following extra packages will be installed:
1058 :     apache2-common apache2-mpm-worker apache2-utils libapr0 libexpat1 libmagic1
1059 :     libpcre3 mime-support openssl ssl-cert
1060 :     Suggested packages:
1061 :     apache2-doc lynx www-browser file ca-certificates
1062 :     The following NEW packages will be installed:
1063 :     apache2 apache2-common apache2-mpm-worker apache2-utils libapr0 libexpat1
1064 :     libmagic1 libpcre3 mime-support openssl ssl-cert
1065 :     0 upgraded, 11 newly installed, 0 to remove and 26 not upgraded.
1066 :     Need to get 2761kB of archives.
1067 :     After unpacking 9044kB of additional disk space will be used.
1068 :     Do you want to continue [Y/n]? y
1069 :    
1070 :     \esex
1071 :    
1072 :     Thats it, the Apache server is now installed on your host. To test the installation, open a web browser on another machine and type:
1073 :    
1074 :     \begin{itemize}
1075 :     \item http://two.vlab.iu.hio.no or http://128.39.73.202 (If two.vlab.iu.hio.no is where you installed the apache server, otherwise change two or the IP address with the appropriate name/IP)
1076 :     \end{itemize}
1077 :    
1078 :     If you see something similar to figure \ref{apache}, then apache is installed and functioning. Install Apache on the remaining hosts. The next step is to configure Apache as needed.
1079 :    
1080 :     \begin{figure}[ht]
1081 :     \begin{center}
1082 :     \psfig{file=apache.eps}
1083 :     \caption{Apache running successfully.\label{apache}}
1084 :     \end{center}
1085 :     \end{figure}
1086 :    
1087 :     \subsection{Important configuration files}
1088 :     We will be configuring Apache through cfengine. The idea is to do all our configurations at one place by editing only one file and let cfengine do its magic of configuring our hosts.
1089 :    
1090 :     \subsubsection{Cfengines Files}
1091 :     Each host including server \textit{one} has the following files:
1092 :     \begin{verbatim}
1093 :     /etc/cfengine/cfagent.conf (Main configuration file)
1094 :     /etc/cfengine/update.conf (Simple file that let cfengine function incase of corrupted cfagent.conf file)
1095 :     /etc/cfengine/cfservd.conf (Configuration file to run cfengine as a deamon)
1096 :     \end{verbatim}
1097 :    
1098 :     What we want is a configuration/policy that will affect the whole site, therefore we will not edit these files, but rather edit similar files found in the directory:
1099 :    
1100 :     \begin{verbatim}
1101 :     /site/policy/
1102 :     \end{verbatim}
1103 :    
1104 :     \subsubsection{Apache Files}
1105 :    
1106 :     The apache main configuration file where most of our configuration will be done is located at:
1107 :     \begin{verbatim}
1108 :     /etc/apache2/apache2.conf
1109 :     \end{verbatim}
1110 :    
1111 :     Apache also includes other cofiguration files which are found at:
1112 :     \begin{verbatim}
1113 :     /etc/apache2/ports.conf (For specifing which port Apache listens to)
1114 :     /etc/apache2/sites-available/default (For configuring virtual hosts)
1115 :     \end{verbatim}
1116 :    
1117 :     Default installation of Apache sets its DocumentRoot to the directory:
1118 :     \begin{verbatim}
1119 :     /var/www
1120 :     \end{verbatim}
1121 :    
1122 :     This means that Apache will look for files and serve them only from that location. Apache can also serve files from a specified users directory (normally www or public\_html under the users home directory), but this is disabled by default.
1123 :    
1124 :    
1125 :     \subsection{Configuring Apache}
1126 :     Server \textit{one} is our policy host so login to server \textit{one} with the provided username and password.
1127 :    
1128 :     \subsubsection{Enabling the UserDir option in Apache by using the editfiles command in cfengine}
1129 :     Edit the file \texttt{/site/policy/cfagent.conf} with your favorate editor and add the following line(s):
1130 :     \begin{verbatim}
1131 :     control:
1132 :     actionsequence = ( processes editfiles )
1133 :     EditfileSize = ( 0 )
1134 :    
1135 :     editfiles:
1136 :     two::
1137 :     { /etc/apache2/apache2.conf
1138 :     AppendIfNoSuchLine "UserDir public_html"
1139 :     AppendIfNoSuchLine "UserDir disabled root"
1140 :     }
1141 :     \end{verbatim}
1142 :    
1143 :     \newpage
1144 :     Your \texttt{/etc/cfengine/cfagent.conf} will now look like this:
1145 :    
1146 :     \begin{verbatim}
1147 :     # cfagent.conf, created by the MLN cfengine plugin
1148 :     control:
1149 :     actionsequence = ( processes editfiles )
1150 :     EditfileSize = ( 0 )
1151 :     processes:
1152 :     one::
1153 :     "cfservd" restart "/usr/sbin/cfservd"
1154 :     editfiles:
1155 :     two::
1156 :     { /etc/apache2/apache2.conf
1157 :     AppendIfNoSuchLine "UserDir public_html"
1158 :     AppendIfNoSuchLine "UserDir disabled root"
1159 :     }
1160 :     \end{verbatim}
1161 :    
1162 :     This will append \texttt{UserDir public\_html} and \texttt{UserDir disabled root} at the end of the file \texttt{/etc/apache2/apache2.conf}. Examen the file \texttt{/etc/apache2/apache2.conf} and verify the actual editing has been conducted by cfengine. Then make the directory public\_html under \texttt{/home/username} directory( Where \texttt{username} is your username). In this directory create an index.html file that contains some html code. Use the following commands:
1163 :    
1164 :     \begin{verbatim}
1165 :     cd ~
1166 :     mkdir public\_html
1167 :     cd public\_html
1168 :     echo "<html>Test</html>" >> index.html
1169 :     \end{verbatim}
1170 :    
1171 :     To test wheter Apache is serving users files or not, open a web browser on another machine and type:
1172 :    
1173 :     \begin{itemize}
1174 :     \item http://two.vlab.iu.hio.no/\~username or http://128.39.73.202/\~username (Where two.vlab.iu.no is the server and username is your username)
1175 :     \end{itemize}
1176 :    
1177 :     If you see a page that shows Test, then Apache is configured correctly to serve pages from users directories.
1178 :    
1179 :     \subsubsection{Making sure that the Apache process is started}
1180 :     There could be times when a servers process stops or dies, thus making the service unavailable. Cfenginge can start a process if it finds that the process is not running. We will configure cfengine so that it restarts the apache process if it discovers that the service is not running.
1181 :    
1182 :     Edit the file \texttt{/site/policy/cfagent.conf} with your favorate editor and add the following line(s) under the \texttt{(processes:)} action:
1183 :     \begin{verbatim}
1184 :     any::
1185 :     "apache2" restart "/etc/init.d/apache2 restart"
1186 :     \end{verbatim}
1187 :     \newpage
1188 :     Your \texttt{/site/policy/cfagent.conf} should now look like this:
1189 :     \begin{verbatim}
1190 :     # cfagent.conf, created by the MLN cfengine plugin
1191 :     control:
1192 :     actionsequence = ( processes editfiles )
1193 :     EditfileSize = ( 0 )
1194 :     processes:
1195 :     one::
1196 :     "cfservd" restart "/usr/sbin/cfservd"
1197 :     any::
1198 :     "apache2" restart "/etc/init.d/apache2 restart"
1199 :     editfiles:
1200 :     two::
1201 :     { /etc/apache2/apache2.conf
1202 :     AppendIfNoSuchLine "UserDir public_html"
1203 :     AppendIfNoSuchLine "UserDir disabled root"
1204 :     }
1205 :     \end{verbatim}
1206 :     These wil make sure that any host that updates its policy from the policy host and has Apache server installed on it, will get Apache started if the service is not running. You can test this by stopping Apache with the following command on the host running Apache:
1207 :    
1208 :     \begin{verbatim}
1209 :     /etc/init.d/apache2 stop
1210 :     \end{verbatim}
1211 :    
1212 :     To verify wheter Apache is running or not issue the command:
1213 :    
1214 :     \begin{verbatim}
1215 :     ps aux |grep apache
1216 :     \end{verbatim}
1217 :    
1218 :     If you don't see any apache2 processes, then Apache is not running. To make the cfengine configuration take affect immediatly on the server running Apache, issue the command(on the server running Apache):
1219 :    
1220 :     \begin{verbatim}
1221 :     cfagent -v -IKq
1222 :     \end{verbatim}
1223 :    
1224 :     This will run cfagent on the host and update its policy from the policy host. Then check and see if Apache has been started by cfengine by issuing the command:
1225 :     \begin{verbatim}
1226 :     ps aux |grep apache
1227 :     \end{verbatim}
1228 :    
1229 :     If you see something similar to the following output, then cfengine has successfuly started Apache. Otherwise check the main configuration file on the policy host for errors:
1230 :    
1231 :     \begin{verbatim}
1232 :     ps aux |grep apache
1233 :     root 3552 0.0 1.7 7648 2352 ? Ss 18:21 0:00 /usr/sbin/apache2 -k start -DSSL
1234 :     www-data 3553 0.0 1.2 7440 1672 ? S 18:21 0:00 /usr/sbin/apache2 -k start -DSSL
1235 :     www-data 3554 0.0 1.5 228980 2100 ? Sl 18:21 0:00 /usr/sbin/apache2 -k start -DSSL
1236 :     www-data 3556 0.0 1.6 228980 2104 ? Sl 18:21 0:00 /usr/sbin/apache2 -k start -DSSL
1237 :     root 3612 0.0 0.3 1628 492 tty1 S+ 18:21 0:00 grep apache
1238 :     \end{verbatim}
1239 :    
1240 :    
1241 :     Cfengine is a very powerful program that lets you manage the configuration of a large number of servers. In this experiment, we have demonestrated a small portion of what cfengine is capable of. We covered for the most part actions/commands such as \texttt{processes} and \texttt{editfiles}.
1242 :    
1243 :     The idea and aim is to give you a taste of the power of cfengine and give you the oppertunity to further explore its capabilities. Please look into cfengines other actions/commands such as \texttt{files}, \texttt{shellcommands}, \texttt{copy}, \texttt{links}, \texttt{disable}. Use them in one form or another before concluding this experiment.
1244 :    
1245 :    
1246 :    
1247 :    
1248 : mark 6 \chapter{Network Basics}
1249 :    
1250 :    
1251 :    
1252 :     %%%%%%%%%
1253 :     \begin{expt}
1254 :    
1255 : mark 1 The purpose of this experiment is to become familiar with the lab
1256 : mark 4 equipment and to build a number of network models, using especially
1257 :     the switches that are general tools for connecting PCs into a local
1258 :     area network. You will have need for these tools when building
1259 :     Ethernet networks in later experiments.
1260 : mark 1
1261 : mark 4 In each case you should perform some kind of performance test and
1262 :     evaluate the setup procedure you carry out so as to
1263 :     compare the different solutions.
1264 :    
1265 :     You must think of your own criteria
1266 :     for comparing the parts of the experiment. Place yourself in the role
1267 :     of a system administrator looking for the best solution for a large
1268 :     important network. Your ability to evaluate the results of your experiment
1269 :     could be vital for saving time and money.
1270 :    
1271 : mark 1 \begin{itemize}
1272 : mark 5 \item {\bf Estimated time}: Two weeks
1273 : mark 1 \item {\bf Preparation}: Read about VLAN.
1274 :     \item {\bf Equipment}: PCs and Catalyst switches
1275 :    
1276 :     \begin{enumerate}
1277 : mark 4 \item Catalyst or Nortel switch
1278 :     \item Routing module or Juniper M7
1279 : mark 1 \end{enumerate}
1280 : mark 4
1281 : mark 1 \item {\bf How to leave the lab after session}: No configurations must be stored.
1282 :     \end{itemize}
1283 :     \end{expt}
1284 :    
1285 :     In this exercise you are asked to work step by step through some simple recipes
1286 :     for using the configurable LAN switches and then answer some basic questions about
1287 :     LAN connectivity.
1288 :    
1289 :    
1290 :    
1291 :     \section{Equipment}
1292 :    
1293 :     \subsection{Router capabilities}
1294 :    
1295 :     Make a brief summary of the different interfaces and capabilities of
1296 :     the routers and switches in the network laboratory.
1297 :    
1298 :     \subsection{Cable types}
1299 :    
1300 :     Make a brief summary of the different cable types used in the network
1301 :     lab, and what they are used for.
1302 :    
1303 :     \subsection{Quick configuration}
1304 :    
1305 :     \begin{enumerate}
1306 :     \item Create scripts that can be loaded via {\tt minicom} to blank out the router configurations and to set up
1307 :     new configurations. You can use the exercises from MS005A as test
1308 :     examples, if you like.
1309 :    
1310 :     \item Make brief notes on your solution. We shall discuss these solutions with all groups
1311 :     in plenum.
1312 :     \end{enumerate}
1313 :    
1314 :    
1315 :     \subsection{Catalyst switches}
1316 :    
1317 :     The 5509 catalyst switch contain two separate switching fabrics,
1318 :     called Channel 1 and Channel 2, a supervisor engine that controls the
1319 :     switching behaviour and a routing module that is used to map VLANs to
1320 :     subnets. The 5513 switch does not have a routing module and hence
1321 :     cannot be used to create connected VLAN subnets unless we couple a
1322 :     router to it.
1323 :    
1324 :     \subsubsection{Switching Supervisor Engine}
1325 :    
1326 :     The first step is to establish the Console Port Connection from a PC
1327 :     workstation to the switch supervisor engine.
1328 :    
1329 :     \begin{enumerate}
1330 :     \item Access the console port using the console terminal "minicom" and a special cable S3-console. Be careful -- some of the cables are crossed over and others are not. Silver ``extensions'' box-connectors can be used to crossover the cable and join cables together.
1331 :    
1332 :     \item Turn ON the power to the switch and the console terminal.
1333 :    
1334 :     After turning on the power to the switch and console terminal on
1335 :     systems with Supervisor Engine III, you see this initial boot-up
1336 :     display:
1337 :    
1338 :    
1339 :     System Power On Diagnostics
1340 :     \sex
1341 :     NVRAM Size..............................128KB
1342 :     LED Test................................Done
1343 :     ID Prom Test............................Passed
1344 :     DPRAM Size..............................16KB
1345 :     DPRAM Data 0x55 Test....................Passed
1346 :     DPRAM Data 0xaa Test....................Passed
1347 :     DPRAM Address Test......................Passed
1348 :     Clearing DPRAM..........................Done
1349 :     System DRAM Memory Size.................16MB
1350 :     DRAM Data 0x55 Test.....................Passed
1351 :     DRAM Data 0xaa Test.....................Passed
1352 :     DRAM Address Test.......................Passed
1353 :     Clearing DRAM...........................Done
1354 :     etc..
1355 :     \esex
1356 :    
1357 :    
1358 :     \item At the Enter password: prompt, press Return.
1359 :    
1360 :     \item Enter privileged mode.
1361 :     \ex
1362 :     enable
1363 :     \eex
1364 :     \item At the Enter password: prompt, press Return.
1365 :    
1366 :    
1367 :     \end{enumerate}
1368 :    
1369 :     \subsubsection{Configuring a catalyst switch}
1370 :    
1371 :     The catalyst switches are programmable network switches. They can be
1372 :     made to behave as though they were several independent switches.
1373 :     An independent switch is called a VLAN, or virtual local area network.
1374 :    
1375 :     For example, the first row of ports could be made into one VLAN and the
1376 :     second row could be made into another. Alternatively, the first five
1377 :     ports of the first row could be a VLAN and the rest of the switch could
1378 :     be another. You can program (almost) as many VLANs as you like.
1379 :    
1380 :     The PCs in one VLAN form a broadcast domain. Computers in VLAN1 are
1381 :     all connected together and can communicate by ethernet, as usual.
1382 :     Computers in VLAN1 and computers in VLAN2 cannot talk to each other by
1383 :     default. They are disconnected, as if they were separate subnets. To
1384 :     connect them together you must either attach a cable from a port in
1385 :     VLAN1 to a port in VLAN2\footnote{There is no point in doing this,
1386 :     since you could simply join the two VLANs together by reprogramming
1387 :     them into a single VLAN using the switch supervisor engine.}, or you
1388 :     must connect them {\em logically} using a router.
1389 :    
1390 :     One of the catalyst switches has a router module that allows you to
1391 :     create virtual router interfaces between the VLANs. The larger switch
1392 :     does not have a router module, so its VLANs cannot be connected without
1393 :     the help of an external router.
1394 :    
1395 :     To create VLANs on the switch, you must be in supervisor mode (enable).
1396 :     You use the command:
1397 :     \begin{verbatim}
1398 :     set vlan <number> <port list>
1399 :     \end{verbatim}
1400 :     The ports do not have to be next to one another on the switch, so we
1401 :     have great flexibility of configuration.
1402 :    
1403 :    
1404 :     \subsection{Nortel BayStack switch}
1405 :    
1406 : mark 2 The Nortel BayStack 5510 switch is a programmable layer 3 switch that
1407 :     can be used to create VLANs, like the Cisco catalyst switches. Unlike
1408 :     one of the Catalysts, it does not have its own routing module; if you
1409 :     want to route between different VLAN subnets, you have to use the
1410 :     InterSwitch Connection protocol 801.1q., otherwise known as `tagging'.
1411 : mark 1
1412 : mark 2 The Nortel switch has twenty-four copper gigabit Ethernet ports and
1413 :     one optical gigabit Ethernet port (which replaces port 23). This can
1414 :     be used with an optical cable to connect it to the optical port on the
1415 :     Juniper M7 router. Together the Baystack and the Juniper M7 can work
1416 :     as a VLAN.
1417 :    
1418 :     The Nortel switch has a web server interface, a menu based console interface
1419 :     and a command line interface. Take you pick!
1420 :    
1421 : mark 1 \subsection{Juniper routers}
1422 :    
1423 : mark 2 The lab has two Juniper J-series 2300 routers, each with two fast
1424 :     ethernet interfaces, and a Juniper M7i router with a single optical
1425 :     Gigabit Ethernet switch. This optical interface can be used to connect
1426 :     to the Baystack switch. Together the Baystack and the Juniper M7 can
1427 :     work as a VLAN.
1428 : mark 1
1429 : mark 2 The Juniper routers are modified FreeBSD machines, with specialized
1430 :     hardware. They have a web interface and a command shell, much like Unix.
1431 :     Using the command shell is very easy and is recommended. You can type ``?''
1432 :     to get help or completions at any stage.
1433 :    
1434 :     Connecting to the console, you log in as root and can then type normal
1435 :     Unix commands:
1436 :     \begin{verbatim}
1437 :     root@amboeba\% ifconfig -a
1438 :     root@amboeba\% ls
1439 :     \end{verbatim}
1440 :     etc.
1441 :    
1442 :     The Juniper machines have a specialized shell called the Command Line
1443 :     Interface:
1444 :     \begin{verbatim}
1445 :     root@amboeba\% cli
1446 :     root@amboeba\% ping 10.10.10.10
1447 :     \end{verbatim}
1448 :    
1449 :     Once inside this, you can use ``?'' to get help. (See the example
1450 :     configurations below.)
1451 :    
1452 :     The Juniper OS uses a version control system like CVS for updating
1453 :     configurations. When in configure mode, making changes to the Juniper
1454 :     configuration, nothing is changed until you type ``commit''.
1455 :    
1456 :     \begin{verbatim}
1457 :     cli
1458 :     configure
1459 :     edit system root-authentication
1460 :     set plain-text-password
1461 :     set system host-name amoeba
1462 :     commit
1463 :     \end{verbatim}
1464 :    
1465 :    
1466 :    
1467 : mark 1 \section{Connecting computers together}
1468 :    
1469 :     {\em In this section we look at how computer are connected together by
1470 :     different kinds of hardware, starting with the simplest case of a single wire.
1471 :     We look at the most basic use of the switches: as a
1472 :     smart replacement for a multi-port repeater or hub. Each port receives
1473 :     only its own frames rather than seeing every Ethernet frame on the
1474 :     LAN.}
1475 :    
1476 :     \subsection{Connect two PCs together using a direct Ethernet to Ethernet connection}
1477 :    
1478 :     Find a NULL modem (crossover) cable and connect two PCs directly by a cable.
1479 :     Set IP addresses and default routes to the machines using any IP address
1480 :     and network of your choice. Verify that the machines can ping one another.
1481 :    
1482 :     \subsection{Connect two PCs together by a switch}
1483 :    
1484 :     \begin{enumerate}
1485 :     \item Log onto the switch in supervisor mode (enable)
1486 :     \item Find two correct cables and connect the PCs to two of the switch ports (it can be any port)
1487 :     \item Make sure that the lights on the interface are green
1488 :     \item check the ports using the command
1489 :    
1490 :     \ex
1491 :     show port
1492 :     show port x/y
1493 :     show vlan
1494 :    
1495 :     \eex
1496 :     where x in the module and y is the port number.
1497 :    
1498 :     \item Configure the PC interfaces so that they are on the same subnet
1499 :     \item Remember to create a static route from one PC to the other
1500 :    
1501 :     To configure a static route for each PC address in Linux, you might need to
1502 :     set a route table entry (depending on what version of linux you are using)
1503 :     use e.g.
1504 :     \ex
1505 :     route add 222.45.3.8 eth0
1506 :     route add 222.45.3.9 eth0
1507 :     \eex
1508 :     and so on. Note that a default route is no good here, since we do not have a router.
1509 :     Modern opersting systems should be able to handle this automatically.
1510 :    
1511 :     \item Show that you can ping one PC from the other
1512 :    
1513 :     \end{enumerate}
1514 :    
1515 :     \subsection{Showing that broadcast traffic is unrestricted with a basic switch setup}
1516 :    
1517 :     \begin{enumerate}
1518 :     \item Connect a third PC to the switch and make sure that you can ping it,
1519 :     \item You might need to set a static route to each PC in order to be able to ping between arbitrary PCs.
1520 :     \item Show that you can see the packets on all PCs if you ping to 222.45.3.255 (i.e. the broadcast address)
1521 :     (Note that older versions of tcpdump do not show ICMP traffic)
1522 :     All of these tasks so far are using the default: vlan 0.
1523 :     To make more virtual LANs we must create some logical networks in the router module.
1524 :    
1525 :     To log onto the router from the switch supervisor engine, type
1526 :     \ex
1527 :     > session 7
1528 :     \eex
1529 :     since the routing module is on slot 7. We then look to see what virtual interfaces are
1530 :     defined on the routing module. On a regular router, there would be an Ethernet-IP mapping
1531 :     for each interface. In the routing module, we have such a pair for each {\em virtual interface}.
1532 :     \sex
1533 :     Router>
1534 :     Router>
1535 :     Router>en
1536 :     Router#show ip arp
1537 :     Protocol Address Age (min) Hardware Addr Type Interface
1538 :     Internet 10.10.43.1 - 00d0.d3bf.cc00 ARPA Vlan43
1539 :     Internet 10.10.44.1 - 00d0.d3bf.cc00 ARPA Vlan44
1540 :     Internet 127.0.0.2 - 00d0.97e9.93ff ARPA Vlan0
1541 :     Internet 192.16.20.60 - 00d0.d3bf.cc00 ARPA Vlan1
1542 :     \esex
1543 :     Now get rid of vlan1
1544 :    
1545 :     \sex
1546 :     Router#config t
1547 :     Enter configuration commands, one per line. End with CNTL/Z.
1548 :     Router(config)#no interface vlan1
1549 :     Router(config)#no interface vlan43
1550 :     Router(config)#no interface vlan44
1551 :     CTRL-Z
1552 :     \esex
1553 :     Now we have only the default vlan0
1554 :     \sex
1555 :     Router#show ip arp
1556 :     Protocol Address Age (min) Hardware Addr Type Interface
1557 :     Internet 127.0.0.2 - 00d0.97e9.93ff ARPA Vlan0
1558 :     \esex
1559 :     We cannot remove this vlan - it is like having no VLANs at all. i.e. we are now using the switch
1560 :     as a "smart hub" with all ports as a single LAN.
1561 :    
1562 :     \end{enumerate}
1563 :    
1564 :     NOTE: when creating VLANs in the Catalyst switch, you need to define the
1565 :     VLAN first in the switch before you can use them as virtual interfaces in the
1566 :     router module.
1567 :    
1568 : mark 2 \subsection{Splitting our 3 PCs into 2 connected VLANs with Cisco}
1569 : mark 1
1570 :    
1571 :     We will now place 2 of the three PCs on one vlan and the third on the
1572 :     other. Once this is done we will have separated the broadcast domains
1573 :     so that a broadcast on one VLAN does not reach the PC on the other
1574 :     Vlan.
1575 :    
1576 :     A router is needed to connect together the VLANs. We configure one
1577 :     virtual interface on the router for each separate vlan. These have
1578 :     device names vlan1 vlan2 ... vlan1023. We must also configure an IP
1579 :     address for the router on each virtual interface.
1580 :    
1581 :     \noindent Note: the following does not work:
1582 :    
1583 :     \sex
1584 :     Router(config-if)#ip address 222.45.3.1
1585 :     \% Incomplete command.
1586 :     Router(config-if)#ip address 222.45.3.1 255.255.255.0
1587 :     Router(config-if)#interface vlan2
1588 :     Router(config-if)#
1589 :     \%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to d 0
1590 :     Router(config-if)#ip address 222.45.3.2 255.255.255.0
1591 :     222.45.3.0 overlaps with Vlan1
1592 :     Router(config-if)#
1593 :     \esex
1594 :     This is not allowed because the VLANs have to be on different
1595 :     subnets. This is because the router administers the separation between
1596 :     the VLANs, and its software is designed to separate traffic on subnet
1597 :     boundaries.
1598 :    
1599 :     \begin{question}
1600 :     If a router can only make VLANs out of different subnets, what is the
1601 :     point of VLANs? i.e. if the different VLANs are really different
1602 :     subnets, what is the point of having a new concept for VLANs? Hint:
1603 :     how many switches and router interfaces do you need to make separate
1604 :     subnets without vlan technology? Is there new functionality? Is there
1605 :     a cost saving?
1606 :     \end{question}
1607 :    
1608 :     \noindent Here is an example where we create two non-overlapping subnets on VLAN channels
1609 :     1 and 3.\footnote{Notice that we change addresses to a class B base
1610 :     network (120.45.x.x). The router software did not allow us to split a
1611 :     class C network into two subnets!}
1612 :     \sex
1613 :     Router>en
1614 :     Router#conf t
1615 :     Enter configuration commands, one per line. End with CNTL/Z.
1616 :    
1617 :     Router(config)#interface vlan3
1618 :     Router(config-if)#
1619 :     \%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan3, changed state to down
1620 :     Router(config-if)#
1621 :     Router(config-if)#ip address 120.45.3.129 255.255.255.128
1622 :     120.45.3.128 overlaps with Vlan2
1623 :     Router(config-if)#exit
1624 :    
1625 :     Router(config)#no interface vlan2
1626 :     Router(config)#ip address 120.45.3.129 255.255.255.128
1627 :     \%LINK-5-CHANGED: Interface Vlan2,
1628 :     Router(config)#
1629 :    
1630 :     Router(config)#interface vlan3
1631 :     Router(config-if)#ip address 120.45.3.129 255.255.255.128
1632 :     Router(config-if)#exit
1633 :     Router(config)#exit
1634 :     Router#
1635 :     \%SYS-5-CONFIG_I: Configured from console by vty0 (127.0.0.2)
1636 :     Router#sh ip arp
1637 :     Protocol Address Age (min) Hardware Addr Type Interface
1638 :     Internet 120.45.3.1 - 00d0.d3bf.cc00 ARPA Vlan1
1639 :     Internet 127.0.0.2 - 00d0.97e9.93ff ARPA Vlan0
1640 :     Internet 120.45.3.129 - 00d0.d3bf.cc00 ARPA Vlan3
1641 :     \esex
1642 :    
1643 :     Remember to make sure that the new virtual interfaces are
1644 :     administratively "up", by typing "no shutdown" in the router
1645 :     configuration. The command "show ip interface brief" is also useful
1646 :     for a quick summary.
1647 :    
1648 :     Now connect the PCs to the switch ports, and configure them. On the
1649 :     lower subnet:
1650 :     \sex
1651 :     ifconfig eth0 120.45.3.8 netmask 255.255.255.128 broadcast 120.45.3.127
1652 :     \eex
1653 :     and on the higher subnet:
1654 :     \sex
1655 :     ifconfig eth0 120.45.3.130 netmask 255.255.255.128 broadcast 120.45.3.255
1656 :     \eex
1657 :    
1658 :     After it works, you should see something like this:
1659 :    
1660 :     \sex
1661 :     router#sh ip arp
1662 :     Protocol Address Age (min) Hardware Addr Type Interface
1663 :     Internet 120.45.3.1 - 00d0.d3bf.cc00 ARPA Vlan1
1664 :     Internet 120.45.3.8 0 0060.085b.65bd ARPA Vlan1
1665 :     Internet 120.45.3.9 2 000b.db4b.3e08 ARPA Vlan1
1666 :     Internet 127.0.0.2 - 00d0.97e9.93ff ARPA Vlan0
1667 :     Internet 120.45.3.129 - 00d0.d3bf.cc00 ARPA Vlan3
1668 :     router# ping 120.45.3.8
1669 :    
1670 :     Type escape sequence to abort.
1671 :     Sending 5, 100-byte ICMP Echos to 120.45.3.8, timeout is 2 seconds:
1672 :     !!!!!
1673 :     Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
1674 :    
1675 :     router# ping 120.45.3.9
1676 :    
1677 :     Type escape sequence to abort.
1678 :     Sending 5, 100-byte ICMP Echos to 120.45.3.9, timeout is 2 seconds:
1679 :     !!!!!
1680 :     \esex
1681 :    
1682 :     \section{Security features}
1683 :    
1684 :     Find out about how to restrict MAC addresses that can connect to a port.
1685 :    
1686 :     \section{Remote connectivity}
1687 :    
1688 :     To configure the in-band Interface (Telnet Connectivity)
1689 :    
1690 :     \begin{enumerate}
1691 :     \item If you are using a local network connection to the console port, set the logical port sc0.
1692 :    
1693 :     Assign the Catalyst 5000 switch IP address to a VLAN
1694 :     The switch is assigned to the same VLAN as the one containing its IP address
1695 :     \sex
1696 :     set interface sc0 up
1697 :     set interface sc0 [vlan] [ip_addr [netmask [broadcast]]]
1698 :     \esex
1699 :    
1700 :     \item Configure static routes.
1701 :    
1702 :     \sex
1703 :     set ip route destination gateway [metric] [primary]
1704 :     \esex
1705 :    
1706 :     \item Configure a default route, if desired.
1707 :    
1708 :     \sex
1709 :     set ip route default gateway [metric] [primary]
1710 :     \esex
1711 :    
1712 :     \item Check the configuration status of the switch.
1713 :    
1714 :     \sex
1715 :     show interface
1716 :    
1717 :     \esex
1718 :    
1719 :    
1720 :     \item Display the route table entries of the configuration.
1721 :    
1722 :     \sex
1723 :     show ip route
1724 :    
1725 :     Fragmentation Redirect Unreachable
1726 :     ------------- -------- -----------
1727 :     enabled enabled enabled
1728 :    
1729 :     The primary gateway: 192.16.20.1
1730 :    
1731 :     Destination Gateway RouteMask Flags Use Interface
1732 :     --------------- --------------- ---------- ----- -------- ---------
1733 :     default 192.16.20.1 0x0 UG 2 sc0
1734 :     192.16.20.0 192.16.20.50 0xffffff00 U 89751 sc0
1735 :    
1736 :     Console> (enable) show interface
1737 :     Console> (enable)
1738 :     \esex
1739 :    
1740 :     After entering the set interface sc0 up command and the set ip route command, you see this display:
1741 :    
1742 :     \sex
1743 :    
1744 :     Console> (enable) set interface sc0 up
1745 :     Interface sc0 administratively up.
1746 :     Console> (enable) set interface sc0 192.16.20.50 255.255.255.0
1747 :     Interface sc0 IP address and netmask set.
1748 :    
1749 :     Console> (enable) show interface
1750 :     Console> (enable) show ip route
1751 :     D-Checking Port Capabilities
1752 :     \esex
1753 :    
1754 :    
1755 :     The show port capabilities command allows you to determine the
1756 :     capabilities of the modules and ports in a switch. This example shows
1757 :     you how to show the port capabilities for module 6, port 1:
1758 :    
1759 :     \sex
1760 :     Console> show port capabilities 6/1
1761 :     Model WS-X5225R
1762 :     Port 6/1
1763 :     Type 10/100BaseTX
1764 :     Speed auto,10,100
1765 :     Duplex half,full
1766 :     Trunk encap type 802.1Q,ISL
1767 :     Trunk mode on,off,desirable,auto,nonegotiate
1768 :     Channel 6/1-2,6/1-4
1769 :     \esex
1770 :    
1771 :     \end{enumerate}
1772 :    
1773 :     %%%%%%%%%
1774 :    
1775 : mark 2 \section{Creating VLANs with the Nortel-Juniper collaboration.}
1776 :    
1777 :     To make a VLAN with an external router, we create a series of VLAN
1778 :     broadcast domains on the Nortel switch, which overlap at a single port
1779 :     (here, the optical port 23). We enable 801.1q tagging on that port and
1780 :     set a VLAN id. All the traffic is then labelled or tagged by the
1781 :     switch and is sent via port 23 to the router. The router removes the
1782 :     tags and sends the relevant traffic to the relevant logical interface.
1783 :    
1784 :     To create vlans on the Juniper M7 router, we create virtual interfaces
1785 :     with Juniper's logical interface "units", and then tag them with an
1786 :     801.1Q vlan id. First we prepare the interface for 801.1q tagging:
1787 :    
1788 :     \begin{verbatim}
1789 :     root@amoeba# cli
1790 :     root@amoeba# configure
1791 :     root@amoeba# set interfaces ge-1/3/0 vlan-tagging
1792 :     \end{verbatim}
1793 :     Then we define a virtual interface for each VLAN, using the Juniper virtual ``units''.
1794 :     \begin{verbatim}
1795 :     # set interfaces ge-1/3/0 unit 0 vlan-id 0
1796 :     # set interfaces ge-1/3/0 unit 1 vlan-id 100
1797 :     # set interfaces ge-1/3/0 unit 1 family inet address 128.39.65.3/24
1798 :     # set interfaces ge-1/3/0 unit 2 vlan-id 200
1799 :     # set interfaces ge-1/3/0 unit 2 family inet address 10.10.10.10/24
1800 :     # commit
1801 :     # quit
1802 :     \end{verbatim}
1803 :    
1804 :     The unit 0 interface seems to be reserved, though we have not found this in
1805 :     any documentation. Once you enable VLAN-tagging, all of the sub-interfaces
1806 :     must have a VLAN-id, even unit 0.
1807 :    
1808 :     \begin{verbatim}
1809 :    
1810 :     # show interfaces
1811 :    
1812 :     interfaces {
1813 :     ge-1/3/0 {
1814 :     vlan-tagging;
1815 :     unit 0 {
1816 :     vlan-id 0;
1817 :     }
1818 :     }
1819 :     unit 1 {
1820 :     vlan-id 100;
1821 :     family inet {
1822 :     address 128.39.65.3/24;
1823 :     }
1824 :    
1825 :     unit 2 {
1826 :     vlan-id 200;
1827 :     family inet {
1828 :     address 10.10.10.10/24;
1829 :     }
1830 :     }
1831 :     }
1832 :     }
1833 :    
1834 :     \end{verbatim}
1835 :    
1836 :     The router should now be ready.
1837 :    
1838 :     On the Nortel Baystack, login on the console (wait for the rolling
1839 :     banner to stop!) and use the menus to configure the ports. In the
1840 :     menu system the space-bar changes a value and ENTER selects it.
1841 :    
1842 :     On the main menu, choose ``Switch Configuration'', then ``VLAN
1843 :     configuration'' then ``VLAN Port Configuration''. Under this section
1844 :     you will set two things:
1845 :     \begin{itemize}
1846 :     \item AutoPVID (all ports) should be enabled.
1847 :     \item Tagging should be switched off on all ports except the trunking port (23).
1848 :     \end{itemize}
1849 :     \small
1850 :     \begin{verbatim}
1851 :     VLAN Port Configuration
1852 :    
1853 :     Port: [ 1 ]
1854 :     Filter Untagged Frames: [ No ]
1855 :     Filter Unregistered Frames: [ No ]
1856 :     Port Name: [ Port 1 ]
1857 :     PVID: [ 100 ]
1858 :     Port Priority: [ 0 ]
1859 :     Tagging: [ Untag All ]
1860 :    
1861 :     AutoPVID (all ports): [ Enabled ]
1862 :    
1863 :     VLAN Port Configuration
1864 :    
1865 :     Port: [ 23 ]
1866 :     Filter Untagged Frames: [ No ]
1867 :     Filter Unregistered Frames: [ No ]
1868 :     Port Name: [ Port 23 ]
1869 :     PVID: [ 1 ]
1870 :     Port Priority: [ 0 ]
1871 :     Tagging: [ Tag All ]
1872 :    
1873 :     AutoPVID (all ports): [ Enabled ]
1874 :     \end{verbatim}
1875 :     \normalsize
1876 :     Turning on auto PVID on all ports maps the VLAN id-number to the
1877 :     port series number automatically. Now go back to the menu above and choose
1878 :     ``VLAN configuration''.
1879 :     \begin{itemize}
1880 :     \item Create VLAN 100, and enable it.
1881 :     \item Create VLAN 200. and enable it.
1882 :     \end{itemize}
1883 :     Use the port membership interface to set the ports you want to belong
1884 :     to the current VLAN:
1885 :     \small
1886 :     \begin{verbatim}
1887 :     VLAN Configuration
1888 :    
1889 :     Create VLAN: [ 100 ] VLAN Type: [ Port-Based ]
1890 :     Delete VLAN: [ ] Protocol Id (PID): [ None ]
1891 :     VLAN Name: [ VLAN #100 ] User-Defined PID: [ 0x0000 ]
1892 :     Management VLAN: [ No ] Now: 1 VLAN State: [ Active ]
1893 :    
1894 :    
1895 :     Port Membership
1896 :     1-6 7-12 13-18 19-24
1897 :     ------ ------ ------ ------
1898 :    
1899 :     Unit #1 ++++++ ------ ------ ----+-
1900 :    
1901 :     KEY: + = A Member of This VLAN, - = Not a Member of This VLAN
1902 :     Use space bar to display choices, press <Return> or <Enter> to select choice.
1903 :     Press Ctrl-R to return to previous menu. Press Ctrl-C to return to Main Menu.
1904 :     \end{verbatim}
1905 :     \normalsize
1906 :     Note that you have to make sure the VLANs do not overlap on the ports yourself.
1907 :     Except on the trunk port (23), where they must overlap.
1908 :    
1909 :    
1910 :    
1911 :     Note that the Nortel switch a somewhat sensitive to the order in which
1912 :     you do things. If you find that a VLAN is not working, try undefining
1913 :     or deleting the VLAN and re-defining it. Remember to turn on AutoPVID first.
1914 :     If you get stuck, you can always choose to reset the switch to factory defaults
1915 :     and start again.
1916 :    
1917 :     Place one PC on VLAN 100 and another on VLAN 200, and make sure you can ping your
1918 :     way around the network.
1919 :     Remember to set the default routes on the PCs to point to the router addresses.
1920 :     Since all interfaces are local, you should not need to run a routing protocol.
1921 :     \small
1922 :     \begin{verbatim}
1923 :     pc-100# ifconfig eth0 128.39.65.77 netmask 255.255.255.0 broadcast 128.39.65.255
1924 :     pc-100# route add default gw 128.39.65.3
1925 :    
1926 :     pc-200# ifconfig eth0 10.10.10.2 netmask 255.255.255.0 broadcast 10.10.10.255
1927 :     pc-200# route add default gw 10.10.10.10
1928 :    
1929 :     pc100# ping 128.38.65.3
1930 :     pc100# ping 10.10.10.10
1931 :     pc100# ping 10.10.10.2
1932 :     \end{verbatim}
1933 :     \normalsize
1934 :    
1935 : mark 1
1936 : mark 6 \part{Suggested In-depth Experiments}
1937 : mark 1
1938 :     \chapter{Advanced routing}
1939 :    
1940 :     %%%%%%%%%
1941 :     \begin{expt}
1942 :    
1943 :     The purpose of this experiment is to develop your experience with
1944 :     the simplest distance vector routing protocols.
1945 :    
1946 :     \begin{itemize}
1947 :     \item {\bf Estimated time}: Three weeks
1948 :     \item {\bf Preparation}: Read about
1949 :     \item {\bf Equipment}: PCs routers and switches.
1950 :     \item {\bf How to leave the lab after session}: No configurations must be stored.
1951 :     \end{itemize}
1952 :     \end{expt}
1953 :    
1954 :    
1955 :     This experiment starts with the scenario described in the preliminary
1956 :     course MS003A between routers in Oslo and Paris. You should not
1957 :     configure OSPF in this exercise however.
1958 :    
1959 :     \section{RIP V1/V2}
1960 :    
1961 :     The first part of the experiment is about the Routing Internet
1962 :     Protocol. In the course MS003A, only the basic version 1 protocol was
1963 :     discussed, but several improvements have been made to RIP that make it
1964 :     a workable solution for small network clusters.
1965 :    
1966 :     You can use the text book {\em Cisco Cookbook}, chapter 6 to help you with this exercise.
1967 :    
1968 :     \begin{enumerate}
1969 :    
1970 :     \item Configure RIP on Paris, Oslo and Backbone and verify that RIP is up and running
1971 :     \sex
1972 :     128.39.0.0/16 is variably subnetted, 2 subnets, 2 masks
1973 :     R 128.39.0.0/16 [120/1] via 10.10.43.3, 00:00:03, Ethernet0
1974 :     10.0.0.0/24 is subnetted, 2 subnets
1975 :    
1976 :     backbone#sh ip route rip
1977 :     128.39.0.0/16 is variably subnetted, 2 subnets, 2 masks
1978 :     R 128.39.0.0/16 [120/1] via 10.10.43.3, 00:00:18, FastEthernet0/0
1979 :     \esex
1980 :     This shows which route has been learned by the router.
1981 :    
1982 :     RIP is a distance vector protocol which broadcasts its full
1983 :     routing table to all routers in the network. The advertised routes are
1984 :     received by all the other routers. These routers regularly update their
1985 :     forwarding tables.
1986 :    
1987 :     \sex
1988 :     23:19:28: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (10.10.43.2)
1989 :     23:19:28: network 222.45.3.0, metric 1
1990 :     23:19:28: RIP: sending v1 update to 255.255.255.255 via FastEthernet0 (222.45.3)
1991 :     23:19:28: default, metric 1
1992 :     23:19:28: network 128.39.0.0, metric 2
1993 :     23:19:28: network 10.0.0.0, metric 1
1994 :     23:19:34: RIP: received v1 update from 10.10.43.3 on Ethernet0
1995 :     23:19:34: 128.39.0.0 in 1 hops
1996 :     23:19:56: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (10.10.43.2)
1997 :     23:19:56: network 222.45.3.0, metric 1
1998 :     23:19:56: RIP: sending v1 update to 255.255.255.255 via FastEthernet0 (222.45.3)
1999 :     23:19:56: default, metric 1
2000 :     23:19:56: network 128.39.0.0, metric 2
2001 :     23:19:56: network 10.0.0.0, metric 1
2002 :     23:20:04: RIP: received v1 update from 10.10.43.3 on Ethernet0
2003 :     23:20:04: 128.39.0.0 in 1 hops
2004 :     23:20:24: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (10.10.43.2)
2005 :     23:20:24: network 222.45.3.0, metric 1
2006 :     23:20:24: RIP: sending v1 update to 255.255.255.255 via FastEthernet0 (222.45.3)
2007 :     23:20:24: default, metric 1
2008 :     23:20:24: network 128.39.0.0, metric 2
2009 :     23:20:24: network 10.0.0.0, metric 1
2010 :     23:24:57: RIP: received v1 update from 10.10.43.4 on Ethernet0
2011 :     23:24:57: 0.0.0.0 in 1 hops
2012 :     23:24:57: 198.18.1.0 in 1 hops
2013 :     23:24:57: 199.19.1.0 in 1 hops
2014 :     \esex
2015 :    
2016 :     \item There's a number of techniques that are used to reduce the complexity and the
2017 :     issue of large periodic broadcasting. By reading in the course texts, find out what these are and
2018 :     use them to:
2019 :     \begin{itemize}
2020 :     \item Speed up the convergence time.
2021 :     \item Reduce the bandwidth utilization on the network.
2022 :     \item Manage the network in general: i.e. specify routes, filter routes and summarize routes.
2023 :     \end{itemize}
2024 :    
2025 :    
2026 :     % Timers for update, route maps, filtering, triggered updates, interface-passive command, RIP authentication?
2027 :    
2028 :     \item Add a loopback interface on the network with the same network as the Oslo network but a different subnet
2029 :     Show the routing summary output from RIP and explain the result you get. What is happening?
2030 :    
2031 :     \item Try to prevent the updating on an interface by using a {\tt passive-interface} command.
2032 :    
2033 :     \end{enumerate}
2034 :    
2035 :    
2036 :     \section{EIGRP - an improved RIP?}
2037 :    
2038 :     You can use the text book {\em Cisco Cookbook}, chapter 7 to help you with this exercise.
2039 :    
2040 :     \begin{enumerate}
2041 :    
2042 :     \item Configure basic EIGRP on the network now and compare it with RIP
2043 :     Can you use the same techniques as with RIP? What is the advantage of using EIGRP instead of RIP?
2044 :     Which one would you recommend to your customer (explain your answer)?
2045 :    
2046 :     \item Load balancing is the capability of a router to distribute traffic over all its network ports
2047 :     that are the same distance from the destination address. Load balancing increases
2048 :     the utilization of network segments. This means that it increases the network
2049 :     capacity. There are two types of load balancing: {\em equal cost path} and {\em unequal
2050 :     cost path}.
2051 :    
2052 :     Do some reading so that you will understand how unequal cost path load
2053 :     balancing works in the Enhanced Interior Gateway Routing Protocol (EIGRP).
2054 :     Test out the flow of traffic on balanced routes, explaining what
2055 :     tools you use to make measurements.
2056 :     \end{enumerate}
2057 :    
2058 :     \section{Routing loops}
2059 :    
2060 :     Recall the problem of routing loops and counting to infinity.
2061 :     Several methods and techniques exist for preventing these problems:
2062 :     \begin{itemize}
2063 :     \item Split horizon: never advertise a route out of the interface through which you learned it.
2064 :     \item Poison reverse: once you learn of a route through an interface, advertise it as unreachable back through that same interface.
2065 :     \end{itemize}
2066 :     If you have time, learn about these methods and test them out.
2067 :    
2068 :    
2069 :     \chapter{BGP Policies and Virtual Tunnels}
2070 :    
2071 :     %%%%%%%%%
2072 :     \begin{expt}
2073 :     The purpose of this experiment is to become more familiar with the
2074 :     BGP routing system and with concepts such as peering.
2075 :     \begin{itemize}
2076 :     \item {\bf Estimated time}: Three weeks
2077 :     \item {\bf Preparation}: Read about BGP and Virtual Tunnels.
2078 :     \item {\bf Equipment}: PCs routers and switches.
2079 :    
2080 :    
2081 :     \item {\bf How to leave the lab after session}: No configurations must be stored.
2082 :     \end{itemize}
2083 :     \end{expt}
2084 :    
2085 :    
2086 :    
2087 :     In this experiment you must set up a network consisting of three
2088 :     autonomous systems. The underlying routing can be configured by
2089 :     any suitable method.
2090 :    
2091 :     \section{Autonomous systems}
2092 :    
2093 :     \begin{figure}[ht]
2094 :     \psfig{file=bgp.eps,width=12cm}
2095 :     \caption{A fragment of AS1 tunnels though AS2 in order to be contiguous with its larger parent network region.}
2096 :     \end{figure}
2097 :    
2098 :     Use 2 routers in AS2 and 1 router in all the other domain fragments
2099 :     above. The two routers in AS2 should communicate with iBGP and there
2100 :     should be eBGP communication between the ASs.
2101 :    
2102 :     The question in this exercise is: what happens to the smaller fragment of
2103 :     AS1 on the left hand side of the figure? Suppose that this is a branch office of
2104 :     a larger company that is geographically separate from the
2105 :     main centre. Formally, one would like the entire company to be
2106 :     identified with AS1, but the BGP believes that the routing
2107 :     domain is a convex region with a definite boundary.
2108 :    
2109 :     The way one normally handles this is to create a point to point link that
2110 :     makes the two sub-regions into a convex one. This can be done by one of two methods:
2111 :     \begin{itemize}
2112 :     \item A physical point-to-point connection from the sub-region to the main region.
2113 :     \item A virtual ``tunnel'' from the sub-region to the main region.
2114 :     \end{itemize}
2115 :     Virtual tunnels are a part of the IPSec functionality, for instance.
2116 :    
2117 :     Create a secure tunnel from the fragment of AS1 to the main region
2118 :     and tie them together with the underlying routing protocol.
2119 :    
2120 :     \section{Peering}
2121 :    
2122 :     Add a direct connection between AS1 and AS3 and
2123 :     create a peer group between AS1 and AS2 so that they share policy.
2124 :     Describe the filtering policies that you implement.
2125 :    
2126 :    
2127 :     \section{Configuration errors}
2128 :    
2129 :     One of the problems with policy based management is that there is
2130 :     no one policing the consistency of the rules at different parts of
2131 :     the network. What happens if two ASs advertise the same routes as being
2132 :     local to themselves?
2133 :    
2134 :     Use the routers to create a "black hole" in which one of the ASs
2135 :     advertises a network that it does not have. Show how this causes a
2136 :     problem for the inter-AS routing.
2137 :    
2138 :     \section{Equilibration}
2139 :    
2140 :     Measure how long it takes for a consistent configuration to emerge in
2141 :     the BGP network above when a change is made.
2142 :    
2143 :     \chapter{Traffic Shaping and Quality of Service}
2144 :    
2145 :     %%%%%%%%%
2146 :     \begin{expt}
2147 :    
2148 :     The purpose of this experiment is to perform a scientific study of
2149 :     network performance under varying load. You will need to study methods
2150 :     of measurement and inquiry and plan how to proceed. You must present your
2151 :     report detailing the method, results and conclusions of your study.
2152 :     \begin{itemize}
2153 :     \item {\bf Estimated time}: Four to five weeks
2154 :     \item {\bf Preparation}: Read about measurement and scientific method. Recall exercises on frame relay. Read about traffic shaping and Quality of Service.
2155 :     \item {\bf Equipment}: PCs, routers and switches.
2156 :     \item {\bf How to leave the lab after session}: No configurations must be stored.
2157 :     \end{itemize}
2158 :     \end{expt}
2159 :    
2160 :     \begin{figure}[ht]
2161 :     \psfig{file=shaping.eps,width=11cm}
2162 :     \end{figure}
2163 :    
2164 :     You can use the course book {\em Cisco Cookbook}, chapter 10.1 and 10.4 etc.
2165 :     to help you here.
2166 :    
2167 :     \section{Scenario 1}
2168 :    
2169 :     Imagine a small group of organizations that share a connection to the
2170 :     Internet by a leased line. In this experiment you will measure the
2171 :     performance (under varying loads) of a router with multiple hosts. Set up
2172 :     a scenario for sharing the bandwidth of a trunk line that will be shared
2173 :     equally between several end hosts. Various functionality exists in IOS:
2174 :    
2175 :    
2176 :     \begin{itemize}
2177 :     \item Bandwidth management through rate limiting - Allows you to control the maximum rate of traffic sent or received on an interface.
2178 :     \item Traffic policing is often configured on interfaces at the edge of a network to limit traffic into or out of the network.
2179 :     \item Traffic that falls within the rate parameters is sent, whereas traffic that exceeds the parameters is dropped, or sent with a different priority.
2180 :     \item Packet marking through IP precedence, QoS group and so on.
2181 :     \end{itemize}
2182 :    
2183 :     The idea of this experiment is to pick a protocol with Quality of
2184 :     Service (QoS)/traffic shaping support and compare this to a
2185 :     competitively shared medium like Ethernet. Determine how these
2186 :     different strategies compare in performance when traffic is low/high and when the
2187 :     number of users sharing the link is low/high?
2188 :    
2189 :     Referring to the figure above, you might choose to create 4 virtual
2190 :     sub-interfaces on the left hand side, with four different virtual
2191 :     circuits between end nodes and the right hand side. You would then compare
2192 :     this to four Ethernet nodes connected directly by a hub or LAN switch on the
2193 :     left.
2194 :    
2195 :     When planning this experiment, think of the following points:
2196 :     \begin{enumerate}
2197 :     \item You should think about the problem above and interpret it in terms of the equipment
2198 :     you have available.
2199 :     \item What protocols and data rates will you use? (10MB Ethernet, 100MB Ethernet? 56kB Frame Relay?)
2200 :     You will want to address questions like:
2201 :    
2202 :     \begin{itemize}
2203 :     \item How much of the prioritized bandwidth is idle under different loads?
2204 :     \item At which points in the network will you monitor the flows of traffic?
2205 :     \item What will you use to monitor the flows? (ttcpd? show interface etc.)
2206 :     \item What will you use to generate the flows? (ttcpd, private program etc)
2207 :     \end{itemize}
2208 :    
2209 :     \item You are asked, below, to find the change in behaviour of the system
2210 :     when you vary just one of many parameters that could be changed.
2211 :     Explain how you will isolate these independent channels of cause-effect.
2212 :     \end{enumerate}
2213 :    
2214 :     You can not simulate the huge amounts of data that would be used in a
2215 :     real organization, so you will have to scale your experiment down to
2216 :     simulate a realistic case in the lab. Be sure to explain carefully how
2217 :     you do this.
2218 :    
2219 :     In order to compare the performance of different sharing policies,
2220 :     you will have to do some thinking. We do not have an Ethernet and
2221 :     a Frame Relay connection with the same channel capacity, so you will have
2222 :     to measure the efficiencies and compare them by scaling or dividing by the
2223 :     maximum for that medium.
2224 :    
2225 :     \section{Measurements}
2226 :    
2227 :     Once you have designed your experiment and the system is working:
2228 :    
2229 :     \begin{enumerate}
2230 :     \item Define a measure of performance for each protocol: how much of the
2231 :     potential channel capacity is being used, e.g.
2232 :    
2233 :     If the total channel capacity is $C$ and we split it into 3 shares, then it should be possible
2234 :     to insert $C/3$ from each end host without problems. How much of this traffic actually arrives
2235 :     however? What happens if you try to send more than $C/3$?
2236 :    
2237 :     \item How does the relative performance of the transmission vary between Ethernet and Frame Relay with the amount of traffic? i.e. as the maximum channel capacity is approached, how quickly are data sent? To be thorough, you can try both Frame Relay with and without traffic shaping limits.
2238 :    
2239 :     \item How does the performance of total transmission vary with the number of users?
2240 :     \item How does the performance of each customer's transmission vary with the number of users, assuming an equal share to all?
2241 :     \end{enumerate}
2242 :    
2243 :     What data will you have to record to find answers to the questions above?
2244 :     How many times must you repeat the experiments to obtain a sensible answer?
2245 :     Use elementary statistics to show how reliable your estimates are.
2246 :    
2247 :    
2248 :     \section{Scenario 2}
2249 :    
2250 : mark 5 Frame-relay traffic shaping can also be applied to multi-service
2251 :     links. Find out, for instance, how to do Voice over IP by connecting
2252 :     an analogue telephone to the FX ports (on those routers that have
2253 :     them).
2254 : mark 1 \begin{enumerate}
2255 :     \item Start with configuring a frame-relay network with point to point sub-interfaces
2256 :    
2257 :     \item After checking that the frame-relay is active use QoS to enable traffic shaping on the network
2258 :    
2259 :     Here's a sample that show a traffic shaping configuration
2260 :    
2261 :     \sex
2262 :     policy-map mypolicy
2263 :     class voice
2264 :     priority 16
2265 :     class priority-data
2266 :     bandwidth 16
2267 :     class other-data
2268 :     priority 5
2269 :    
2270 :     !--- Create a policy-map and apply the bandwidth
2271 :     !--- command to a class.
2272 :    
2273 :     !
2274 :     int s0/1
2275 :     encapsulation frame-relay IETF
2276 :     load-interval 30
2277 :     frame-relay traffic-shaping
2278 :    
2279 :     !--- Enable Frame Relay TS.
2280 :    
2281 :     !
2282 :     interface Serial0/0.1 point-to-point
2283 :     frame-relay interface-dlci 160
2284 :     class frclass
2285 :    
2286 :     !--- Apply the map-class to the Frame Relay PVC.
2287 :    
2288 :     !
2289 :     map-class frame-relay frclass
2290 :     service-policy output mypolicy
2291 :     frame-relay cir 64000
2292 :     frame-relay bc 640
2293 :    
2294 :     !--- Apply the service-policy inside the map-class
2295 :    
2296 :     \esex
2297 :    
2298 :     \end{enumerate}
2299 :    
2300 :    
2301 :    
2302 :    
2303 :    
2304 :    
2305 :    
2306 :    
2307 :    
2308 :     \chapter{Wireless Networking}
2309 :    
2310 :     %%%%%%%%%
2311 :     \begin{expt}
2312 :    
2313 :     The purpose of this experiment is to perform a scientific study of
2314 :     wireless network performance.
2315 :     \begin{itemize}
2316 :     \item {\bf Estimated time}: Two weeks
2317 :     \item {\bf Preparation}: Read about wireless transmission and security.
2318 :     \item {\bf Equipment}: PCs, routers and switches. Wireless sender.
2319 :    
2320 :    
2321 :     \item {\bf How to leave the lab after session}: No configurations must be stored.
2322 :     \end{itemize}
2323 :     \end{expt}
2324 :    
2325 :     Imagine creating a wireless network for a small business or home.
2326 :     Set up a wireless transmitted/receiver, connected to a LAN switch and
2327 :     use a PC connected to the LAN to send and receive traffic to a mobile
2328 :     laptop PC with a network card.
2329 :    
2330 :     In this exercise you will be asked to test out the physical properties
2331 :     of wireless communication. You will need to find a way to measure data
2332 :     dates and signal strength and estimate the uncertainty in your measurements.
2333 :    
2334 :     \begin{itemize}
2335 :     \item Measure how far away from the source you can be.
2336 :     \item What materials shield the signal from the sender?
2337 :     \item Integrate the wireless network with the VLANs.
2338 :     \end{itemize}
2339 :    
2340 :     You can investigate anything that you like, but you should at least investigate the following
2341 :     and collect data for analysis:
2342 :     \begin{enumerate}
2343 :     \item Test the wireless network by line of sight (with no walls etc in between).
2344 :     \begin{enumerate}
2345 :     \item Plot the signal strength $S$ against the inverse distance $1/d$ and its square $1/d^2$.
2346 :     \item Plot the maximum data rate against the inverse distance $1/d$ and its square $1/d^2$.
2347 :     \end{enumerate}
2348 :     Comment on the graphs that you have obtained.
2349 :    
2350 :     \item Test two or three substances (walls, metals, clothing etc) for their signal shielding properties.
2351 :     Find a substance that will block transmission. Does it matter whether there are holes in the
2352 :     material? What thickness of your chosen materials will stop the signal completely (so that it
2353 :     is indistinguishable from noise)?
2354 :    
2355 :     For example, try to get hold of some `chicken wire' or garden
2356 :     fencing and see whether it shields the signal from the wireless transmitter.
2357 :     \end{enumerate}
2358 :    
2359 :    
2360 :    
2361 :    
2362 :    
2363 :     \chapter{VPN and IPSec}
2364 :    
2365 :     %%%%%%%%%
2366 :     \begin{expt}
2367 :    
2368 :     The purpose of this experiment is to explore possibilities inherent in
2369 :     IPSec and virtual tunnelling technologies.
2370 :     \begin{itemize}
2371 :     \item {\bf Estimated time}: Four weeks
2372 :     \item {\bf Preparation}: Read about security.
2373 :     \item {\bf Equipment}: PCs, routers with sufficient memory and CPU.
2374 :    
2375 :    
2376 :     \item {\bf How to leave the lab after session}: No configurations must be stored.
2377 :     \end{itemize}
2378 :     \end{expt}
2379 :    
2380 :    
2381 :    
2382 :     \begin{itemize}
2383 :    
2384 :     \item Software encryption:
2385 :     \begin{itemize}
2386 :     \item Cisco IOS Release 12.1(3)XI or later.
2387 :     \end{itemize}
2388 :     \item Hardware encryption.
2389 :     For the 3600 series routers, you will need
2390 :     \begin{itemize}
2391 :     \item Data encryption Advanced Integration Module (AIM)
2392 :     \item Network Module (NM) provide hardware-based encryption.
2393 :     \end{itemize}
2394 :     The data encryption AIMs and NM are hardware Layer3 (IPSec) encryption modules and provide DES and Triple DES IPSec encryption for multiple E1s of bandwidth. They also have hardware support for Diffie-Hellman, RSA, and DSA key generation.
2395 :     \end{itemize}
2396 :    
2397 :     IPSEC commands on a 3660 router:
2398 :     \sex
2399 :     crypto isakmp policy 10
2400 :     hash md5
2401 :     authentication pre-share
2402 :     crypto isakmp key cisco123 address X.X.X.X
2403 :     !
2404 :     crypto ipsec transform-set myset esp-des esp-md5-hmac
2405 :     !
2406 :     crypto map mymap local-address FastEthernet0/0
2407 :     crypto map mymap 10 ipsec-isakmp
2408 :     set peer X.X.X.X
2409 :     set transform-set myset
2410 :     match address 101
2411 :     !
2412 :     interface Tunnel0
2413 :     ip address X.X.X.X 255.X.X.X
2414 :     no ip directed-broadcast
2415 :     ipx network BB
2416 :     tunnel source FastEthernet0/1
2417 :     tunnel destination X.X.X.X
2418 :     crypto map mymap
2419 :     \esex
2420 :    
2421 :    
2422 :    
2423 :     \chapter{Virtual machines and large installation configuration}
2424 :    
2425 :     \begin{expt}
2426 :    
2427 :     The purpose of this experiment is to investigate the problem of managing
2428 :     a large number of computers that are networked together. Since we do not
2429 :     have a large number of computers, you will simulate them using virtual machines.
2430 :    
2431 :     \begin{itemize}
2432 :     \item {\bf Estimated time}: Three weeks
2433 :     \item {\bf Preparation}: Read about User-Mode Linux and test it out. Read about getting started with cfengine.
2434 :     \item {\bf Equipment}: hosts netlab1-netlab4.
2435 :    
2436 :    
2437 :     \item {\bf How to leave the lab after session}: simulations can run if there are sufficient
2438 :     resources.
2439 :     \end{itemize}
2440 :     \end{expt}
2441 :    
2442 :     \section{Virtual networks}
2443 :    
2444 : mark 5 You should spend a week learning how to configure User Mode Linux and
2445 :     designing a network structure, with two subnets.
2446 : mark 1
2447 :     \section{Managing the network}
2448 :    
2449 :     Once you are familiar with how to create a virtual network simulation:
2450 :     \begin{enumerate}
2451 :     \item Using User-Mode Linux, design and set up a network consisting of two different subnets
2452 :     and about fifty machines. Give your subnets different subnet masks.
2453 :    
2454 :     \item Set up E-mail services, several web servers and use cfengine to manage the hosts.
2455 :    
2456 :     \item Simulate the activity of users by writing scripts that create files and use up CPU and memory, and using programs like {\tt wget} to simulate
2457 :     web downloads.
2458 :    
2459 :     \item You should set up cfengine to report to you as system administrator by E-mail.
2460 :     Investigate how well the cfengine management scales with numbers of machines, especially
2461 :     when files are being distributed from a central origin.
2462 :    
2463 :     \item Can you make your network run on IPv6?
2464 :     \end{enumerate}
2465 :    
2466 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2467 :    
2468 : mark 5
2469 :    
2470 :     \chapter{Sensor monitoring}
2471 :    
2472 :     \begin{expt}
2473 :    
2474 :     The purpose of this experiment is to build a custom
2475 :     temperature-monitoring system and gather temperature information from
2476 :     the lab using Smartec temperature sensors. This project includes two
2477 :     parts:
2478 :    
2479 :    
2480 :     \begin{itemize}
2481 :     \item {\bf Estimated time}: Two weeks
2482 :     \item {\bf Preparation}: Construction, soldering, SNMP.
2483 :     \item {\bf Equipment}: hosts netlab1-netlab4.
2484 :    
2485 :    
2486 :     \item {\bf How to leave the lab after session}: simulations can run if there are sufficient
2487 :     resources.
2488 :     \end{itemize}
2489 :     \end{expt}
2490 :    
2491 :     This project requires some basic knowledge about electrical circuits, and
2492 :     it is an advantage with some soldering experience.
2493 :    
2494 :     \begin{enumerate}
2495 :     \item Assemble the temperature kit by soldering a semiconductor
2496 :     temperature sensor and the temperature acquisition board together. You
2497 :     can attach up to 4 sensor to one temperature acquisition board.
2498 :    
2499 :     \item Collect the temperature data from the temperature acquisition board,
2500 :     as a time-series, and find a way to store long-term temperature
2501 :     data. Visualize the temperature development using e.g. RRDTool,
2502 :     xmgrace or gnuplot (RRDTools is recommended due to its round robin
2503 :     design!).
2504 :    
2505 :     \end{enumerate}
2506 :     What is considered acceptable temperatures for the different equipment?
2507 :     How is the temperature in the racks affected by optimizing the air flow?
2508 :     What are the differences in temperature between the intake and the outtake?
2509 :    
2510 :     If you have more time you can also gather all the temperature
2511 :     information on a single web page so that it can be included in the NOC*.
2512 :    
2513 :     \small
2514 :     \begin{verbatim}
2515 :    
2516 :     http://www.smartec.nl/temperature_kit.htm
2517 :     http://www.smartec.nl/temperature_sensor.htm
2518 :     \end{verbatim}
2519 :     \normalsize
2520 :    
2521 :    
2522 :    
2523 :    
2524 :    
2525 :     \chapter{XEN Virtual machines}
2526 :    
2527 :     \begin{expt}
2528 :    
2529 :     The purpose of this experiment is to explore the XEN virtualization
2530 :     technology and measure the performance overhead and scalability of
2531 :     XEN virtual machines.
2532 :    
2533 :     \begin{itemize}
2534 :     \item {\bf Estimated time}: Three weeks
2535 :     \item {\bf Preparation}: Read about XEN and set up some virtual machines.
2536 :     \item {\bf Equipment}: Available PCs.
2537 :    
2538 :    
2539 :     \item {\bf How to leave the lab after session}:
2540 :    
2541 :     \end{itemize}
2542 :     \end{expt}
2543 :    
2544 :     The authors of Xen claim that running a machine as a Xen domain
2545 :     instantiation only adds a worst-case overhead of 8\% and an average overhead
2546 :     of 2\%.
2547 :    
2548 :     Experiment with creating, destroying, and migrating Xen domains from
2549 :     one PC to another. See how the performance worsens as the number of
2550 :     concurrent machines is increased.
2551 :    
2552 :    
2553 :     \small
2554 :     \begin{verbatim}
2555 :    
2556 :     http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
2557 :    
2558 :     http://www.cl.cam.ac.uk/Research/SRG/netos/xen/documentation.html
2559 :    
2560 :     http://www.fedoraproject.org/wiki/FedoraXenQuickstart
2561 :    
2562 :     \end{verbatim}
2563 :     \normalsize
2564 :    
2565 :    
2566 :     \chapter{XORP router}
2567 :    
2568 :     \begin{expt}
2569 :    
2570 :    
2571 :    
2572 :     The purpose of this experiment is to build a XORP router
2573 :     and measure the performance by comparing it to Cisco and Juniper
2574 :     routers.
2575 :    
2576 :     \begin{itemize}
2577 :     \item {\bf Estimated time}: Four weeks
2578 :     \item {\bf Preparation}: Read about XORP and collect the necessary equipment.
2579 :     \item {\bf Equipment}: Available PCs.
2580 :    
2581 :    
2582 :     \item {\bf How to leave the lab after session}:
2583 :    
2584 :     \end{itemize}
2585 :     \end{expt}
2586 :    
2587 :     \begin{enumerate}
2588 :    
2589 :     \item Build a software router using XORP.
2590 :    
2591 :     \item Perform a qualitative comparison of the functionality of the router
2592 :     with the commerical routing equipment in the lab.
2593 :    
2594 :     \item Measure its performance in terms of routing table convergence and
2595 :     packet transmission rate, etc, for at least two different protocols.
2596 :    
2597 :    
2598 :     \item How do old and new routers compare to the XORP router?
2599 :    
2600 :     \item Are there any advantages to the XORP approach over
2601 :     a dedicated commerical router?
2602 :     \end{enumerate}
2603 :    
2604 :    
2605 :     \chapter{Linux Terminal Server Project}
2606 :    
2607 :     \begin{expt}
2608 :    
2609 :    
2610 :    
2611 :     The purpose of this experiment is to measure the response and
2612 :     scalability of Linux running over a virtual terminal server.
2613 :     You should formulate some questions of your own.
2614 :    
2615 :     \begin{itemize}
2616 :     \item {\bf Estimated time}: Three weeks
2617 :     \item {\bf Preparation}: Read about LTSP and set up some instances.
2618 :     \item {\bf Equipment}: Available PCs.
2619 :    
2620 :    
2621 :     \item {\bf How to leave the lab after session}:
2622 :    
2623 :     \end{itemize}
2624 :     \end{expt}
2625 :    
2626 :     \begin{enumerate}
2627 :     \item Build and configure a LTSP network using either LTSP or Skolelinux, with
2628 :     and at least four thin clients.
2629 :    
2630 :     \item How many clients can connected at the
2631 :     same time?
2632 :    
2633 :     \item How much load can a single server handle before the system
2634 :     becomes unusable (in terms of delay and "sluggishness").
2635 :    
2636 :     \item What are the
2637 :     bottlenecks?
2638 :    
2639 :     \item What is more important; the number of clients, or the power
2640 :     (RAM/CPU) of the server?
2641 :    
2642 :     \item What about scalability? How does this solution
2643 :     compare to other comparable technologies such as RDP (Windows) and
2644 :     Nomachine?
2645 :    
2646 :    
2647 :     \end{enumerate}
2648 :    
2649 :    
2650 : mark 1 \chapter{High availability web services}
2651 :    
2652 :    
2653 :    
2654 :     \begin{expt}
2655 :    
2656 :     The purpose of this experiment is to investigate strategies for redundant, high-volume
2657 :     network services.
2658 :    
2659 :     \begin{itemize}
2660 :     \item {\bf Estimated time}: Three weeks
2661 :     \item {\bf Preparation}: Read about User-Mode Linux and test it out. Read about getting started with cfengine.
2662 :     \item {\bf Equipment}: hosts netlab1-netlab4.
2663 :    
2664 :    
2665 :     \item {\bf How to leave the lab after session}: simulations can run if there are sufficient
2666 :     resources.
2667 :     \end{itemize}
2668 :     \end{expt}
2669 :    
2670 :     \begin{enumerate}
2671 :     \item Set up a GNU/Linux Apache web server on a relatively old (slow) PC and test its ability
2672 :     to serve files.
2673 :    
2674 :     \item Investigate how the performance of the server varies with the number of pre-forked
2675 :     processes and the configuration parameter that governs the maximum number of servers.
2676 :     Measure the latency (average time to wait) and the average data rate, using tools of your own choice.
2677 :    
2678 :     \item Create a load balancer that allows you to connect two PCs in parallel. How does the performance
2679 :     f this parallel configuration compare to the performance of a single machine as the same parameters
2680 :     are varied as above.
2681 :    
2682 :     \item Install a Microsoft Windows 2000 Internet Information Server (IIS) and compare its
2683 :     performance with a single Apache server on Linux, on the same hardware. Compare the performance
2684 :     of the servers, the latency and the scalability of these two solutions. Can you say whether one or the
2685 :     other is ``better''?
2686 :    
2687 :     \item Suggest a design for a high volume server.
2688 :     \end{enumerate}
2689 :    
2690 :    
2691 :    
2692 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2693 :    
2694 : mark 4 \chapter{Disk and RAID performance}
2695 : mark 1
2696 :    
2697 :     \begin{expt}
2698 :    
2699 : mark 4 The purpose of this experiment is to investigate the performance of
2700 :     ATA (IDE) and SCSI disks under different loads and to test the
2701 :     performance penalty for using RAID solutions. You should design an
2702 :     experiment to stress test these technologies under single and
2703 :     multi-user access.
2704 : mark 1
2705 :     \begin{itemize}
2706 :     \item {\bf Estimated time}: Two to three weeks
2707 :     \item {\bf Preparation}: Read about ATA (IDE) and SCSI disks, their strengths and weaknesses.
2708 :     \item {\bf Equipment}: Anything you can get your hands on!
2709 :    
2710 :     \item {\bf How to leave the lab after session}: Equipment should be tidied but may be labelled
2711 :     or reserved for the group.
2712 :     \end{itemize}
2713 :     \end{expt}
2714 :    
2715 :     Design your own experiment to measure the performance of a disk.
2716 :     \begin{itemize}
2717 :     \item Consider what it is that you will measure.
2718 :     \item What tools will you use?
2719 :     \item What hypotheses will you form and test?
2720 :     \item How will you organize and analyze your data?
2721 :     \item How will you arrange to test the disks to their limits?
2722 :     \item How does performance change as load increases? Using current prices, work out the
2723 :     performance of each disk per price/MB.
2724 :    
2725 :     \item Using any tools that you can find, format a new disk (filesystem) and write some
2726 :     recognizable data to it. Then delete all of the files. Using tools of your choice,
2727 :     see how much of the data you are able to recover from the disk.
2728 :     \end{itemize}
2729 :    
2730 :     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2731 :    
2732 : mark 5 \chapter{SNMP and Network Operations Centre}
2733 : mark 1
2734 :     The Simple Network Management Protocol is an important technology for network
2735 :     devices. This experiment asks you to learn about its use.
2736 : mark 5
2737 : mark 1 \begin{expt}
2738 :    
2739 :     The purpose of this experiment is to investigate investigate some of the characteristics
2740 :     of the Simple Network Management Protocol.
2741 :    
2742 :     \begin{itemize}
2743 :     \item {\bf Estimated time}: One to two weeks
2744 :     \item {\bf Preparation}: Read about SNMP and monitoring on the web.
2745 :     \item {\bf Equipment}: Any.
2746 :    
2747 :    
2748 :     \item {\bf How to leave the lab after session}: software etc. must be removed once
2749 :     the experiment is over.
2750 :    
2751 :     \end{itemize}
2752 :     \end{expt}
2753 :    
2754 :     When using the SNMP tools below, use a program like {\tt tcpdump} to show the
2755 :     traffic that passes between your console and the devices. In your final report,
2756 :     you should comment on the overhead incurred by SNMP.
2757 :    
2758 :     \begin{enumerate}
2759 :     \item Find out whether you need to enable SNMP services on routers and switches.
2760 :     \item Write a PHP or Perl script that queries SNMP data from a printer.
2761 :     \item Locate, download and compile the {\tt scli} tool.
2762 :     \item Locate MRTG noting that this might be already installed on the machine
2763 :     you are using. Install it and get it running. Show how it generates plots of traffic activity.
2764 :     \item Investigate using the {\tt scli} tool to configure routers and switches.
2765 :     \end{enumerate}
2766 :    
2767 :    
2768 : mark 5 \small
2769 :     \begin{verbatim}
2770 : mark 1
2771 : mark 5 http://www.emeapress.att.com/library/images/att_noc_01.jpg
2772 : mark 1
2773 : mark 5 http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
2774 : mark 1
2775 : mark 5 http://php.net
2776 :     \end{verbatim}
2777 :     \normalsize
2778 : mark 1
2779 : mark 7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2780 : mark 1
2781 : mark 7 \chapter{Multiseat system Under Linux}
2782 : mark 1
2783 : mark 7 Multiseat systems provide multiple graphical interface hardware sets (monitor/keyboard/mouse/optionally sound) so that several people can use one computer at a time.
2784 :     \begin{expt}
2785 : mark 1
2786 : mark 7 The purpose of this experiment is to investigate The power and advantages of using a Multiseat system.
2787 : mark 5
2788 : mark 7 \begin{itemize}
2789 :     \item {\bf Estimated time}: One to three weeks
2790 :     \item {\bf Preparation}: Read about Multiseat systems on the web.
2791 :     \item {\bf Equipment}: Pc's, video adapter, keyboard, and mouse for each seat.
2792 :    
2793 :    
2794 :     \item {\bf How to leave the lab after session}: software etc. must be removed once
2795 :     the experiment is over.
2796 :    
2797 :     \end{itemize}
2798 :     \end{expt}
2799 :    
2800 :     \begin{enumerate}
2801 :     \item Find out about the type of hardware that is required to build Multiseat systems.
2802 :     \item Install the required software to make Linux Multiseat capable.
2803 :     \item What are the advantages of a Multiseat systems and where is it more likely to be used.
2804 :     \item How is a Multiseat system compared to solutions such as Linux Terminal Server Project (LTSP).
2805 :     \end{enumerate}
2806 :    
2807 :    
2808 :     \small
2809 :     \begin{verbatim}
2810 :    
2811 :     http://www.linuxtoys.org/multiseat/multiseat.html
2812 :    
2813 :     http://www.onlamp.com/pub/wlg/8660
2814 :    
2815 :     http://www.ltsp.org/
2816 :     \end{verbatim}
2817 :     \normalsize
2818 :    
2819 :    
2820 :    
2821 :    
2822 : mark 5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2823 :    
2824 :     \chapter{Miscellaneous}
2825 :    
2826 :    
2827 : mark 1 You are free to suggest your own experiments for the laboratory.
2828 :     You will gain course credit as long as the course instructors have approved
2829 :     the plan. An experiment should start by asking a question and should contain
2830 :     a degree of analysis.
2831 :     \begin{itemize}
2832 :     \item What is your hypothesis?
2833 :     \item How will you test it critically? (You should not set out to prove a hypothesis, bust rather to disprove it!)
2834 :     \end{itemize}
2835 :     Suggested topics:
2836 :     \begin{itemize}
2837 :     \item Novell/Windows integration.
2838 :     \item Cfengine on windows.
2839 :     \item Compare OSPF routing with IS-IS routing.
2840 :     \item Dialup services.
2841 :     \item Compare difference operating systems.
2842 :     \item IP Telephony.
2843 : mark 5 \item Dummynet and traffic shaping with freebsd.
2844 : mark 1 \end{itemize}
2845 :    
2846 : mark 5
2847 :    
2848 : mark 1 \bibliography{LISAbib}
2849 :    
2850 :     \end{document}

Administrator
ViewVC Help
Powered by ViewVC 1.0.3