<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-46706156266265188</id><updated>2012-02-16T10:10:24.884-08:00</updated><category term='IPv6'/><category term='Database Management'/><category term='Mobiles'/><category term='Linux / Unix / BSD'/><category term='Wordpress'/><category term='Orkut Tricks'/><category term='security'/><category term='Ports'/><category term='Internet Protocol'/><category term='Mediawiki'/><category term='Windows'/><category term='RAM'/><category term='system security'/><category term='PHP'/><category term='Yahoo Tools'/><category term='Drupal'/><category term='Browsers'/><category term='Joomla'/><category term='SEO'/><category term='Proprietary Applications'/><category term='PHP CMS'/><category term='Networking'/><category term='Anti-Virus'/><category term='Visual Basic'/><category term='Proxies'/><title type='text'>softofobia</title><subtitle type='html'>A Blog of all type of softwares and its knowledgebase</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default?start-index=101&amp;max-results=100'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>404</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-3024674652665633104</id><published>2009-12-24T14:48:00.001-08:00</published><updated>2009-12-24T14:48:01.643-08:00</updated><title type='text'>Introduction of Google’s Chrome OS</title><content type='html'>&lt;p&gt;Seriously, creating a brand-new PC operating system is no small task. Even if Google bases Chrome OS on some existing technology -- like the ever-adaptable Linux kernel -- it still needs to address several very real hurdles before it can deliver anything even remotely competitive to Microsoft's ubiquitous Windows.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For example, if the Chrome browser is truly the new OS' only front end, then what about those applications and utilities that have no AJAX-based equivalents? I'm talking about the myriad legacy programs that expect to run atop a traditional OS, with a real windowing environment, file system, and process management/IPC mechanisms. Although the world has come a long way on the road to full "Webification," there are still many miles to go before we get to a point where IT organizations can rip and replace their Windows-based fat client environments in favor of JavaScript, XML, and HTML 5.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Then there is the issue of peripheral plumbing. People want their PCs and devices to work together seamlessly. And that requires a vast ecosystem of third-party device drivers, as well as their supporting development partners. Getting the larger software and hardware developer communities to support your platform is a tall order -- just ask Microsoft, a company that has spent the better part of three decades laying precisely such a hardware foundation so that Windows "just runs" on virtually any combination of PC hardware.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Basing Chrome OS on the Linux kernel woul help to mitigate this last hurdle a bit. However, as the netbook remix fiasco has shown, customers have little tolerance for half-baked device support, even in a task-oriented OS running on a single function device. Linux is still years behind Windows in the seamless hardware compatibility department, so Google has some work ahead if it hopes to slap lipstick on the FOSS pig and call it user-friendly.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Of course, Google has likely thought through these issues already. The folks from Mountain View probably have some superduper master plan to deal with the seemingly insurmountable hurdles that lay before them. It's just that, right now, I can't figure out what that plan is. Barring a heavy dose of pixie dust, you simply can't get there from here.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So I say, "Good luck, Google! You'll need it!"&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-3024674652665633104?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/3024674652665633104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/introduction-of-googles-chrome-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/3024674652665633104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/3024674652665633104'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/introduction-of-googles-chrome-os.html' title='Introduction of Google’s Chrome OS'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-8761543466201010519</id><published>2009-12-24T14:47:00.001-08:00</published><updated>2009-12-24T14:47:50.139-08:00</updated><title type='text'>How to become a Google Bot?</title><content type='html'>&lt;div class="topic-actions"&gt;&lt;br /&gt;&lt;div class="buttons"&gt;&lt;br /&gt;&lt;div class="reply-icon"&gt;You can become the famous google bot and surf the web unknown .. sneaking into private website.. although you can't access forum areas that are hidden or secret.. &lt;br /&gt;&lt;u&gt;*note: This only works for Mozilla!&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;&lt;strong&gt;here's how you do it:&lt;/strong&gt;&lt;br /&gt;download the Add-on called "&lt;U&gt;User Agent Switcher&lt;/U&gt;"&lt;br /&gt;next Install and restart you browser i.e Firefox&lt;br /&gt;next go to &lt;u&gt;Tools&amp;gt;&amp;gt;User agent switcher&amp;gt;&amp;gt; options&amp;gt;&amp;gt;options&lt;/u&gt;&lt;br /&gt;next click the user agent(below general on left side) and click add&lt;br /&gt;type description as "Google Bot"&lt;br /&gt;then user agent as "Googlebot/2.1+(+http://www.google.com/bot.html)"&lt;br /&gt;and application name again as Google bot&lt;br /&gt;version as 2.1&lt;br /&gt;leave the rest rows blank&lt;br /&gt;click ok twice&lt;br /&gt;and again go to tools &amp;gt;&amp;gt; user agent swithcher &amp;gt;&amp;gt; and click on google bot !&lt;br /&gt;Your good to go dude&lt;br /&gt;you can also pose as a user using explorer 8.0,opera,etc&lt;br /&gt;This helps to protect you from Cyber attacks through scripts &lt;br /&gt;although it may not help much against serious player but it can sure confuse intermediate hackers&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="reply-icon"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="clear"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="post bg2" id="p358496"&gt;&lt;br /&gt;&lt;div class="inner"&gt;&lt;span class="corners-top"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="postbody"&gt;&lt;br /&gt;&lt;h3 class="first"&gt;&lt;a href="http://www.chip.in/forums/viewtopic.php?f=9&amp;amp;t=43690#p358496"&gt;&lt;/a&gt;&amp;nbsp;&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-8761543466201010519?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/8761543466201010519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/how-to-become-google-bot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8761543466201010519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8761543466201010519'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/how-to-become-google-bot.html' title='How to become a Google Bot?'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5262913148846782856</id><published>2009-12-24T14:46:00.007-08:00</published><updated>2009-12-25T15:15:42.178-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- Working with Forms</title><content type='html'>&lt;p align="justify"&gt;PHP comprises of a very powerful feature of handling HTML forms. The basic concept in this is that any form element in an HTML page will automatically be available in the PHP scripts.&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs" align="justify"&gt;&lt;strong class="hdrs"&gt;Creating Forms&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;The forms in PHP are created in the same way as they were created in HTML. The most important thing in this that any form element in an HTML page will be available to the PHP script. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;html&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;body&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;form action="action.php" method="POST"&amp;gt; &lt;br /&gt;Enter your name:&lt;br /&gt;&amp;lt;input type="text" name="name" /&amp;gt;&lt;br /&gt;Enter your age: &amp;lt;input type="text" name="age" /&amp;gt; &lt;br /&gt;&amp;lt;input type="submit" /&amp;gt; &lt;br /&gt;&amp;lt;/form&amp;gt; &amp;nbsp;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&amp;nbsp;In the above example the HTML page contains two fields of input type and a submit button. When the user fills in the forma and hits the submit button then the &amp;ldquo;action.php&amp;rdquo; file will be called. The purpose of &lt;strong&gt;action&lt;/strong&gt; and &lt;strong&gt;method&lt;/strong&gt; in the form tag will be explained later. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs" align="justify"&gt;&lt;strong&gt;Submitting Data&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;After designing a form, the first step is to set up the form to submit its data to the PHP script. The submission of data is done through the &lt;strong&gt;action&lt;/strong&gt; attribute of the &lt;strong&gt;&amp;lt;form&amp;gt;&lt;/strong&gt; tag. When a form is submitted, the web server executes the PHP script and passes to it the values which were submitted in the submission. This attribute defines the URL to which the data is submitted. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;If the PHP script is called &amp;ldquo;welcome.php&amp;rdquo; then the &amp;lt;form&amp;gt; tag would be like: &amp;nbsp; &amp;lt;form action=&amp;rdquo;welcome.php&amp;rdquo; method=&amp;rdquo;POST&amp;rdquo;&amp;gt; &amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Post and Get Operations&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There are two methods that can be used while creating a form in HTML. These methods are post and get. &amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;form action=&amp;rdquo;welcome.php&amp;rdquo; method=&amp;rdquo;POST&amp;rdquo;&amp;gt; &amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Or &amp;nbsp; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;form action=&amp;rdquo;welcome.php&amp;rdquo; method=&amp;rdquo;GET&amp;rdquo;&amp;gt; &amp;nbsp; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;br /&gt;The get and the post method do the same thing. If no method is specified then the default method is taken as GET by the web server. &amp;nbsp; The get method puts the contents of the form right in the URL. This method has certain disadvantages. The first one being that there is a limit that how much data can be sent through the form using the get method. It depends on the web server&amp;rsquo;s operating system and software and many systems have a limit of 256 characters. The second thing is that individual get queries may be stored in the web server&amp;rsquo;s logs &amp;nbsp; The post method was created to correct the inadequacies of the get method. Firstly, the information that is sent through the post method is not visible in the URL. Secondly, the data cannot be deciphered by looking into the web server logs. The limit on the amount of data that can be sent from a form is not as small as that of get. &amp;nbsp; &amp;nbsp; &lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Cookies&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt; &amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;A cookie is used to identify a user. A cookie is a small file that is embedded by the server on the user&amp;rsquo;s computer. In this when the same computer requests for a page with a browser, it will send the cookie too. Each cookie consists of a name, value, expiry date, and host and path information. The size of an individual cookie is limited to 4 KB. With PHP, cookie values can be created and retrieved. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs2"&gt;&lt;strong&gt;Creating Cookie&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;The setcookie() function is used to create cookies. The setcookie() function should be called before any other content is sent to the browser. The setcookie() function appears before the HTML tag. The setcookie() function accepts the cookie name, cookie value, expiry date, path, and domain. All the arguments to this function are optional apart from the cookie name parameter. &amp;nbsp; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Syntax&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;Setcookie(name, value, expire, path, domain);&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&amp;lt;?php setcookie("usal", $sal, time()+3600); ?&amp;gt; &amp;nbsp; &amp;lt;html&amp;gt; &amp;lt;body&amp;gt; &amp;nbsp; &amp;lt;p&amp;gt; A cookie was set on this page! The cookie will be active when the client has sent the cookie back to the server. &amp;lt;/p&amp;gt; &amp;nbsp; &amp;lt;/body&amp;gt; &amp;lt;/html&amp;gt; &amp;nbsp; &lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In the above a example a cookie named usal was set with the setcookie() function. This cookie will expire in one hour as the parameter of time given in the function is set to 1 hour.&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs2"&gt;&lt;strong class="hdrs2"&gt;Retrieving a Cookie Value&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;When a cookie is set, then the cookie name is used as a variable by PHP. To access the cookie the cookie name has to be referred as a variable. &amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;html&amp;gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;body&amp;gt; &lt;br /&gt;&amp;lt;?php if (isset($_COOKIE[" usa)) &lt;br /&gt;echo "Welcome " . $_COOKIE["usal"] . "!&amp;lt;br /&amp;gt;"; &lt;br /&gt;else &lt;br /&gt;echo "You are not logged in!&amp;lt;br /&amp;gt;"; ?&amp;gt; &lt;br /&gt;&amp;lt;/body&amp;gt; &lt;br /&gt;&amp;lt;/html&amp;gt; &lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5262913148846782856?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5262913148846782856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-working-with-forms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5262913148846782856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5262913148846782856'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-working-with-forms.html' title='PHP Tutorial- Working with Forms'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5880954702511367501</id><published>2009-12-24T14:46:00.005-08:00</published><updated>2009-12-28T17:50:50.314-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- Operators</title><content type='html'>&lt;div align="justify"&gt;By now, you must have started writing those scripts and started working on PHP. Now, it’s time for you to learn about the operators available in PHP. An operator is something in which one or more values are fed and it gives another value as a result. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;In general there are three types of operators: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Unary&lt;/b&gt; – it operates on only one value. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Binary&lt;/b&gt; – it operates on two or more than two values. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ternary&lt;/b&gt; – it is used to select between two expressions depending on the third one. &lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;There are many types of operators in PHP; some of them are useful but some are not. In this tutorial we will be studying about the most useful operators in PHP, which are: &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Arithmetic operators &lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Assignment operators &lt;br /&gt;&lt;br /&gt;&lt;/b&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;Comparison operators &lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Logical operators &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="hdrs"&gt;&lt;b&gt;Arithmetic Operators&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="hdrs2"&gt;Addition (+) &lt;br /&gt;&lt;/div&gt;$a=20; &lt;br /&gt;$b=10; &lt;br /&gt;$c=$a+$b; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt; = 30 &lt;br /&gt;&lt;div class="hdrs2"&gt;Subtraction (-) &lt;br /&gt;&lt;/div&gt;$a=15; &lt;br /&gt;$b=10; &lt;br /&gt;$c=$a-$b; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt; = 5 &lt;br /&gt;&lt;div class="hdrs2"&gt;Multiplication (*) &lt;br /&gt;&lt;/div&gt;$a=5; &lt;br /&gt;$b=2; &lt;br /&gt;$c=$a*$b; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt; = 10 &lt;br /&gt;&lt;div class="hdrs2"&gt;Division (/) &lt;br /&gt;&lt;/div&gt;$a=30; &lt;br /&gt;$b=2; &lt;br /&gt;$c=$a/$b; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt; = 15 &lt;br /&gt;&lt;div class="hdrs2"&gt;Modulus (%) &lt;br /&gt;&lt;/div&gt;$a=5; &lt;br /&gt;$b=2; &lt;br /&gt;$c=$a%$b; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt; = 1 &lt;br /&gt;&lt;div class="hdrs2"&gt;Increment (++) &lt;br /&gt;&lt;/div&gt;$a=5; &lt;br /&gt;$a++; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt; = 6 &lt;br /&gt;&lt;div class="hdrs2"&gt;Decrement (--) &lt;br /&gt;&lt;/div&gt;$a=5; &lt;br /&gt;$a--; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt; = 4&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5880954702511367501?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5880954702511367501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-operators.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5880954702511367501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5880954702511367501'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-operators.html' title='PHP Tutorial- Operators'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-4516238557254759478</id><published>2009-12-24T14:46:00.003-08:00</published><updated>2009-12-25T15:15:42.180-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- Functions</title><content type='html'>&lt;p align="justify"&gt;In this chapter you will be getting technical know how of functions. Functions are useful in any type of programming language. Whenever you want to use a particular piece of code over and over again, it is very useful to put that code in a function. This is done so that the code can be reused easily. Another use of using functions is that whenever there is an error in the code, and then it has to be corrected only at one place; in the function. With the use of functions, the entire code can be understood easily. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Declaring Functions&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Creating your own function in your script is a straightforward task. It is like creating a function in any other language. The functions in PHP begin with the &lt;strong&gt;keyword&lt;/strong&gt;&lt;strong&gt;"function"&lt;/strong&gt; which is followed by the function name. Following the function name there is a set of parenthesis which contains the parameters to be passed. These parameters are an optional set of variables passed to the function. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Syntax&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;function &amp;lt;name of function&amp;gt; ([$var1 [= constant]], [$var2 [= constant]], ...) &lt;/p&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Body of the function; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p class="hdrs2"&gt;&lt;strong&gt;Your First Function&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Now that you have got an idea of th2e functions, you are ready to start with functions. In the following example the string "Welcome to vudevelopers!" will be printed five times on the browser with the help of functions. By writing a single code once in a function, we can call the same function again in a script. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;html&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;body&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;function fundisp() &lt;/p&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;for($i = 0; $i &amp;lt; 5; $i++) &lt;/p&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;echo "Welcome to vudevelopers!&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;echo "After this statement the function will be called.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;fundisp(); &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;echo "&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;echo "This statement is printed after the function has been called."; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;echo "&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/body&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/html&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;img height="399" alt="" src="http://phped-preview/D:/01.%20vudevelopers.com/04.%20Technology/01.%20control%20panel/ftp.admin/public_html/topics/sub-topics%20or%20topic%20packages/php_basic%20tutorial/images//PHP-Functions-5_clip_image002.jpg" width="500" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs2"&gt;&lt;strong&gt;Passing Parameters to Functions&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In this section we will be discussing about how to pass parameters to a function in PHP. A parameter of a function is a piece of data that a function requires to execute. If we define parameters formally then, function parameters are represented by variable names which are located within the parenthesis of the function definition. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In the following example of passing parameters to functions we will be displaying the string "Welcome to vudevelopers!." The difference that this example has got with the previous example is that, in this example the number of times the text will be displayed is not fixed, rather that number is passed as a parameter when the function is called. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;html&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590" height="14"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;body&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;function fundisp($num) &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;for($i = 0; $i &amp;lt; $num; $i++) &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;echo "Welcome to vudevelopers!&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;echo "After this statement the function will be called.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;fundisp(7); &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;echo "&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;echo "This statement is printed after the function has been called."; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;echo "&amp;lt;br/&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/body&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/html&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;img height="415" alt="" src="http://phped-preview/D:/01.%20vudevelopers.com/04.%20Technology/01.%20control%20panel/ftp.admin/public_html/topics/sub-topics%20or%20topic%20packages/php_basic%20tutorial/images//PHP-Functions-5_clip_image004.jpg" width="500" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-4516238557254759478?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/4516238557254759478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-functions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4516238557254759478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4516238557254759478'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-functions.html' title='PHP Tutorial- Functions'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-4481045591112377405</id><published>2009-12-24T14:46:00.001-08:00</published><updated>2009-12-25T15:15:42.181-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- Conditionals and Looping</title><content type='html'>&lt;p class="hdrs" align="justify"&gt;&lt;strong&gt;Conditionals and Looping&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In the previous chapters the basics of PHP have been explained. With this you must be well versed with the basic idea of PHP. Now we will be taking a step forward and moving on to the learning of the conditional statements and looping structures. These conditional statements and looping structures give you more flexibility in writing a PHP script. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs2"&gt;&lt;strong&gt;Conditional Statements &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Conditions and conditional statements are a part of every programming language and scripting language. There are times when you want to perform different actions for different decisions. In this you have to use conditional statements, so that the correct decision should be made. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Consider a situation if you want to greet every visitor on your site on 25 th December with Merry Christmas. In order to achieve this you do not have write a code on Christmas displaying Merry Christmas. This can be done well in advance as you can always write a conditional statement that if date is 25 th December then Merry Christmas should be displayed. So, with the help of conditional statements job done, well in advance. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;In PHP there are two conditional statements: &lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;If then else statement&lt;/strong&gt; &amp;ndash; This statement is used to execute a specific set of code if the condition is true and other set of code should be executed if the condition is false. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Switch statement&lt;/strong&gt; &amp;ndash; This statement is used when you want that one of many lines of codes should execute. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="hdrs3"&gt;&lt;strong&gt;If Statement&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;The &lt;strong&gt;&amp;ldquo;if else&amp;rdquo;&lt;/strong&gt; statement is used if one set of code has to be executed when the condition is true and another set of code has to be executed when the condition is false. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Syntax&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;If (condition) &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Statements to be executed if code is true; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;else &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Statements to be executed if code is false; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;In the following example x is compared with y. If x is greater than y then it will display &lt;strong&gt;x is greater then y&lt;/strong&gt; else it will display &lt;strong&gt;y is greater than x.&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;html&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;body&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;$x=10; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;$y=15; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;if ($x&amp;gt;$y) &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;echo "x is greater than y"; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;Else &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;echo "y is greater than x"; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/body&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/html&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In the if statement if you want to execute more than one line when the condition is true then those lines should be put in curly braces. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-4481045591112377405?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/4481045591112377405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-conditionals-and-looping.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4481045591112377405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4481045591112377405'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-conditionals-and-looping.html' title='PHP Tutorial- Conditionals and Looping'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-6109460940643262601</id><published>2009-12-24T14:45:00.005-08:00</published><updated>2009-12-25T15:15:42.181-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- Classes and Objects</title><content type='html'>&lt;p align="justify"&gt;Classes and Objects are considered to be the most useful and dynamic aspects of a programming language. In PHP, classes are used extensively and are very useful. The concept of classes allows for better performance and more features. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;What is a Class? &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;The Class in PHP is basically the same as in other languages such as Java. The class definition begins with the keyword class, followed by a class name. The form name can be any name except a &lt;strong&gt;reserved word&lt;/strong&gt; or &lt;strong&gt;keyword&lt;/strong&gt; in PHP. The class name is followed by a pair of curly braces which contain the definition of class members and methods. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Example of a Class&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;Class abc &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;//member functions and variables go here &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong class="hdrs"&gt;What is an Object?&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;An Object is an enclosed bundle of variables and functions which is copied from a Class. Objects provide an easy interface and hide a lot of their inner workings. The object sends orders through special functions called methods and they can return information. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;While creating a Class, a set of characteristics is laid down. By creating Objects of that type, entities are created that share these characteristics but the Object might initialize them as different values. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;Suppose there is a class named &lt;strong&gt;building&lt;/strong&gt;. This class would have a characteristic named &lt;strong&gt;floor&lt;/strong&gt;. All the objects of class &lt;strong&gt;building&lt;/strong&gt; would share the characteristics of &lt;strong&gt;floor&lt;/strong&gt;, but some would initialize it to &lt;strong&gt;&amp;ldquo;one&amp;rdquo;&lt;/strong&gt;, some to &lt;strong&gt;&amp;ldquo;two&amp;rdquo;&lt;/strong&gt;, others to &lt;strong&gt;&amp;ldquo;three&amp;rdquo;&lt;/strong&gt; or &lt;strong&gt;&amp;ldquo;four&amp;rdquo;&lt;/strong&gt;, and so on. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p align="justify"&gt;The benefit of object oriented code is that it is re-useable. In this the classes can be used to create different objects and classes from one project can be used in other projects as well. Child classes can also be created which inherits the properties of the parent classes. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrsIndex"&gt;&lt;strong&gt;Creating an Instance&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To start with, a class having no member functions and variables is not useful. For a class to be completely useful, member functions and variables have to be added in that class. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Let&amp;rsquo;s take an example of a class with a variable in it. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;Class abc &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;$a = &amp;ldquo;Hello!&amp;rdquo;; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p align="justify"&gt;The class abc is the basis from which many objects can be instantiated. The &lt;strong&gt;new&lt;/strong&gt; keyword is used to create an object. Now any abc object that is created contains a property called $a with the value of &amp;ldquo;Hello&amp;rdquo;. This property can be accessed and even be changed with the help of objects. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In this the &lt;strong&gt;-&amp;gt;&lt;/strong&gt; operator is used to access or change the properties of the object. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In the following example $obj1 and $obj2 are the objects of the class abc. In this $obj2 has been assigned the string &amp;ldquo;Welcome to vudevelopers!&amp;rdquo; to its $a property. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;html&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;body&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;Class abc &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;var $a = "Hello"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;$obj1 = new abc(); &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;$obj2 = new abc(); &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;$obj2-&amp;gt;a = "Welcome to vudevelopers!"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;echo "$obj1-&amp;gt;a&amp;lt;br /&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;echo "$obj2-&amp;gt;a&amp;lt;br /&amp;gt;"; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590" height="24"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/body&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;/html&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Extends&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Another feature of object oriented programming is used in PHP, which is inheritance. In PHP a class a class can inherit methods, functions and members of other class by using the &lt;strong&gt;extends&lt;/strong&gt; keyword in the declaration. In PHP it is not possible to inherit from multiple classes, a class can inherit from only one base class. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;The class from which inheritance is done is called the parent class or base class and the class which inherits is called the child class. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;The Keyword Final&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;The &lt;strong&gt;final&lt;/strong&gt; keyword prevents the child classes from overriding a method. This can be done by prefixing the method with the keyword &lt;strong&gt;final&lt;/strong&gt;. If the complete class is being defined as &lt;strong&gt;final&lt;/strong&gt; then that class cannot be extended. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;final class test &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;//methods and functions &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1" valign="top" width="590"&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;The class defined above i.e. class test cannot be overloaded as it has been finalized by using the keyword final with it.&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong class="hdrs"&gt;Abstract&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;A new concept of &lt;strong&gt;abstract &lt;/strong&gt;classes and methods has been introduced in PHP5. When a class is defined as abstract then it is not allowed to create the instance of that class. A class that contains at least one abstract method must also be abstract. The methods defined as abstract cannot define the implementation; they just declare the method&amp;rsquo;s signature. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;When a child class is inheriting from an abstract parent class, then all the methods marked abstract in parent class declaration must also be additionally defined by the child class. These methods must be defined with the same or weaker access. This means that if an abstract method is declared as protected in the parent class then it must be declared either as protected or public in the child class.&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs" align="justify"&gt;&lt;strong class="hdrs"&gt;Static Keyword&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;strong class="hdrs"&gt;&lt;/strong&gt;When class members or methods are declared as static then there is no need to instantiate that class. These members and methods are accessible without the instantiation of the class. If a member is declared as static then it cannot be accessed by an instantiated class object, but a method declared as static can be accessed by an instantiated class object. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The static declaration of a class must be after the visibility declaration (means that after the member or method has been declared as public, protected, or private). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The static method calls are resolved at compile time and static properties cannot be accessed through the object through the arrow operator (-&amp;gt;). &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Interfaces&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Object interfaces allow the creation of a code which specifies that which method a class must implement, without having to define how these methods have to be handled. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Interfaces are defined in the same way as a class is defined. These interfaces are defined with the keyword &amp;ldquo;interface&amp;rdquo;. In the interface the contents of the methods do not have to be defined and all the methods declared in the interface must be declared as public. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Implementation of Interfaces&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;To implement an interface, the &lt;strong&gt;implements&lt;/strong&gt; operator is used. The methods must be defined before implementation and all the methods in the interface must be implemented within a class. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Exceptions&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Exception handling in PHP is similar to that of other programming languages. Within a PHP block of code we can throw, try and catch an exception. There must be at least one catch block in a try block. In this multiple catch blocks can be used to catch different class types. In exception handling the execution will continue after the last catch block has been encountered and exceptions can be thrown within catch blocks. &lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In exception handling when an exception is thrown, the code following the statement will not be executed rather PHP will attempt to find the first matching catch block. If the exception is not caught then it will result in a fatal error with an uncaught exception message. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-6109460940643262601?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/6109460940643262601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-classes-and-objects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6109460940643262601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6109460940643262601'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-classes-and-objects.html' title='PHP Tutorial- Classes and Objects'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-2501806459106354849</id><published>2009-12-24T14:45:00.003-08:00</published><updated>2009-12-25T15:15:42.182-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- An Introduction to PHP</title><content type='html'>&lt;p align="justify"&gt;This tutorial moves a step further from the basic HTML, and it will enhance your art of making good web pages with the use of PHP. Until recently, many websites were made only with the use of HTML, but the recent dot com revolution has changed the scenario. In today&amp;acute;s world, more and more scripting languages have come into existence and PHP is one of them. It is the easiest scripting language and yet the most powerful. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;You should be having a basic understanding of &lt;strong&gt;WWW, HTML, and basics of building web pages&lt;/strong&gt; before you learn the usage and handling of PHP. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;What is PHP? &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;PHP stands for Hypertext Preprocessor. PHP is an open source server side scripting language that is especially suited for web development and can be embedded into HTML. The PHP scripts are executed on the server, not on the user&amp;acute;s browser, so there are no compatibility issues. PHP supports many databases like MySQL, Oracle, and Sybase. Since PHP is open source software, therefore it is free to download and use. Due to this it is quickly becoming the most famous scripting languages on the internet. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs" align="justify"&gt;Why PHP? &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Many questions must be coming to your mind, like: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Why should I learn a scripting language? &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Why should I choose PHP over other languages? &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;div align="justify"&gt;Learning a scripting language can open up huge possibilities for your website. With the use of scripts you can add many new interactive features like feedback forms, guest books, message boards, counters and many more advanced features. This will give your website a more professional image. &lt;/div&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;div align="justify"&gt;PHP is one of the most powerful scripting languages which run on different platforms. It is compatible to almost all the servers used today. The most striking features of PHP are that it is FREE to download, easy to learn, and runs efficiently on the server side. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="hdrs2"&gt;&lt;strong&gt;What does a PHP File contain&lt;/strong&gt;&lt;strong&gt;?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;PHP files may contain text, HTML tags and scripts. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;PHP files are returned to the browser as plain HTML. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;PHP files have an extension of ".php", ".php3", or ".phtml". &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="hdrs2"&gt;&lt;strong&gt;What is needed to run PHP?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;PHP is a server side scripting language. This means that, the users will not need to install new software but your web host will need to have PHP set up on their server. &lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Install an Apache server on your machine. You can download it from &lt;a href="http://www.ziddu.com/download/3209372/apacheadmin.msi.html"&gt;&lt;br /&gt;vudevelopers &amp;gt; downloads &amp;gt; apache&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Install PHP on your machine. You can download it from &lt;a href="http://www.ziddu.com/download/3208955/php-5.2.8-nts-win32-installer.msi.html"&gt;&lt;br /&gt;vudevelopers &amp;gt; downloads &amp;gt; php &lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-2501806459106354849?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/2501806459106354849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-introduction-to-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/2501806459106354849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/2501806459106354849'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-introduction-to-php.html' title='PHP Tutorial- An Introduction to PHP'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-4365252150457031108</id><published>2009-12-24T14:45:00.001-08:00</published><updated>2009-12-25T15:15:42.183-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- Advanced PHP Topics</title><content type='html'>&lt;p class="hdrs"&gt;Superglobals&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In the previous chapters the concept of global variable was explained. A &lt;strong&gt;global variable&lt;/strong&gt; is a variable declared at the top of the script outside the function. This variable is available to the complete script. Superglobal variables are arrays built into PHP. These superglobal variables are populated automatically with useful elements, and they are available in any scope. A superglobal array can be accessed within a function or a method without using the global keyword. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;PHP Superglobals &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;$_COOKIE &amp;ndash; It contains values provided to the script via HTTP cookies.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;$_GET &amp;ndash; It contains variables submitted to the script using HTTP get method. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;$_POST &amp;ndash; It contains variables submitted to the script using HTTP post method. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;$_REQUEST &amp;ndash; It is a combined array containing values from the $_GET, $_POST, and $_COOKIES superglobal arrays. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;$_ENV &amp;ndash; It contains keys and values set by the script&amp;rsquo;s shell. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;$_FILES &amp;ndash; It contains information about uploaded files. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;$_SERVER &amp;ndash; It contains variables made available by the server. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;$GLOBALS &amp;ndash; It contains all the global variables associated with the current script. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Instanceof Operator&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The instanceof operator in PHP is used to determine whether a given object, the parents of that object, or its implemented interfaces are of a specified object class. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;br /&gt;&lt;p&gt;class X { } &lt;/p&gt;&lt;br /&gt;&lt;p&gt;class Y { } &lt;/p&gt;&lt;br /&gt;&lt;p&gt;$thing = new X; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;if ($thing instanceof X) { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;echo 'X'; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;if ($thing instanceof Y) { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;echo 'Y'; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;Declare&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The declare statement is used to set execution directives for a block of code. The syntax of the declare statement is similar to the syntax of other flow control statements. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Syntax&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;declare (directive) &lt;/p&gt;&lt;br /&gt;&lt;p&gt;statement &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;The &lt;strong&gt;directive&lt;/strong&gt; section allows the behavior of the &lt;strong&gt;declare&lt;/strong&gt; block to be set. In this only one directive is recognized, which is the &lt;strong&gt;ticks&lt;/strong&gt; directive. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;[ &lt;strong&gt;Ticks &lt;/strong&gt;- A tick is an event that occurs for every N low level statements, which are executed within the declare block. The value of N is specified using the statement ticks = N in the directive section.] &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The &lt;strong&gt;statement&lt;/strong&gt; part of the declare block will be executed according to the directives set in the directive block. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;br /&gt;&lt;p&gt;// how to use declare: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;// the first way: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;declare(ticks=1) { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;// entire script here &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;// the second way: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;declare(ticks=1); &lt;/p&gt;&lt;br /&gt;&lt;p&gt;// entire script here &lt;/p&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-4365252150457031108?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/4365252150457031108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-advanced-php-topics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4365252150457031108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4365252150457031108'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/php-tutorial-advanced-php-topics.html' title='PHP Tutorial- Advanced PHP Topics'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5919095907496855753</id><published>2009-12-24T14:44:00.001-08:00</published><updated>2009-12-25T15:15:42.184-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Tutorial- Advanced Class Concepts</title><content type='html'>&lt;p align="justify"&gt;This chapter will be focusing on some advanced class concepts, which will empower the reader to use classes in a better way and to create dynamic web pages. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Constructor&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In PHP 5 developers can declare constructor methods for classes. In this, those classes which have a constructor method call this method for each newly created object. So, it is suitable for any initialization that the object may need before it is used. In this the parent constructors are not called implicitly if the child class defines a constructor. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;br /&gt;&lt;br /&gt;class ParentClass { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;function __construct() { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;print "In ParentClass constructorn"; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;class ChildClass extends ParentClass { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;function __construct() { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;parent::__construct(); &lt;/p&gt;&lt;br /&gt;&lt;p&gt;print "In ChildClass constructorn"; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;$obj = new ParentClass(); &lt;/p&gt;&lt;br /&gt;&lt;p&gt;$obj = new ChildClass(); &lt;/p&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Destructors&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;The destructor concept is introduced in PHP 5. This destructor concept is similar to other object oriented languages. In this the destructor will be called as soon as all references to a particular object have been removed or when the object has been explicitly destroyed. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow2"&gt;&lt;br /&gt;&lt;p class="gray2"&gt;&amp;lt;?php &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;class MyClass { &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;function __construct() { &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;print "In constructorn"; &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;$this-&amp;gt;name = "MyClass"; &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;function __destruct() { &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;print "Destroying " . $this-&amp;gt;name . "n"; &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;$obj = new MyClass(); &lt;/p&gt;&lt;br /&gt;&lt;p class="gray2"&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Patterns&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Patterns are ways to describe best practices and good designs. The patterns show a flexible solution to common programming problems. &lt;/p&gt;&lt;br /&gt;&lt;p class="hdrs"&gt;&lt;strong&gt;Factory Pattern&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;In the factory pattern the objects are instantiated at runtime. It is called a factory pattern since it is responsible for manufacturing an object. A parameterized factory receives the name of the class to instantiate as argument. &lt;/p&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" width="90%" align="center" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bghd"&gt;Example&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="bgrow1"&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;?php &lt;/p&gt;&lt;br /&gt;&lt;p&gt;class Welcome &lt;/p&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;br /&gt;&lt;p&gt;// The parameterized factory method &lt;/p&gt;&lt;br /&gt;&lt;p&gt;public static function factory($type) &lt;/p&gt;&lt;br /&gt;&lt;p&gt;{ &lt;/p&gt;&lt;br /&gt;&lt;p&gt;if (include_once 'Drivers/' . $type . '.php') { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;$classname = 'Driver_' . $type; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;return new $classname; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} else { &lt;/p&gt;&lt;br /&gt;&lt;p&gt;throw new Exception ('Driver not found'); &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;} &lt;/p&gt;&lt;br /&gt;&lt;p&gt;?&amp;gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5919095907496855753?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5919095907496855753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/advanced-class-concepts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5919095907496855753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5919095907496855753'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/advanced-class-concepts.html' title='PHP Tutorial- Advanced Class Concepts'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5597710987962530354</id><published>2009-12-17T16:47:00.001-08:00</published><updated>2009-12-20T15:40:59.874-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>Buddy Spy - Yahoo! Messenger Invisible Detection</title><content type='html'>&lt;img alt="Image" border="0" src="http://i293.photobucket.com/albums/mm55/shaan0056/buddy-spy-update.gif" title="Image" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Check Any Of your friend's yahoo status if he or she is online or offline&lt;/span&gt;&lt;a href="javascript:emoticon(':D')"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Friends its one of my favorite software that I luv to use ,You must download If you are using yahoo messenger or ID 100% working Enjoy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5321789342358078178" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" style="cursor: pointer; float: left; height: 59px; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;Buddy Spy is the premier program for Yahoo! Messenger status checking. With Buddy Spy you can now bypass Yahoo! Messenger's Invisible Settings with ease. With its quick and intuitive interface Buddy Spy offers you the ability to see if your friend is truly online or if they are invisible. Not only does Buddy Spy offer you online checking, but it will also tell you whether your friend is in a Chat Room or even if their Web Cam is online!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5321789334198623666" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" style="cursor: pointer; float: left; height: 59px; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://rapidshare.com/files/133828679/buddyspy_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 6.50 MB, Language: English)&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5597710987962530354?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5597710987962530354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/buddy-spy-yahoo-messenger-invisible.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5597710987962530354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5597710987962530354'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/buddy-spy-yahoo-messenger-invisible.html' title='Buddy Spy - Yahoo! Messenger Invisible Detection'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s72-c/guezs3m5bam8bxry5xi.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5412769631620242869</id><published>2009-12-17T16:44:00.001-08:00</published><updated>2009-12-20T15:45:48.873-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>See pasword 2.05</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_jkZ6jgmmoXI/SM3_KRJkTQI/AAAAAAAAA1Y/ijIocDJZmtg/s1600-h/2003530404911967505_fs.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5246129692823801090" src="http://1.bp.blogspot.com/_jkZ6jgmmoXI/SM3_KRJkTQI/AAAAAAAAA1Y/ijIocDJZmtg/s400/2003530404911967505_fs.jpg" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5321789334198623666" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" style="cursor: pointer; float: left; height: 59px; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/139961027/SeePassword_2_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 443 KB, language: English)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5412769631620242869?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5412769631620242869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/see-pasword-205.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5412769631620242869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5412769631620242869'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/see-pasword-205.html' title='See pasword 2.05'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_jkZ6jgmmoXI/SM3_KRJkTQI/AAAAAAAAA1Y/ijIocDJZmtg/s72-c/2003530404911967505_fs.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-8630740591542364437</id><published>2009-12-17T16:40:00.001-08:00</published><updated>2009-12-20T15:53:00.297-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>Kill Yahoo! Messenger Ads</title><content type='html'>&lt;img alt="Image" border="0" src="http://i32.tinypic.com/1zwk8ox.jpg" title="Image" /&gt;&lt;br /&gt;&lt;br /&gt;DOWNLOAD THIS FILE AND YOU WILL BE SAYING&lt;br /&gt;Wow, where does those ads gone?&amp;nbsp;take a look:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5321789334198623666" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" style="cursor: pointer; float: left; height: 59px; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/149288417/NoYmad_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 13.83 MB, language: English)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-8630740591542364437?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/8630740591542364437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/kill-yahoo-messenger-ads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8630740591542364437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8630740591542364437'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/kill-yahoo-messenger-ads.html' title='Kill Yahoo! Messenger Ads'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i32.tinypic.com/1zwk8ox_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5863443915418306763</id><published>2009-12-17T16:37:00.001-08:00</published><updated>2009-12-17T16:51:02.142-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>Yahoo Auto Reply</title><content type='html'>&lt;p&gt;&lt;img title="Image" alt="Image" src="http://www.softpedia.com/screenshots/Yahoo-Autoreply_2.png" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Yahoo Autoreply is a useful tool which enables users to set up auto response messages when they are away from their computers.&lt;br /&gt;&lt;br /&gt;When active, would detect incoming messages and would reply with the Autoresponse message set by the user.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rapidshare.com/files/150209475/Yahoautoreply3_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 471 KB, language: English)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5863443915418306763?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5863443915418306763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/yahoo-auto-reply.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5863443915418306763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5863443915418306763'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/yahoo-auto-reply.html' title='Yahoo Auto Reply'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s72-c/catqznop8jydimm4ijle.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5785883208078508628</id><published>2009-12-17T16:35:00.001-08:00</published><updated>2009-12-17T16:51:02.143-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>oRipa Yahoo Webcam Recorder 1.2.3</title><content type='html'>&lt;p&gt;&lt;img title="Image" alt="Image" src="http://i330.photobucket.com/albums/l425/nallaikumaran/Softwares%20Pictures/screenshot_yr.jpg" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;oRipa Yahoo Webcam Recorder is a handy utility that will record Yahoo webcam video and audio of chat partner to your PC hard disk so you can replay it in future.&lt;br /&gt;&lt;br /&gt;Just press the record button as the Yahoo webcam is connected, and the video streams are saved as media files in your preset folder. You can play the recorded videos back at any media player and at any time you like!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789342358078178" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="COLOR: indigo"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Here are some key features of "oRipa Yahoo Webcam Recorder":&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;middot; Work with Yahoo Messenger 6.0 and the above versions.&lt;br /&gt;&amp;middot; Real time record Yahoo webcam with optional sound recording (e.g. audio from microphone)---You can record any webcam streams (e.g. the fun movies broakcasted in webcam by your chat partner as well as the video conversations, etc.)&lt;br /&gt;&amp;middot; Real time compress your recorded videos (DivX compatible) during recording --- use this function to get a smaller file size of your output videos so there is no need to worry your hard disk space is not enough for your video files when you record for a long time!&lt;br /&gt;&amp;middot; Save recorded videos into AVI format files---you can use any player (e.g. Real, Windows Media Player, etc.) you have to play the recorded video.&lt;br /&gt;&lt;br /&gt;&amp;middot; You can minimize or hide the Yahoo Messenger window while recording.---That means You can browse other web pages and no need to let your Yahoo webcam window always on the front web page.&lt;br /&gt;&lt;br /&gt;&amp;middot; Easy to use!---You just start/stop recording with a click from the icon menu. No need to know about the recording knowledge.&lt;br /&gt;&lt;br /&gt;&amp;middot; Other cool features you would prefer: adjustable FPS and frame size (for you to adjust your output video quality) and user defined save-to directory.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rapidshare.com/files/151513463/YahoocamRec_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 13.83 MB, language: English)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.megaupload.com/?d=NZ6EYEOK"&gt;Download from Megaupload (size: 13.83 MB, language: English)&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5785883208078508628?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5785883208078508628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/oripa-yahoo-webcam-recorder-123.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5785883208078508628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5785883208078508628'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/oripa-yahoo-webcam-recorder-123.html' title='oRipa Yahoo Webcam Recorder 1.2.3'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i330.photobucket.com/albums/l425/nallaikumaran/Softwares%20Pictures/th_screenshot_yr.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-3388380505486119783</id><published>2009-12-17T16:31:00.001-08:00</published><updated>2009-12-17T16:51:02.143-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>Anonymus Emailer cum email bomber</title><content type='html'>&lt;p&gt;&lt;img title="Image" alt="Image" src="http://i37.tinypic.com/hryljp.png" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789342358078178" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Anonymous Mailer is an anonymous Email sending software, by which a user can send Emails directly from computer, no matter whether the From email id exists or not.&lt;br /&gt;Just type 'From' address with a name as you wish and send to any other email address.&lt;br /&gt;&lt;br /&gt;Of course you can also write an invalid email address as from address, but it is recommended that you use your existing email address in the From field in order to get the reply of the mails. .&lt;br /&gt;&lt;br /&gt;No need to reveal your original email address to anyone.&lt;br /&gt;&lt;br /&gt;Send emails from any@any.com or any other adress !&lt;br /&gt;&lt;br /&gt;if you wants to send 1000 emails then continue to start ( don't stop ) for mail bomber&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rapidshare.com/files/154886325/Anoymailbomb_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 13.83 MB, language: English)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.megaupload.com/?d=PZ111P3S"&gt;Download from Megaupload (size: 13.83 MB, language: English)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-3388380505486119783?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/3388380505486119783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/anonymus-emailer-cum-email-bomber.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/3388380505486119783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/3388380505486119783'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/anonymus-emailer-cum-email-bomber.html' title='Anonymus Emailer cum email bomber'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i37.tinypic.com/hryljp_th.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-4013443575201077548</id><published>2009-12-17T16:28:00.001-08:00</published><updated>2009-12-17T16:51:02.144-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>Yahoo Messenger 9.0.0.2018</title><content type='html'>&lt;p&gt;&lt;img title="Image" alt="Image" src="http://i330.photobucket.com/albums/l425/nallaikumaran/Softwares%20Pictures/Yahoo-Messenger-9001389-Beta-810416.jpg" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789342358078178" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Yahoo! Messenger&lt;/span&gt; - Instant messaging allows you to quickly exchange messages with your online friends. Unlike e-mail, instant messages appear as soon they`re sent. By downloading the Yahoo! Messenger application to your computer, you can send instant messages to other people from around the globe, send them files or have a voice conference.&lt;br /&gt;&lt;br /&gt;Other features include voice chat, file transfer, mail and stock quote alerts, sports scores, news, and much more.&lt;br /&gt;&lt;br /&gt;Here are some key features of "Yahoo Messenger":&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Photo Sharing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Drag-and-drop photos into your IM windows and talk about them like you're there.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;LAUNCHcast Radio&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Make your own radio station and listen to music you like!&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Yahoo! Games&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Challenge your friends to classic Yahoo! Games in the IM window.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;IMVironments&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Use interactive themed backgrounds in your IMs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Find, Add, Share Friends&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Easily get connected with the people who matter most.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Yahoo! Search&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Search from your IM window, and get results both you and your friend can see.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;File Transfer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Drag-and-drop files for real-time sharing and instant notification that they've been received.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Address Book&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Synchronize all your contact information.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Stealth Settings&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Make yourself appear online to some and offline to others.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Audibles&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Let these animated characters say it out loud for you!&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Emoticons&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Express your feelings with these animated smiling faces.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Yahoo! Avatars&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Represent yourself with a stylized graphical image.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Display Images&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Select an image to represent yourself to your friends.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Skins&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Select new visual designs or disable them altogether.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Voice&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Make free worldwide PC-to-PC calls and enjoy great sound quality and voice mail.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Take Yahoo! with You&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Stay connected to Yahoo! Messenger on your mobile phone.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Webcam&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Share live video with friends and family around the world.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="COLOR: indigo"&gt;Conference&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Exchange text messages with multiple people in one IM.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE: The Yahoo! Messenger Vista Preview works only on Vista OS.&lt;br /&gt;&lt;br /&gt;This download is marked as adware because it displays advertisement banners or other type of commercials while running.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Reasons why this program is marked as adware:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;middot; ADWARE INCLUDED - you can, however, UNCHECK that ADWARE at installation!&lt;br /&gt;&amp;middot; � Yahoo Toolbar&lt;br /&gt;&amp;middot; � The Software is trying to change your Home Page and your Default Search Engine&lt;br /&gt;&amp;middot; � Displays advertisement banners&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rapidshare.com/files/158632804/Ymsgrsetup_9_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 13.83 MB, language: English)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.megaupload.com/?d=IT0E5V6U"&gt;Download from Megaupload (size: 13.83 MB, language: English)&lt;/a&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-4013443575201077548?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/4013443575201077548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/yahoo-messenger-9002018.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4013443575201077548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4013443575201077548'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/yahoo-messenger-9002018.html' title='Yahoo Messenger 9.0.0.2018'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i330.photobucket.com/albums/l425/nallaikumaran/Softwares%20Pictures/th_Yahoo-Messenger-9001389-Beta-810416.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-4114958737143610678</id><published>2009-12-17T16:20:00.001-08:00</published><updated>2009-12-17T16:51:02.145-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>WebCam and Screen Recorder 4.8</title><content type='html'>&lt;p&gt;&lt;img class="bbc_img" style="WIDTH: 579px; HEIGHT: 409px" alt="Posted Image" src="http://i33.tinypic.com/2444rnm.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img class="bbc_img" alt="Posted Image" src="http://i35.tinypic.com/avquxv.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789342358078178" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Webcam and Screen Recorder records webcams, full screen or part of the screen to a video file such as AVI and WMV. You can also record sound with the video. Use it to capture webcam sessions with your buddies and save those precious memories forever. Use Fake WebCam to play back those recorded videos on your instant messengers such as Yahoo and MSN. You can also create demos and presentation videos.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rapidshare.com/files/296862735/WebCamScreenRec_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 6.50 MB, Language: English)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-4114958737143610678?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/4114958737143610678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/webcam-and-screen-recorder-48_17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4114958737143610678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4114958737143610678'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/webcam-and-screen-recorder-48_17.html' title='WebCam and Screen Recorder 4.8'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i33.tinypic.com/2444rnm_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-2811037521405710405</id><published>2009-12-17T16:16:00.001-08:00</published><updated>2009-12-17T16:16:29.248-08:00</updated><title type='text'>WebCam and Screen Recorder 4.8</title><content type='html'>&lt;p&gt;&lt;img class="bbc_img" style="WIDTH: 579px; HEIGHT: 409px" alt="Posted Image" src="http://i33.tinypic.com/2444rnm.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img class="bbc_img" alt="Posted Image" src="http://i35.tinypic.com/avquxv.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789342358078178" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Webcam and Screen Recorder records webcams, full screen or part of the screen to a video file such as AVI and WMV. You can also record sound with the video. Use it to capture webcam sessions with your buddies and save those precious memories forever. Use Fake WebCam to play back those recorded videos on your instant messengers such as Yahoo and MSN. You can also create demos and presentation videos.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rapidshare.com/files/296862735/WebCamScreenRec_downloadsoftwarez.blogspot.com.rar"&gt;Download from Rapidshare (size: 6.50 MB, Language: English)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-2811037521405710405?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/2811037521405710405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/webcam-and-screen-recorder-48.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/2811037521405710405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/2811037521405710405'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/webcam-and-screen-recorder-48.html' title='WebCam and Screen Recorder 4.8'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i33.tinypic.com/2444rnm_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-6232573805205045544</id><published>2009-12-17T16:11:00.001-08:00</published><updated>2009-12-17T16:51:02.145-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo Tools'/><title type='text'>Yahoo.Messenger.10.0.0.1102.Final Setup</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jkZ6jgmmoXI/SySAW_-bHbI/AAAAAAAAB3U/lE41pn6ApL8/s1600-h/pic.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5414593784624913842" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 360px; CURSOR: pointer; HEIGHT: 335px" alt="" src="http://1.bp.blogspot.com/_jkZ6jgmmoXI/SySAW_-bHbI/AAAAAAAAB3U/lE41pn6ApL8/s320/pic.JPG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jkZ6jgmmoXI/SySAWiNAq5I/AAAAAAAAB3M/g60UQkKcuXQ/s1600-h/untitled.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5414593776633031570" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 205px; CURSOR: pointer; HEIGHT: 493px" alt="" src="http://1.bp.blogspot.com/_jkZ6jgmmoXI/SySAWiNAq5I/AAAAAAAAB3M/g60UQkKcuXQ/s320/untitled.JPG" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789342358078178" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;More Features&lt;br /&gt;&lt;br /&gt;Keep friends at your fingertips with the new &lt;b style="COLOR: rgb(255,0,0)"&gt;Yahoo&lt;/b&gt;! Messenger:&lt;br /&gt;* Easier ways to stay up to date - See more updates from your friends in the detailed Messenger list&lt;br /&gt;* Show off your status - Easily add links and emoticons to your status messages&lt;br /&gt;* Watch videos together - Share videos from popular sites and watch them with friends right in your IM window&lt;br /&gt;&lt;br /&gt;Other features include:&lt;br /&gt;&lt;br /&gt;1. Instant message with one friend, or conference in a bunch&lt;br /&gt;2. Send text messages (SMS) to friends' mobile phones&lt;br /&gt;3. Join a chat room to meet new friends while you discuss your favorite topics&lt;br /&gt;4. Make free PC-to-PC calls and PC-to-phone calls for as low as 1¢ a minute (plus free voicemail!)&lt;br /&gt;5. Use the built-in media player to watch web videos and view photos with friends&lt;br /&gt;6. Show your style with emoticons, Avatars, audibles and IMVironments&lt;br /&gt;7. Share securely with automatic file scanning for users of Norton AntiVirus or Internet Security&lt;br /&gt;&lt;br /&gt;Multi &lt;b style="COLOR: rgb(255,0,0)"&gt;Yahoo&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ads Remover&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://rapidshare.com/files/320143858/Yahoo.Messenger.10.0.0.1102.Final.Incl.Multi_HB.rar"&gt;Download from Rapidshare (Size: 16.62 MB, language: English)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-6232573805205045544?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/6232573805205045544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/yahoomessenger10001102final-setup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6232573805205045544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6232573805205045544'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/yahoomessenger10001102final-setup.html' title='Yahoo.Messenger.10.0.0.1102.Final Setup'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_jkZ6jgmmoXI/SySAW_-bHbI/AAAAAAAAB3U/lE41pn6ApL8/s72-c/pic.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5357149365803069754</id><published>2009-12-17T16:04:00.001-08:00</published><updated>2009-12-17T16:04:49.325-08:00</updated><title type='text'>Time Stopper 2</title><content type='html'>&lt;p&gt;&lt;img class="bbc_img" alt="Posted Image" src="http://i49.tinypic.com/2ajowbd.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Stop Time for each try-out version software and use them forever&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s1600-h/guezs3m5bam8bxry5xi.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789342358078178" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNfi2guI/AAAAAAAABm0/9fod-eOfEtE/s200/guezs3m5bam8bxry5xi.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;div class="blockquote"&gt;&lt;br /&gt;&lt;div class="quote"&gt;Time Stopper is the software which can stop the time for try out version software. When you stop the time you can use your try-out versions forever. When you stop the time of a try-out version using this Time Stopper it works via this Time Stopper. Real time and date run normally on your system. You can use any number of try-out version softwares with this software.&lt;br /&gt;How it Works&lt;br /&gt;&lt;br /&gt;* Open Time Stopper&lt;br /&gt;* Browse and select .exe of required trial software&lt;br /&gt;* Choose the new date (Any date which occurs in between your trial software time period before expiration, suggestion: set it to two days before trial software expiration date.)&lt;br /&gt;* Choose any time&lt;br /&gt;* Click open software on your selected date&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you wish to create an icon for your modified trial software and do not want to open Time stopper every time then use last button in software to create new icon. open that trial software after that from that newly created icon always otherwise it can expire.&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5321789334198623666" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; WIDTH: 200px; CURSOR: pointer; HEIGHT: 59px" alt="" src="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s200/catqznop8jydimm4ijle.png" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jkZ6jgmmoXI/SdrLNBJfHbI/AAAAAAAABms/0Ux_KBGCKgA/s1600-h/catqznop8jydimm4ijle.png"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;a href="http://rapidshare.com/files/321915418/Time_Stopper_2HB.rar"&gt;Download from Rapidshare (size: 7.36 MB, Language: English)&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5357149365803069754?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5357149365803069754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/time-stopper-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5357149365803069754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5357149365803069754'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/time-stopper-2.html' title='Time Stopper 2'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i49.tinypic.com/2ajowbd_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-7568849074956585229</id><published>2009-12-15T16:24:00.001-08:00</published><updated>2009-12-15T17:10:03.891-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Wide Area Networks- WANs</title><content type='html'>Wide Area Networks (WANs) connect LANs together between cities. &lt;br /&gt;&lt;br /&gt;The main difference between a MAN and a WAN is that the WAN uses Long Distance Carriers. Otherwise the same protocols and equipment are used as a MAN.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-7568849074956585229?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/7568849074956585229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/wide-area-networks-wans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/7568849074956585229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/7568849074956585229'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/wide-area-networks-wans.html' title='Wide Area Networks- WANs'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-743596940940129510</id><published>2009-12-15T16:23:00.001-08:00</published><updated>2009-12-15T17:12:41.254-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Twisted Pair</title><content type='html'>The wires in twisted pair cabling are twisted together in pairs. Each pair consists of a wire used for the +ve data signal and a wire used for the -ve data signal. Any noise that appears on 1 wire of the pair will also occur on the other wire. Because the wires are opposite polarities, they are 180 degrees out of phase (180 degrees - phasor definition of opposite polarity). When the noise appears on both wires, it cancels or nulls itself out at the receiving end. Twisted pair cables are most effectively used in systems that use a balanced line method of transmission: polar line coding (Manchester Encoding) as opposed to unipolar line coding (TTL logic).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-743596940940129510?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/743596940940129510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/twisted-pair.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/743596940940129510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/743596940940129510'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/twisted-pair.html' title='Twisted Pair'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5949718070716657653</id><published>2009-12-15T16:22:00.003-08:00</published><updated>2009-12-22T17:53:44.872-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Telephone Networks</title><content type='html'>The telephone network consists of your phone at home that is connected (by the Local Loop) to the Central Office. The Central Office is in turn connected to a Hierarchical Phone Network. Worldwide, there are over 300 million (300,000,000) telephones - 98% of them interconnected. &lt;br /&gt;&lt;br /&gt;&lt;i class="EMPHASIS"&gt;POTS - Plain Old Telephone Set&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The POTS, or Plain Old Telephone Set, consists of these 5 sections: &lt;/b&gt;&lt;br /&gt;&lt;ol type="i"&gt;&lt;li&gt;Ringer Unit  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Hook Switch  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Dialer Unit  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Hybrid/Speech Network  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Hand Set &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;The connection to the CO (Central Office) comprises only 2 wires: Tip and Ring. This connection is called the "Local Loop." &lt;br /&gt;&lt;br /&gt;The Tip is +ve and colored green.. The Ring is -ve and colored Red. If you look at a phone jack in your house, you will see that it is wired for 4 wires: Red, Green, Black and Yellow. However, black and yellow are not normally used. &lt;br /&gt;&lt;br /&gt;The black and yellow wires can be used for a second telephone line or they can be used for running a Network Physical layer protocol called Phonenet (by Farralon). Phonenet uses the black and yellow for Network communications. It is for use with Appletalk, and is a replacement for Localtalk. It runs at the Localtalk speed of 230 Kbps, reasonable for small networks. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;i. Ringer Unit&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The ringer is a device that alerts you to an incoming call: it interprets the ringing voltage from the Central Office. Originally, the ringer was a electromagnetic bell. Today, though, most ringers are electronic devices. &lt;br /&gt;&lt;br /&gt;The Central Office sends the following: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;a 90 to 120 VAC ringing voltage  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Frequency of 20 Hz  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Cadence for North America is 2 sec On/ 4 sec Off &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;ii. Hook Switch&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The hook switch is activated by lifting the handset off of the cradle. The position of the hook switch determines whether the telephone is waiting for a call, or is actively using the line. The off-hook position informs the network of a request for use. The on-hook position releases the use of the network. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;iii. Dialer Unit&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There are two types of Dialer Units: Rotary and Touch Tone. Rotary is the old "put your finger in the hole and spin" type. The rotary dial operates by toggling the Hook Switch on and off. &lt;br /&gt;&lt;br /&gt;Touch Tone is the modern method where 2 frequencies per push button are sent. Touch Tone is a trade name; the correct name is DTMF (Dual Tone Multi Frequency). &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;iv. Hybrid/Speech Network&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Hybrid/Speech Network performs these functions: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;It converts the Tx/Rx 4 wires from the Handset to the 2 wires for the Local Loop.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;It interfaces the signals from the Dialer Unit to the telephone line.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;It provides auto line compensation for line length to keep the volume constant. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;v. Handset&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Handset contains transducers that convert mechanical energy into electrical energy. The microphone converts speech into electrical energy while the diaphragm (or speaker) converts electrical signals into audible signals. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Functions of a Telephone Set are shown below. &lt;/b&gt;&lt;br /&gt;&lt;ol type="i"&gt;&lt;li&gt;Request use of network from the CO (Central Office).  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Inform you of the network status: Dial-tone, Ringing, Busy, Fast Busy (Talk Mail)  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Informs CO of desired number.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Informs you when a call is incoming (phone rings).  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Releases use of network when call is complete (hang-up)  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Transmit speech on network &amp;amp; receives speech from distant caller.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Adjust power levels and compensates for line length. &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Local Loops&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Local Loop is the connection between the Central Office and the home or business. Two wires (1 pair) are run into every home. The pair does not go directly to the Central Office. Instead, it goes to those big green boxes--that you see on the street corners--called "Serving Area Interfaces" (SIA) . Large multi-conductor bundles of wires then go from there to the Central Office. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Central Office&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Central Office provides the following functions: &lt;br /&gt;&lt;ol type="i"&gt;&lt;li&gt;It supplies the battery voltage for the telephone system. The On-hook voltage is 48 Vdc +/- 2V. Off-hook voltage is -6.5 Vdc.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;It supplies the Ringing Generator - 90 to 120 VAC, 20 Hz, 2 sec on/ 4 sec off  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;It supplies the Busy signal (480 + 620 Hz, 0.5 sec On/ 0.5 sec Off), Dial Tone (350 + 440 Hz) and Fast Busy (480 + 620 Hz, 0.2 sec On/ 0.3 sec Off).  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;It has the digital switching gear that determines if the number is an Interoffice call (local) or an Intraoffice call (Toll - long distance). &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Hierarchical Phone Networks&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The PSTN (Public Switch Telephone Network) is divided into a hierarchical network. Here are the 5 classes of switching centers in North America: &lt;br /&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=46706156266265188&amp;amp;postID=5949718070716657653" name="AEN3769"&gt;&lt;/a&gt;&lt;br /&gt;&lt;table border="0" class="CALSTABLE"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;b&gt;ClassCenter&lt;/b&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;b&gt;Abbreviation&lt;/b&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;b&gt;Symbol&lt;/b&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;b&gt;Examples&lt;/b&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="20%"&gt;1&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Regional Center&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;RC&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;2 in Canada: West - ReginaEast - Montreal&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="20%"&gt;2&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Sectional Center&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;SC&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Calgary serves Alberta&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="20%"&gt;3&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Primary Center&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;PC&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Edmonton&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="20%"&gt;4&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Toll Center&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;TC&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Drumheller&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="20%"&gt;4&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Toll Point&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;TP&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Rainbow Lake&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="20%"&gt;5&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;Central Office(Local Loop)&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;CO&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="20%"&gt;284-xxxx&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;In the following example:&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Hierarchical portion is seen as follows: &lt;/b&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=46706156266265188&amp;amp;postID=5949718070716657653" name="AEN3829"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" class="CALSTABLE"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="50%"&gt;Trunk&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="50%"&gt;Long distance telephone cable&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="50%"&gt;Toll Trunk&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="50%"&gt;Connects CO (Central Office) to TC (Toll Center)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="50%"&gt;Intertoll Trunk&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="50%"&gt;Everything above TC (Toll Center) and TC to TC&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="50%"&gt;Interoffice Trunk&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="50%"&gt;Between CO (Central Office)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="50%"&gt;Intraoffice Trunk &lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="50%"&gt;Call between 2 subscribers within the same CO (284-7079 to 284-8181).&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Call routing:&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;ol type="1"&gt;&lt;li&gt;Preferred route  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Second choice  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Third Choice &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Call routing is determined by network engineering and physical location. When all lines are idle, the call routing selects the preferred route. If the preferred route is busy, then the call is routed to the second choice. Because the second choice is routed through one toll center, the charge for the call is greater than the preferred route. The third choice is used when the second choice is busy. The third choice goes through 2 toll centers, and is the most expensive route. &lt;br /&gt;&lt;br /&gt;A Central Office can have up to 10,000 subscribers (for example, 284-0000 to 284-9999). Most have 4,000 to 5,000 subscribers. The Central Office bases the loading requirements on roughly 10% of the phones that will be in use at any one time. However, the use of Internet dialup access has drastically changed this statistic!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5949718070716657653?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5949718070716657653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/telephone-networks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5949718070716657653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5949718070716657653'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/telephone-networks.html' title='Telephone Networks'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5083127610285424028</id><published>2009-12-15T16:22:00.001-08:00</published><updated>2009-12-15T17:24:42.107-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Telecommunications Components</title><content type='html'>&lt;ol&gt;&lt;li&gt; ISDN ­ Integrated Services Digital Network&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Private Branch Exchanges ­ PBXs, Key Systems&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Telcos ­ AT&amp;amp;T, Bell Telephone, Sprint, Telus&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; DataPac &amp;amp; DataRoute ­ Packet switching and analog switching WAN protocols&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Cell Relay ­ Digital packet switching WAN protocol &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Frame Relay ­ Digital packet switching WAN protocol &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; X.25 ­ Analog packet switching WAN protocol &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; ATM ­ Asynchronous Transfer Mode WAN protocol &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; World Wide Web ­ Hypertext-based multimedia system &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; ADSL ­ Asymmetrical Digital Subscriber Line &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5083127610285424028?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5083127610285424028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/telecommunications-components.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5083127610285424028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5083127610285424028'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/telecommunications-components.html' title='Telecommunications Components'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-6778062656001270748</id><published>2009-12-15T16:21:00.003-08:00</published><updated>2009-12-15T17:28:12.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Introduction of Network Security</title><content type='html'>Security is the protection of hardware, software and data from unauthorized access. Restricted physical access to computers, password protection, limiting user privileges and data encryption are common security methods. Anti-virus monitoring programs to defend against computer viruses are also a security measure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-6778062656001270748?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/6778062656001270748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6778062656001270748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6778062656001270748'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/security.html' title='Introduction of Network Security'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-7958820742588001288</id><published>2009-12-15T16:21:00.001-08:00</published><updated>2009-12-15T17:30:33.182-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Routers</title><content type='html'>Routers are both hardware and software devices. They can be cards that plug into a collapsed backbone, stand-alone devices (rack mount or desktop) or software that would run on a file server with 2 NICs. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Purpose of Routers&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The purpose of a router is to connect nodes across an Internetwork, regardless of the Physical Layer and Data Link Layer protocol that is used. Routers are hardware and topology-independent. Routers are not aware of the type of medium or frame that is being used (Ethernet, Token Ring, FDDI, X.25, etc.). Routers are aware of the Network Layer protocol that's used (e.g. Novell's IPX, Unix's IP, XNS, Apple's DDP, and so on). &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Router OSI Operating Layer&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Routers operate on the OSI Model's Network Layer. The Internetwork must use the same Network Layer protocol. Routers allow the transportation of the Network Layer PDU through the Internetwork, even though the Physical and Data Link Frame size and addressing scheme may change. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Router Segment to Segment Characteristics&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Routers that only know Novell IPX (Internetwork Packet Exchange) will not forward Unix's IP (Internetwork Packet) PDUs, and vice versa. Routers only see the Network Layer protocol that they have been configured for. This means that a network can have multiple protocols running on it (e.g. SPX/IPX, TCP/IP, Appletalk, XNS, etc.). &lt;br /&gt;&lt;br /&gt;In the following network, Router #3 is a Novell SPX/IPX router; it only sees the Network Layer protocol IPX. This means that any TCP/IP PDUs will not pass through: the router does not recognize the PDUs, and doesn't know what to do with them. &lt;br /&gt;&lt;br /&gt;Routers #1 &amp;amp; #2 are TCP/IP routers and they recognize only IP protocols. This keeps SPX/IPX traffic off of "Segment 300". This is in quotations because TCP/IP has a different network numbering scheme than IPX. &lt;br /&gt;&lt;br /&gt;Important Point: Routers allow network traffic to be isolated--or segmented--based on the Network Layer Protocol. This provides a functional segmentation of the network. &lt;br /&gt;&lt;br /&gt;Routers that only can see one protocol are called Protocol Dependent Routers. Routers that can see many different protocols (two or more) are called Multi protocol Routers. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Router Addressing&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Routers combine the Network Number and the Node Address to make Source and Destination addresses (in routing Network Layer PDUs across a network). Routers have to know the name of the segment that they are on, and the segment name or number where the PDU is going. They also have to know the Node Address: MAC Address for Novell, and the IP address for TCP/IP. &lt;br /&gt;&lt;br /&gt;For Novell's SPX/IPX (Sequential Packet eXchange/Internetwork Packet eXchange), the Network Layer PDU's address is composed of the Network Address (32 bit number) and the Host address (48 bit - MAC address). &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;Routing Protocols&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Routing Protocols are a "sub-protocol" of the Network Layer Protocol. They deal specifically with the routing of packets from the source to the destination (across an Internetwork). Examples of Routing Protocols are: RIP, IGRP and OSPF. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;RIP - Routing Information Protocol&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;RIP was one of the first routing protocols to gain widespread acceptance. It is described in RFC1058, which is an Internet standard. RFC stands for request for comment and the RFC1058 is the 1,058th RFC standard published. Commercial NOS, such as Novell, Apple, Banyan Vines, and 3Com, use RIP as the base routing algorithm for their respective protocol suites. &lt;br /&gt;&lt;br /&gt;RIP is a distance vector algorithm. Routers maintain a detailed view of locally-attached network segments, and a partial view of the remainder of the routing table. The routers contain information on the number of hop counts to each segment. A hop is considered to be one transverse through a router. Pass through a router, and the Hop count increases by 1. &lt;br /&gt;&lt;br /&gt;The routers are updated every &lt;i class="EMPHASIS"&gt;30&lt;/i&gt; seconds, when each router sends out a RIP broadcast. This advertisement process is what enables RIP routing to be dynamic. Dynamic routers can change routing tables on the fly (as the network configuration changes). By using the Hop Count information from their routing tables, routers can select the shortest path (the least number of hops) to the destination. &lt;br /&gt;&lt;br /&gt;Apple uses &lt;i class="EMPHASIS"&gt;RTMP&lt;/i&gt; (routing table maintenance protocol); this adds a good, bad or suspect route status indicator, depending on the age of the route information. &lt;br /&gt;&lt;br /&gt;Novell adds ticks to the RIP algorithm: &lt;i class="EMPHASIS"&gt;Ticks &lt;/i&gt;are dynamically assigned values that represent the delay associated with a given route. Each tick is considered 1/18 of a second. &lt;br /&gt;&lt;br /&gt;LAN segments are typically assigned a value of 1 tick. A T1 link may have a value of 5 to 6 ticks and a 56 Kbps line may have a value of 20 ticks. A larger number of ticks indicates a slower routing path. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Three commonest problems that can occur with RIP are shown below: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol type="1"&gt;&lt;li&gt;Routing loops: the router indicates that the shortest path is back the way the packet came from.  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Slow Route Convergence: routers have delay timers that start counting after the RIP advertising packet is broadcasted. This gives the routers time to receive and formulate a proper routing table from the other routers. If the delay timer is too short, the routing table can be implemented with incomplete data causing routing loops  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Hop Count Exceeded: the maximum number of hop counts is 15 for RIP. A hop count of 15 is classified as unreachable which makes RIP unsuitable for large networks where hop counts of 15 and above are normal. &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;EGRP - Exterior Gateway Routing Protocol&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;EGRP was created to solve many of the problems with RIP, and has become the default routing protocol across the Internet. EGRP is an enhanced distance vectoring protocol; it uses up to 5 metrics (conditions) to determine the best route as shown below: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Bandwidth  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Hop Count (Delay) - maximum of 255  &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Maximum Packet size  &lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;br /&gt;Reliability&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;br /&gt;Traffic (Load)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;These routing metrics are much more realistic indicators (of the best routes) than simple hop counts. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i class="EMPHASIS"&gt;OSPF - Open Shortest Path First&lt;/i&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;OSPF is a link state premise: it has several states of routers that are linked together in a hierarchical routing model. Let's take a look at this model in the following paragraphs.... &lt;br /&gt;&lt;br /&gt;The top of the root is the Autonomous Router that connects to other autonomous systems (the Internet). The next is the Backbone Routers, the highest area in the OSPF system. Border routers are attached to multiple areas and they run multiple copies of the routing algorithm. Last are internal routers that run a single routing database for one area. &lt;br /&gt;&lt;br /&gt;Basically, by dividing the network into a routing hierarchy, both substantial reduction of routing update traffic--and faster route convergence--result on a local basis. Each level has a smaller routing table, and less to update.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-7958820742588001288?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/7958820742588001288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/routers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/7958820742588001288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/7958820742588001288'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/routers.html' title='Routers'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-7618416315511055205</id><published>2009-12-15T16:20:00.007-08:00</published><updated>2009-12-15T17:43:31.596-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>RIP and OSPF Redistribution</title><content type='html'>&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_23xtocid1"&gt;&lt;b&gt;Configuring a RIP Network&lt;/b&gt; &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_23xtocid2"&gt;&lt;b&gt;Adding OSPF to the Center of a RIP Network&lt;/b&gt; &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_23xtocid3"&gt;&lt;b&gt;Adding OSPF Areas&lt;/b&gt; &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_23xtocid4"&gt;&lt;b&gt;Setting Up Mutual Redistribution&lt;/b&gt; &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_23xtocid5"&gt;&lt;b&gt;Summary&lt;/b&gt; &lt;/a&gt;&lt;/ul&gt;&lt;h1&gt;&lt;span style="font-size: large;"&gt;&lt;a href="" name="xtocid0"&gt;&lt;/a&gt;&lt;a href="" name="21849"&gt;&lt;/a&gt;&lt;a href="" name="3240"&gt;RIP and OSPF Redistribution&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;This case study addresses the issue of &lt;a href="" name="3241"&gt;integrating &lt;/a&gt;&lt;a href="" name="3242"&gt;Routing Information Protocol (RIP) networks with &lt;/a&gt;&lt;a href="" name="3244"&gt;Open Shortest Path First (OSPF) networks. Most OSPF networks also use RIP to communicate with hosts or to communicate with portions of the internetwork that do not use OSPF. Cisco supports both the RIP and OSPF protocols and provides a way to exchange routing information between RIP and OSPF networks. This case study provides examples of how to complete the following phases in redistributing information between RIP and OSPF networks, including the following topics:&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2330524"&gt;Configuring a RIP Network&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2334187"&gt;Adding OSPF to the Center of a RIP Network&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2329431"&gt;Adding OSPF Areas&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2341984"&gt;Setting Up Mutual Redistribution&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;a href="" name="xtocid1"&gt;&lt;/a&gt;&lt;a href="" name="30524"&gt;&lt;/a&gt;&lt;a href="" name="3262"&gt;Configuring a RIP Network&lt;/a&gt;&lt;/h2&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2333323"&gt;Figure 14-1&lt;/a&gt; illustrates a &lt;a href="" name="3266"&gt;RIP network. Three sites are connected with serial lines. The RIP network uses a &lt;/a&gt;&lt;a href="" name="3268"&gt;Class B address and an 8-bit subnet mask. Each site has a contiguous set of network numbers.&lt;/a&gt;&lt;br /&gt;&lt;a href="" name="3268"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;14-1: &lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="" name="33323"&gt;&lt;/a&gt;&lt;a href="" name="3271"&gt;&lt;/a&gt;&lt;a href="" name="20834"&gt;A RIP network.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="" name="20834"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2313184"&gt;&lt;/a&gt; lists the network address assignments for the RIP network, including the network number, subnet range, and subnet masks. All interfaces indicate network 130.10.0.0; however, the specific address includes the subnet and subnet mask. For example, serial interface 0 on Router C has an IP address of 130.10.63.3 with a subnet mask of 255.255.255.0. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Table&amp;nbsp;14-1: &lt;a href="" name="13184"&gt;&lt;/a&gt;&lt;a href="" name="3313"&gt;RIP Network Address Assignments &lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;table border="1" cellpadding="10"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt; &lt;th align="left"&gt;&lt;b&gt;&lt;b&gt;Network Number&lt;/b&gt;&lt;/b&gt; &lt;br /&gt;&lt;/th&gt; &lt;th align="left"&gt;&lt;b&gt;Subnets&lt;/b&gt; &lt;br /&gt;&lt;/th&gt; &lt;th align="left"&gt;&lt;b&gt;Subnet Masks&lt;/b&gt; &lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Site A: 8 through 15&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.0&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Site B: 16 through 23&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.0&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Site C: 24 through 31&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.0&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Serial Backbone: 62 through 64&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.0&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table cellpadding="10"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&lt;a href="" name="3313"&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;h5&gt;&lt;a href="" name="3313"&gt;Configuration File Examples&lt;/a&gt;&lt;/h5&gt;&lt;a href="" name="3313"&gt;The&lt;/a&gt;&lt;a href="" name="3315"&gt; following commands in the configuration file for &lt;/a&gt;&lt;a href="" name="3316"&gt;Router A determine the IP address for each interface and enable RIP on those interfaces:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3316"&gt;interface serial 0&lt;br /&gt;ip address 130.10.62.1 255.255.255.0&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.63.1 255.255.255.0&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.8.1 255.255.255.0&lt;br /&gt;interface tokenring 0&lt;br /&gt;ip address 130.10.9.1 255.255.255.0&lt;br /&gt;router rip&lt;br /&gt;network 130.10.0.0&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="3316"&gt;The following commands in the configuration file for Router B determine the IP address for each interface and enable RIP on those interfaces:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3316"&gt;interface serial 0&lt;br /&gt;ip address 130.10.62.2 255.255.255.0&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.64.2 255.255.255.0&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.17.2 255.255.255.0&lt;br /&gt;interface tokenring 0&lt;br /&gt;ip address 130.10.16.2 255.255.255.0&lt;br /&gt;router rip&lt;br /&gt;network 130.10.0.0&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="3316"&gt;The following commands in the configuration file for Router&lt;/a&gt;&lt;a href="" name="3339"&gt; C determine the IP address for each interface and enable RIP on those interfaces:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3339"&gt;interface serial 0&lt;br /&gt;ip address 130.10.63.3 255.255.255.0&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.64.3 255.255.255.0&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.24.3 255.255.255.0&lt;br /&gt;router rip&lt;br /&gt;network 130.10.0.0&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="" name="xtocid2"&gt;&lt;/a&gt;&lt;a href="" name="34187"&gt;&lt;/a&gt;&lt;a href="" name="3350"&gt;Adding OSPF to the Center of a RIP Network&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;A common first step in converting a RIP network to OSPF is to add backbone routers that run both RIP and &lt;a href="" name="3352"&gt;OSPF, while the remaining network devices run RIP. These backbone routers are OSPF autonomous system boundary routers. Each &lt;/a&gt;&lt;a href="" name="3353"&gt;autonomous&lt;/a&gt;&lt;a href="" name="3354"&gt; system boundary router controls the flow of routing information between OSPF and RIP. In &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2314402"&gt;Figure 14-2&lt;/a&gt;, Router A is configured as the autonomous system boundary router.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;14-2: &lt;a href="" name="14402"&gt;&lt;/a&gt;&lt;a href="" name="3360"&gt;&lt;/a&gt;&lt;a href="" name="28722"&gt;RIP network with OSPF at the center.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="" name="28722"&gt;RIP does not need to run between the backbone routers; therefore, RIP is suppressed on Router A with the following commands:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="28722"&gt;router rip&lt;br /&gt;passive-interface serial 0&lt;br /&gt;passive-interface serial 1&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="28722"&gt;The RIP routes are redistributed into OSPF by all three routers with the following commands:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="28722"&gt;router ospf 109&lt;br /&gt;redistribute rip subnets&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="28722"&gt;The subnets keyword tells OSPF to redistribute all subnet routes. Without the &lt;/a&gt;&lt;a href="" name="3373"&gt;subnets keyword, only networks that are not subnetted will be redistributed by OSPF. Redistributed routes appear as external type 2 routes in OSPF. Each RIP &lt;/a&gt;&lt;a href="" name="3375"&gt;domain &lt;/a&gt;&lt;a href="" name="3376"&gt;receives information about networks in other RIP domains and in the OSPF backbone area from the following commands that redistribute OSPF routes into RIP:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3376"&gt;router rip&lt;br /&gt;redistribute ospf 109 match internal external 1 external 2&lt;br /&gt;default-metric 10&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="3376"&gt;The redistribute command uses the &lt;/a&gt;&lt;a href="" name="3380"&gt;ospf keyword to specify that OSPF routes are to be redistributed into RIP. The &lt;/a&gt;&lt;a href="" name="3382"&gt;keyword internal indicates the OSPF intra-area and interarea routes: External 1 is the external route type 1, and external 2 is the external route type&amp;nbsp;2. Because the command in the example uses the default behavior, these keywords may not appear when you use the &lt;/a&gt;&lt;a href="" name="3383"&gt;write terminal or show configuration commands.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="" name="3383"&gt;Because metrics for different protocols cannot be directly compared, you must specify the default metric in order to designate the cost of the redistributed route used in RIP updates. All routes that are redistributed will use the default metric. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="" name="3383"&gt;In &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2314402"&gt;Figure 14-2&lt;/a&gt;, there are no paths directly connecting the RIP clouds. However, in typical networks, these paths, or "back doors," frequently exist, allowing the potential for feedback loops. You can use access lists to determine the routes that are advertised and accepted by each router. For example, access list 11 in the configuration file for Router A allows OSPF to redistribute information learned from RIP only for networks 130.10.8.0 through 130.10.15.0:&lt;br /&gt;&lt;pre&gt;router ospf 109&lt;br /&gt;redistribute rip subnet&lt;br /&gt;distribute-list 11 out rip&lt;br /&gt;access-list 11 permit 130.10.8.0 0.0.7.255&lt;br /&gt;access-list 11 deny 0.0.0.0 255.255.255.255&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;These commands prevent Router A from advertising networks&lt;a href="" name="3394"&gt; in other RIP domains onto the OSPF backbone, thereby preventing other boundary routers from using false information and forming a loop.&lt;/a&gt;&lt;br /&gt;&lt;h5&gt;&lt;span style="font-size: large;"&gt;&lt;a href="" name="3394"&gt;Configuration File Examples&lt;/a&gt;&lt;/span&gt;&lt;/h5&gt;&lt;br /&gt;&lt;a href="" name="3394"&gt;The full configuration for Router A follows:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3394"&gt;interface serial 0&lt;br /&gt;ip address 130.10.62.1 255.255.255.0&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.63.1 255.255.255.0&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.8.1 255.255.255.0&lt;br /&gt;interface tokenring 0&lt;br /&gt;ip address 130.10.9.1 255.255.255.0&lt;br /&gt;!&lt;br /&gt;router rip&lt;br /&gt;default-metric 10&lt;br /&gt;network 130.10.0.0&lt;br /&gt;passive-interface serial 0&lt;br /&gt;passive-interface serial 1&lt;br /&gt;redistribute ospf 109 match internal external 1 external 2&lt;br /&gt;!&lt;br /&gt;router ospf 109&lt;br /&gt;network 130.10.62.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.63.0 0.0.0.255 area 0&lt;br /&gt;redistribute rip subnets&lt;br /&gt;distribute-list 11 out rip&lt;br /&gt;!&lt;br /&gt;access-list 11 permit 130.10.8.0 0.0.7.255&lt;br /&gt;access-list 11 deny 0.0.0.0 255.255.255.255&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="3394"&gt;The full configuration &lt;/a&gt;&lt;a href="" name="3422"&gt;for &lt;/a&gt;&lt;a href="" name="3423"&gt;Router B follows:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3423"&gt;interface serial 0&lt;br /&gt;ip address 130.10.62.2 255.255.255.0&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.64.2 255.255.255.0&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.17.2 255.255.255.0&lt;br /&gt;interface tokenring 0&lt;br /&gt;ip address 130.10.16.2 255.255.255.0&lt;br /&gt;!&lt;br /&gt;router rip&lt;br /&gt;default-metric 10&lt;br /&gt;network 130.10.0.0&lt;br /&gt;passive-interface serial 0&lt;br /&gt;passive-interface serial 1&lt;br /&gt;redistribute ospf 109 match internal external 1 external 2&lt;br /&gt;!&lt;br /&gt;router ospf 109&lt;br /&gt;network 130.10.62.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.64.0 0.0.0.255 area 0&lt;br /&gt;redistribute rip subnets&lt;br /&gt;distribute-list 11 out rip&lt;br /&gt;access-list 11 permit 130.10.16.0 0.0.7.255&lt;br /&gt;access-list 11 deny 0.0.0.0 255.255.255.255&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="3423"&gt;The full configuration for Router C follows:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3423"&gt;interface serial 0&lt;br /&gt;ip address 130.10.63.3 255.255.255.0&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.64.3 255.255.255.0&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.24.3 255.255.255.0&lt;br /&gt;!&lt;br /&gt;router rip&lt;br /&gt;default-metric 10&lt;br /&gt;!&lt;br /&gt;network 130.10.0.0&lt;br /&gt;passive-interface serial 0&lt;br /&gt;passive-interface serial 1&lt;br /&gt;redistribute ospf 109 match &lt;/a&gt;&lt;a href="" name="3462"&gt;internal external 1 external 2&lt;br /&gt;!&lt;br /&gt;router ospf 109&lt;br /&gt;network 130.10.63.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.64.0 0.0.0.255 area 0&lt;br /&gt;redistribute rip subnets&lt;br /&gt;distribute-list 11 out rip&lt;br /&gt;access-list&lt;/a&gt;&lt;a href="" name="3470"&gt; 11 permit 130.10.24.0 0.0.7.255&lt;br /&gt;&lt;/a&gt;&lt;a href="" name="3472"&gt;access-list 11 deny 0.0.0.0 255.255.255.255&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;h2&gt;&lt;span style="font-size: large;"&gt;&lt;a href="" name="xtocid3"&gt;&lt;/a&gt;&lt;a href="" name="29431"&gt;&lt;/a&gt;&lt;a href="" name="3475"&gt;Adding OSPF Areas&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2335550"&gt;Figure 14-3&lt;/a&gt; illustrates how each of the RIP clouds can be&lt;a href="" name="3479"&gt; converted into an OSPF area. All three routers are area border routers. Area border routers control network information distribution between OSPF areas and the OSPF backbone. Each router keeps a detailed record of the topology of its area and receives summarized information from the other area border routers on their respective areas.&lt;/a&gt;&lt;br /&gt;&lt;a href="" name="3479"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;14-3: &lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="" name="35550"&gt;&lt;/a&gt;&lt;a href="" name="3483"&gt;&lt;/a&gt;&lt;a href="" name="34370"&gt;Configuring route summarization between OSPF areas.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="" name="34370"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2335550"&gt;Figure 14-3&lt;/a&gt; also illustrates &lt;a href="" name="3492"&gt;variable-length subnet masks (VLSMs). VLSMs use different size network masks in different parts of the network for the same network number. VLSM conserves address space by using a longer mask in portions of the network that have fewer hosts. &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2329163"&gt;Table 14-2&lt;/a&gt; lists the network address assignments for the network, including the network number, subnet range, and subnet masks. All interfaces indicate network 130.10.0.0. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Table&amp;nbsp;14-2: &lt;a href="" name="29163"&gt;&lt;/a&gt;&lt;a href="" name="3529"&gt;OSPF Address Assignments &lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;table border="1" cellpadding="10"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt; &lt;th align="left"&gt;&lt;b&gt;Network Number&lt;/b&gt; &lt;br /&gt;&lt;/th&gt; &lt;th align="left"&gt;&lt;b&gt;Subnets&lt;/b&gt; &lt;br /&gt;&lt;/th&gt; &lt;th align="left"&gt;&lt;b&gt;Subnet Masks&lt;/b&gt; &lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Area 0: 62 through 64&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.248&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Area 1: 8 through 15&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.0&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Area 2: 16 through 23&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.0&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt; &lt;td align="left"&gt;&lt;br /&gt;130.10.0.0&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;Area 3: 24 through 31&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;br /&gt;255.255.255.0&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table cellpadding="10"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&lt;a href="" name="3529"&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="" name="3529"&gt;To conserve address space, a mask of 255.255.255.248 is used for all the serial lines in area 0. If an area contains a contiguous range of network numbers, an area border router uses the &lt;/a&gt;&lt;a href="" name="3531"&gt;range keyword with the area command to summarize the routes that are injected into the backbone:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3531"&gt;router ospf 109&lt;br /&gt;network 130.10.8.0 0.0.7.255 area 1&lt;br /&gt;area 1 range 130.10.8.0 255.255.248.0&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="3531"&gt;These commands allow &lt;/a&gt;&lt;a href="" name="3535"&gt;Router A to advertise one route, 130.10.8.0 255.255.248.0, which covers all subnets in Area 1 into Area 0. Without the range keyword in the area command, Router A would advertise each subnet individually; for example, one route for 130.10.8.0 255.255.255.0, one route for 130.10.9.0 255.255.255.0, and so forth.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="" name="3535"&gt;Because Router A no longer needs &lt;/a&gt;&lt;a href="" name="3537"&gt;to redistribute RIP routes, the &lt;/a&gt;&lt;a href="" name="3538"&gt;router rip command can now be removed from the configuration file; however, it is common in some environments for hosts to use RIP to discover routers. When RIP is removed from the routers, the hosts must use an alternative technique to find the routers. Cisco routers support the following alternatives to RIP:&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="" name="3540"&gt;ICMP Router Discovery Protocol (IRDP)—This technique is illustrated in the example at the end of this section. IRDP is the recommended method for discovering routers. The ip&amp;nbsp;irdp command enables IRDP on the router. Hosts must also run IRDP.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="" name="3542"&gt;Proxy Address Resolution Protocol (ARP)—If the router receives an ARP request for a host that is not on the same network as the ARP request sender, and if the router has the best route to that host, the router sends an ARP reply packet giving the router's own local data link address. The host that sent the ARP request then sends its packets to the router, which forwards them to the intended host. Proxy ARP is enabled on routers by default. Proxy ARP is transparent to hosts.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;&lt;span style="font-size: large;"&gt;&lt;a href="" name="3542"&gt;Configuration File Examples&lt;/a&gt;&lt;/span&gt;&lt;/h5&gt;&lt;b&gt;&lt;a href="" name="3542"&gt;The full configuration for Router A follows:&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3542"&gt;interface serial 0&lt;br /&gt;ip address 130.10.62.1 255.255.255.248&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.63.1 255.255.255.248&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.8.1 255.255.255.0&lt;br /&gt;ip irdp&lt;br /&gt;interface tokenring 0&lt;br /&gt;ip address 130.10.9.1 255.255.255.0&lt;br /&gt;ip irdp&lt;br /&gt;router ospf 109&lt;br /&gt;network 130.10.62.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.63.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.8.0 0.0.7.255 area 1&lt;br /&gt;area 1 range 130.10.8.0 255.255.248.0&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="" name="3542"&gt;The full configuration for Router B follows:&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3542"&gt;interface serial 0&lt;br /&gt;ip address 130.10.62.2 255.255.255.248&lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.64.2 255.255.255.248&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.17.2 255.255.255.0&lt;br /&gt;ip irdp&lt;br /&gt;interface tokenring 0&lt;br /&gt;ip address 130.10.16.2 255.255.255.0&lt;br /&gt;ip irdp&lt;br /&gt;router ospf 109&lt;br /&gt;network 130.10.62.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.64.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.16.0 0.0.7.255 area 2&lt;br /&gt;area 2 range 130.10.16.0 255.255.248.0&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="" name="3542"&gt;The full configuration for &lt;/a&gt;&lt;a href="" name="3577"&gt;Router C follows:&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3577"&gt;interface serial 0&lt;br /&gt;ip address 130.10.63.2 255.255.255.248 &lt;br /&gt;interface serial 1&lt;br /&gt;ip address 130.10.64.2 255.255.255.248&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip address 130.10.24.3 255.255.255.0&lt;br /&gt;ip irdp&lt;br /&gt;router ospf 109&lt;br /&gt;network 130.10.63.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.64.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.24.0 0.0.0.255 area 3&lt;br /&gt;area 3 range 130.10.24.0 255.255.248.0&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;h2&gt;&lt;span style="font-size: large;"&gt;&lt;a href="" name="xtocid4"&gt;&lt;/a&gt;&lt;a href="" name="41984"&gt;&lt;/a&gt;&lt;a href="" name="3592"&gt;Setting Up Mutual Redistribution&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;It is sometimes necessary to accommodate more complex network topologies such as independent RIP and OSPF clouds that must perform &lt;a href="" name="3594"&gt;mutual redistribution. In this scenario, it is critically important to prevent potential routing loops by filtering routes. The router in &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/nd2014.htm_2340602"&gt;Figure 14-4&lt;/a&gt; is running both OSPF and RIP. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;14-4: &lt;a href="" name="40602"&gt;&lt;/a&gt;&lt;a href="" name="3600"&gt;&lt;/a&gt;&lt;a href="" name="28326"&gt;Mutual redistribution between RIP and OSPF networks.&lt;/a&gt;&lt;/b&gt;&lt;a href="" name="28326"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="" name="28326"&gt;With the following commands, OSPF routes will be redistributed into RIP. You must specify the default metric to designate the cost of the redistributed route in RIP updates. All routes redistributed into RIP will have this default metric.&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="28326"&gt;! passive interface subcommand from previous example is left out for clarity!&lt;br /&gt;router rip&lt;br /&gt;default-metric 10&lt;br /&gt;network 130.10.0.0&lt;br /&gt;redistribute ospf 109&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="" name="28326"&gt;It is a good practice to strictly control which routes are advertised when redistribution is configured. In the following example, a &lt;/a&gt;&lt;a href="" name="3613"&gt;distribute-list out command causes RIP to ignore routes coming from the OSPF that originated from the RIP &lt;/a&gt;&lt;a href="" name="3614"&gt;domain.&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3614"&gt;router rip&lt;br /&gt;distribute-list 10 out ospf 109&lt;br /&gt;!&lt;br /&gt;access-list 10 deny 130.10.8.0 0.0.7.255&lt;br /&gt;access-list 10 permit 0.0.0.0 255.255.255.255&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;h5&gt;&lt;span style="font-size: large;"&gt;&lt;a href="" name="3614"&gt;Router A&lt;/a&gt;&lt;/span&gt;&lt;/h5&gt;&lt;a href="" name="3614"&gt;The full configuration for the router follows:&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;a href="" name="3614"&gt;interface serial 0&lt;br /&gt;ip add 130.10.62.1 255.255.255.0&lt;br /&gt;!&lt;br /&gt;interface serial 1&lt;br /&gt;ip add 130.10.63.1 255.255.255.0&lt;br /&gt;!&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip add 130.10.8.1 255.255.255.0&lt;br /&gt;!&lt;br /&gt;interface tokenring 0&lt;br /&gt;ip add 130.10.9.1 255.255.255.0&lt;br /&gt;!&lt;br /&gt;router rip&lt;br /&gt;default-metric 10&lt;br /&gt;network 130.10.0.0&lt;br /&gt;passive-interface serial 0&lt;br /&gt;passive-interface serial 1&lt;br /&gt;redistribute ospf 109&lt;br /&gt;distribute-list 10 out ospf 109&lt;br /&gt;!&lt;br /&gt;router ospf 109&lt;br /&gt;network 130.10.62.0 0.0.0.255 area 0&lt;br /&gt;network 130.10.63.0 0.0.0.255 area 0&lt;br /&gt;redistribute rip subnets&lt;br /&gt;distribute-list 11 out rip&lt;br /&gt;!&lt;br /&gt;access-list 10 deny 130.10.8.0 0.0.7.255&lt;br /&gt;access-list 10 permit 0.0.0.0 255.255.255.255&lt;br /&gt;access-list 11 permit 130.10.8.0 0.0.7.255&lt;br /&gt;access-list 11 deny 0.0.0.0 255.255.255.255&lt;br /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;h2&gt;&lt;a href="" name="xtocid5"&gt;Summary&lt;/a&gt;&lt;/h2&gt;Because it is common for OSPF and RIP to be used together, it is important to use the practices described here in order to provide functionality for both protocols on an internetwork. You can configure autonomous system boundary routers that run both RIP and OSPF and redistribute RIP routes into the OSPF and vice versa. You can also create OSPF areas using area border routers that provide route summarizations. Use VLSM to conserve address space.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-7618416315511055205?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/7618416315511055205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/rip-and-ospf-redistribution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/7618416315511055205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/7618416315511055205'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/rip-and-ospf-redistribution.html' title='RIP and OSPF Redistribution'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-8846759493810873731</id><published>2009-12-15T16:20:00.005-08:00</published><updated>2009-12-15T17:47:12.832-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Definition of Networking Reliability</title><content type='html'>Reliability is the measure of how often a network is usable. MTBF (Mean Time Between Failures) is a measure of the average time a component is expected to operate between failures, and is normally provided by the manufacturer. A network failure can be caused by a problem with the hardware, the data carrying medium, or the Network Operating System.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-8846759493810873731?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/8846759493810873731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/reliability.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8846759493810873731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8846759493810873731'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/reliability.html' title='Definition of Networking Reliability'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5736245498590253280</id><published>2009-12-15T16:20:00.003-08:00</published><updated>2009-12-15T16:20:12.105-08:00</updated><title type='text'>Recovery</title><content type='html'>Recovery is the network's ability to return to a prescribed level of operation after a network failure. This level is where the amount of lost data is nonexistent or at a minimum. Recovery is based on having back-up files. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5736245498590253280?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5736245498590253280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/recovery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5736245498590253280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5736245498590253280'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/recovery.html' title='Recovery'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5513252928242855172</id><published>2009-12-15T16:20:00.001-08:00</published><updated>2009-12-15T17:55:08.929-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Physical Connection</title><content type='html'>The physical connection determines how many bits (1's or 0's) can be transmitted in a single instance of time. If only 1 bit of information can be transmitted over the data transmission medium at a time then it is considered a serial communication. &lt;br /&gt;&lt;br /&gt;If more than 1 bit of information is transmitted over the data transmission medium at a time then it is considered a parallel communication. &lt;br /&gt;&lt;br /&gt;&lt;div class="CHAPTER"&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a href="" name="AEN941"&gt;&lt;/a&gt;&lt;br /&gt;&lt;table border="1" class="CALSTABLE"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="33%"&gt;Communications&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="33%"&gt;Advantages&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="33%"&gt;Disadvantages&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="33%"&gt;Parallel&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="33%"&gt;Fast Transfer Rates&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="33%"&gt;Short distances only&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt; &lt;td align="left" valign="top" width="33%"&gt;Serial&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="33%"&gt;Long Distances&lt;br /&gt;&lt;/td&gt; &lt;td align="left" valign="top" width="33%"&gt;Slow transfer rates&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5513252928242855172?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5513252928242855172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/physical-connection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5513252928242855172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5513252928242855172'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/physical-connection.html' title='Physical Connection'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-4293098496258233584</id><published>2009-12-15T16:19:00.001-08:00</published><updated>2009-12-15T17:57:50.965-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>OSIRP- Open System Interconnection Routing Protocol</title><content type='html'>&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid2"&gt;&lt;b&gt;Background&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid3"&gt;&lt;fontsize="4"&gt;OSI Networking Terminology&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid4"&gt;&lt;b&gt;End System-to-Intermediate System&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid5"&gt;&lt;fontsize="4"&gt;ES-IS Configuration&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid6"&gt;&lt;fontsize="4"&gt;ES-IS Addressing Information&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid7"&gt;&lt;b&gt;Intermediate System-to-Intermediate System&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid8"&gt;&lt;fontsize="4"&gt;OSI Routing Operation&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid9"&gt;&lt;fontsize="4"&gt;IS-IS Metrics&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid10"&gt;&lt;fontsize="4"&gt;IS-IS Packet Formats&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid11"&gt;&lt;b&gt;Integrated IS-IS&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid12"&gt;&lt;b&gt;Interdomain Routing Protocol&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid13"&gt;&lt;fontsize="4"&gt;IDRP Terminology&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid14"&gt;&lt;fontsize="4"&gt;IDRP Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid15"&gt;&lt;b&gt;Review Questions&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid0"&gt;Chapter Goals&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Describe the IS-IS protocol. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Discuss different configurations of IS-IS. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe the Interdomain Routing Protocol. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h1&gt;&lt;a name="xtocid1"&gt;Open System Interconnection Routing Protocol&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid2"&gt;Background&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;The International Organization for Standardization (ISO) developed a complete suite of routing protocols for use in the Open System Interconnection (OSI) protocol suite. These include Intermediate System-to-Intermediate System (IS-IS), End System-to-Intermediate System (ES-IS), and Interdomain Routing Protocol (IDRP). This chapter addresses the basic operations of each of these protocols.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;IS-IS is based on work originally done at Digital Equipment Corporation (Digital) &lt;br /&gt;for DECnet/OSI (DECnet Phase V). IS-IS originally was developed to route in ISO Connectionless Network Protocol (CLNP) networks. A version has since been created that supports both CLNP and Internet Protocol (IP) networks; this version usually is referred to as Integrated IS-IS (it also has been called Dual IS-IS).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;OSI routing protocols are summarized in several ISO documents, including ISO 10589, which defines IS-IS. The American National Standards Institute (ANSI) X3S3.3 (network and transport layers) committee was the motivating force behind ISO standardization of IS-IS. Other ISO documents include ISO 9542 (which defines ES-IS) and ISO 10747 (which defines IDRP).&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid3"&gt;OSI Networking Terminology&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;The world of OSI networking uses some specific terminology, such as&lt;a name="1020554"&gt; &lt;em&gt;end system (ES)&lt;/em&gt;, which refers to any nonrouting network nodes, and &lt;em&gt;intermediate system&lt;/em&gt; &lt;em&gt;(IS)&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;a name="1020556"&gt;&lt;/a&gt;&lt;/em&gt;&lt;a name="1020556"&gt;, which refers to a router. These terms form the basis for the ES-IS and IS-IS OSI protocols. The ES-IS protocol enables ESs and ISs to discover each other. The IS-IS protocol provides routing between ISs. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020556"&gt;Other important OSI networking terms include area, domain, Level 1 routing, and Level 2 routing. An &lt;em&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;a name="1020558"&gt;area&lt;/a&gt;&lt;/em&gt;&lt;a name="1020558"&gt; is a group of contiguous networks and attached hosts that is specified to be an area by a network administrator or manager. A &lt;/a&gt;&lt;a name="1020559"&gt;&lt;em&gt;domain&lt;/em&gt; is a collection of connected areas. Routing domains provi&lt;/a&gt;&lt;a name="1020560"&gt;de full connectivity to all end systems within them. &lt;em&gt;Level 1 routing&lt;/em&gt; is routing within a Level 1 area, while &lt;/a&gt;&lt;a name="1020561"&gt;&lt;em&gt;Level 2 routing&lt;/em&gt; is routing between Level 1 areas. Figure 45-1 illustrates the relationship between areas and domains, and depicts the levels of routing between the two.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020561"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-1: Areas Exist Within a Larger Domain and Use Level 2 Routing to Communicate &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844501.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid4"&gt;End System-to-Intermediate System&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020567"&gt;End System-to-Intermediate System (ES-IS)&lt;/a&gt;&lt;/em&gt;&lt;a name="1020567"&gt; is an OSI protocol that defines how end &lt;/a&gt;&lt;a name="1020569"&gt;systems (hosts) and intermediate systems (routers) learn about each other, a process known as configuration. Configuration must happen before routing between ESs can occur.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020569"&gt;ES-IS is more of a discovery protocol than a routing protocol. It distinguishes among three different types of subnetworks: point-to-point subnetworks, broadcast subnetworks, and general topology subnetworks. &lt;/a&gt;&lt;a name="1020571"&gt;Point-to-point subnetworks, such as WAN serial links, provide a point-to-point link between two systems. &lt;/a&gt;&lt;a name="1020572"&gt;Broadcast subnetworks, such as Ethernet and IEEE 802.3, direct a single physical message to all nodes on the subnetwork. &lt;/a&gt;&lt;a name="1020573"&gt;General topology subnetworks, such as X.25, support an arbitrary number of systems. Unlike broadcast subnetworks, however, the cost of an &lt;em&gt;n&lt;/em&gt;-way transmission scales directly with the subnetwork size on a general topology subnetwork. Figure 45-2 illustrates the three types of ES-IS subnetworks.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020573"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-2: ES-IS Can Be Deployed in Point-to-Point, Broadcast, and General Topology Subnetworks &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844502.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid5"&gt;ES-IS Configuration&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020580"&gt;ES-IS configuration&lt;/a&gt;&lt;/em&gt;&lt;a name="1020580"&gt; is the process whereby ESs and ISs discover each other so that routing between ESs can occur. ES-IS configuration information is transmitted at regular intervals through two types of messages:&lt;/a&gt;&lt;a name="1020582"&gt; ES hello messages (ESHs) and I&lt;/a&gt;&lt;a name="1020583"&gt;S hello messages (ISHs). ESHs are generated by ESs and are sent to every IS on the subnetwork. ISHs are generated by ISs and are sent to all ESs on the subnetwork. These hello messages primarily are intended to convey the subnetwork and network layer addresses of the systems that generate them. Where possible, ES-IS attempts to send configuration information simultaneously to many systems. On broadcast subnetworks, ES-IS hello messages are sent to all ISs through a special multicast address that designates all end systems. When operating on a general topology subnetwork, ES-IS generally does not transmit configuration information because of the high cost of multicast transmissions.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid6"&gt;ES-IS Addressing Information&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020585"&gt;The ES-IS configuration protocol conveys both OSI network layer addresses and OSI subnetwork addresses. OSI network layer addresses identify either the network service access point (NSAP), which is the interface between OSI Layer 3 and Layer 4, or the network entity title (NET), which is the network layer entity in an OSI IS. OSI subnetwork addresses, or &lt;/a&gt;&lt;a name="1020587"&gt;subnetwork&lt;/a&gt;&lt;a name="1020588"&gt; point-of-attachment addresses (SNPAs) are the points at which an ES or IS is physically attached to a subnetwork. The SNPA address uniquely identifies each system attached to the subnetwork. In an Ethernet network, for example, the SNPA is the 48-bit Media Access Control (MAC) address. Part of the configuration information &lt;/a&gt;&lt;a name="1020589"&gt;transmitted by ES-IS is the NSAP-to-SNPA or NET-to-SNPA mapping.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid7"&gt;Intermediate System-to-Intermediate System&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020591"&gt;Intermediate System-to-Intermediate System (IS-IS)&lt;/a&gt;&lt;/em&gt;&lt;a name="1020591"&gt; is an OSI link-state hierarchical routing protocol that floods the network with link-state information to build a complete, consistent picture of network topology. To simplify router design and operation, IS-IS distinguishes between Level 1 and Level 2 ISs. Level 1 ISs communicate with other Level 1 ISs in the same area. Level 2 ISs route between Level 1 areas and form an intradomain routing backbone. Hierarchical routing simplifies backbone design because Level 1 ISs need to know only how to get to the nearest Level 2 IS. The backbone routing protocol also can change without impacting the intra-area routing protocol.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid8"&gt;OSI Routing Operation&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020594"&gt;Each ES lives in a particular area. OSI routing begins when the ESs discover the nearest IS by listening to ISH packets. When an ES wants to send a packet to another ES, it sends the packet to one of the ISs on its directly attached network. The router then looks up the destination address and forwards the packet along the best route. If the destination ES is on the same subnetwork, the local IS will know this from listening to ESHs and will forward the packet appropriately. The IS also might provide a redirect (RD) message back to the source to tell it that a more direct route is available. If the destination address is an ES on another subnetwork in the same area, the IS will know the correct route and will forward the packet appropriately. If the destination address is an ES in another area, the Level 1 IS sends the packet to the nearest Level 2 IS. Forwarding through Level 2 ISs continues until the packet reaches a Level 2 IS in the destination area. Within the destination area, ISs forward the packet along the best path until the destination ES is reached.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020594"&gt;Link-state update &lt;/a&gt;&lt;a name="1020596"&gt;messages help ISs learn about the network topology. First, each IS generates an update specifying the ESs and ISs to which it is connected, as well as the associated metrics. The update then is sent to all neighboring ISs, which forward (flood) it to their neighbors, and so on. (Sequence numbers terminate the flood and distinguish old updates from new ones.) Using these updates, each IS can build a complete topology of the network. When the topology changes, new updates are sent.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid9"&gt;IS-IS Metrics&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;IS-IS uses a single required default metric with a maximum path value of 1024. The metric is arbitrary and typically is assigned by a network administrator. Any single link can have &lt;a name="1020600"&gt;a maximum value of 64, and path links are calculated by summing link values. Maximum metric values were set at these levels to provide the granularity to support various link types while at the same time ensuring that the shortest-path algorithm used for route computation will be reasonably efficient. IS-IS also defines three optional metrics (costs): delay, expense, and error. The &lt;/a&gt;&lt;a name="1020601"&gt;delay cost metric reflects the amount of delay on the link. The expense cost metric reflects the communications cost associated with using the link. &lt;br /&gt;The error cost metric reflects the error rate of the link. IS-IS maintains a mapping of these four metrics to the quality of service (QoS) option in the CLNP packet header. IS-IS uses these mappings to compute routes through the internetwork.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid10"&gt;IS-IS Packet Formats&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020603"&gt;IS-IS uses three basic packet formats:&lt;/a&gt;&lt;a name="1020604"&gt; IS-IS hello packets, &lt;/a&gt;&lt;a name="1020605"&gt;link-state packets (LSPs), and sequence-number packets (SNPs). Each of the three IS-IS packets has a complex format with the following three different logical parts. The first part consists of an 8-byte fixed header shared by all three packet types. The second part is a packet type-specific portion with a fixed format. The third part is also packet type-specific but of variable length. Figure 45-3 illustrates the logical format of IS-IS packets. Figure 45-4 shows the common header fields of the IS-IS packets.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020605"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-3: IS-IS Packets Consist of Three Logical Headers&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844503.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-4: IS-IS Packets Consist of Eight Fields &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844504.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020605"&gt;The following descripti&lt;/a&gt;&lt;a name="1020616"&gt;ons summarize the fields illustrated in Figure 45-4:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;Protocol identifier&lt;/strong&gt;&amp;mdash;Identifies the IS-IS protocol and contains the constant 131.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;Header length&lt;/strong&gt;&amp;mdash;Contains the fixed header length. The length always is equal to 8 bytes but is included so that IS-IS packets do not differ significantly from CLNP packets. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;Version&lt;/strong&gt;&amp;mdash;Contains a value of 1 in the current IS-IS specification.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;ID length&lt;/strong&gt;&amp;mdash;Specifies the size of the ID portion of an NSAP address. If the field contains a value between 1 and 8 inclusive, the ID portion of an NSAP address is that number of bytes. If&lt;/a&gt;&lt;a name="1020622"&gt; the field contains a value of zero, the ID portion of an NSAP address is 6 bytes. If the field contains a value of 25&lt;/a&gt;&lt;a name="1020623"&gt;5 (all ones), the I&lt;/a&gt;&lt;a name="1020624"&gt;D portion of an NSAP address is zero bytes.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Packet type&lt;/strong&gt;&amp;mdash;Specifies the type of IS-IS packet (hello, LSP, or SNP).&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Version&lt;/strong&gt;&amp;mdash;Repeats after the Packet Type field.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Reserved&lt;/strong&gt;&amp;mdash;Is ignored by the receiver and is equal to 0.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Maximum area addresses&lt;/strong&gt;&amp;mdash;Specifies the number of addresses permitted in this area.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020624"&gt;Following the common header, each packet type has a different additional fixed portion, followed by a variable portion.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid11"&gt;Integrated IS-IS&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Integrated IS-IS&lt;/em&gt; is a version of the OSI IS-IS routing protocol that uses a single routing &lt;a name="1020632"&gt;algorithm to support more network layer protocols than just CLNP. Integrated IS-IS sometimes is called Dual IS-IS, named after a version designed for IP and CLNP networks. Several fields are added to IS-IS packets to allow IS-IS to support additional network layers. These fields inform routers about the reachability of network addresses from other protocol suites and other information required by a specific protocol suite. Integrated IS-IS implementations send only one set of routing updates, which is more efficient than two separate implementations. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020632"&gt;Integrated IS-IS represents one of two ways of supporting multiple network layer protocols in a router; the other is the ships-in-the-night approach. Sh&lt;/a&gt;&lt;a name="1020634"&gt;ips-in-the-night routing advocates the use of a completely separate and distinct routing protocol for each network protocol so that the multiple routing protocols essentially exist independently. The different types of routing information basically pass like ships in the night. Integrated routing has the capability to route multiple network layer protocols through tables calculated by a single routing protocol, thus saving some router resources. Integrated IS-IS uses this approach.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid12"&gt;Interdomain Routing Protocol&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020636"&gt;The &lt;em&gt;Interdomain Ro&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;a name="1020637"&gt;uting Protocol (IDRP)&lt;/a&gt;&lt;/em&gt;&lt;a name="1020637"&gt; is an OSI protocol that specifies how routers communicate with routers in different domains. IDRP is designed to operate seamlessly with CLNP, ES-IS, and IS-IS. IDRP is based on the Border Gateway Protocol (BGP), an interdomain routing protocol that originated in the IP community. IDRP features include the following:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Support for CLNP quality of service (QoS)&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Loop suppression by keeping track of all RDs traversed by a route&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Reduction of route information and processing by using confederations, the compression of RD path information, and other means&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Reliability by using a built-in reliable transport&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Security by using cryptographic signatures on a per-packet basis&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Rou&lt;/a&gt;&lt;a name="1020644"&gt;te servers&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid13"&gt;IDRP Terminology&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020647"&gt;IDRP introduces several environment-specific terms. These include border intermediate system (BIS), routing domain (RD), routing domain identifier (RDI), routing information base (RIB), and confederation. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020647"&gt;A &lt;em&gt;BIS&lt;/em&gt; is an IS that participates in interdomain routing and, as such, uses IDRP. An &lt;em&gt;RD&lt;/em&gt; is a group of ESs and ISs that operate under the same set of administrative rules and that share a common routing plan. An &lt;em&gt;RDI&lt;/em&gt; is a unique RD identifier. An &lt;em&gt;RIB&lt;/em&gt; is a routing database used by IDRP that is built by each BIS from information received from within the RD and from other BISs. A RIB contains the set of routes chosen for use by a particular BIS. A &lt;em&gt;confederation&lt;/em&gt; is a group of RDs that appears to RDs outside the confederation as a single RD. The confederation's topology is not visible to RDs outside the confederation. Confederations must be nested within one another and help reduce network traffic by acting as internetwork firewalls. Figure 45-5 illustrates the relationship between IDRP entities.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020647"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-5: Domains Communicate via Border Intermediate Systems (BISs) &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844505.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid14"&gt;IDRP Routing &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;An IDRP route is a sequence of RDIs, some of which can be confederations. Each BIS is configured to know the RD and the confederations to which it belongs. It learns about other BISs, RDs, and confederations through information exchanges with each neighbor. As with distance-vector routing, routes to a particular destination accumulate outward from the destination. Only routes that satisfy a BIS's local policies and that have been selected for use will be passed on to other BISs. Route recalculation is partial and occurs when one of three events occurs: an incremental routing update with new routes is received, a BIS neighbor goes down, or a BIS neighbor comes up.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid15"&gt;Review Questions&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;What two types of messages are sent between systems in a ES-IS?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;Between ES and IS systems, IS hellos and ES hellos are sent at regular intervals to maintain the connections and to exchange subnetwork and network layer addresses.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;What link-state hierarchical routing protocol floods the network with link-state information when performing updates?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;Intermediate System-to-Intermediate System (IS-IS) is an OSI link-state hierarchical routing protocol that floods the network with link-state information to build a complete, consistent picture of network topology. To simplify router design and operation, IS-IS distinguishes between Level 1 and Level 2 ISs. Level 1 ISs communicate with other Level 1 ISs in the same area. Level 2 ISs route between Level 1 areas and form an intradomain routing backbone.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;How is the IS-IS metric figured on each link?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;IS-IS uses a single required default metric with a maximum path value of 1024. The metric is arbitrary and typically is assigned by a network administrator. Any single link can have a maximum value of 64, and path links are calculated by summing link values.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-4293098496258233584?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/4293098496258233584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/osirp-open-system-interconnection_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4293098496258233584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4293098496258233584'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/osirp-open-system-interconnection_15.html' title='OSIRP- Open System Interconnection Routing Protocol'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5750414541449670795</id><published>2009-12-15T16:18:00.003-08:00</published><updated>2009-12-15T17:57:50.966-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>OSIRP- Open System Interconnection Routing Protocol</title><content type='html'>&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid2"&gt;&lt;b&gt;Background&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid3"&gt;&lt;fontsize="4"&gt;OSI Networking Terminology&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid4"&gt;&lt;b&gt;End System-to-Intermediate System&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid5"&gt;&lt;fontsize="4"&gt;ES-IS Configuration&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid6"&gt;&lt;fontsize="4"&gt;ES-IS Addressing Information&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid7"&gt;&lt;b&gt;Intermediate System-to-Intermediate System&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid8"&gt;&lt;fontsize="4"&gt;OSI Routing Operation&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid9"&gt;&lt;fontsize="4"&gt;IS-IS Metrics&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid10"&gt;&lt;fontsize="4"&gt;IS-IS Packet Formats&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid11"&gt;&lt;b&gt;Integrated IS-IS&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid12"&gt;&lt;b&gt;Interdomain Routing Protocol&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid13"&gt;&lt;fontsize="4"&gt;IDRP Terminology&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid14"&gt;&lt;fontsize="4"&gt;IDRP Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_rout.htm_23xtocid15"&gt;&lt;b&gt;Review Questions&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid0"&gt;Chapter Goals&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Describe the IS-IS protocol. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Discuss different configurations of IS-IS. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe the Interdomain Routing Protocol. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h1&gt;&lt;a name="xtocid1"&gt;Open System Interconnection Routing Protocol&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid2"&gt;Background&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;The International Organization for Standardization (ISO) developed a complete suite of routing protocols for use in the Open System Interconnection (OSI) protocol suite. These include Intermediate System-to-Intermediate System (IS-IS), End System-to-Intermediate System (ES-IS), and Interdomain Routing Protocol (IDRP). This chapter addresses the basic operations of each of these protocols.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;IS-IS is based on work originally done at Digital Equipment Corporation (Digital) &lt;br /&gt;for DECnet/OSI (DECnet Phase V). IS-IS originally was developed to route in ISO Connectionless Network Protocol (CLNP) networks. A version has since been created that supports both CLNP and Internet Protocol (IP) networks; this version usually is referred to as Integrated IS-IS (it also has been called Dual IS-IS).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;OSI routing protocols are summarized in several ISO documents, including ISO 10589, which defines IS-IS. The American National Standards Institute (ANSI) X3S3.3 (network and transport layers) committee was the motivating force behind ISO standardization of IS-IS. Other ISO documents include ISO 9542 (which defines ES-IS) and ISO 10747 (which defines IDRP).&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid3"&gt;OSI Networking Terminology&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;The world of OSI networking uses some specific terminology, such as&lt;a name="1020554"&gt; &lt;em&gt;end system (ES)&lt;/em&gt;, which refers to any nonrouting network nodes, and &lt;em&gt;intermediate system&lt;/em&gt; &lt;em&gt;(IS)&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;a name="1020556"&gt;&lt;/a&gt;&lt;/em&gt;&lt;a name="1020556"&gt;, which refers to a router. These terms form the basis for the ES-IS and IS-IS OSI protocols. The ES-IS protocol enables ESs and ISs to discover each other. The IS-IS protocol provides routing between ISs. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020556"&gt;Other important OSI networking terms include area, domain, Level 1 routing, and Level 2 routing. An &lt;em&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;a name="1020558"&gt;area&lt;/a&gt;&lt;/em&gt;&lt;a name="1020558"&gt; is a group of contiguous networks and attached hosts that is specified to be an area by a network administrator or manager. A &lt;/a&gt;&lt;a name="1020559"&gt;&lt;em&gt;domain&lt;/em&gt; is a collection of connected areas. Routing domains provi&lt;/a&gt;&lt;a name="1020560"&gt;de full connectivity to all end systems within them. &lt;em&gt;Level 1 routing&lt;/em&gt; is routing within a Level 1 area, while &lt;/a&gt;&lt;a name="1020561"&gt;&lt;em&gt;Level 2 routing&lt;/em&gt; is routing between Level 1 areas. Figure 45-1 illustrates the relationship between areas and domains, and depicts the levels of routing between the two.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020561"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-1: Areas Exist Within a Larger Domain and Use Level 2 Routing to Communicate &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844501.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid4"&gt;End System-to-Intermediate System&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020567"&gt;End System-to-Intermediate System (ES-IS)&lt;/a&gt;&lt;/em&gt;&lt;a name="1020567"&gt; is an OSI protocol that defines how end &lt;/a&gt;&lt;a name="1020569"&gt;systems (hosts) and intermediate systems (routers) learn about each other, a process known as configuration. Configuration must happen before routing between ESs can occur.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020569"&gt;ES-IS is more of a discovery protocol than a routing protocol. It distinguishes among three different types of subnetworks: point-to-point subnetworks, broadcast subnetworks, and general topology subnetworks. &lt;/a&gt;&lt;a name="1020571"&gt;Point-to-point subnetworks, such as WAN serial links, provide a point-to-point link between two systems. &lt;/a&gt;&lt;a name="1020572"&gt;Broadcast subnetworks, such as Ethernet and IEEE 802.3, direct a single physical message to all nodes on the subnetwork. &lt;/a&gt;&lt;a name="1020573"&gt;General topology subnetworks, such as X.25, support an arbitrary number of systems. Unlike broadcast subnetworks, however, the cost of an &lt;em&gt;n&lt;/em&gt;-way transmission scales directly with the subnetwork size on a general topology subnetwork. Figure 45-2 illustrates the three types of ES-IS subnetworks.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020573"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-2: ES-IS Can Be Deployed in Point-to-Point, Broadcast, and General Topology Subnetworks &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844502.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid5"&gt;ES-IS Configuration&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020580"&gt;ES-IS configuration&lt;/a&gt;&lt;/em&gt;&lt;a name="1020580"&gt; is the process whereby ESs and ISs discover each other so that routing between ESs can occur. ES-IS configuration information is transmitted at regular intervals through two types of messages:&lt;/a&gt;&lt;a name="1020582"&gt; ES hello messages (ESHs) and I&lt;/a&gt;&lt;a name="1020583"&gt;S hello messages (ISHs). ESHs are generated by ESs and are sent to every IS on the subnetwork. ISHs are generated by ISs and are sent to all ESs on the subnetwork. These hello messages primarily are intended to convey the subnetwork and network layer addresses of the systems that generate them. Where possible, ES-IS attempts to send configuration information simultaneously to many systems. On broadcast subnetworks, ES-IS hello messages are sent to all ISs through a special multicast address that designates all end systems. When operating on a general topology subnetwork, ES-IS generally does not transmit configuration information because of the high cost of multicast transmissions.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid6"&gt;ES-IS Addressing Information&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020585"&gt;The ES-IS configuration protocol conveys both OSI network layer addresses and OSI subnetwork addresses. OSI network layer addresses identify either the network service access point (NSAP), which is the interface between OSI Layer 3 and Layer 4, or the network entity title (NET), which is the network layer entity in an OSI IS. OSI subnetwork addresses, or &lt;/a&gt;&lt;a name="1020587"&gt;subnetwork&lt;/a&gt;&lt;a name="1020588"&gt; point-of-attachment addresses (SNPAs) are the points at which an ES or IS is physically attached to a subnetwork. The SNPA address uniquely identifies each system attached to the subnetwork. In an Ethernet network, for example, the SNPA is the 48-bit Media Access Control (MAC) address. Part of the configuration information &lt;/a&gt;&lt;a name="1020589"&gt;transmitted by ES-IS is the NSAP-to-SNPA or NET-to-SNPA mapping.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid7"&gt;Intermediate System-to-Intermediate System&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020591"&gt;Intermediate System-to-Intermediate System (IS-IS)&lt;/a&gt;&lt;/em&gt;&lt;a name="1020591"&gt; is an OSI link-state hierarchical routing protocol that floods the network with link-state information to build a complete, consistent picture of network topology. To simplify router design and operation, IS-IS distinguishes between Level 1 and Level 2 ISs. Level 1 ISs communicate with other Level 1 ISs in the same area. Level 2 ISs route between Level 1 areas and form an intradomain routing backbone. Hierarchical routing simplifies backbone design because Level 1 ISs need to know only how to get to the nearest Level 2 IS. The backbone routing protocol also can change without impacting the intra-area routing protocol.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid8"&gt;OSI Routing Operation&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020594"&gt;Each ES lives in a particular area. OSI routing begins when the ESs discover the nearest IS by listening to ISH packets. When an ES wants to send a packet to another ES, it sends the packet to one of the ISs on its directly attached network. The router then looks up the destination address and forwards the packet along the best route. If the destination ES is on the same subnetwork, the local IS will know this from listening to ESHs and will forward the packet appropriately. The IS also might provide a redirect (RD) message back to the source to tell it that a more direct route is available. If the destination address is an ES on another subnetwork in the same area, the IS will know the correct route and will forward the packet appropriately. If the destination address is an ES in another area, the Level 1 IS sends the packet to the nearest Level 2 IS. Forwarding through Level 2 ISs continues until the packet reaches a Level 2 IS in the destination area. Within the destination area, ISs forward the packet along the best path until the destination ES is reached.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020594"&gt;Link-state update &lt;/a&gt;&lt;a name="1020596"&gt;messages help ISs learn about the network topology. First, each IS generates an update specifying the ESs and ISs to which it is connected, as well as the associated metrics. The update then is sent to all neighboring ISs, which forward (flood) it to their neighbors, and so on. (Sequence numbers terminate the flood and distinguish old updates from new ones.) Using these updates, each IS can build a complete topology of the network. When the topology changes, new updates are sent.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid9"&gt;IS-IS Metrics&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;IS-IS uses a single required default metric with a maximum path value of 1024. The metric is arbitrary and typically is assigned by a network administrator. Any single link can have &lt;a name="1020600"&gt;a maximum value of 64, and path links are calculated by summing link values. Maximum metric values were set at these levels to provide the granularity to support various link types while at the same time ensuring that the shortest-path algorithm used for route computation will be reasonably efficient. IS-IS also defines three optional metrics (costs): delay, expense, and error. The &lt;/a&gt;&lt;a name="1020601"&gt;delay cost metric reflects the amount of delay on the link. The expense cost metric reflects the communications cost associated with using the link. &lt;br /&gt;The error cost metric reflects the error rate of the link. IS-IS maintains a mapping of these four metrics to the quality of service (QoS) option in the CLNP packet header. IS-IS uses these mappings to compute routes through the internetwork.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid10"&gt;IS-IS Packet Formats&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020603"&gt;IS-IS uses three basic packet formats:&lt;/a&gt;&lt;a name="1020604"&gt; IS-IS hello packets, &lt;/a&gt;&lt;a name="1020605"&gt;link-state packets (LSPs), and sequence-number packets (SNPs). Each of the three IS-IS packets has a complex format with the following three different logical parts. The first part consists of an 8-byte fixed header shared by all three packet types. The second part is a packet type-specific portion with a fixed format. The third part is also packet type-specific but of variable length. Figure 45-3 illustrates the logical format of IS-IS packets. Figure 45-4 shows the common header fields of the IS-IS packets.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020605"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-3: IS-IS Packets Consist of Three Logical Headers&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844503.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-4: IS-IS Packets Consist of Eight Fields &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844504.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020605"&gt;The following descripti&lt;/a&gt;&lt;a name="1020616"&gt;ons summarize the fields illustrated in Figure 45-4:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;Protocol identifier&lt;/strong&gt;&amp;mdash;Identifies the IS-IS protocol and contains the constant 131.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;Header length&lt;/strong&gt;&amp;mdash;Contains the fixed header length. The length always is equal to 8 bytes but is included so that IS-IS packets do not differ significantly from CLNP packets. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;Version&lt;/strong&gt;&amp;mdash;Contains a value of 1 in the current IS-IS specification.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020616"&gt;&lt;strong&gt;ID length&lt;/strong&gt;&amp;mdash;Specifies the size of the ID portion of an NSAP address. If the field contains a value between 1 and 8 inclusive, the ID portion of an NSAP address is that number of bytes. If&lt;/a&gt;&lt;a name="1020622"&gt; the field contains a value of zero, the ID portion of an NSAP address is 6 bytes. If the field contains a value of 25&lt;/a&gt;&lt;a name="1020623"&gt;5 (all ones), the I&lt;/a&gt;&lt;a name="1020624"&gt;D portion of an NSAP address is zero bytes.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Packet type&lt;/strong&gt;&amp;mdash;Specifies the type of IS-IS packet (hello, LSP, or SNP).&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Version&lt;/strong&gt;&amp;mdash;Repeats after the Packet Type field.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Reserved&lt;/strong&gt;&amp;mdash;Is ignored by the receiver and is equal to 0.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020624"&gt;&lt;strong&gt;Maximum area addresses&lt;/strong&gt;&amp;mdash;Specifies the number of addresses permitted in this area.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020624"&gt;Following the common header, each packet type has a different additional fixed portion, followed by a variable portion.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid11"&gt;Integrated IS-IS&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Integrated IS-IS&lt;/em&gt; is a version of the OSI IS-IS routing protocol that uses a single routing &lt;a name="1020632"&gt;algorithm to support more network layer protocols than just CLNP. Integrated IS-IS sometimes is called Dual IS-IS, named after a version designed for IP and CLNP networks. Several fields are added to IS-IS packets to allow IS-IS to support additional network layers. These fields inform routers about the reachability of network addresses from other protocol suites and other information required by a specific protocol suite. Integrated IS-IS implementations send only one set of routing updates, which is more efficient than two separate implementations. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020632"&gt;Integrated IS-IS represents one of two ways of supporting multiple network layer protocols in a router; the other is the ships-in-the-night approach. Sh&lt;/a&gt;&lt;a name="1020634"&gt;ips-in-the-night routing advocates the use of a completely separate and distinct routing protocol for each network protocol so that the multiple routing protocols essentially exist independently. The different types of routing information basically pass like ships in the night. Integrated routing has the capability to route multiple network layer protocols through tables calculated by a single routing protocol, thus saving some router resources. Integrated IS-IS uses this approach.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid12"&gt;Interdomain Routing Protocol&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020636"&gt;The &lt;em&gt;Interdomain Ro&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;a name="1020637"&gt;uting Protocol (IDRP)&lt;/a&gt;&lt;/em&gt;&lt;a name="1020637"&gt; is an OSI protocol that specifies how routers communicate with routers in different domains. IDRP is designed to operate seamlessly with CLNP, ES-IS, and IS-IS. IDRP is based on the Border Gateway Protocol (BGP), an interdomain routing protocol that originated in the IP community. IDRP features include the following:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Support for CLNP quality of service (QoS)&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Loop suppression by keeping track of all RDs traversed by a route&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Reduction of route information and processing by using confederations, the compression of RD path information, and other means&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Reliability by using a built-in reliable transport&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Security by using cryptographic signatures on a per-packet basis&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020637"&gt;Rou&lt;/a&gt;&lt;a name="1020644"&gt;te servers&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid13"&gt;IDRP Terminology&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020647"&gt;IDRP introduces several environment-specific terms. These include border intermediate system (BIS), routing domain (RD), routing domain identifier (RDI), routing information base (RIB), and confederation. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020647"&gt;A &lt;em&gt;BIS&lt;/em&gt; is an IS that participates in interdomain routing and, as such, uses IDRP. An &lt;em&gt;RD&lt;/em&gt; is a group of ESs and ISs that operate under the same set of administrative rules and that share a common routing plan. An &lt;em&gt;RDI&lt;/em&gt; is a unique RD identifier. An &lt;em&gt;RIB&lt;/em&gt; is a routing database used by IDRP that is built by each BIS from information received from within the RD and from other BISs. A RIB contains the set of routes chosen for use by a particular BIS. A &lt;em&gt;confederation&lt;/em&gt; is a group of RDs that appears to RDs outside the confederation as a single RD. The confederation's topology is not visible to RDs outside the confederation. Confederations must be nested within one another and help reduce network traffic by acting as internetwork firewalls. Figure 45-5 illustrates the relationship between IDRP entities.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020647"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;45-5: Domains Communicate via Border Intermediate Systems (BISs) &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844505.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid14"&gt;IDRP Routing &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;An IDRP route is a sequence of RDIs, some of which can be confederations. Each BIS is configured to know the RD and the confederations to which it belongs. It learns about other BISs, RDs, and confederations through information exchanges with each neighbor. As with distance-vector routing, routes to a particular destination accumulate outward from the destination. Only routes that satisfy a BIS's local policies and that have been selected for use will be passed on to other BISs. Route recalculation is partial and occurs when one of three events occurs: an incremental routing update with new routes is received, a BIS neighbor goes down, or a BIS neighbor comes up.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid15"&gt;Review Questions&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;What two types of messages are sent between systems in a ES-IS?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;Between ES and IS systems, IS hellos and ES hellos are sent at regular intervals to maintain the connections and to exchange subnetwork and network layer addresses.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;What link-state hierarchical routing protocol floods the network with link-state information when performing updates?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;Intermediate System-to-Intermediate System (IS-IS) is an OSI link-state hierarchical routing protocol that floods the network with link-state information to build a complete, consistent picture of network topology. To simplify router design and operation, IS-IS distinguishes between Level 1 and Level 2 ISs. Level 1 ISs communicate with other Level 1 ISs in the same area. Level 2 ISs route between Level 1 areas and form an intradomain routing backbone.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;How is the IS-IS metric figured on each link?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;IS-IS uses a single required default metric with a maximum path value of 1024. The metric is arbitrary and typically is assigned by a network administrator. Any single link can have a maximum value of 64, and path links are calculated by summing link values.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5750414541449670795?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5750414541449670795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/osirp-open-system-interconnection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5750414541449670795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5750414541449670795'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/osirp-open-system-interconnection.html' title='OSIRP- Open System Interconnection Routing Protocol'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-4294868393867700342</id><published>2009-12-15T16:18:00.001-08:00</published><updated>2009-12-15T17:57:50.967-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>OSIP- Open System Interconnection Protocols</title><content type='html'>&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022217"&gt;&lt;b&gt;Background&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022221"&gt;&lt;b&gt;OSI Networking Protocols&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022227"&gt;&lt;span&gt;OSI Physical and Data Link layers&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022230"&gt;&lt;span&gt;OSI Network Layer&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022233"&gt;&lt;span&gt;OSI Layer Standards&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022239"&gt;&lt;span&gt;OSI Connectionless Network Service&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022246"&gt;&lt;span&gt;OSI Connection-Oriented Network Service&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231024696"&gt;&lt;span&gt;Network Layer Addressing&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022288"&gt;&lt;span&gt;OSI Protocols Transport Layer&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022304"&gt;&lt;span&gt;OSI Protocols Session Layer&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022315"&gt;&lt;span&gt;OSI Protocols Presentation Layer&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022321"&gt;&lt;span&gt;OSI Protocols Application Layer&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/osi_prot.htm_231022362"&gt;&lt;b&gt;Review Questions&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1024546"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="1024542"&gt;&lt;/a&gt;Chapter Goals&lt;/h2&gt;&lt;br /&gt;&lt;div class="pSmartList1"&gt;&lt;br /&gt;&lt;ul class="pSmartList1"&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022213"&gt;&lt;/a&gt;Introduce the OSI protocol, used primarily to facilitate multivendor equipment interoperability. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022214"&gt;&lt;/a&gt;Discuss the structures and functioning of this protocol, from its introduction in the early 1980s.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2 class="pTitle"&gt;&lt;a name="wp1024600"&gt;&lt;/a&gt;&lt;br /&gt;Open System Interconnection Protocols &lt;/h2&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="1022217"&gt;&lt;/a&gt;Background&lt;/h2&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022218"&gt;&lt;/a&gt;The&lt;span style="FONT-STYLE: italic"&gt; Open System Interconnection (OSI)&lt;/span&gt; protocol suite is comprised of numerous standard &lt;a name="1022219"&gt;&lt;/a&gt;protocols that are based on the OSI reference model. These protocols are part of an international program to develop data-networking protocols and other standards that facilitate multivendor equipment interoperability. The OSI program grew out of a need for international networking standards and is designed to facilitate communication between hardware and software systems despite differences in underlying architectures. &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1024607"&gt;&lt;/a&gt;The OSI specifications were conceived and implemented by two international standards organizations: the International Organization for Standardization (ISO) and the International Telecommunication Union-Telecommunications Standards Sector (ITU-T). This chapter provides a summary of the OSI protocol suite and illustrates its mapping to the general OSI reference model. &lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="1022221"&gt;&lt;/a&gt;OSI Networking Protocols&lt;/h2&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022222"&gt;&lt;/a&gt;Figure 30-1 illustrates the entire OSI protocol suite and its relation to the layers of the OSI reference model. Each component of this protocol suite is discussed briefly in this chapter. The OSI routing protocols are addressed in more detail in Chapter 45, "Open System Interconnection (OSI) Routing Protocols." &lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;30-1&amp;nbsp; &amp;nbsp; The OSI Protocol Suite Maps to All Layers of the OSI Reference Model &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct843001.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;h3&gt;&lt;a name="1022227"&gt;&lt;/a&gt;OSI Physical and Data Link layers&lt;/h3&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022229"&gt;&lt;/a&gt;&lt;a name="1022228"&gt;&lt;/a&gt;The OSI protocol suite supports numerous standard media-access protocols at the physical and data link layers. The wide variety of media-access protocols supported in the OSI protocol suite allows other protocol suites to exist easily alongside OSI on the same network media. Supported media-access protocols include IEEE 802.2 LLC, IEEE 802.3, Token Ring/IEEE 802.5, Fiber Distributed Data Interface (FDDI), and X.25. &lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="1022230"&gt;&lt;/a&gt;OSI Network Layer&lt;/h3&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022232"&gt;&lt;/a&gt;&lt;a name="1022231"&gt;&lt;/a&gt;The OSI protocol suite specifies two routing protocols at the network layer: End System-to-Intermediate System (ES-IS) and Intermediate System-to-Intermediate System (IS-IS). In addition, the OSI suite implements two types of network services: connectionless service and connection-oriented service. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1022233"&gt;&lt;/a&gt;OSI Layer Standards&lt;/h4&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022235"&gt;&lt;/a&gt;&lt;a name="1022234"&gt;&lt;/a&gt;In addition to the standards specifying the OSI network layer protocols and services, the following documents describe other OSI network layer specifications: &lt;/p&gt;&lt;br /&gt;&lt;div class="pSmartList1"&gt;&lt;br /&gt;&lt;ul class="pSmartList1"&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022236"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;ISO 8648&lt;/span&gt;&amp;mdash;This standard defines the internal organization of the network layer (IONL), which divides the network layer into three distinct sublayers to support different subnetwork types.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022237"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;ISO 8348&lt;/span&gt;&amp;mdash;This standard defines network layer addressing and describes the connection-oriented and connectionless services provided by the OSI network layer.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1024654"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;ISO TR 9575&lt;/span&gt;&amp;mdash;This standard describes the framework, concepts, and terminology used in relation to OSI routing protocols.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1022239"&gt;&lt;/a&gt;OSI Connectionless Network Service&lt;/h4&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022241"&gt;&lt;/a&gt;&lt;a name="1022240"&gt;&lt;/a&gt;OSI connectionless network service is implemented by using the Connectionless Network Protocol (CLNP) and Connectionless Network Service (CLNS). CLNP and CLNS are described in the ISO 8473 standard. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024668"&gt;&lt;/a&gt;&lt;span style="FONT-STYLE: italic"&gt;CLNP&lt;/span&gt; is an OSI network layer protocol that carries upper-layer data and error indications over connectionless links. CLNP provides the interface between the Connectionless Network Service (CLNS) and upper layers. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024671"&gt;&lt;/a&gt;CLNS provides network layer services to the transport layer via CLNP. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024674"&gt;&lt;/a&gt;CLNS does not perform connection setup or termination because paths are determined independently for each packet that is transmitted through a network. This contrasts with Connection-Mode Network Service (CMNS). &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024677"&gt;&lt;/a&gt;In addition, CLNS provides best-effort delivery, which means that no guarantee exists that data will not be lost, corrupted, misordered, or duplicated. CLNS relies on transport layer protocols to perform error detection and correction. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1022246"&gt;&lt;/a&gt;OSI Connection-Oriented Network Service&lt;/h4&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022249"&gt;&lt;/a&gt;&lt;a name="1022247"&gt;&lt;/a&gt;OSI connection-o&lt;a name="1022248"&gt;&lt;/a&gt;riented network service is implemented by using the Connection-Oriented Network Protocol (CONP) and &lt;a name="1022250"&gt;&lt;/a&gt;Connection-Mode Network Service (CMNS). &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024688"&gt;&lt;/a&gt;&lt;span style="FONT-STYLE: italic"&gt;CONP&lt;/span&gt; is an OSI network layer protocol that carries upper-layer data and error indications over connection-oriented links. CONP is based on the X.25 Packet-Layer Protocol (PLP) and is described in the ISO 8208 standard, "X.25 Packet-Layer Protocol for DTE." &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024691"&gt;&lt;/a&gt;CONP provides the interface between CMNS and upper layers. It is a network layer service that acts as the interface between the transport layer and CONP, and it is described in the ISO 8878 standard. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024695"&gt;&lt;/a&gt;CMNS performs functions related to the explicit establishment of paths between communicating transport layer entities. These functions include connection setup, maintenance, and termination. CMNS also provides a mechanism for requesting a specific quality of service (QoS). This contrasts with CLNS. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1024696"&gt;&lt;/a&gt;Network Layer Addressing&lt;/h4&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024698"&gt;&lt;/a&gt;&lt;a name="1024697"&gt;&lt;/a&gt;OSI network layer addressing is implemented by using two types of hierarchical addresses: network service access point addresses and network entity titles. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024711"&gt;&lt;/a&gt;A &lt;span style="FONT-STYLE: italic"&gt;network service access point&lt;a name="1022257"&gt;&lt;/a&gt; (NSAP)&lt;/span&gt; is a conceptual point on the boundary between the network and the transport layers. The NSAP is the location at which OSI network services are provided to the transport layer. Each transport layer entity is assigned a single NSAP, which is individually addressed in an OSI internetwork using NSAP addresses. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024714"&gt;&lt;/a&gt;Figure 30-2 illustrates the format of the OSI NSAP address, which identifies individual NSAPs. &lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;30-2&amp;nbsp; &amp;nbsp;The OSI NSAP Address Is Assigned to Each Transport Layer Entity &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct843002.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;h5&gt;&lt;a name="1022264"&gt;&lt;/a&gt;NSAP Address Fields&lt;/h5&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022267"&gt;&lt;/a&gt;&lt;a name="1022265"&gt;&lt;/a&gt;Two NSAP Address fields exist: the&lt;a name="1022266"&gt;&lt;/a&gt; initial domain part (IDP) and the domain-specific part (DSP). &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024744"&gt;&lt;/a&gt;The IDP field is divided into two parts: the &lt;a name="1022268"&gt;&lt;/a&gt;authority format identifier (AFI) and the initial domain identifier (IDI). The AFI provides information about the structure and content of the IDI and DSP fields, such as whether the IDI is of variable length and whether the DSP uses decimal or binary notation. The IDI specifies the entity that can assign values to the DSP portion of the NSAP address. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024747"&gt;&lt;/a&gt;The DSP is subdivided into four parts by the authority responsible for its administration. &lt;a name="1022271"&gt;&lt;/a&gt;The &lt;a name="1022272"&gt;&lt;/a&gt;Address Administration fields allow for the further administration of addressing &lt;br /&gt;by adding a second authority identifier and by delegating address administration to subauthorities. The &lt;a name="1022273"&gt;&lt;/a&gt;Area field identifies the specific area within a domain and is used for routing purposes. The&lt;a name="1022274"&gt;&lt;/a&gt; Station field identifies a specific station within an area and also is used for routing purposes. The &lt;a name="1022275"&gt;&lt;/a&gt;Selector field provides the specific n-selector within a station and, much like the other fields, is used for routing purposes. The reserved n-selector 00 identifies the address as a &lt;a name="1022276"&gt;&lt;/a&gt;network entity title (NET). &lt;a name="1022277"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h5&gt;&lt;a name="1022278"&gt;&lt;/a&gt;End-System NSAPs&lt;/h5&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022280"&gt;&lt;/a&gt;&lt;a name="1022279"&gt;&lt;/a&gt;An OSI end system (ES) often has multiple NSAP addresses, one for each transport entity that it contains. If this is the case, the NSAP address for each transport entity usually differs only in the last byte (called &lt;a name="1022281"&gt;&lt;/a&gt;the n-selector). Figure 30-3 illustrates the relationship between a transport entity, the NSAP, and the network service. &lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;30-3&amp;nbsp; &amp;nbsp;The NSAP Provides a Link Between a Transport Entity and a Network Service &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct843003.gif" /&gt; &lt;/b&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022287"&gt;&lt;/a&gt;A &lt;a name="1022286"&gt;&lt;/a&gt;network entity title (NET) is used to identify the network layer of a system without associating that system with a specific transport layer entity (as an NSAP address does). NETs are useful for addressing intermediate systems (ISs), such as routers, that do not interface with the transport layer. An IS can have a single NET or multiple NETs, if it participates in multiple areas or domains. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1022288"&gt;&lt;/a&gt;OSI Protocols Transport Layer&lt;/h4&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022290"&gt;&lt;/a&gt;&lt;a name="1022289"&gt;&lt;/a&gt;The OSI protocol suite implements two types of services at the transport layer: connection-oriented transport service and connectionless transport service. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024771"&gt;&lt;/a&gt;Five connection-oriented transport layer protocols exist in the OSI suite, ranging from &lt;a name="1022292"&gt;&lt;/a&gt;Transport Protocol Class 0 through Transport Protocol Class 4. Connectionless transport service is supported only by Transport Protocol Class 4. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024774"&gt;&lt;/a&gt;&lt;a name="1022293"&gt;&lt;/a&gt;Transport Protocol Class 0 (TP0), the simplest OSI transport protocol, performs segmentation and reassembly functions. TP0 requires connection-oriented network service. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024777"&gt;&lt;/a&gt;&lt;a name="1022295"&gt;&lt;/a&gt;Transport Protocol Class 1 (TP1) performs segmentation and reassembly, and offers basic error recovery. TP1 sequences protocol data units (PDUs) and will retransmit PDUs or reinitiate the connection if an excessive number of PDUs are unacknowledged. TP1 requires connection-oriented network service. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024780"&gt;&lt;/a&gt;&lt;a name="1022297"&gt;&lt;/a&gt;Transport Protocol Class 2 (TP2) performs segmentation and reassembly, as well as multiplexing and demultiplexing of data streams over a single virtual circuit. TP2 requires connection-oriented network service. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024788"&gt;&lt;/a&gt;&lt;a name="1024787"&gt;&lt;/a&gt;Transport Protocol Class 3 (TP3) offers basic error recovery and performs segmentation and reassembly, in addition to multiplexing and demultiplexing of data streams over a single virtual circuit. TP3 also sequences PDUs and retransmits them or reinitiates the connection if an excessive number are unacknowledged. TP3 requires connection-oriented network service. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024796"&gt;&lt;/a&gt;&lt;a name="1024789"&gt;&lt;/a&gt;Transport Protocol Class 4 (TP4) offers basic error recovery, performs segmentation and reassembly, and supplies multiplexing and demultiplexing of data streams over a single virtual circuit. TP4 sequences PDUs and retransmits them or reinitiates the connection if an excessive number are unacknowledged. TP4 provides reliable transport service and functions with either connection-oriented or connectionless network service. It is based on the Transmission Control Protocol (TCP) in the Internet Protocols suite and is the only OSI &lt;a name="1024791"&gt;&lt;/a&gt;protocol class that supports connectionless network service. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1022304"&gt;&lt;/a&gt;OSI Protocols Session Layer&lt;/h4&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022306"&gt;&lt;/a&gt;&lt;a name="1022305"&gt;&lt;/a&gt;The session layer implementation of the OSI protocol suite consists of a session protocol and a session service. The session protocol allows &lt;a name="1022307"&gt;&lt;/a&gt;session-service users (SS-users) to communicate with the session service. An SS-user is an entity that requests the services of the session layer. Such requests are made at session-service access points (SSAPs), and SS-users are uniquely identified by using an SSAP address. Figure 30-4 shows the relationship between the SS-user, the SSAP, the session protocol, and the session service. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024805"&gt;&lt;/a&gt;Session service provides four basic services to SS-users. First, it establishes and terminates connections between SS-users and synchronizes the data exchange between them. Second, it performs various negotiations for the use of session layer tokens, which the SS-user must possess to begin communicating. Third, it inserts synchronization points in transmitted data that allow the session to be recovered in the event of errors or interruptions. Finally, it enables SS-users to interrupt a session and resume it later at a specific point. &lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;30-4&amp;nbsp; &amp;nbsp;Session Layer Functions Provide Service to Presentation Layer Functions via an SSAP &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct843004.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022314"&gt;&lt;/a&gt;&lt;a name="1022313"&gt;&lt;/a&gt;Session service is defined in the ISO 8306 standard and in the ITU-T X.215 recommendation. The session protocol is defined in the ISO 8307 standard and in the ITU-T X.225 recommendation. A connectionless version of the session protocol is specified in the ISO 9548 standard. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1022315"&gt;&lt;/a&gt;OSI Protocols Presentation Layer&lt;/h4&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022317"&gt;&lt;/a&gt;&lt;a name="1022316"&gt;&lt;/a&gt;The presentation layer implementation of the OSI protocol suite consists of a presentation protocol and a presentation service. The presentation protocol enables presentation-service users (PS-users) to communicate with the presentation service. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022318"&gt;&lt;/a&gt;A PS-user is an entity that requests the services of the presentation layer. Such requests are made at presentation-service access points (PSAPs). PS-users are uniquely identified by using PSAP addresses. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024835"&gt;&lt;/a&gt;Presentation service negotiates transfer syntax and translates data to and from the transfer syntax for PS-users, which represent data using different syntaxes. The presentation service is used by two PS-users to agree upon the transfer syntax that will be used. When a transfer syntax is agreed upon, presentation-service entities must translate the data from the PS-user to the correct transfer syntax. &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024838"&gt;&lt;/a&gt;The OSI presentation layer service is defined in the ISO 8822 standard and in the ITU-T X.216 recommendation. The OSI presentation protocol is defined in the ISO 8823 standard and in the ITU-T X.226 recommendation. A connectionless version of the presentation protocol is specified in the ISO 9576 standard. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="1022321"&gt;&lt;/a&gt;OSI Protocols Application Layer&lt;/h4&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022323"&gt;&lt;/a&gt;&lt;a name="1022322"&gt;&lt;/a&gt;The application layer implementation of the OSI protocol suite consists of various application entities. An application entity is the part of an application process that is relevant to the operation of the OSI protocol suite. An application entity is composed of the user element and the &lt;a name="1022324"&gt;&lt;/a&gt;application service element (ASE). &lt;/p&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1024847"&gt;&lt;/a&gt;The user element is the part of an application entity that uses ASEs to satisfy the communication needs of the application process. The ASE is the part of an application entity that provides services to user elements and, therefore, to application processes. ASEs also provide interfaces to the lower OSI layers. Figure 30-5 portrays the composition of a single application process (composed of the application entity, the user element, and the ASEs) and its relation to the PSAP and presentation service. &lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;30-5&amp;nbsp; &amp;nbsp;An Application Process Relies on the PSAP and Presentation Service &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct843005.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022331"&gt;&lt;/a&gt;ASEs fall into one of the two following classifications: common-application service elements (CASEs) and &lt;a name="1022332"&gt;&lt;/a&gt;specific-application service elements (SASEs). Both of these might be present in a single application entity. &lt;/p&gt;&lt;br /&gt;&lt;h5&gt;&lt;a name="1022333"&gt;&lt;/a&gt;Common-Application Service Elements&lt;/h5&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022336"&gt;&lt;/a&gt;&lt;a name="1022334"&gt;&lt;/a&gt;Common-ap&lt;a name="1022335"&gt;&lt;/a&gt;plication service elements (CASEs) are ASEs that provide services used by a wide variety of application processes. In many cases, multiple CASEs are used by a single application entity. The following four CASEs are defined in the OSI specification: &lt;/p&gt;&lt;br /&gt;&lt;div class="pSmartList1"&gt;&lt;br /&gt;&lt;ul class="pSmartList1"&gt;&lt;br /&gt;&lt;div class="pSmartList2"&gt;&lt;br /&gt;&lt;ul class="pSmartList2"&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022338"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;a name="1022337"&gt;&lt;/a&gt;Association control service element (ACSE)&lt;/span&gt;&amp;mdash;Creates associations between two application entities in preparation for application-to-application communication &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022340"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;a name="1022339"&gt;&lt;/a&gt;Remote operations service element (ROSE)&lt;/span&gt;&amp;mdash;Implements a request-reply mechanism that permits various remote operations across an application association established by the ACSE &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022342"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;a name="1022341"&gt;&lt;/a&gt;Reliable transfer service element (RTSE)&lt;/span&gt;&amp;mdash;Allows ASEs to reliably transfer messages while preserving the transparency of complex lower-layer facilities &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022344"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;a name="1022343"&gt;&lt;/a&gt;Commitment, concurrence, and recovery service elements (CCRSE)&lt;/span&gt;&amp;mdash;Coordinates dialogues among multiple application entities.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;h5&gt;&lt;a name="1022346"&gt;&lt;/a&gt;Specific-Application Service Elements&lt;a name="1022345"&gt;&lt;/a&gt;&lt;/h5&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022347"&gt;&lt;/a&gt;Specific-application service elements (SASEs) are ASEs that provide services used only by a specific application proc&lt;a name="1022348"&gt;&lt;/a&gt;ess, such as file transfer, database access, and order entry, among others. &lt;/p&gt;&lt;br /&gt;&lt;h5&gt;&lt;a name="1022349"&gt;&lt;/a&gt;OSI Protocols Application Processes&lt;/h5&gt;&lt;br /&gt;&lt;p style="MARGIN-LEFT: 2.5em"&gt;&lt;a name="wp1022351"&gt;&lt;/a&gt;&lt;a name="1022350"&gt;&lt;/a&gt;An application process is the element of an application that provides the interface between the application itself and the &lt;a name="1022352"&gt;&lt;/a&gt;OSI application layer. Some of the standard OSI application processes include the following: &lt;/p&gt;&lt;br /&gt;&lt;div class="pSmartList1"&gt;&lt;br /&gt;&lt;ul class="pSmartList1"&gt;&lt;br /&gt;&lt;div class="pSmartList2"&gt;&lt;br /&gt;&lt;ul class="pSmartList2"&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022353"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Common management-information protocol (CMIP)&lt;/span&gt;&amp;mdash;Performs network-&lt;a name="1022354"&gt;&lt;/a&gt;management functions, allowing the exchange of management information &lt;br /&gt;between ESs and management stations. CMIP is specified in the ITU-T X.700 recommendation and is functionally similar to the Simple Network Management Protocol (SNMP) and NetView.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022356"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;a name="1022355"&gt;&lt;/a&gt;Directory services (DS)&lt;/span&gt;&amp;mdash;Serves as a distributed directory that is used for node identification and addressing in OSI internetworks. DS is specified in the ITU-T X.500 recommendation.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022358"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;File transfer, access, and management (FTAM)&lt;/span&gt;&amp;mdash;Pr&lt;a name="1022357"&gt;&lt;/a&gt;ovides file-transfer service and distributed file-access facilities.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022359"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Message handling system (MHS)&lt;/span&gt;&amp;mdash;Provides a transport mechanism for electronic messaging applications and other applications by using store-and-forward services.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="wp1022360"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Virtual terminal protocol (VTP)&lt;/span&gt;&amp;mdash;Provides terminal emulation that allows a computer system&lt;a name="1022361"&gt;&lt;/a&gt; to appear to a remote ES as if it were a directly attached terminal.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="1022362"&gt;&lt;/a&gt;Review Questions&lt;/h2&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022363"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;What are the two routing protocols specified in the OSI suite?&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022364"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;End System-to-Intermediate System (ES-IS) and Intermediate System-to-Intermediate System (IS-IS). &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022365"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Describe the OSI connectionless network protocol.&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022366"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;OSI connectionless network service is implemented by using the Connectionless Network Protocol (CLNP) and Connectionless Network Service (CLNS). CLNP and CLNS are described in the ISO 8473 standard. &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022367"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Describe the OSI connection-oriented network protocol.&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022368"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;OSI connection-oriented network service is implemented by using the Connection-Oriented Network Protocol (CONP) and Connection-Mode Network Service (CMNS). &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022369"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;How are requests to services at the session layer made within OSI protocols?&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022370"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;Requests are made at session-service access points (SSAPs), and SS-users are uniquely identified by using an SSAP address. &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022371"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Describe common-application service elements (CASEs).&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022372"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;Common-application service elements (CASEs) are ASEs that provide services used by a wide variety of application processes. In many cases, multiple CASEs are used by a single application entity. &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022373"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Name some of the media types that the OSI protocol suite supports.&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022374"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;IEEE 802.2 LLC, IEEE 802.3, Token Ring/IEEE 802.5, Fiber Distributed Data Interface (FDDI), and X.25. &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022375"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Why was the OSI protocol suite created?&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022376"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;The OSI specifications were conceived and implemented by two international standards organizations: the International Organization for Standardization (ISO) and the International Telecommunication Union-Telecommunications Standards Sector (ITU-T). &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022377"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Describe the session layer protocols within the OSI protocol suite. &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022378"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;The session layer implementation of the OSI protocol suite consists of a session protocol and a session service. The session protocol enables session-service users (SS-users) to communicate with the session service. An SS-user is an entity that requests the services of the session layer. Such requests are made at session-service access points (SSAPs), and SS-users are uniquely identified by using an SSAP address. &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022379"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;Describe the presentation layer protocols of the OSI protocol suite.&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022380"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;The presentation layer implementation of the OSI protocol suite consists of a presentation protocol and a presentation service. The presentation protocol enables presentation-service users (PS-users) to communicate with the presentation service. &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1022381"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: normal"&gt;Q&amp;mdash;&lt;/span&gt;&lt;span style="FONT-STYLE: italic"&gt;What are the two types of ASEs?&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;p class="pDefault"&gt;&lt;a name="wp1020662"&gt;&lt;/a&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A&amp;mdash;&lt;/span&gt;ASEs fall into one of the two following classifications: common-application service elements (CASEs) and specific-application service elements (SASEs). Both of these might be present in a single application entity. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-4294868393867700342?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/4294868393867700342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/osip-open-system-interconnection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4294868393867700342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/4294868393867700342'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/osip-open-system-interconnection.html' title='OSIP- Open System Interconnection Protocols'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-5003659897104294887</id><published>2009-12-15T16:17:00.001-08:00</published><updated>2009-12-15T17:57:50.967-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Network Caching Technologies</title><content type='html'>&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid2"&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid3"&gt;&lt;b&gt;Network Caching&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid4"&gt;&lt;fontsize="4"&gt;How Web Caching Works&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid5"&gt;&lt;fontsize="4"&gt;The Benefits of Localizing Traffic Patterns&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid6"&gt;&lt;fontsize="4"&gt;Network-Integrated Caches&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid7"&gt;&lt;fontsize="4"&gt;Existing Caching Solutions&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid8"&gt;&lt;fontsize="4"&gt;Proxy Servers&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid9"&gt;&lt;fontsize="4"&gt;Standalone Caches&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid10"&gt;&lt;fontsize="4"&gt;Browser-Based Client Caching&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid11"&gt;&lt;fontsize="4"&gt;WCCP Network Caching&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid12"&gt;&lt;fontsize="4"&gt;Network-Based Shared Caching&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid13"&gt;&lt;fontsize="4"&gt;Transparent Network Caching&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid14"&gt;&lt;fontsize="4"&gt;Hierarchical Deployment&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid15"&gt;&lt;fontsize="4"&gt;Scalable Clustering&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid16"&gt;&lt;fontsize="4"&gt;Fault Tolerance and Fail Safety&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid17"&gt;&lt;fontsize="4"&gt;WCCP Multihome Router Support&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid18"&gt;&lt;fontsize="4"&gt;Overload Bypass&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid19"&gt;&lt;fontsize="4"&gt;Dynamic Client Bypass&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid20"&gt;&lt;fontsize="4"&gt;Reverse Proxy Caching&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid21"&gt;&lt;fontsize="4"&gt;Reverse Proxy Caching Function&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid22"&gt;&lt;b&gt;Ensuring Fresh Content&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid23"&gt;&lt;fontsize="4"&gt;HTTP Caching Standards&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid24"&gt;&lt;fontsize="4"&gt;Cache Engine Content Freshness Controls&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid25"&gt;&lt;fontsize="4"&gt;Browser Freshness Controls&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid26"&gt;&lt;fontsize="4"&gt;Summary&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/net_cach.htm_23xtocid27"&gt;&lt;b&gt;Review Questions&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid0"&gt;Chapter Goals&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Describe current network traffic overload issues. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe how caching solves many of those issues. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe how network caching works. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe different caching technologies in use today. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1&gt;&lt;a name="xtocid1"&gt;Network Caching Technologies &lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid2"&gt;Introduction&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Although the volume of Web traffic on the Internet is staggering, a large percentage of that traffic is redundant-multiple users at any given site request much of the same content. This means that a significant percentage of the WAN infrastructure carries the identical content (and identical requests for it) day after day. Eliminating a significant amount of recurring telecommunications charges offers an enormous savings opportunity for enterprise and service provider customers. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Web caching performs the local storage of Web content to serve these redundant user requests more quickly, without sending the requests and the resulting content over the WAN. &lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid3"&gt;Network Caching&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Network caching&lt;/em&gt; is the technique of keeping frequently accessed information in a location &lt;a name="1020555"&gt;close to the requester. A &lt;em&gt;Web cache&lt;/em&gt; stores Web pages and content on a storage device that is physically or logically closer to the user-closer and faster than a Web lookup. By reducing the amount of traffic on WAN links and on overburdened Web servers, caching provides significant benefits to ISPs, enterprise networks, and end users. There are two key benefits:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020555"&gt;&lt;strong&gt;Cost savings due to WAN bandwidth reduction&lt;/strong&gt;-ISPs can place cache engines at strategic points on their networks to improve response times and lower the bandwidth demand on their backbones. ISPs can station cache engines at strategic WAN access points to serve Web requests from a local disk rather than from distant or overrun Web servers.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a name="1020557"&gt;In enterprise networks, the dramatic reduction in bandwidth usage due to Web caching allows a lower-bandwidth (lower-cost) WAN link to serve the same user base. Alternatively, the organization can add users or add more services that use the freed bandwidth on the existing WAN link.&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020557"&gt;&lt;strong&gt;Improved productivity for end users&lt;/strong&gt;&amp;mdash;The response of a local Web cache is often three times faster than the download time for the same content over the WAN. End users see dramatic improvements in response times, and the implementation is completely transparent to them. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020557"&gt;Other benefits include:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020557"&gt;&lt;strong&gt;Secure access control and monitoring&lt;/strong&gt;&amp;mdash;The cache engine provides network administrators with a simple, secure method to enforce a site-wide access policy &lt;/a&gt;&lt;a name="1020562"&gt;through URL filtering.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020562"&gt;&lt;strong&gt;Operational logging&lt;/strong&gt;&amp;mdash;Network administrators can learn which URLs receive hits, how many requests per second the cache is serving, what percentage of URLs are served from the cache, and other related operational statistics.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid4"&gt;How Web Caching Works &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Web caching works as follows:&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;p&gt;1. A user accesses a Web page.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;2. The network analyzes the request, and based on certain parameters, transparently redirects it to a local network cache.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3. If the cache does not have the Web page, it will make its own Web request to the original Web server.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;4. The original Web server delivers the content to the cache, which delivers the content to the client while saving the content in its local storage. That content is now cached.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;5. Later, another user requests the same Web page, and the network analyzes this request, and based on certain parameters, transparently redirects it to the local network cache.&lt;/p&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;Instead of sending the request over the Internet and Intranet, the network cache locally fulfills the request. This process accelerates the delivery of content.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The important task of ensuring that data is up-to-date is addressed in a variety of ways, depending on the design of the system.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid5"&gt;The Benefits of Localizing Traffic Patterns&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020574"&gt;Implementing caching technology localizes traffic patterns and addresses network traffic overload problems in the following ways:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020574"&gt;Content is delivered to users at accelerated rates. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020574"&gt;WAN bandwidth usage is optimized.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020574"&gt;Administrators can more easily monitor traffic.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid6"&gt;Network-Integrated Caches&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;The first step in creating a network-integrated cache engine is to ensure that the network supports traffic localization, which can be achieved by enabling content routing technology at the system-level, and setting specific parameters to optimize network traffic. Cisco &lt;br /&gt;IOS &amp;reg; Web Cache Communication Protocol (WCCP) is one example of content routing technology that can be set to support traffic localization.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020581"&gt;Once the right network foundation is in place, network caches are added into strategic points within the existing network. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020581"&gt;By pairing software and hardware, Cisco creates a network-integrated cache engine.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020581"&gt;Network-integrated caches have at least the following three properties:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020581"&gt;Managed like networking equipment, resulting in minimized operational costs&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020581"&gt;Designed like high-density networking hardware, resulting in better physical integration into the network infrastructure as network extensions and minimizing costs associated with leasing rack space&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020581"&gt;Transparently inserted into the network, resulting in minimized deployment and operational costs and greater content availability&lt;/a&gt;&lt;a name="1020588"&gt;&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid7"&gt;Existing Caching Solutions&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;The three most common types of caches on the market today are proxy servers, standalone caches, and browser-based caches.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid8"&gt;Proxy Servers&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020592"&gt;Proxy servers&lt;/a&gt;&lt;/em&gt;&lt;a name="1020592"&gt; are software applications that run on general-purpose hardware and operating systems. A proxy server is placed on hardware that is physically between a client &lt;/a&gt;&lt;a name="1020594"&gt;application, such as a Web browser, and a Web server. The proxy acts as a gatekeeper that receives all packets destined for the Web server and examines each packet to determine if it can fulfill the requests itself; if not, it makes its own request to the Web server. Proxy servers can also be used to filter requests, for example, to prevent its employees from accessing a specific set of Web sites.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020594"&gt;Unfortunately, proxy servers are not optimized for caching, and do not scale under heavy network loads. In addition, because the proxy is in the path of all user traffic, two problems arise: all traffic is slowed to allow the proxy to examine each packet, and failure of the proxy software or hardware causes all users to lose network access. Expensive hardware is required to compensate for the low software performance and the lack of scalability of proxy servers.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020594"&gt;Proxies also require configuration of each user's browser&amp;mdash;a costly and unscalable management task for service providers and large enterprises. In addition, proxy servers that are arranged in a hierarchical fashion form an additional overlay network, contradicting any plans to strategically converge disparate networks into a single, unified network.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid9"&gt;Standalone Caches&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020598"&gt;In response to the shortcomings of proxy servers, some vendors have created &lt;em&gt;standalone caches&lt;/em&gt;. These caching-focused software applications and appliances are designed to &lt;/a&gt;&lt;a name="1020600"&gt;improve performance by enhancing the caching software and eliminating other slow aspects of proxy server implementations. While this is a step in the right direction, these standalone caches are not network integrated, resulting in higher costs of ownership and making them less desirable for wide-scale deployment.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid10"&gt;Browser-Based Client Caching &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020602"&gt;Internet browser applications allow an individual user to cache Web pages (that is, images and HTML text) on his or her local hard disk. A user can configure the amount of disk space devoted to caching. Figure 53-1 shows the cache configuration window for Netscape Navigator.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020602"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-1: You use the cache configuration window to configure the amount of disk space devoted to caching in Netscape Navigator. &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845301.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020602"&gt;This setup is useful in cases where a user accesses a site more than once. The first time the user views a Web site, that content is saved as files in a subdirectory on that computer's hard disk. The next time the user points to this Web site, the browser gets the content from the cache without accessing the network. The user notices that the elements of the page--especially larger Web graphics such as buttons, icons, and images appear much more quickly than they did the first time the page was opened.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020602"&gt;This method serves this user well, but does not benefit other users on the same network who might access the same Web sites. In Figure 53-2, the fact that User A has cached a popular page has no effect on the download time of this page for Users B and C. &lt;/a&gt;&lt;/p&gt;&lt;a name="1020602"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-2: This figure demonstrates the benefits gained by a single node using browser caching. &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845302.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid11"&gt;WCCP Network Caching &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;In 1997, &lt;a name="1020615"&gt;Cisco developed WCCP, a router-cache protocol that localizes network traffic and provides "network-intelligent" load distribution across multiple network caches for maximized download performance and content availability. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020615"&gt;The cache component of the Cisco caching solution comprises network-integrated caching solutions&amp;mdash;the Cisco Cache Engine 500 Series. They are network-integrated because they:&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020615"&gt;Provide network management capabilities already available on traditional Cisco networking gear (such as Cisco IOS CLI and RADIUS support), resulting in minimized management and operational costs.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="1020615"&gt;Are inherently designed and implemented as caching-specific networking hardware, rather than being standalone server platforms adapted as caches. Thus, the high-density Cisco Cache Engines physically integrate better into the network infrastructure as network extensions transparently insert into existing network infrastructures and adapt to unusual network conditions, resulting in minimized deployment and operational costs and greater content availability&lt;/a&gt;&lt;a name="1020620"&gt;.&lt;/a&gt; &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid12"&gt;Network-Based Shared Caching&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020622"&gt;The cache engine was designed from the ground up as a loosely coupled, multinode network system optimized to provide robust shared network caching. The cache engine solution comprises the Web Cache Control Protocol (a standard feature of Cisco IOS software) and one or more Cisco cache engines that store the data in the local network.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020622"&gt;The Web Cache Control Protocol defines the communication between the cache engine and the router. Using the Web Cache Control Protocol, the router directs only Web requests to the cache engine (rather than to the intended server). The router also determines cache engine availability, and redirects requests to new cache engines as they are added to an installation. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020622"&gt;The Cisco cache engine is a single-purpose network appliance that stores and retrieves content using highly optimized caching and retrieval algorithms. (See Figure 53-3.)&lt;/a&gt;&lt;/p&gt;&lt;a name="1020622"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-3: This figure shows a Cisco cache engine connected to a Cisco IOS router.&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct84530303.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid13"&gt;Transparent Network Caching&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020631"&gt;A cache en&lt;/a&gt;&lt;a name="1020632"&gt;gine transpa&lt;/a&gt;&lt;a name="1020633"&gt;rently caches as follows (figure 53-4):&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020633"&gt;1. A user requests a Web page from a browser.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020633"&gt;2. The WCCP-enabled router analyzes the request, and based on TCP port number, determines if it should transparently redirect it to a cache engine.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020633"&gt;3. If a cache engine does not have the requested content, it sets up a separate TCP connection to the end server to retrieve the content. The content returns to, and is stored on, the cache engine.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020633"&gt;4. The cache engine sends the content to the client. Upon subsequent requests for the same content, the cache engine transparently fulfills the requests from its local storage.&lt;/a&gt;&lt;/p&gt;&lt;/ol&gt;&lt;a name="1020633"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-4: Transparent Network Caching&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845304.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020633"&gt;Because the WCCP router redirects packets destined for Web servers to a cache engine, the cache engine operates transparently to clients. Clients do not need to configure their browsers to point to a specific proxy server. This is a compelling feature for ISPs and large enterprises, for whom uniform browser configuration is expensive and difficult to manage. In addition, the cache engine operation is transparent to the network&amp;mdash;the router operates entirely in its normal role for nonredirected traffic.&lt;/a&gt;&lt;a name="1020644"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid14"&gt;Hierarchical Deployment&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;Because a Cisco Cache Engine is transparent to the client and to network operation, &lt;a name="1020647"&gt;customers can easily place cache engines in several network locations in a hierarchical fashion. For example, if an ISP deploys a Cache Engine 590 at its main point of access to the Internet, all of its points of presence (POPs) benefit (Figure 53-5). Client requests hit the Cisco Cache Engine 590 and are fulfilled from its storage. To further improve service to clients, ISPs can deploy the Cache Engine 590 or 570 at each POP. Then, when a client accesses the Internet, the request is first redirected to the POP cache. If the POP cache is unable to fulfill the request from local storage, it makes a normal Web request to the end server. Upstream, this request is redirected to the Cisco Cache Engine 590 at the main Internet access point. If the request is fulfilled by the Cisco Cache Engine 590, traffic on the main Internet access link is avoided, the origin Web servers experience lower demand, and the client experiences better network response times. Enterprise networks can apply&lt;/a&gt;&lt;a name="1020648"&gt; this hierarchical-transparent architecture to benefit in the same way (Figure 53-6).&lt;/a&gt;&lt;a name="1020649"&gt;&lt;/a&gt;&lt;/p&gt;&lt;a name="1020649"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-5: Hierarchical Implementation of Cache Engines (ISP)&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845305.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-6: Hierarchical Implementation of Cache Engines (Enterprise)&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct84530606.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid15"&gt;Scalable Clustering&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020659"&gt;The Cisco caching solution was designed to enable network administrators to easily cluster cache&lt;/a&gt;&lt;a name="1020661"&gt; engines to scale high traffic loads. This design approach allows customers to linearly scale performance and cache storage as cache engines are added. For example, a single Cisco Cache Engine 590 can support a 45-Mbps WAN link and 144 GB of cache storage; adding a second Cisco Cache Engine 590 provides support for a 90-Mbps WAN link and 288 GB of cache storage. Up to 32 cache engines can be clustered together.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020661"&gt;&lt;/a&gt;&lt;a name="1020662"&gt;This linear scalability is achieved because of the manner in which WCCP-enabled routers redirect traffic to cache engines. WCCP-enabled routers perform a hashing function on the incoming request's destination IP address, mapping the request into one of 256 discrete buckets. Statistically, this hashing function distributes incoming requests evenly across &lt;br /&gt;all buckets. In addition, these buckets are evenly allocated among all cache engines in a cluster. WCCP-enabled routers ensure that a certain cache engine deterministically fulfills requests for a certain destination IP address on the Internet. Empirically, this distribution algorithm has consistently demonstrated even load distribution across a cache engine cluster. Most of the popular Web sites have multiple IP addresses, thus preventing uneven load distribution.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020662"&gt;When the customer adds a new cache engine to the cluster, the WCCP-enabled router detects the presence of the new cache engine and reallocates the 256 buckets to accommodate the additional cache engine. For example, the simplest installation using one router and one cache engine assigns all 256 buckets to the single cache engine. If a customer adds another cache engine, the WCCP-enabled router redirects packets to the two cache engines evenly&amp;mdash;128 buckets are allocated to each cache engine. If the customer adds a third cache engine, the WCCP-enabled router assigns 85 or 86 buckets to each of the three cache engines.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020662"&gt;Customers can hot-insert cache engines into a fully operating cache cluster. In this situation, the WCCP-enabled router automatically reallocates the buckets evenly among all cache cluster members, including the new cache engine. Because a new cache engine will not have any content, it will incur frequent cache misses until enough content has been populated in its local storage. To alleviate this cold startup problem, the new cache engine, for an initial period, sends a message to the other cache cluster members to see if they have the requested content. If they have the content, they will send it to the new cache engine. Once the new cache engine determines it has retrieved enough content from its peers (based on configurable numbers), it will handle cache misses by directly requesting the content from the end server rather &lt;/a&gt;&lt;a name="1020666"&gt;than f&lt;/a&gt;&lt;a name="1020667"&gt;rom its peers&lt;/a&gt;&lt;a name="1020668"&gt;.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid16"&gt;Fault Tolerance and Fail Safety&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020670"&gt;If any cache engine in a cache cluster fails, the cluster automatically heals itself. The WCCP-enabled router redistributes the failed cache engine's load evenly among the remaining cache engines. The cache cluster continues operation using one less cache engine, but operation is otherwise unaffected.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020670"&gt;The Cisco network caching solution enables an WCCP-enabled, &lt;/a&gt;&lt;a name="1020672"&gt;Multigroup Hot-Standby Router Protocol (MHSRP) router pair to share a cache engine cluster, creating a fully redundant caching system. This is referred to as &lt;em&gt;WCCP multihoming&lt;/em&gt;. If the WCCP-enabled router fails, existing Cisco IOS fault tolerance and fail-safe mechanisms are applied. For example, a hot-standby router could dynamically take over operations, redirecting Web requests to the cache cluster.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020672"&gt;If an entire cache cluster fails, the WCCP-enabled router automatically stops redirecting traffic to the cache cluster, sending clients' Web requests to the actual destination Web site in the traditional fashion. This loss of the entire cache cluster can appear to users as an increase in download time for Web content, but has no other significant effect. This designed-in, failsafe response is made possible because the cache cluster is not directly in line with clients' other network traffic.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid17"&gt;WCCP Multihome Router Support&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;As previously mentioned, the Cisco network caching solution enables a cache engine cluster to home to multiple WCCP-enabled routers for added redundancy. Thus, Web traffic from all of the WCCP home routers will be redirected to the cache cluster. For example, a cache engine cluster that is homing to both routers in a MHSRP router pair creates a fully redundant caching system, eliminating any single points of failure (Figure 53-7).&lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-7: Fully Redundant Cache Engine Cluster Configuration&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845307.gif" /&gt;&lt;/b&gt; &lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid18"&gt;Overload Bypass&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;With a sudden Web traffic surge, a cache engine cluster could become overloaded. To &lt;a name="1020683"&gt;gracefully handle this overload situation, each cache engine detects when it is overloaded, refuses additional requests, and forwards them to the origin Web servers. The origin Web servers respond directly to the clients because the bypassed requests were not handled by a cache engine (Figure 53-8).&lt;/a&gt;&lt;/p&gt;&lt;a name="1020683"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-8: Overload Bypass&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845308.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020683"&gt;The overloaded cache engine will resume accepting requests when it determines that it has the resources to do so without retriggering overload bypass in the near future. The overload bypass on/off triggers are automatically determined by CPU and file system load. In the extreme situation that the cache engine becomes so overloaded that it is unable to respond to the basic WCCP status check messages from its home router, the WCCP home router will remove the cache engine from the cluster and reallocate its buckets.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020683"&gt;Thus, overload bypass ensures that a cache engine cluster does not introduce abnormal latencies and maintains network availability even under unusually high traffic conditions.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid19"&gt;Dynamic Client Bypass&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;Some Web sites require clients to be authenticated using the client's IP address. However, &lt;a name="1020692"&gt;when a network cache is inserted between a client and a Web server, the Web server only sees the cache's IP address and not the client's IP address.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020692"&gt;To overcome this issue and similar situations, the Cisco Cache Engine has a dynamic client bypass feature that effectively allows clients, under certain conditions, to bypass cache engines and directly connect to origin Web servers. The result is that a Cisco Cache Engine can preserve existing source IP authentication models and pass through server error messages to clients. Because the cache engine dynamically adapts to these situations, less management is required to ensure cache transparency.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h5&gt;&lt;a name="1020692"&gt;Dynamic Client Bypass Function&lt;/a&gt;&lt;/h5&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020692"&gt;In Figure 53-9, a client issues a Web request, which is redirected to a cache engine. If the cache engine does not have the content, it will try to fetch the content from the origin Web server.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020692"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-9: Dynamic Client Bypass&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845309.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020692"&gt;In Figure 53-10, if the server responds to the cache engine with certain HTTP error return codes (such as 401-Unauthorized request, 403-Forbidden, or 503-Service Unavailable), the cache engine will invoke the dynamic client bypass feature. The cache engine will dynamically store a client IP-destination IP address bypass pair, so that future packets with this IP address pair will bypass the cache engine. The cache engine sends an automatic HTTP retry message to the client's browser.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020692"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-10: Dynamic Client Bypass&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845310.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020692"&gt;In Figure 53-11, when the client's browser automatically issues a reload, the request will be redirected to the cache engine. However, when the bypass table is checked and the request matches one of the table entries, the cache engine will refuse the request and send it directly to the origin Web server. Thus, the origin Web server will see the client's IP address, authenticate the client, and respond directly to the client.&lt;/a&gt;&lt;a name="1020706"&gt;&lt;/a&gt;&lt;/p&gt;&lt;a name="1020706"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-11: Dynamic Client Bypass&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845311.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid20"&gt;Reverse Proxy Caching&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;Cache engines are frequently deployed nearby clients to ensure faster network response time and minimal WAN bandwidth usage. Thus, the caches are caching the clients' most frequently accessed content. In addition, cache engines can also be deployed in front of Web server farms to increase the server farm capacity and improve Web site performance. This configuration is called reverse proxy caching because the cache engines are only caching content from the servers for whom they are acting as a front-end.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This feature is particularly important when cache engines are acting as a front-end for server farms in which certain content is dramatically more popular than other content on the servers. Using reverse-proxy caching allows administrators to prevent a small number high-demand URLs from impacting overall server performance. Better yet, this means the high-demand URLs do not have to be identified, manually replicated, or independently managed from the bulk of the URLs on the servers.&lt;a name="1020714"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid21"&gt;Reverse Proxy Caching Function&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;In Figure 53-12, each cache engine homes to WCCP-enabled routers/switches that are supporting server farms. When an incoming Web request reaches an WCCP-enabled router, the router performs a hashing function on the incoming request's source IP address and port number, mapping the request into one of 256 discrete buckets. Statistically, this hashing function distributes incoming requests evenly across all buckets. In addition, these buckets are evenly allocated among all cache engines in a cluster. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Because the hashing function is based on source IP address and port number instead of destination IP address, a given Web object could be stored in multiple cache engines in a cluster. By spreading popular content across a cache cluster, reverse proxy caching allows multiple cache engines to service requests for very popular content. Thus, additional cache engines can be added to a cluster to incrementally scale the performance of a popular site and decrease content download latency.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Note that hashing on a destination IP address could also do the reverse-proxy caching. But in this case, all requests would have the same destination IP address and would be redirected to one cache engine. If you do not need to scale beyond one cache engine act as a front-end to a server farm, then this method is sufficient.&lt;a name="1020719"&gt;&lt;/a&gt;&lt;/p&gt;&lt;a name="1020719"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;53-12: Reverse Proxy Caching&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct845312.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid22"&gt;Ensuring Fresh Content&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;A requirement for any caching system is the ability to ensure that users see the same content from a network cache as they would from the Web. Every Web page comprises several Web objects and each Web object has its own caching parameters, determined by content authors and HTTP standards (see the "HTTP Caching Standards" section). Thus, even a Web page with real-time objects typically has many other objects that are cacheable. &lt;a name="1020726"&gt;Rotating ad banners and Common Gateway Interface (CGI)-generated responses are examples of objects that are typically noncacheable. Toolbars, navigation bars, GIFs, and JPEGs are examples of objects that are typically cacheable. Thus, for a given Web page, only a few dynamic objects need to be retrieved from the end server, while static objects can be fulfilled locally. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020726"&gt;Cisco Cache Engine products deliver fresh content by obeying the HTTP caching standards and by enabling cache administrators to have control over when content should be refreshed from origin Web servers.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid23"&gt;HTTP Caching Standards&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;HTTP 1.0 and 1.1 are caching standards, which specify caching parameters for each object on a Web page.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;HTTP 1.0 allows content authors to enable a "Pragma: no cache" header field for any object that should not be cached and allows authors to enable content to be cached indefinitely.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;HTTP 1.1 allows content authors to specify how long content is to be cached. For each object on a Web page, content authors can choose among the following caching attributes:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Noncacheable &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;OK to cache (the default setting) &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Explicit expiration date &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;HTTP 1.1 has a freshness revalidati&lt;a name="1020735"&gt;on mechanism called If-Modified-Since (IMS) to ensure that cached data is up to date. A cache engine will send a lightweight IMS request to the end Web server when the cache engine receives requests for cached content that has expired or IMS requests from clients where the cached content is more than a configured percentage of its maximum age. If the object has not been modified on the end server since the object was cached, the end server will return a lightweight message indicating that the cache engine can deliver its cached copy to clients. If the object has been modified on the end server since the object was cached, the end server will return this information to the cache engine. If the case of the client issuing an IMS request, and the content is less than a configured percentage of its maximum age, the cache will serve the content without checking if it is fresh.&lt;/a&gt;&lt;a name="1020737"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid24"&gt;Cache Engine Content Freshness Controls&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Administrators can control the freshness of Web objects in a cache engine by configuring a parameter called the &lt;a name="1020740"&gt;&lt;em&gt;freshness factor&lt;/em&gt;, which determines how fast or slow content expires.&lt;/a&gt;&lt;a name="1020741"&gt; When an object is stored in the cache, its time-to-live (TTL) value is calculated using the following formula:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a name="1020741"&gt;TTL value = (Current date - last modified date) * Configurable freshness factor&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020741"&gt;When an object expires, based on its TTL value, the cache engine will issue an IMS request the next time the object is requested (see "HTTP Caching Standards" section for a description of the IMS process).&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020741"&gt;If an administrator wants to adopt a conservative freshness policy, he or she can set the freshness factor to a small value (such as 0.05), so that objects expire more quickly. But the disadvantage to this approach is that IMS requests will be issued more frequently, consuming extra bandwidth. If an administrator wants to adopt a liberal freshness policy, the fresh factor can be set to a larger value, so that objects will expire more slowly and the IMS bandwidth overhead will be smaller.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid25"&gt;Browser Freshness Controls&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Finally, clients can always explicitly refresh content at any time by using the browser's reload/refresh button.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The&lt;a name="1020747"&gt;&lt;strong&gt; reload/refresh&lt;/strong&gt; command is a browser-triggered command to request a data refresh. A &lt;strong&gt;reload/refresh&lt;/strong&gt; will issue a series of IMS requests asking for only data that has changed.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020747"&gt;The&lt;strong&gt; shift+reload/shift+refresh&lt;/strong&gt; command is an extension of the &lt;strong&gt;reload/refresh&lt;/strong&gt; command. In correctly implemented browsers, this command always triggers a "pragma: no cache" rather than an IMS request. As a result, cache engines are bypassed and the end server directly fulfills all cont&lt;/a&gt;&lt;a name="1020750"&gt;ent.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid26"&gt;Summary&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Much of the traffic on the Web is redundant, meaning that users in the same location often access the same content over and over. Eliminating a significant portion of recurring telecommunications offers huge savings to enterprise and service providers.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Caching is the technique of keeping frequently accessed information in a location close to the requester. The two key benefits are:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Cost &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Improved usability &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Implementing caching technology in a network accelerates content delivery, optimizes WAN bandwidth, and enables content monitoring.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Cisco has created a network-integrated cache engine by pairing system-level software and hardware.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid27"&gt;Review Questions&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;On what concept is network caching based? &lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;Based on the assumption that users access the same content over and over.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;What are two secondary benefits of implementing caching technology? &lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;1. Secure access and control. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;2. Operational logging&amp;mdash;administrators can log how many hits sites receive.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;Provide a brief description of network-integrated caching technology. &lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;Network-integrated caching technology combines system-level software and hardware. Network-integrated caches must be managed like network equipment, designed like high-density hardware, and transparently inserted into the network.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;How do Cisco cache engines ensure that web pages are kept up to date? &lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;By obeying HTTP caching standards that dictate which elements on a page can be cached and which cannot. Those that are not are retrieved from the source every time they are accessed.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;Name an object that can be saved in cache memory, and one that cannot. &lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;Saved in cache: rotating banners, GIFs and JPEGs, toolbars, navigation bars. Noncacheable: CGI-generated responses.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-5003659897104294887?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/5003659897104294887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/network-caching-technologies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5003659897104294887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/5003659897104294887'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/network-caching-technologies.html' title='Network Caching Technologies'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-6085823976666736795</id><published>2009-12-15T16:14:00.003-08:00</published><updated>2009-12-15T17:57:50.968-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Multiservice Access Technologies</title><content type='html'>&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="_Toc430328146"&gt;&lt;/a&gt;&amp;nbsp;&lt;/h3&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid1"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="_Toc430327244"&gt;&lt;/a&gt;&lt;a name="_Toc430328148"&gt;&lt;/a&gt;&lt;a name="_Toc430330135"&gt;The Importance of Voice over IP&lt;/a&gt;&lt;/b&gt;&lt;a name="_Toc430330135"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid2"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="_Toc430327245"&gt;&lt;/a&gt;&lt;a name="_Toc430328149"&gt;&lt;/a&gt;&lt;a name="_Toc430330136"&gt;Packet Voice&lt;/a&gt;&lt;/b&gt;&lt;a name="_Toc430330136"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid3"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="_Toc430327246"&gt;&lt;/a&gt;&lt;a name="_Toc430328150"&gt;&lt;/a&gt;&lt;a name="_Toc430330137"&gt;Packet Voice Transport&lt;/a&gt;&lt;/b&gt;&lt;a name="_Toc430330137"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid4"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="_Toc430328151"&gt;&lt;/a&gt;&lt;a name="_Toc430330138"&gt;Voice over ATM&lt;/a&gt;&lt;/b&gt;&lt;a name="_Toc430330138"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid5"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327248"&gt;&lt;/a&gt;&lt;a name="_Toc430328152"&gt;&lt;/a&gt;&lt;a name="_Toc430330139"&gt;VoATM Signaling&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid6"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327249"&gt;&lt;/a&gt;&lt;a name="_Toc430328153"&gt;&lt;/a&gt;&lt;a name="_Toc430330140"&gt;VoATM Addressing&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid7"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327250"&gt;&lt;/a&gt;&lt;a name="_Toc430328154"&gt;&lt;/a&gt;&lt;a name="_Toc430330141"&gt;VoATM Routing&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid8"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327251"&gt;&lt;/a&gt;&lt;a name="_Toc430328155"&gt;&lt;/a&gt;&lt;a name="_Toc430330142"&gt;VoATM and Delay&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid9"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="_Toc430327252"&gt;&lt;/a&gt;&lt;a name="_Toc430328156"&gt;&lt;/a&gt;&lt;a name="_Toc430330143"&gt;Voice over Frame Relay&lt;/a&gt;&lt;/b&gt;&lt;a name="_Toc430330143"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid10"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327253"&gt;&lt;/a&gt;&lt;a name="_Toc430328157"&gt;&lt;/a&gt;&lt;a name="_Toc430330144"&gt;VoFR Signaling&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid11"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327254"&gt;&lt;/a&gt;&lt;a name="_Toc430328158"&gt;&lt;/a&gt;&lt;a name="_Toc430330145"&gt;VoFR Addressing&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid12"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="_Toc430327255"&gt;&lt;/a&gt;&lt;a name="_Toc430328159"&gt;&lt;/a&gt;&lt;a name="_Toc430330146"&gt;Voice over IP&lt;/a&gt;&lt;/b&gt;&lt;a name="_Toc430330146"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid13"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327256"&gt;&lt;/a&gt;&lt;a name="_Toc430328160"&gt;&lt;/a&gt;&lt;a name="_Toc430330147"&gt;VoIP Signaling&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid14"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327257"&gt;&lt;/a&gt;&lt;a name="_Toc430328161"&gt;&lt;/a&gt;&lt;a name="_Toc430330148"&gt;VoIP Addressing&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid15"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327258"&gt;&lt;/a&gt;&lt;a name="_Toc430328162"&gt;&lt;/a&gt;&lt;a name="_Toc430330149"&gt;VoIP Routing&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid16"&gt;&lt;fontsize="4"&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a name="_Toc430327259"&gt;&lt;/a&gt;&lt;a name="_Toc430328163"&gt;&lt;/a&gt;&lt;a name="_Toc430330150"&gt;VoIP and Delay&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_23xtocid17"&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="_Toc430327260"&gt;&lt;/a&gt;&lt;a name="_Toc430328164"&gt;&lt;/a&gt;&lt;a name="_Toc430330151"&gt;Applying Packet Voice&lt;/a&gt;&lt;/b&gt;&lt;a name="_Toc430330151"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1&gt;&lt;a name="xtocid0"&gt;&lt;/a&gt;&lt;a name="_Toc430327242"&gt;&lt;/a&gt;&lt;a name="997804"&gt;&lt;/a&gt;&lt;a name="_Toc430328146"&gt;&lt;/a&gt;&lt;a name="_Toc430330133"&gt;Multiservice Access Technologies&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;p&gt;Multiservice networking is emerging as a strategically important issue for enterprise and public service provider infrastructures alike. The proposition of multiservice networking is the combination of all types of communications, all types of data, voice, and video over a single packet-cell-based infrastructure. The benefits of multiservice networking are reduced operational costs, higher performance, greater flexibility, integration and control, and faster new application and service deployment. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;A key issue often confused in multiservice networking is the degree to which Layer 2 switching and services are mixed with &lt;a name="997808"&gt;Layer 3 switching and services. An intelligent multiservice network fully integrates both, taking advantage of the best of each; most multiservice offerings in the marketplace are primarily Layer 2 based, from traditional circuit switching technology suppliers.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid1"&gt;&lt;/a&gt;&lt;a name="_Toc430327244"&gt;&lt;/a&gt;&lt;a name="997812"&gt;&lt;/a&gt;&lt;a name="_Toc430328148"&gt;&lt;/a&gt;&lt;a name="_Toc430330135"&gt;The Importance of Voice over IP&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Of the key emerging technologies for data, voice, and video integration, voice over IP (Internet Protocol) is arguably very important. The most &lt;a name="997815"&gt;quality of service (QoS) sensitive of all traffic, voice is the true test of the engineering and quality of a network. Demand for Voice over IP is leading the movement for QoS in IP environments, and will ultimately lead to use of the Internet for fax, voice telephony, and video telephony services. Voice over IP will ultimately be a key component of the migration of telephony to the LAN infrastructure.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997815"&gt;Significant advances in technology have been made over the past few years that enable the transmission of voice traffic over traditional public networks such as Frame Relay (Voice over Frame Relay) as well as Voice over the Internet through the efforts of the Voice over IP Forum and the &lt;/a&gt;&lt;a name="997817"&gt;Internet Engineering Task Force (IETF). Additionally, the support of Asynchronous Transfer Mode (ATM) for different traffic types and the ATM Forum's recent completion of the Voice and Telephony over ATM specification will quicken the availability of industry-standard &lt;/a&gt;&lt;a name="997818"&gt;solutions. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid2"&gt;&lt;/a&gt;&lt;a name="_Toc430327245"&gt;&lt;/a&gt;&lt;a name="997822"&gt;&lt;/a&gt;&lt;a name="_Toc430328149"&gt;&lt;/a&gt;&lt;a name="_Toc430330136"&gt;Packet Voice&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;All &lt;a name="997823"&gt;packet voice systems follow a common model, as shown in &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_2340281"&gt;Figure 18-1&lt;/a&gt;. The packet voice transport network, which may be IP based, Frame Relay, or ATM, forms the traditional "cloud." At the edges of this network are devices or components that can be called &lt;em&gt;&lt;a name="997828"&gt;voice&lt;/a&gt;&lt;/em&gt;&lt;a name="997828"&gt; &lt;em&gt;agents&lt;/em&gt;. It is the mission of these devices to change the voice information from its traditional telephony form to a form suitable for packet transmission. The network then forwards the packet data to a voice agent serving the destination or called party.&lt;/a&gt;&lt;/p&gt;&lt;a name="997828"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;18-1: &lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="40281"&gt;&lt;/a&gt;&lt;a name="997831"&gt;This diagram displays the packet &lt;/a&gt;&lt;a name="997830"&gt;voice model.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;p&gt;&lt;a name="997830"&gt;&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/24123.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997830"&gt;This voice agent connection model shows that there are two issues in packet voice networking that must be explored to ensure that packet voice services meet user needs. The first issue is voice coding&amp;mdash;how voice information is transformed into packets, and how the packets are used to re-create the voice. Another issue is the signaling associated with identifying who the calling party is trying to call and where the called party is in the network. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid3"&gt;&lt;/a&gt;&lt;a name="_Toc430327246"&gt;&lt;/a&gt;&lt;a name="997840"&gt;&lt;/a&gt;&lt;a name="_Toc430328150"&gt;&lt;/a&gt;&lt;a name="_Toc430330137"&gt;Packet Voice Transport&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Integrating voice and data networks should include an evaluation of these three packet voice transport technologies:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Voice over ATM (VoATM) &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Voice over Frame Relay (VoFR) &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Voice over IP (VoIP) &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;There are two basic models for integrating voice over data&amp;mdash;transport and translate&amp;mdash;as shown in &lt;a href="http://www.myhosting.com/blog/multiacc.htm_2321031"&gt;Figure 18-2&lt;/a&gt;. Transport is the &lt;a name="997849"&gt;transparent support of voice over the existing data network. Simulation of tie lines over ATM using circuit emulation is a good example. &lt;/a&gt;&lt;/p&gt;&lt;a name="997849"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;18-2: &lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="21031"&gt;&lt;/a&gt;&lt;a name="997851"&gt;There are two basic models for transporting over a data network.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;p&gt;&lt;a name="997851"&gt;&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/24124.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997851"&gt;Translate is the translation of traditional voice functions by the data infrastructure. An example is the interpretation of voice signaling and the creation of switched virtual circuits (SVCs) within ATM. Translate networking is more complex than transport networking, and its implementation is a current topic for many of the standards &lt;/a&gt;&lt;a name="997857"&gt;committees.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid4"&gt;&lt;/a&gt;&lt;a name="_Toc430328151"&gt;&lt;/a&gt;&lt;a name="997860"&gt;&lt;/a&gt;&lt;a name="_Toc430330138"&gt;Voice over ATM&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;The ATM Forum and the ITU have specified different classes of services to represent different possible traffic types for &lt;a name="997862"&gt;VoATM.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997862"&gt;Designed primarily for voice communications, &lt;/a&gt;&lt;a name="997863"&gt;constant bit rate (CBR) and variable bit rate (VBR) classes have provisions for passing real-time traffic and are suitable for guaranteeing a certain level of service. CBR, in particular, allows the amount of bandwidth, end-to-end delay, and delay variation to be specified during the call setup.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997863"&gt;Designed principally for bursty traffic, &lt;/a&gt;&lt;a name="997865"&gt;unspecified bit rate (UBR) and available bit rate (ABR) are more suitable for data applications. UBR, in particular, makes no guarantees about the delivery of the data traffic.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997865"&gt;The method of transporting voice channels through an ATM network is dependent on the nature of the traffic. Different ATM adaptation types have been developed for different traffic types, each with its benefits and detriments. &lt;/a&gt;&lt;a name="997868"&gt;ATM Adaptation Layer 1 (AAL1) is the most common adaptation layer used with CBR services.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997868"&gt;Unstructured AAL1 takes a continuous bit stream and places it within ATM cells. This is a common method of supporting a full E1 byte stream from end to end. The problem with this approach is that a full E1 may be sent, regardless of the actual number of voice channels in use. (An EI is a wide-area digital transmission scheme used predominantly in Europe that carries data at a rate of 2.048 Mbps.)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997868"&gt;Structured AAL1 contains a pointer in the payload that allows the &lt;/a&gt;&lt;a name="997870"&gt;digital signal level 0 (DS0) structure to be maintained in subsequent cells. This allows network efficiencies to be gained by not using bandwidth for unused DS0s. (A DS0 is a framing specification used in transmitting digital signals over a single channel at 64 kbps on a T1 facility.)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997870"&gt;The remapping option allows the ATM network to terminate structured AAL1 cells and remap DS0s to the proper destinations. This eliminates the need for permanent virtual circuits (PVCs) between every possible source/destination combination. The major difference from the above approach is that a PVC is not built across the &lt;/a&gt;&lt;a name="997873"&gt;network from edge to edge.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid5"&gt;&lt;/a&gt;&lt;a name="_Toc430327248"&gt;&lt;/a&gt;&lt;a name="997877"&gt;&lt;/a&gt;&lt;a name="_Toc430328152"&gt;&lt;/a&gt;&lt;a name="_Toc430330139"&gt;VoATM Signaling&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_2329460"&gt;Figure 18-3&lt;/a&gt; describes the &lt;a name="997881"&gt;transport method, in which voice signaling is carried through the network transparently. PVCs are created for both signaling and voice transport. First, a signaling message is carried transparently over the signaling PVC from end station to end station. Second, coordination between the end systems allow the selection of a PVC to carry the voice communication between end stations.&lt;/a&gt;&lt;/p&gt;&lt;a name="997881"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;18-3: &lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="29460"&gt;&lt;/a&gt;&lt;a name="997884"&gt;The VoATM signaling transport model describes the transport method, in which voice signaling is carried through the network transparently.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;p&gt;&lt;a name="997884"&gt;&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/24125.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997884"&gt;At no time is the ATM network participating in the &lt;/a&gt;&lt;a name="997889"&gt;interpretation of the signaling that takes place between end stations. However, as a value-added feature, some products are capable of understanding channel associated signaling (CAS) and can prevent the sending of empty voice cells when the end stations are on-hook.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997889"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_2340015"&gt;Figure 18-4&lt;/a&gt; shows the translate model. In this model, the ATM network interprets the signaling from both non-ATM and ATM network devices. PVCs are created between the end stations and the ATM network. This contrasts with the previous model, in which the PVCs are carried transparently across the network. &lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;18-4: &lt;a name="40015"&gt;&lt;/a&gt;&lt;a name="997896"&gt;In the VoATM signaling translate model, the ATM network interprets the signaling from both non-ATM and ATM network devices.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;p&gt;&lt;a name="997896"&gt;&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/24126.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997896"&gt;A signaling request from an end station causes the ATM network to &lt;/a&gt;&lt;a name="997901"&gt;create an SVC with the appropriate &lt;/a&gt;&lt;a name="997903"&gt;QoS to the desired end station. The creation of an &lt;/a&gt;&lt;a name="997904"&gt;SVC versus the prior establishment of PVCs is clearly more advantageous for three reasons:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="997904"&gt;SVCs are more efficient users of bandwidth than PVCs. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="997904"&gt;QoS for connections do not need to be constant, as with PVCs. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="997904"&gt;The ability to switch calls within the network can lead to the elimination of the tandem private branch exchange (&lt;/a&gt;&lt;a name="997908"&gt;PBX) and potentially the edge PBX. (A &lt;/a&gt;&lt;a name="997909"&gt;PBX is a digital or analog telephone switchboard located on the subscriber premises and used to &lt;/a&gt;&lt;a name="997910"&gt;connect private and public telephone networks.) &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid6"&gt;&lt;/a&gt;&lt;a name="_Toc430327249"&gt;&lt;/a&gt;&lt;a name="997914"&gt;&lt;/a&gt;&lt;a name="_Toc430328153"&gt;&lt;/a&gt;&lt;a name="_Toc430330140"&gt;VoATM Addressing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;ATM standards support both private and public &lt;a name="997915"&gt;addressing schemes. Both schemes involve addresses that are 20 bytes in length (shown in &lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_2326210"&gt;Figure 18-5&lt;/a&gt;).&lt;/p&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;18-5: &lt;a name="26210"&gt;&lt;/a&gt;&lt;a name="997921"&gt;ATM supports a 20-byte addressing format.&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;p&gt;&lt;a name="997921"&gt;&lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/24127.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997921"&gt;The Authority and Format Identifier (AFI) identifies the particular addressing format employed. Three identifiers are currently specified: data country code (DCC), international code designator (ICD), and E.164. Each is administered by a standards body. The second part of the address is the initial domain identifier (IDI). This address uniquely identifies the customer's network. The E.164 scheme has a longer IDI that corresponds to the 15-digit ISDN network number. The final portion, the domain-specific part (DSP), identifies logical groupings and ATM end stations.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997921"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997921"&gt;In a transport model you don't need to be aware of the underlying addressing used by the voice network. However, in the translate model, the ability to communicate from a non-ATM network device to an ATM network device implies a level of address mapping. Fortunately, ATM supports the E.164 addressing scheme, which is employed by &lt;/a&gt;&lt;a name="997929"&gt;telephone networks throughout the world.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid7"&gt;&lt;/a&gt;&lt;a name="_Toc430327250"&gt;&lt;/a&gt;&lt;a name="997933"&gt;&lt;/a&gt;&lt;a name="_Toc430328154"&gt;&lt;/a&gt;&lt;a name="_Toc430330141"&gt;VoATM Routing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;ATM uses a private network-&lt;a name="997934"&gt;to-network interface (PNNI), a hierarchical link-state routing protocol that is scalable for global usage. In addition to determining reachability and routing within an ATM network, it is also capable of call setup.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997934"&gt;A virtual circuit (VC) call request causes a connection with certain QoS requirements to be requested through the ATM network. The route through the network is determined by the source ATM switch based on what it determines is the best path through the network, based on the PNNI protocol and the QoS request. Each switch along the path is checked to determine whether it has the appropriate resources for the connection.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997934"&gt;When the connection is established, voice traffic flows between end stations as if a leased line existed between the two. This specification spells out routing in private networks. Within carrier networks, the switch-to-switch protocol is B-ICI. Current research and development of integrated non-ATM and ATM routing will yield new capabilities to build translate level voice and ATM networks.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid8"&gt;&lt;/a&gt;&lt;a name="_Toc430327251"&gt;&lt;/a&gt;&lt;a name="997941"&gt;&lt;/a&gt;&lt;a name="_Toc430328155"&gt;&lt;/a&gt;&lt;a name="_Toc430330142"&gt;VoATM and Delay&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;ATM has several mechanisms for &lt;a name="997942"&gt;controlling delay and delay variation. The QoS capabilities of ATM allow the specific request of constant bit rate traffic with bandwidth and delay variation guarantees. The use of VC queues allows each traffic stream to be treated uniquely. Priority can be given for the transmission of voice traffic. The use of small, fixed-size cells reduces queuing delay and the delay variation associated with variable-sized packets.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid9"&gt;&lt;/a&gt;&lt;a name="_Toc430327252"&gt;&lt;/a&gt;&lt;a name="997947"&gt;&lt;/a&gt;&lt;a name="_Toc430328156"&gt;&lt;/a&gt;&lt;a name="_Toc430330143"&gt;Voice over Frame Relay&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Voice over Frame Relay&lt;a name="997948"&gt; enables a network to carry live voice traffic (for example, telephone calls and faxes) over a Frame Relay network. Frame Relay is a common and inexpensive transport that is provided by most of the large telcos.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid10"&gt;&lt;/a&gt;&lt;a name="_Toc430327253"&gt;&lt;/a&gt;&lt;a name="997953"&gt;&lt;/a&gt;&lt;a name="_Toc430328157"&gt;&lt;/a&gt;&lt;a name="_Toc430330144"&gt;VoFR Signaling&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Historically, Frame Relay call setup&lt;a name="997954"&gt; has been proprietary by vendor. This has meant that products from different vendors would not interoperate. Frame Relay Forum FRF.11 establishes a standard for call setup, coding types, and packet formats for VoFR, and will provide the basis for interoperability between vendors in the future.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid11"&gt;&lt;/a&gt;&lt;a name="_Toc430327254"&gt;&lt;/a&gt;&lt;a name="997959"&gt;&lt;/a&gt;&lt;a name="_Toc430328158"&gt;&lt;/a&gt;&lt;a name="_Toc430330145"&gt;VoFR Addressing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Address mapping is handled through static tables&amp;mdash;dialed digits mapped to specific &lt;a name="997960"&gt;PVCs. How voice is routed depends on which routing protocol is chosen to establish PVCs and the hardware used in the Frame Relay network. Routing can be based on bandwidth &lt;/a&gt;&lt;a name="997962"&gt;limits, hops, delay, or some combination, but most routing implementations are based on maximizing bandwidth utilization.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997962"&gt;The two extremes for designing a VoFR network are&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="997962"&gt;A full mesh of voice and data PVCs to minimize the number of network transit hops and maximize the ability to establish different QoS. A network designed in this fashion minimizes delay and improves voice quality, but represents the highest network cost. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="997962"&gt;Most Frame Relay providers charge based on the number of PVCs used. To reduce costs, both data and voice segments can be configured to use the same PVC, thereby reducing the number of PVCs required. In this design, the central site switch re-routes voice calls. This design has the potential of creating a transit hop when voice needs to go from one remote to another remote office. However, it avoids the compression and decompression that occurs when using a tandem PBX. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997962"&gt;A number of mechanisms can minimize &lt;/a&gt;&lt;a name="997966"&gt;delay and delay variation on a Frame Relay network. The presence of long data frames on a low-speed Frame Relay link can cause unacceptable delays for time-sensitive voice frames. To reduce this problem, some vendors implement smaller frame sizes to help reduce delay and delay variation. FRF.12 proposes an industry standard approach to do this, so products from different vendors will be able to interoperate and consumers will know what type of voice quality to expect.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997966"&gt;Methods for prioritizing voice frames over data frames also help reduce delay and delay variation. This, and the use of smaller frame sizes, are vendor-specific implementations. To ensure voice quality, the committed information rate (CIR) on each &lt;/a&gt;&lt;a name="997969"&gt;PVC should be set to ensure that voice frames are not discarded. Future Frame Relay networks will provide &lt;/a&gt;&lt;a name="997970"&gt;SVC signaling for call setup, and may also allow Frame Relay DTEs to request a QoS for a call. This will enhance VoFR quality &lt;/a&gt;&lt;a name="997971"&gt;in the &lt;/a&gt;&lt;a name="997972"&gt;future.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid12"&gt;&lt;/a&gt;&lt;a name="_Toc430327255"&gt;&lt;/a&gt;&lt;a name="997976"&gt;&lt;/a&gt;&lt;a name="_Toc430328159"&gt;&lt;/a&gt;&lt;a name="_Toc430330146"&gt;Voice over IP&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997977"&gt;VoIP's appeal is based on its capability to facilitate voice and data convergence at an application layer. Increasingly, VoIP is being seen as the ideal last-mile solution for cable, DSL, and wireless networks because it allows service providers to bundle their offerings. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997977"&gt;VoIP also offers service providers the ability to provision standalone local loop bypass and long distance arbitrage services. To provide a VoIP solution, signaling, routing, and addressing must be addressed.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid13"&gt;&lt;/a&gt;&lt;a name="_Toc430327256"&gt;&lt;/a&gt;&lt;a name="997983"&gt;&lt;/a&gt;&lt;a name="_Toc430328160"&gt;&lt;/a&gt;&lt;a name="_Toc430330147"&gt;VoIP Signaling&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;VoIP &lt;a name="997984"&gt;signaling has three distinct areas: signaling from the &lt;/a&gt;&lt;a name="997985"&gt;PBX to the router, signaling between routers, and signaling from the router to the PBX. The corporate intranet appears as a trunk line to the PBX, which signals the corporate intranet to seize a trunk. Signaling from the PBX to the intranet may be any of the common signaling methods used to seize a trunk line, such as &lt;/a&gt;&lt;a name="997987"&gt;fax expansion module (FXS) or E&amp;amp;M signaling. In the future, digital signaling such as&lt;/a&gt;&lt;a name="997988"&gt; &lt;/a&gt;&lt;a name="997989"&gt;common channel signaling (CCS) or &lt;/a&gt;&lt;a name="997990"&gt;Q signaling (QSIG) will become available. The PBX then forwards the dialed digits to the router in the same manner in which the digits would be forwarded to a telco switch.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997990"&gt;Within the router the dial plan mapper maps the dialed digits to an IP address and signals a Q.931 call establishment request to the remote peer that is indicated by the IP address. Meanwhile, the control channel is used to set up the &lt;/a&gt;&lt;a name="997992"&gt;Real-Time Control Protocol (RTCP) audio streams, and the &lt;/a&gt;&lt;a name="997993"&gt;Resource Reservation Protocol (RSVP) is used to request a guaranteed QoS.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997993"&gt;When the remote router receives the Q.931 call request, it signals a line seizure to the PBX. After the PBX acknowledges, the router forwards the dialed digits to the PBX and signals a call acknowledgment to the originating router.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997993"&gt;In connectionless network architectures such as IP, the responsibility for session establishment and signaling is with the end stations. To successfully emulate voice services across an IP network, enhancements to the signaling stacks are required.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997993"&gt;For example, an H.323 agent is added to the router for standards-based support of the audio and signaling streams. The Q.931 protocol is used for call establishment and teardown between H.323 agents or end stations. RTCP is used to establish the audio channels themselves. A reliable session-oriented protocol, Transmission Control Protocol (TCP), is deployed between end stations to carry the signaling channels. &lt;/a&gt;&lt;a name="997997"&gt;Real-Time Transport Protocol (RTP), which is built on top of &lt;/a&gt;&lt;a name="997998"&gt;User Datagram Protocol (UDP), is used for transport of the real-time audio stream. RTP uses UDP as a transport mechanism because it has lower delay than TCP and because actual voice traffic, unlike data traffic or signaling, tolerates low levels of loss and cannot effectively exploit retransmission.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="997998"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/multiacc.htm_2340952"&gt;Table 18-1&lt;/a&gt; depicts the relationship between&lt;a name="998002"&gt; the ISO reference model and the protocols used in IP voice agents.&lt;/a&gt;&lt;/p&gt;&lt;a name="998002"&gt;&lt;br /&gt;&lt;b&gt;Table&amp;nbsp;18-1: &lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;a name="40952"&gt;&lt;/a&gt;&lt;a name="998005"&gt;The ISO Reference Model and H.323 Standards&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;p&gt;&lt;a name="998005"&gt;&lt;/a&gt;&lt;br /&gt;&lt;table cellpadding="10" border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr valign="top"&gt;&lt;br /&gt;&lt;th align="left"&gt;&lt;b&gt;ISO Protocol Layer&lt;/b&gt; &lt;/th&gt;&lt;br /&gt;&lt;th align="left"&gt;&lt;b&gt;ITU H.323 Standard &lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr valign="top"&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;Presentation &lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;G.711,G.729, G.729a, G.726, G.728, G.723.1 &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr valign="top"&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;Session &lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;H.323, H.245, H.225, RTCP &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr valign="top"&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;Transport &lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;RTP, UDP &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr valign="top"&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;Network &lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;IP, RSVP, WFQ &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr valign="top"&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;Link &lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td align="left"&gt;&lt;br /&gt;&lt;p&gt;RFC 1717 (PPP/ML), Frame, ATM, X.25, public IP networks (including the Internet), circuit-switched leased-line networks &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table cellpadding="10"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid14"&gt;&lt;/a&gt;&lt;a name="_Toc430327257"&gt;&lt;/a&gt;&lt;a name="998035"&gt;&lt;/a&gt;&lt;a name="_Toc430328161"&gt;&lt;/a&gt;&lt;a name="_Toc430330148"&gt;VoIP Addressing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;An existing &lt;a name="998036"&gt;corporate intranet should have an IP addressing plan in place. To the IP numbering scheme, the voice interfaces appear as additional IP hosts, either as an extension of the existing scheme or with new IP addresses. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="998036"&gt;Translation of dial digits from the PBX to an IP host address is performed by the dial plan mapper. The destination telephone number, or some portion of the number, is mapped to the destination IP address. When the number is received from the PBX, the router compares the number to those mapped in the routing table. If a match is found, the call is routed to the IP host. After the connection is established, the corporate intranet connection is transparent to the subscriber.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid15"&gt;&lt;/a&gt;&lt;a name="_Toc430327258"&gt;&lt;/a&gt;&lt;a name="998042"&gt;&lt;/a&gt;&lt;a name="_Toc430328162"&gt;&lt;/a&gt;&lt;a name="_Toc430330149"&gt;VoIP Routing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;One of the strengths of&lt;a name="998043"&gt; IP is the maturity and sophistication of its routing protocols. A modern routing protocol, such as Enhanced Interior Gateway Routing Protocol (&lt;/a&gt;&lt;a name="998045"&gt;EIGRP), is able to consider delay when calculating the best path. These are also fast converging routing protocols, which allow voice traffic to take advantage of the self-healing capabilities of IP networks. Advanced features, such as policy routing and access lists, make it possible to create highly sophisticated and secure routing schemes for voice traffic. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="998045"&gt;RSVP can be automatically invoked by VoIP gateways to ensure that voice traffic is able to use the best path through the network. This can include segments of arbitrary media, such as switched LANs or ATM networks. Some of the most interesting developments in IP routing are tag switching and other IP switching disciplines. Tag switching provides a way of extending IP routing, policy, and RSVP functionality over ATM and other high-speed transports. Another benefit of tag switching is its traffic engineering capabilities, which are needed for the efficient use of network resources. Traffic engineering can be used to shift traffic load based on different predicates, such as time of day.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid16"&gt;&lt;/a&gt;&lt;a name="_Toc430327259"&gt;&lt;/a&gt;&lt;a name="998050"&gt;&lt;/a&gt;&lt;a name="_Toc430328163"&gt;&lt;/a&gt;&lt;a name="_Toc430330150"&gt;VoIP and Delay&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Routers and specifically IP networks offer some unique challenges in controlling delay and &lt;a name="998051"&gt;delay variation. Traditionally, IP traffic has been treated as "best effort," meaning that incoming IP traffic is allowed to be transmitted on a first-come, first-served basis. Packets have been variable in nature, allowing large file transfers to take advantage of the efficiency associated with larger packet sizes. These characteristics have contributed to large delays and large delay variations in packet delivery. RSVP allows network managers to reserve resources in the network by end station. The network manager can then allocate queues for different types of traffic, helping to reduce the delay and delay variation inherent in current IP networks.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="998051"&gt;The second part of supporting delay-sensitive voice traffic is to provide a means of prioritizing the traffic within the router network. RFC 1717 breaks down large packets into smaller packets at the link layer. This reduces the problems of queuing delay and delay variation by limiting the amount of time a voice packet must wait in order to gain access to the trunk.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="998051"&gt;Weighted fair queuing, or priority queuing, allows the network to put different traffic types into specific QoS queues. This is designed to prioritize the transmittal of voice traffic over data traffic. This &lt;/a&gt;&lt;a name="998055"&gt;reduces the potential of queuing delay.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid17"&gt;&lt;/a&gt;&lt;a name="_Toc430327260"&gt;&lt;/a&gt;&lt;a name="998059"&gt;&lt;/a&gt;&lt;a name="_Toc430328164"&gt;&lt;/a&gt;&lt;a name="_Toc430330151"&gt;Applying Packet Voice&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;In today's networking, there are several &lt;a name="998060"&gt;attractive alternatives both to conventional public telephony and to leased lines. Among the most interesting are networking technologies based on a different kind of voice transmission, called packet voice. Packet voice appears to a network as data; thus it can be transported over networks normally reserved for data, where costs are often far less than in voice networks. Packet voice uses less transmission bandwidth than conventional voice, so more can be carried on a given connection. Whereas telephony requires as much as 64,000 bits per second (bps), packet voice often needs less than 10,000 bps. For many companies, there is sufficient reserve capacity on national and international data networks to transport considerable voice traffic, making voice essentially free.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="998060"&gt;Packet voice networks can be used in two broad contexts, differentiated by geography or by the types of users to be served. The economics and technology of the network may be unaffected by these factors, but there may be legal constraints in some areas for some combinations of these two contexts, and network users or operators should be aware of them.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="998060"&gt;Telecommunications is regulated within countries by national administrations, or arms of the governments, based on local regulations. In some countries, such as the United States, there may be multiple levels of regulatory authority. In all cases, treaties define the international connection rules, rates, and so forth. It is important for any business planning to use or build a packet voice network to ensure that it is operating in conformance with all laws and regulations in all the areas the network serves. This normally requires some direct research, but the current&lt;/a&gt;&lt;a name="998064"&gt; state of the regulations can be summarized as follows:&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="998064"&gt;Within a national administration or telephony jurisdiction, it is almost always proper for a business to employ packet voice to support its own voice calling among its own sites. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a name="998064"&gt;&amp;nbsp;&amp;nbsp;In such applications, it is normally expected that some of the calls transported on the packet voice network will have originated in the public phone network. Such outside calling over packet voice is uniformly tolerated in a regulatory sense, on the basis that the calls are from employees, customers, or suppliers and represent the company's business. &lt;br /&gt;&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="998064"&gt;When a packet voice connection is made between national administrations to support the activities of a single company&amp;mdash;to connect two or more company locations in multiple countries&amp;mdash;the application is uniformly tolerated in a regulatory sense. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;&lt;a name="998064"&gt;&amp;nbsp;&amp;nbsp; In such a situation, an outside call placed from a public phone network in one country and terminated in a company site within another via packet voice may be a technical violation of national monopolies or treaties on long-distance service. Where such a call is between company employees or between employees and suppliers or customers, such a technical violation is unlikely to attract official notice. &lt;br /&gt;&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="998064"&gt;When a packet voice network is used to connect public calls within a company, the packet voice provider is technically providing a local or national telephone service and is subject to regulation as such. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a name="998064"&gt;When a packet voice network is used to connect public calls between countries, the packet voice provider is subject to the national regulations in the countries involved and also to any treaty provisions for international calling to which any of the countries served are signatories. &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="998064"&gt;Thus, it is safe to say that companies could employ packet voice networking for any applications where traditional leased-line, PBX-to-PBX networking could be legally employed. In fact, a good model for deploying packet voice without additional concerns about regulatory matters is to duplicate an existing PBX trunk network or tie-line network using &lt;/a&gt;&lt;a name="998072"&gt;packet voice facilities.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-6085823976666736795?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/6085823976666736795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/multiservice-access-technologies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6085823976666736795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6085823976666736795'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/multiservice-access-technologies.html' title='Multiservice Access Technologies'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-6614176993906301505</id><published>2009-12-15T16:14:00.001-08:00</published><updated>2009-12-15T17:57:50.969-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Media versus Bandwidth</title><content type='html'>&lt;p&gt;The following table compares the usable bandwidth of the different guided transmission media. &lt;/p&gt;&lt;a name="AEN1151"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="INFORMALTABLE"&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;Cable Type&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;Bandwidth&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;Open Cable&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;0 - 5 MHz&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;Twisted Pair&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;0 - 100 MHz&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;Coaxial Cable&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;0 - 600 MHz&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;Optical Fiber&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="left" width="50%"&gt;0 - 1 GHz&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-6614176993906301505?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/6614176993906301505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/media-versus-bandwidth.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6614176993906301505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6614176993906301505'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/media-versus-bandwidth.html' title='Media versus Bandwidth'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-2932550480828518212</id><published>2009-12-15T16:13:00.003-08:00</published><updated>2009-12-15T17:57:50.969-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Local Area Networks (LANs)</title><content type='html'>&lt;p&gt;A Local Area Network is a system of computers that share resources such as disk drives, printers, data, CPU power, fax/modem, applications, etc. They usually have distributed processing, which means that there are many desktop computers distributed around the network and that there is no central processor machine (mainframe). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Location: In a building or individual rooms or floors of buildings or nearby buildings. Can be campus wide like a college or university. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-2932550480828518212?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/2932550480828518212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/local-area-networks-lans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/2932550480828518212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/2932550480828518212'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/local-area-networks-lans.html' title='Local Area Networks (LANs)'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-116448706910513854</id><published>2009-12-15T16:13:00.001-08:00</published><updated>2009-12-15T16:13:28.910-08:00</updated><title type='text'>Linux on Token Ring</title><content type='html'>&lt;p&gt;I decided to implement Token Ring on one of my Linux servers: I had some time on my hands, a few MSAUs, and a box of 3Com 3C619B Token Ring network cards just laying around the office. Not to mention, I also had a burning desire to run a Token Ring network for the past few years. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;This article will deal with these topics: &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Installing and configuring a 3C619B Token Ring network card in Linux&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Simple routing from Token Ring LAN to an Ethernet LAN through a Linux server&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Installing the NIC&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The first step was installing the NIC. This required opening the computer and finding a spare 16 bit ISA slot. No problem. In it went, and I was one step closer to completion! &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The next step required testing the card. Unfortunately, most diagnostic programs that come with PC hardware run in DOS. So as a rule, I always allocate one 20 MB partition to DOS (for storing them). Reboot to DOS, and run the 3C619B configuration program called 3tokdiag.exe. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;At this point, the card&amp;nbsp; should be connected to a MSAU (multistationaccess unit - sometimes referred to as a MAU) for proper testing. The MSAU can have either of the original IBM hermaphroditic connectors (RJ45 or RJ11 connectors). I used an IBM 8228 with hermaphroditic connectors. I connected my RJ45 cable to it using a Token Ring balun (small impedance matching transformer). This matches the 150 ohm impedance of STP to the 100 ohmimpedance of UTP. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;I ran the diagnostic tests, and bang, the MMIO test failed (with an error about a memory conflict)! So much for right-out-of-the-box luck. This means that I would have to set the card's IRQs, base address, and memory address (which I should normally have to do anyway).&amp;nbsp; A quick check of the Token Ring Howto, and voila, it says that the cards with the Tropic chipset (IC has Tropic written right on it) uses the ibmtr driver. The card's chipset was indeed the Tropic, and away I went. Now for the configuration parameters...and the problems started. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The 3C619B card could be run in either 3Com mode, or 100% IBM compatibility mode. To make a long story short, I recommend that you use the 100% IBM compatibility mode. Even though the settings are not clear, in my case, the choices were for "primary or secondary" card (i.e. which base address to use). The configuration parameters that Linux is looking for are as follows: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;Config&amp;nbsp;mode:IBMI/O&amp;nbsp;Base&amp;nbsp;Address:Primary(means&amp;nbsp;using&amp;nbsp;0xA20)Int&amp;nbsp;Req:2&amp;nbsp;(9)(16&amp;nbsp;bit&amp;nbsp;cards&amp;nbsp;use&amp;nbsp;IRQ&amp;nbsp;9)&lt;br /&gt;Ring&amp;nbsp;Speed:16&amp;nbsp;MbpsBios/MMIO&amp;nbsp;Base&amp;nbsp;Add:D4000hshared&amp;nbsp;RAM&amp;nbsp;Address&amp;nbsp;range:D0000hMem&amp;nbsp;mode:&lt;br /&gt;16&amp;nbsp;bitI/O&amp;nbsp;mode:16&amp;nbsp;bitIRQ&amp;nbsp;Driver&amp;nbsp;type:Edge&amp;nbsp;triggeredAuto&amp;nbsp;Switch:Enabled&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I am not sure what the MMIO address does, but I do know that with these values, the card passed all diagnostic tests just fine. The big problem that I had was in the confusion between MMIO and Memory address. I had set MMIO address to 0xD0000, and this failed miserably! &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The first few tests check the internals of the NIC and the last test checks the lobe connection (between NIC and MSAU). The last test takes quite a long time to perform, so be patient. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;NOTE: Now as far as I can tell, the ibmtr.c source code only allows the above settings (someone correct me if I'm wrong!). Unfortunately, the comment header of ibmtr.c doesn't indicate any configuration settings (oversight?). From what I can tell--from ibmtr.c and testing that was performed over a period of 3 weeks (yes that is right - I was on the verge of giving up)--these are the &lt;i class="EMPHASIS"&gt;only&lt;/i&gt; values that will work. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;The Kernel and Token Ring&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Linux kernel must be recompiled for Token Ring support. You can compile it in directly, or as a module (both methods work). To compile the kernel, you change directories to /usr/src/Linux, and run either of the following: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;"make config" - for command line text based line by line prompt&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;"make menuconfig" - for a command line configuration menu&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;"make xconfig" - for an X windows configuration menu&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;I suggest that you use either menuconfig or xconfig. The "make config" method can be extremely unforgiving: if you should make a mistake - you have to start all over again. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The assumption at this point is that you have a working recompiled kernel, and are only adding support for a Token Ring card. This means that the only change you make should be to add Token Ring support to the kernel. Go to the Network Device Support section, and select Token Ring Driver Support (either compiled as part of the kernel (Y), or as a&amp;nbsp; module (M)). I selected "compiled as part of the kernel." Next, select "IBM Tropic chipset-based adapter support" (again Y or M - your choice). Save and exit, and you're ready to recompile the kernel. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;make&amp;nbsp;clean&amp;nbsp;;&amp;nbsp;make&amp;nbsp;dep&amp;nbsp;;&amp;nbsp;make&amp;nbsp;zImagemake&amp;nbsp;modulesmake&amp;nbsp;modules_install&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I copied the z Image file to the root directory (I'm using slackware- you may need to copy it to /boot directory for other distributions): &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;cp&amp;nbsp;/usr/src/Linux/arch/i386/boot/zImage&amp;nbsp;/token-ring&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The new kernel was now in place; it's time to add a new lilo entry. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;LILO and T.R. Kernel&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Since I wasn't sure how Linux would work with the new Token Ringcard, I wanted to be able to boot to the old working kernel (non Token Ring). I added another entry into /etc/lilo.conf that would address the new kernel. At the lilo boot prompt, I would have a new choice of kernel. I modified /etc/lilo.conf with a simple text editor for the new kernel as shown below: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;#&amp;nbsp;LILO&amp;nbsp;configuration&amp;nbsp;file##&amp;nbsp;Start&amp;nbsp;LILO&amp;nbsp;global&amp;nbsp;section#&lt;br /&gt;location&amp;nbsp;of&amp;nbsp;boot&amp;nbsp;deviceboot&amp;nbsp;=&amp;nbsp;/dev/hda#&lt;br /&gt;how&amp;nbsp;long&amp;nbsp;(1/10&amp;nbsp;of&amp;nbsp;seconds)&amp;nbsp;will&amp;nbsp;the&amp;nbsp;LILO&amp;nbsp;prompt&amp;nbsp;appear&amp;nbsp;before&amp;nbsp;booting&amp;nbsp;to&amp;nbsp;the&amp;nbsp;first&amp;nbsp;listed&amp;nbsp;kerneldelay&amp;nbsp;=&amp;nbsp;50vga&amp;nbsp;=&amp;nbsp;normal#&lt;br /&gt;End&amp;nbsp;LILO&amp;nbsp;global&amp;nbsp;section#&amp;nbsp;Linux&amp;nbsp;bootable&amp;nbsp;partition&amp;nbsp;configuration&amp;nbsp;begins#&lt;br /&gt;Original&amp;nbsp;kernel&amp;nbsp;config&amp;nbsp;starts&amp;nbsp;hereimage&amp;nbsp;=&amp;nbsp;/vmlinuz#&amp;nbsp;name&amp;nbsp;and&amp;nbsp;path&amp;nbsp;to&amp;nbsp;kernel&amp;nbsp;to&amp;nbsp;boot&amp;nbsp;to&amp;nbsp;&amp;nbsp;root&amp;nbsp;=&amp;nbsp;/dev/hda2#&lt;br /&gt;which&amp;nbsp;partition&amp;nbsp;does&amp;nbsp;it&amp;nbsp;reside&amp;nbsp;on&amp;nbsp;&amp;nbsp;label&amp;nbsp;=&amp;nbsp;Linux#&amp;nbsp;the&amp;nbsp;name&amp;nbsp;that&amp;nbsp;the&amp;nbsp;LILO&amp;nbsp;prompt&amp;nbsp;will&amp;nbsp;display&amp;nbsp;&amp;nbsp;read-only#&lt;br /&gt;let&amp;nbsp;fsck&amp;nbsp;check&amp;nbsp;the&amp;nbsp;drive&amp;nbsp;before&amp;nbsp;doing&amp;nbsp;anything&amp;nbsp;with&amp;nbsp;it&amp;nbsp;-&amp;nbsp;mandatory#&amp;nbsp;End&amp;nbsp;of&amp;nbsp;original&amp;nbsp;kernel#&lt;br /&gt;Token&amp;nbsp;Ring&amp;nbsp;kernel&amp;nbsp;starts&amp;nbsp;hereimage&amp;nbsp;=&amp;nbsp;/token-ring&amp;nbsp;&amp;nbsp;root&amp;nbsp;=&amp;nbsp;/dev/hda2#&lt;br /&gt;which&amp;nbsp;partition&amp;nbsp;does&amp;nbsp;it&amp;nbsp;reside&amp;nbsp;on&amp;nbsp;&amp;nbsp;label&amp;nbsp;=&amp;nbsp;token-ring#&amp;nbsp;the&amp;nbsp;name&amp;nbsp;that&amp;nbsp;the&amp;nbsp;LILO&amp;nbsp;prompt&amp;nbsp;will&amp;nbsp;display&amp;nbsp;&amp;nbsp;read-only#&lt;br /&gt;let&amp;nbsp;fsck&amp;nbsp;check&amp;nbsp;the&amp;nbsp;drive&amp;nbsp;before&amp;nbsp;doing&amp;nbsp;anything&amp;nbsp;with&amp;nbsp;it&amp;nbsp;-&amp;nbsp;mandatory#&lt;br /&gt;End&amp;nbsp;of&amp;nbsp;Token&amp;nbsp;Ring&amp;nbsp;kernel#&amp;nbsp;DOS&amp;nbsp;partition&amp;nbsp;starts&amp;nbsp;hereother&amp;nbsp;=&amp;nbsp;/dev/hda1#&lt;br /&gt;which&amp;nbsp;partition&amp;nbsp;does&amp;nbsp;it&amp;nbsp;reside&amp;nbsp;on&amp;nbsp;&amp;nbsp;label&amp;nbsp;=&amp;nbsp;dos#&amp;nbsp;the&amp;nbsp;name&amp;nbsp;that&amp;nbsp;the&amp;nbsp;LILO&amp;nbsp;prompt&amp;nbsp;will&amp;nbsp;display&amp;nbsp;&amp;nbsp;table&amp;nbsp;=&amp;nbsp;/dev/hda#&lt;br /&gt;End&amp;nbsp;of&amp;nbsp;DOS&amp;nbsp;partition&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;My DOS partition is on /dev/hda1, and Linux on /dev/hda2, with a swap partition on /dev/hda3 (not mentioned in the lilo.conf file). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;After saving and exiting the /etc/lilo.conf., you must run lilo to enter the settings. All that is required is to type "lilo" at the command prompt with root privilege. If everything was entered properly, you should see the following: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;ashley:~#&amp;nbsp;lilo&amp;nbsp;&amp;nbsp;AddedLinux&amp;nbsp;*&amp;nbsp;&amp;nbsp;Addedtoken-ring&amp;nbsp;&amp;nbsp;Addeddosashley:~#&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This indicates that everything went okay (ashley is the name of my server). The asterick indicates that Linux is the default boot selection (first entry in lilo.conf). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Token Ring Kernel and Boot Messages&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Since I compiled Token Ring support directly into the kernel, I didn't have to modify (usually just uncomment) or add support for the ibmtrdriver in the /etc/conf.modules file. When I rebooted the machine, I hit the CTRL key at the LILO prompt, and then the TAB key. This displayed the lilo boot choices. I typed "token-ring" at the LILO prompt: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;&lt;strong&gt;LILO:&amp;nbsp;token-ring&lt;/strong&gt;&lt;/p&gt;I then closely watched for the following messages to scroll across the screen: &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;&amp;amp;lt;snip&amp;amp;gt;tr0:&amp;nbsp;ISA&amp;nbsp;16/4&amp;nbsp;Adapter|&amp;nbsp;16/4&amp;nbsp;Adapter&amp;nbsp;/A&amp;nbsp;(long)&amp;nbsp;foundtr0:&lt;br /&gt;using&amp;nbsp;IRQ&amp;nbsp;9,&amp;nbsp;PIO&amp;nbsp;Addr&amp;nbsp;a20,&amp;nbsp;16&amp;nbsp;k&amp;nbsp;Shared&amp;nbsp;RAMtr0:&amp;nbsp;Hardware&amp;nbsp;address:&lt;br /&gt;00:20:AF:0E:C7:2Etr0:&amp;nbsp;Maximum&amp;nbsp;MTU&amp;nbsp;16&amp;nbsp;Mbps:&amp;nbsp;4056,&amp;nbsp;4&amp;nbsp;Mbps:&amp;nbsp;4568&amp;amp;lt;snip&amp;amp;gt;tr0:&lt;br /&gt;Initial&amp;nbsp;interrupt:&amp;nbsp;16&amp;nbsp;Mbps,&amp;nbsp;Shared&amp;nbsp;Ram&amp;nbsp;base&amp;nbsp;000d0000&amp;amp;lt;snip&amp;amp;gt;&amp;nbsp;tr0:&amp;nbsp;New&amp;nbsp;Ring&amp;nbsp;Status:&lt;br /&gt;20tr0:&amp;nbsp;New&amp;nbsp;Ring&amp;nbsp;Status:&amp;nbsp;20tr0:&amp;nbsp;New&amp;nbsp;Ring&amp;nbsp;Status:&amp;nbsp;20tr0:&amp;nbsp;New&amp;nbsp;Ring&amp;nbsp;Status:&amp;nbsp;20&amp;amp;lt;snip&amp;amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;And its up! It's quite stable, and if you have a passive msau, you shoud be able to hear the relay click in for the ring insertion phase . &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;If you see either of these &lt;i class="EMPHASIS"&gt;error messages&lt;/i&gt;: &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;arrgh!&amp;nbsp;Transmitter&amp;nbsp;busyUnknown&amp;nbsp;command&amp;nbsp;08h&amp;nbsp;in&amp;nbsp;arb&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;you have the wrong Shared Ram Address range configured on your card. Set it to 0xD0000h. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Configuring the Interface&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now that there was support for the Token Ring card in the kernel, the interface had to be configured. This means that the IP address, mask, broadcast address, and default route must be set. In Slackware, the /etc/rc.d/rc.inet1file is modified to add the following parameters. If you are just testing, you can type in the following parameters at the command prompt: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;/sbin/ifconfig&amp;nbsp;tr0&amp;nbsp;192.168.2.1&lt;br /&gt;broadcast&amp;nbsp;192.168.2.255&amp;nbsp;netmask&amp;nbsp;255.255.255.0&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;where: &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;tr0&amp;nbsp;is&amp;nbsp;the&amp;nbsp;first&amp;nbsp;Token&amp;nbsp;Ring&amp;nbsp;adapter&amp;nbsp;found&lt;br /&gt;192.168.2.1&amp;nbsp;is&amp;nbsp;the&amp;nbsp;IP&amp;nbsp;address&amp;nbsp;of&amp;nbsp;the&amp;nbsp;interface&lt;br /&gt;192.168.2.255&amp;nbsp;is&amp;nbsp;the&amp;nbsp;broadcast&amp;nbsp;address&amp;nbsp;of&amp;nbsp;the&amp;nbsp;interface&lt;br /&gt;255.255.255.0&amp;nbsp;is&amp;nbsp;the&amp;nbsp;subnet&amp;nbsp;mask&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;At this point, you should type "ifconfig" by itself on the command line interface (and you should see something like this): &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;eth0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Link&amp;nbsp;encap:Ethernet&amp;nbsp;&amp;nbsp;HWaddr&amp;nbsp;00:A0:24:CC:12:6F&lt;br /&gt;inet&amp;nbsp;addr:192.168.1.3&amp;nbsp;Bcast:192.168.1.255&amp;nbsp;&amp;nbsp;Mask:255.255.255&lt;br /&gt;UP&amp;nbsp;BROADCAST&amp;nbsp;RUNNING&amp;nbsp;MULTICAST&amp;nbsp;&amp;nbsp;MTU:1500&amp;nbsp;&amp;nbsp;Metric:&lt;br /&gt;RX&amp;nbsp;packets:53775&amp;nbsp;errors:0&amp;nbsp;dropped:0&amp;nbsp;overruns:0&amp;nbsp;frame:&lt;br /&gt;TX&amp;nbsp;packets:7489&amp;nbsp;errors:0&amp;nbsp;dropped:0&amp;nbsp;overruns:0&amp;nbsp;carrier:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;collisions:0&amp;nbsp;txqueuelen:100&lt;br /&gt;Interrupt:10&amp;nbsp;Base&amp;nbsp;address:0xe800tr0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Link&amp;nbsp;encap:Token&amp;nbsp;Ring&amp;nbsp;&amp;nbsp;HWaddr&amp;nbsp;00:20:AF:0E:C7:2E&lt;br /&gt;inet&amp;nbsp;addr:192.168.2.1&amp;nbsp;Bcast:192.168.2.255&amp;nbsp;&amp;nbsp;Mask:255.255.255.0&lt;br /&gt;UP&amp;nbsp;BROADCAST&amp;nbsp;RUNNING&amp;nbsp;MULTICAST&amp;nbsp;&amp;nbsp;MTU:4500&amp;nbsp;&amp;nbsp;Metric:1&lt;br /&gt;RX&amp;nbsp;packets:0&amp;nbsp;errors:0&amp;nbsp;dropped:0&amp;nbsp;overruns:0&amp;nbsp;frame:0&lt;br /&gt;TX&amp;nbsp;packets:0&amp;nbsp;errors:0&amp;nbsp;dropped:0&amp;nbsp;overruns:0&amp;nbsp;carrier:0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;collisions:0&amp;nbsp;txqueuelen:100&lt;br /&gt;Interrupt:9&amp;nbsp;Base&amp;nbsp;address:0xa20lo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Link&amp;nbsp;encap:Local&amp;nbsp;Loopback&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&lt;br /&gt;net&amp;nbsp;addr:127.0.0.1&amp;nbsp;Mask:255.0.0.0&lt;br /&gt;UP&amp;nbsp;LOOPBACK&amp;nbsp;RUNNING&amp;nbsp;MTU:3924&amp;nbsp;&amp;nbsp;Metric:1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RX&amp;nbsp;packets:235&amp;nbsp;errors:0&amp;nbsp;dropped:0&amp;nbsp;overruns:0&amp;nbsp;frame:0&lt;br /&gt;TX&amp;nbsp;packets:235&amp;nbsp;errors:0&amp;nbsp;dropped:0&amp;nbsp;overruns:0&amp;nbsp;carrier:0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;collisions:0&amp;nbsp;txqueuelen:0&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Notice that the Ethernet, loopback, and token ring interfaces are listed. It is very important to make sure that the Ethernet and Token Ring adapters are on &lt;i class="EMPHASIS"&gt;separate IP networks&lt;/i&gt;. In this example, eth0 is on subnet192.168.1.0 and tr0 is on subnet 192.168.2.0. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;At this point, you should be able to ping your Linux box from the token ring network. A symptom of a wrong NIC configuration is the following: you can successfully ping localhost and the Linux network card address (like 192.168.2.1) from within the Linux server. But when you ping anything outside of the Linux server (such as other LAN hosts), you get the error messages listed above. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;46f. Routing from Token Ring to Ethernet &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There are two methods that can be used to connect Ethernet networks to Token Ring networks. The first method uses the Data Link layer of the OSI model, and is called a translation bridge. There are several major differences between the two MAC frames: one of the most significant differences is the transmission of most significant bits (MSB) of a byte. Token Ring transmits the least significant bit (LSB) first, while Ethernet transmits it in reverse order (with the MSB first, or vice versa, depending on if you are either a Token Ring or Ethernet person). Unfortunately, Linux doesn't support translation bridging for a very good reason (see next paragraph). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The second method uses the Network layer (IP layer), and is called routing. Both Ethernet and Token Ring protocol stacks already deliver their data to the Network layer in the proper order (and in a common format - IP datagram). All that you need to do to connect the two LAN arbitration methods is to add a route to our routing table (too easy!). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Since our Ethernet routing is already working--including default gateway-- I only had to add the following line to /etc/rc.d/rc.inet1. To test it, just type at the command line: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;/sbin/route&amp;nbsp;&amp;nbsp;add&amp;nbsp;-&amp;nbsp;net&amp;nbsp;&amp;nbsp;192.168.2.0&amp;nbsp;netmask&amp;nbsp;255.255.255.0&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Any packet not addressed to the Token Ring network 192.168.2.0 is forwarded to the Ethernet network. I used a similar route on the Ethernet side, and everything not addressed to the Ethernet network 192.168.1.0 was sent to the Token Ring network. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;To verify that everything still works from the Linux box: &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;ping an Ethernet host&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;ping a Token Ring host&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;To verify that routing is working, try to ping across the Linux server (from an Ethernet host to a Token Ring host, and vice versa). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;NOTE: This is a very simple routing example. Only two LANs are being used: 192.168.1.0 and 192.168.2.0. Your situation will most likely be more complicated. Please see the man pages on routed for further information. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;46g. Token Ring Problems&lt;/strong&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;While Linux ran beautifully with Token Ring, I can't say the same about Win95. The biggest problem that I ran into was the fact that Win95 performs a software reboot whenever its configuration is changed (or when most new software is installed). While this isn't a problem with Ethernet, it is with Token Ring. Token Ring has many maintenance and administration duties implemented into the network card itself. The network card requires a hard boot to reset, not a soft boot. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The results were that the Win95 clients would lose their network connections (specifically the network stack to the NIC), and hang during soft boots (very frustrating). If you add any new software, especially if it is a network install, down goes Win95! I would have to shut off the PC and reboot. I never realized how often you have to reboot Win95 until I implemented Token Ring on it. I would not want to administrate a Token Ring network on Win95 for a living! &lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is not a Token Ring fault. It seems to be a Win95 fault, as far as I can tell. I was using Win95a, so perhaps later versions have addressed this problem. Linux did not have any problems of this nature. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-116448706910513854?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/116448706910513854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/linux-on-token-ring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/116448706910513854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/116448706910513854'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/linux-on-token-ring.html' title='Linux on Token Ring'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-6710221385433341641</id><published>2009-12-15T16:12:00.003-08:00</published><updated>2009-12-15T17:57:50.970-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Line Impairments</title><content type='html'>&lt;p&gt;Line Impairments are faults in the line that occur due to either improper line terminations or equipment out of specifications. These cannot be conditioned out, but can be measured to determine the amount of the impairment. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Crosstalk&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Crosstalk is when one line induces a signal into another line. In voice communications, we often hear this as another conversation going on in the background. In digital communication, this can cause severe disruption of the data transfer. Cross talk can be caused by the overlapping of bands in a multiplexed system, or by poor shielding of cables running close to one another. There are no specific communications standards that are applied to the measurement of crosstalk. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;26b. Echo or Signal Return&lt;/strong&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;All media have a preferred termination condition for perfect transfer of signal power. The signal arriving at the end of a transmission line should be fully absorbed, otherwise it will be reflected back down the line to the sender (and appear as an Echo). Echo Suppressors are often fitted to transmission lines to reduce this effect. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Usually during data transmission, these suppressors must be disabled or they will prevent return communication in full duplex mode. Echo suppressors are disabled on the phone line if they hear carrier for 400ms or more. If the carrier is absent for 100 mSec, the echo suppressor is re-enabled. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Echo Cancellers are currently used in Modems to replicate the echo path response. These cancellers then combine the results to eliminate the echo (thus, no signal interruption is necessary). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Frequency Shift&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Frequency shift is the difference between the transmitted frequency and the received frequency. This is caused by the lack of synchronization of the carrier oscillators. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Nonlinear Distortion&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Nonlinear distortion changes the wave shape of the signal. If the signal was transmitted as a sine wave (and arrived as a square wave), it would be an example of severe nonlinear distortion. Amplitude modulated carriers would suffer drastically if the original wave shape was distorted. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Jitter: Amplitude and Phase&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Here are the 2 types of Jitter: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ol type="a"&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Amplitude Jitter&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Phase Jitter&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Amplitude Jitter&lt;/i&gt; is the small constantly changing swing in the amplitude of a signal. It is principally caused by power supply noise (60 Hz) and ringing tone (20 Hz) on the signal. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Phase Jitter&lt;/i&gt; is the small constantly changing swing in the phase of a signal. It may result in the pulses moving into time slots that are allocated to other data pulses (when used with Time Domain Multiplexing). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Telephone company standards call for no more than 10 degrees between 20 and 300 Hz and no more than 15 degrees between 4 and 20 Hz. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Transients: Impulse Noise, Gain Hits, Dropouts &amp;amp; Phase Hits&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Transients are irregular-timed impairments. They appear randomly, and are very difficult to troubleshoot. There are 4 basic types of Transients. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ol type="i"&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Impulse Noise&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Gain Hits&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Dropouts&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;Phase Hits&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;i. Impulse Noise&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Impulse noise is a sharp and quick spike on the signal that can come from many sources: electromagnetic interference, lightning, sudden power switching, electromechanical switching, etc.. These appear on the telephone line as clicks and pops: they're not a problem for voice communication, but can appear as a loss of data (or even as wrong data bits) during data transfers. Impulse noise has a duration of less than 1 mSec and their effect is dissipated within 4 mSec. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;ii. Gain Hits&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Gain Hits are sudden increases in amplitude that last more than 4 mSec. Telephone company standards allow for no more than 8 gain hits in any 15 minute interval. A gain hit would be heard on a voice conversation as if the volume were turned up for just an instance. Amplitude modulated carriers are particularly sensitive to Gain Hits. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;iii. Dropouts&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Dropouts are sudden losses of signal amplitude that are greater than 12 db, and last longer than 4 mSec. They cause more errors than any other type of transients. Telephone company standards allow no more than 1 dropout for every 30 minute interval. Dropouts can be heard on a voice conversation (similar to call waiting), where the line goes dead for a 1/2 second. This is a sufficient loss of signal for some digital transfer protocols (such as SLIP), where the connection is lost and would then have to be re-established. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;iv. Phase Hits&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Phase Hits are either a sudden--and large--change in the received signal phase (20 degrees), or a frequency that lasts longer than 4 mSec. Phase Hits generally occur when switching between Telcos, common carriers, or transmitters. FSK and PSK are particularly sensitive to Phase Hits. The data may be incorrect until the out-of-phase condition is rectified. The telephone company standard allows no more than 8 phase hits in any 15 minute period. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-6710221385433341641?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/6710221385433341641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/line-impairments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6710221385433341641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6710221385433341641'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/line-impairments.html' title='Line Impairments'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-8433399876378934555</id><published>2009-12-15T16:12:00.001-08:00</published><updated>2009-12-15T17:57:50.971-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Introduction to the ISO - OSI Model</title><content type='html'>&lt;p&gt;The ISO (International Standards Organization) has created a layered model, called the OSI (Open Systems Interconnect) model, to describe defined layers in a network operating system. The purpose of the layers is to provide clearly defined functions that can improve Internetwork connectivity between "computer" manufacturing companies. Each layer has a standard defined input and a standard defined output. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Understanding the function of each layer is instrumental in understanding data communication within Local, Metropolitan or Wide networks. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;OSI Model Explained&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is a top-down explanation of the OSI Model. It starts with the user's PC and it follows what happens to the user's file as it passes though the different OSI Model layers. The top-down approach was selected specifically (vs. starting at the Physical Layer and working up to the Application Layer) for ease of understanding. It is used here to show how the user's files are transformed (through the layers) into a bit stream for transmission on the network. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;These are the 7 Layers of the OSI model: &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;7. Application Layer (Top Layer)&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;6. Presentation Layer &lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;5. Session Layer &lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;4. Transport Layer &lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;3. Network Layer &lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;2. Data Link Layer &lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;1. Physical Layer (Bottom Layer)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Layer 7 - Application Layer&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Fig. 1. Basic PC Logical Flowchart &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;A basic PC logic flowchart is shown in Fig. 1. The Keyboard &amp;amp; Application are shown as inputs to the CPU (requesting access to the hard disk). The Keyboard requests accesses through user inquiries (such as "DIR" commands) and the Application seeks access through "File Openings" and "Saves". The CPU, through the Disk Operating System, sends and receives data from the local hard disk ("C:" in this example). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Fig. 2. Simple Network Redirection &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;A PC setup as a network workstation has a software "Network Redirector" (the actual name depends on the network - we will use a generic term here) placed between the CPU and DOS (as shown in Fig 2.). The Network Redirector is a TSR (Terminate and Stay Resident) program: it presents the network hard disk as another local hard disk ("G:" in this example) to the CPU. All CPU requests are intercepted by the "Network Redirector". The Network Redirector checks to see if either a local or a network drive is requested. If a local drive is requested, the request is passed on to DOS. However, if a network drive is requested, the request is then passed on to the network operating system (NOS). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Electronic mail (E-Mail), client-server databases, games played over the network, print and file servers, remote logons, and network management programs (or any "network aware" applications) are all aware of the network redirector. They have the ability to communicate directly with other "network applications" on the network. The "Network Aware Applications" and the "Network Redirector" make up Layer 7 (the Application layer of the OSI Model, as shown in Fig. 3). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Fig. 3. PC Workstation with Network Aware Software &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Layer 6 - Presentation Layer&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Network Redirector sends CPU operating system native code to the network operating system: the coding and format of the data is not recognizable by the network operating system. The data consists of file transfers and network calls by network aware programs. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;For example, when a dumb terminal is used as a workstation (in a mainframe or minicomputer network), the network data is translated into (and from) the format that the terminal can use. The Presentation layer presents data to and from the terminal using special control characters to control the screen display (LF-line feed, CR-carriage return, cursor movement, etc..). The presentation of data on the screen would depend on the type of terminal that's used: VT100, VT52, VT420, etc. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Similarly, the Presentation layer strips the pertinent file from the workstation operating system's file envelope. The control characters, screen formatting, and workstation operating system envelope are all stripped or added to the file (if the workstation is receiving or transmitting data to the network). This could also include translating ASCII file characters from a PC world to EBCDIC in an IBM Mainframe world. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Presentation Layer also controls security at the file level: this provides both file locking and user security. The DOS Share program is often used for file locking. When a file is in use, it is locked from other users to prevent 2 copies of the same file from being generated. If 2 users both modified the same file, and User A saved it, then User B saved it, then User A's changes would be erased! &lt;/p&gt;&lt;br /&gt;&lt;p&gt;At this point, the data is contiguous and complete (i.e. one large data file). See Fig. 4. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Layer 5 - Session Layer&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Session layer manages the communications between the workstation and the network. The Session layer directs the information to the correct destination, and identifies the source to the destination. The Session layer identifies the type of information as data or control. The Session layer manages the initial start-up of a session, and the orderly closing of a session. The Session layer also manages Log on procedures and Password recognition (See Fig. 5). &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-8433399876378934555?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/8433399876378934555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/introduction-to-iso-osi-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8433399876378934555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/8433399876378934555'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/introduction-to-iso-osi-model.html' title='Introduction to the ISO - OSI Model'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-1975404071245620786</id><published>2009-12-15T16:06:00.001-08:00</published><updated>2009-12-15T17:57:50.971-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Internet Protocol</title><content type='html'>&lt;p&gt;The Network Layer protocol for TCP/IP is the Internet Protocol (IP). It uses IP addresses and the subnet mask to determine if the datagram is on a local or remote network. If it is on the remote network, the datagram is forwarded to the default gateway (which is a router that links to another network). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;IP keeps track of the number of transverses through each router (that the datagram goes through to reach its destination). Each transvers is called a hop. If the hop count exceeds 255 hops, the datagram is removed, and the destination is considered unreachable. IP's name for the hop count is called Time To Live (TTL). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;IP Addresses&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;IP addresses consist of a 32-bit number, and is represented by the dot-decimal format. For example: 142.110.237.1 is an IP address. There are 4 decimal digits separated by three dots. Each digit is allowed the range of 0 to 255. This range corresponds to 8 bits (one byte) of information. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;A portion of an IP address represents the network address, and the remaining portion the host address. For example: 142.110.237.1 is the IP address of a firewall. The network that the firewall resides on is 142.110.237.0 (Note: IP addresses that end in a 0 represent network addresses). The host address of the firewall is 0.0.0.1 (Note: the network portion of the IP address is represented by 0s). Each host on the network--and Internet--must have a unique IP address. There are ways around having each host a unique IP address and they are discussed under firewalls. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Network Information Center (NIC) assigns network addresses to the Internet. You must apply to receive a IP network address. Depending on the class of the IP address, you can then assign as many host IP addresses as are allowed (more on this later). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;An alternative is to "rent" IP addresses from your local Internet Service Provider (ISP). They usually own the rights to a block of IP addresses, and will rent them out for a fee. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;IP Address Classifications&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There is a formal structure to the assignment of IP addresses. IP addresses are assigned by the Network Information Center (NIC), a central authority with the responsibility of assigning network addresses. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;There are several classifications of IP addresses: they include network addresses and special purpose addresses. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Class A addresses&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;IP&amp;nbsp;address&amp;nbsp;range&amp;nbsp;1.0.0.0&amp;nbsp;to&amp;nbsp;127.0.0.0&amp;nbsp;Number&amp;nbsp;of&amp;nbsp;networks&amp;nbsp;available:&lt;br /&gt;125&amp;nbsp;(see&amp;nbsp;special&amp;nbsp;addresses&amp;nbsp;below)&amp;nbsp;Number&amp;nbsp;of&amp;nbsp;hosts&amp;nbsp;per&amp;nbsp;network:16,777,214&lt;br /&gt;Net&amp;nbsp;Mask:255.0.0.0&amp;nbsp;&amp;nbsp;(first&amp;nbsp;8&amp;nbsp;bits&amp;nbsp;are&amp;nbsp;ones)Special&amp;nbsp;Addresses:&lt;br /&gt;10.0.0.0&amp;nbsp;is&amp;nbsp;used&amp;nbsp;for&amp;nbsp;networks&amp;nbsp;not&amp;nbsp;connected&amp;nbsp;to&amp;nbsp;the&amp;nbsp;Internet&lt;br /&gt;127.0.0.0&amp;nbsp;is&amp;nbsp;the&amp;nbsp;loopback&amp;nbsp;address&amp;nbsp;for&amp;nbsp;testing&amp;nbsp;(see&amp;nbsp;ping)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page238.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Class A addresses always have bit 0 set to 0; bits 1-7 are used as the network ID; bits 8-31 are used as the host ID. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Class A networks are used by very large companies, such as IBM, US Dept of Defense and AT&amp;amp;T. Appendix E: &lt;a href="http://www.myhosting.com/blog/a8840.htm"&gt;IP Protocol Address Space&lt;/a&gt; lists the IP addresses and the organizations that use them. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Class B addresses&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;IP&amp;nbsp;addresses&amp;nbsp;range&amp;nbsp;from&amp;nbsp;128.0.0.0&amp;nbsp;to&amp;nbsp;191.0.0.0&lt;br /&gt;Number&amp;nbsp;of&amp;nbsp;networks&amp;nbsp;available:16,382&amp;nbsp;(see&amp;nbsp;special&amp;nbsp;addresses&amp;nbsp;below)&lt;br /&gt;Number&amp;nbsp;of&amp;nbsp;hosts&amp;nbsp;per&amp;nbsp;network:65,534&amp;nbsp;Net&amp;nbsp;Mask:255.255.0.0&amp;nbsp;(first&amp;nbsp;16&amp;nbsp;bits&amp;nbsp;are&amp;nbsp;ones)&lt;br /&gt;Special&amp;nbsp;Addresses:172.16.0.0&amp;nbsp;to&amp;nbsp;172.31.0.0&amp;nbsp;are&amp;nbsp;used&amp;nbsp;for&amp;nbsp;networks&amp;nbsp;not&amp;nbsp;connected&amp;nbsp;to&amp;nbsp;the&amp;nbsp;Internet&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page238a.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Class B addresses always have bit 0 and 1 set to 10. Bits 2-15 are used as the network ID. Bits 16-31 are used as the host ID. Class B networks are assigned to large companies and universities. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Class C addresses&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;IP&amp;nbsp;address&amp;nbsp;range&amp;nbsp;192.0.0.0&amp;nbsp;to&amp;nbsp;223.0.0.0&lt;br /&gt;Number&amp;nbsp;of&amp;nbsp;networks&amp;nbsp;available:&amp;nbsp;2,097,150&amp;nbsp;(see&amp;nbsp;special&amp;nbsp;addresses&amp;nbsp;below)&lt;br /&gt;Number&amp;nbsp;of&amp;nbsp;hosts&amp;nbsp;per&amp;nbsp;network:&amp;nbsp;254Net&amp;nbsp;Mask:255.255.255.0&amp;nbsp;(first&amp;nbsp;24&amp;nbsp;bits&amp;nbsp;are&amp;nbsp;ones)&lt;br /&gt;Special&amp;nbsp;Addresses:192.168.1.0&amp;nbsp;to&amp;nbsp;192.168.255.0&lt;br /&gt;are&amp;nbsp;used&amp;nbsp;for&amp;nbsp;networks&amp;nbsp;not&amp;nbsp;connected&amp;nbsp;to&amp;nbsp;the&amp;nbsp;Internet&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page239.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Class C addresses always have bits 0-2 set to 110. Bits 3-24 are used as the network ID. Bits 25-31 are used as the host ID. Class C network addresses are assigned to small companies and local Internet providers. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Class D Addresses&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;IP&amp;nbsp;address&amp;nbsp;range&amp;nbsp;224.0.0.0&amp;nbsp;to&amp;nbsp;239.0.0.0Use:Multicasting&amp;nbsp;addresses&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page239a.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Class D addresses always have bits 0-3 set to 1110, bits 4-31 are used as the Multicast address. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Class D network addresses are used by multicasting. Multicasting is a method of reducing network traffic (rather than send a separate datagram to each host if multiple host require the same information). A special multicast address can be used where one datagram is read by many hosts. Appendix F: &lt;a href="http://www.myhosting.com/blog/a8847.htm"&gt;IP Multicast Addresses&lt;/a&gt; lists the assigned IP multicast address space. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Class E Addresses&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;IP&amp;nbsp;addresses&amp;nbsp;range&amp;nbsp;from&amp;nbsp;240.0.0.0&amp;nbsp;to&amp;nbsp;255.0.0.0&lt;br /&gt;Use:&amp;nbsp;Reserved&amp;nbsp;by&amp;nbsp;the&amp;nbsp;Internet&amp;nbsp;for&amp;nbsp;its&amp;nbsp;own&amp;nbsp;use.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you try to ping a Class E address, you should get the error message that says it is an invalid IP address. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Reserved IP Addresses&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The following IP addresses are reserved: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;127.0.0.0Network&amp;nbsp;addresses&amp;nbsp;used&amp;nbsp;for&amp;nbsp;localhost&amp;nbsp;mode&amp;nbsp;(testing&amp;nbsp;IP&amp;nbsp;stack)&amp;nbsp;255.255.255.255&lt;br /&gt;An&amp;nbsp;IP&amp;nbsp;address&amp;nbsp;consisting&amp;nbsp;of&amp;nbsp;all&amp;nbsp;1s&amp;nbsp;in&amp;nbsp;binary&amp;nbsp;(255).&amp;nbsp;Broadcast&amp;nbsp;addressx.x.x.0&lt;br /&gt;An&amp;nbsp;IP&amp;nbsp;address&amp;nbsp;with&amp;nbsp;the&amp;nbsp;host&amp;nbsp;portion&amp;nbsp;consisting&amp;nbsp;of&amp;nbsp;0s.&amp;nbsp;Used&amp;nbsp;to&amp;nbsp;indicate&amp;nbsp;the&amp;nbsp;network&amp;nbsp;address.&lt;br /&gt;Newer&amp;nbsp;routers&amp;nbsp;have&amp;nbsp;the&amp;nbsp;option&amp;nbsp;of&amp;nbsp;allowing&amp;nbsp;these&amp;nbsp;addresses.&amp;nbsp;224.0.0.0&amp;nbsp;-&amp;nbsp;255.0.0.0&amp;nbsp;Class&amp;nbsp;D&amp;nbsp;addresses.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Network Masking&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The subnet mask is used to determine which portion of the IP address is the network address, and which is the host address. This means that the portions of network to host in an IP address can change. The most common subnet mask is 255.255.255.0. The simple explanation is that wherever there is a 255, this indicates that it is the network portion. Wherever there is a 0, this indicates the host portion. Later on, subnet masking will be explained more thoroughly. For now, though, this explanation will have to suffice. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;If we examine our IP address of 142.110.237.1, and use a subnet mask of 255.255.255.0, it can be seen that the network portion of the IP address is 142.110.237 (and the host portion is 1). The network address is typically written 142.110.237.0 and the host is sometimes written 0.0.0.1. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now if host &lt;i class="EMPHASIS"&gt;142.110.237&lt;/i&gt;.1 wanted to send a datagram to &lt;i class="EMPHASIS"&gt;142.110.237&lt;/i&gt;.21, it would look at the network portion of the IP address (of the destination), and determine that it is on the local network. It would then send out the datagram. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;If host &lt;i class="EMPHASIS"&gt;142.110.237&lt;/i&gt;.1 wanted to send a datagram to &lt;i class="EMPHASIS"&gt;142.110.150&lt;/i&gt;.108, it would look at the network portion of the IP address (of the destination) and determine that it is not on the same network. It is on 142.110.150.0 network and it would send it to the default gateway. The default gateway is a router that knows how to reach the other networks. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Class Masking&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Class A, B and C networks use masks, not subnet masks. Masks are similar to subnet masks, except that they are normally used in routers (not in workstations). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;A Class A network has a mask of 255.0.0.0, which allows approximately 16.7 million host addresses. Also, a Class B network has a mask of 255.255.0.0, which allows approximately 65 thousand host addresses. Both classes of networks have too many hosts for one network to handle. Imagine 65,000 users trying to access a network service at the same time. The network would be swamped with requests, and would slow down to a crawl. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The solution is to divide the network up into smaller workable networks, called subnets. This is usually done by fooling the host machine into believing that it is on a Class C network (only 254 hosts). The "fooling" occurs by using a Class C mask 255.255.255.0, called the subnet mask. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Thus, for a Class A network using a subnet mask of 255.255.255.0, you can have roughly 65 thousand subnets (of 254 hosts). On a Class B network, using a subnet mask of 255.255.255.0, you can have roughly 254 subnets of 254 hosts. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Subnetting a network&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Subnet masks can divide networks into smaller networks (smaller than the 254 hosts discussed previously). In order to understand this process, a discussion on binary-to-decimal number conversion is required. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The typical subnet mask 255.255.255.0 represents 4 bytes of data. Each number represents 1 byte, and is displayed as a decimal number. One byte of information can represent a range of 0 - 255. One byte consists of 8 bits, where 0000 0000 represents 0 (in decimal), and 1111 1111 represents 255 (in decimal). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Note: The convention for displaying bits is to group in nibbles (4 bits): this makes it easier to read. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Each bit position has a weighting, where the weighting is equal to 2 to the power of the position (starting at position 0, on the right). The easiest way to determine the decimal weighting is to start on the right with the number 1 (which is 2^0), and double it at each bit position. The weighting for each position is follows: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page241.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Each position has its weighting multiplied by the binary bit value (0 or 1). For example, if bit position 23 had its bit set to 0, its decimal value would be 0 x 8 = 0. If bit position 25 had its bit set to 1, its decimal value would be 1 x 32 = 32. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;To determine the decimal value of a binary number, add up all of the decimal weighting values (wherever there is a 1 in the binary number). For the following binary number 1111 1111, the decimal value would equal 255: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page241a.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;For the binary number 0000 0000, the decimal value would equal 0: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page241b.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;For the binary number 1010 1001, the decimal value would equal 169: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.myhosting.com/blog/page241c.gif" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The significance of the decimal weighting to network routing becomes more evident when the method of rolling over the binary count is examined. For example, the decimal number 63 compared to 64 in binary produces an interesting observation: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;Decimal&amp;nbsp;63=0011&amp;nbsp;1111;&amp;nbsp;Decimal&amp;nbsp;64=0100&amp;nbsp;0000&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The decimal number 63 is represented by all 1s in the first 6 bit locations. The decimal number 64 is represented by only bit 6 being a logical 1. If the count was further increased, similar relationships would occur, as shown below: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;Decimal&amp;nbsp;127=0111&amp;nbsp;1111;&amp;nbsp;Decimal&amp;nbsp;128=1000&amp;nbsp;0000&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;and &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;Decimal&amp;nbsp;191=1011&amp;nbsp;1111;&amp;nbsp;Decimal&amp;nbsp;192=1100&amp;nbsp;0000&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;and &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;Decimal&amp;nbsp;255=1111&amp;nbsp;1111;&amp;nbsp;Decimal&amp;nbsp;0=0000&amp;nbsp;0000&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Notice that bit 7 and 6 are the only bits that are changing from the initial example of 63 and 64. What this means is that the network can be subdivided into 4 logical networks (of 64 hosts each). In fact, the number is 62 hosts because address 0 is not allowed (network address), and address 63 is not allowed (broadcast address). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;In the introduction to subnetting, the portion of the IP address (that corresponded to the network portion) was easily identified as being the portion of the subnet mask (that corresponded to the decimal number 255). This is really only for the convenience of the dot decimal format (of the IP address). In fact, the IP address is a 32-bit address, and doesn't have byte "boundaries" (as implied by the dot decimal notation). For example: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;192.168.1.0&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;1100&amp;nbsp;0000&amp;nbsp;1010&amp;nbsp;1000&amp;nbsp;0000&amp;nbsp;0001&amp;nbsp;0000&amp;nbsp;0000&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This means that the portion of the subnet mask that corresponds to the network address can be further broken down on the host bit positions. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;A Class C network address of 192.168.1.0 has 254 hosts available to it. If your network consisted of 4 different physical locations, each with a maximum of 50 hosts, then subnetting the network would be required. The locations could be different buildings or cities. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bit 7 and bit 6 of the host portion can be used to describe the network portion of the subnet. The subnet masking would be: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;1111&amp;nbsp;1111&amp;nbsp;1111&amp;nbsp;1111&amp;nbsp;1111&amp;nbsp;1111&amp;nbsp;1100&amp;nbsp;0000&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;255.255.255.192&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The 4 subnets for Class C address 192.168.1.0 would be 192.168.1.0, 192.168.1.64, 192.168.1.128 and 192.168.1.192 (with the following range of IP addresses): &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;SubnetHost&amp;nbsp;RangeBroadcast&amp;nbsp;address192.168.1.0192.168.1.1&lt;br /&gt;to&amp;nbsp;192.168.1.62192.168.1.63192.168.1.64192.168.1.65&lt;br /&gt;to&amp;nbsp;192.168.1.126192.168.1.127192.168.1.128192.168.1.129&lt;br /&gt;to&amp;nbsp;192.168.1.190192.168.1.191192.168.1.192192.168.1.193&lt;br /&gt;to&amp;nbsp;192.168.1.254192.168.1.255&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In this manner, a router with 4 interfaces could be configured with subnet masks of 255.255.255.192. This would allow for subdividing of the Class C network into 4 smaller networks. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Theoretically, all of the host bits--up to bit 1 and 0--can be used to make up to 64 subnets (of 2 hosts each). In this case, 128 IP addresses would be lost to the network IP address and the broadcast IP address. The following table lists the number of hosts and networks that can implemented using subnet masking (for a Class C network): &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;Subnet&amp;nbsp;maskNumber&amp;nbsp;of&amp;nbsp;subnetsNumber&amp;nbsp;of&amp;nbsp;hosts&amp;nbsp;per&amp;nbsp;subnet&lt;br /&gt;255.255.255.1282126255.255.255.192462255.255.255.224830&lt;br /&gt;255.255.255.2401614255.255.255.248326255.255.255.252642&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The above example is based on subnetting a Class C network. Subnetting can get extremely complicated if you are subnetting assigned IP addresses that are in the middle of a Class C network, such as when they are rented from an ISP. Fortunately, there are many Subnet Mask Calculators that are available off the Internet. They are designed to determine the correct subnet mask for your network. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Domain Names&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;IP addresses are difficult for humans to remember: they're great for PCs! Domain names were invented to make it easier to navigate the Internet. A domain name is a vaguely descriptive name that's separated by dots. For example: www.Linuxhq.org &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Every machine that runs TCP/IP has a text file called &lt;i class="EMPHASIS"&gt;hosts&lt;/i&gt;. It is a simple lookup table that the network stack (IP) checks: it looks to see if it has a match between a domain name and an IP address. It is easily modified with a text editor, and the contents look like the following: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;127.0.0.1localhost142.110.237.1e237&lt;br /&gt;-firewall.tech.el.sait.ab.ca142.110.237.2e237&lt;br /&gt;-bridge.tech.el.sait.ab.ca142.110.237.3ashley.tech.el.sait.ab.ca&lt;br /&gt;142.110.237.4mariah&amp;nbsp;mariah.tech.el.sait.ab.ca&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The IP address is listed on the left, and the domain name is listed on the right. The actual registered domain name is sait.ab.ca (Southern Alberta Institute of Technology). The domain name el.sait.ab.ca (electronics dept.) is a subnet of sait.ab.ca. The domain name tech.el.sait.ab.ca (technical) is a subnet of el.sait.ab.ca. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The machine names are e237-firewall, e237-bridge, ashley and mariah. Mariah's entry is unique in that both the domain name mariah and mariah.tech.el.sait.ab.ca would be recognized by the IP stack as 142.110.237.4. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The problem with the hosts file is that each machine must have a current up to date copy of the network. For a small network (25 or less) that is not connected to the Internet, this is not a problem to manage. If the network is larger, then problems can occur when trying to keep everyone updated. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Another solution is Unix's &lt;i class="EMPHASIS"&gt;Network Information Service&lt;/i&gt; (NIS) (formerly called Yellow Pages until there was a copyright conflict with the Telcos). A central NIS server shares a master hosts file to all the clients. In this way, only one file exists (and is updated). This works well for a network that's not connected to the Internet. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you are connected to the Internet, then a &lt;i class="EMPHASIS"&gt;Domain Name Server&lt;/i&gt; (DNS) is used. A DNS is a special server that communicates with other servers, and keeps an up-to-date look-up table. This table matches IP addresses to domain names for the complete Internet. It is a hierarchical system, where each DNS is authorative for the domain underneath it. This means that each server knows the domain name to IP address mapping of the network underneath it. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Domain Name Structure&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Domain names tend to follow a loose structure (giving a description of the network). For example, sait.ab.ca uses the Canada extension ca, preceded by the province of Alberta extension ab, and then the abbreviation SAIT (for the Southern Alberta Institute of Technology). This is a geographically-designed domain name that follows the ISO-3166 country code structure (as listed in Appendix K: &lt;a href="http://www.myhosting.com/blog/a9140.htm"&gt;ISO 3166 Country Codes&lt;/a&gt;). Examples of country codes are shown below: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;brBrazilcaCanadafiFinlandgbUnited&amp;nbsp;Kingdomna&lt;br /&gt;NambianzNew&amp;nbsp;ZealandtwTaiwanusUnited&amp;nbsp;States&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There are top level domain (TLD) names extensions that attempt to describe the purpose of the domain. It is broken down into these seven basic categories: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;com-&amp;nbsp;Commercial&amp;nbsp;domains&amp;nbsp;that&amp;nbsp;are&amp;nbsp;a&amp;nbsp;business.edu-&amp;nbsp;Educational&amp;nbsp;institutesnet-&lt;br /&gt;This&amp;nbsp;is&amp;nbsp;for&amp;nbsp;computers&amp;nbsp;of&amp;nbsp;network&amp;nbsp;providers&amp;nbsp;such&amp;nbsp;as&amp;nbsp;Internet&amp;nbsp;Service&amp;nbsp;Providersorg-&amp;nbsp;Standard&amp;nbsp;organizations&lt;br /&gt;or&amp;nbsp;non&amp;nbsp;profit&amp;nbsp;organizationsint-&amp;nbsp;Organizations&amp;nbsp;that&amp;nbsp;have&amp;nbsp;been&amp;nbsp;established&amp;nbsp;by&amp;nbsp;international&amp;nbsp;treaties.gov-&lt;br /&gt;Municipal,&amp;nbsp;federal,&amp;nbsp;provincial,&amp;nbsp;state&amp;nbsp;governments.mil-&amp;nbsp;United&amp;nbsp;States&amp;nbsp;military&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;All in all, it is often quite difficult to establish where a domain is physically located (or what it actually does) from just the domain name itself. But it makes remembering locations easier than attempting to remembering an IP address. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Domain Name Look-up Procedure&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;When a domain name is used, the IP stack doesn't understand domain names. It says "what is this? Is not an IP address!". The only thing the IP stack understands is IP addresses. The look-up order is as follows: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ol type="1"&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;The IP stack checks the &lt;i class="EMPHASIS"&gt;hosts&lt;/i&gt; file to see if there is a domain name match to IP address. If there is, the IP address is used.&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;If there is no match, the IP stack will look for a &lt;i class="EMPHASIS"&gt;NIS server&lt;/i&gt; with its host file shared. If this service is not installed, the IP stack will jump to the next step. &lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;If there is still no match, the IP stack will send out a request to the &lt;i class="EMPHASIS"&gt;domain name server&lt;/i&gt; configured during the network configuration to see if it knows whose IP address belongs to the domain name. &lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;If the domain name server doesn't know, it may make an enquiry to the next level up domain name server to see if it knows whose IP address belongs to the domain name and so on.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;On the Internet, there are 13 top level root domain name servers. The current addresses and domain names are found at ftp://internic.net/domain/named.cache (also called named.ca and named.root) &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="LITERALLAYOUT"&gt;Domain&amp;nbsp;NameIP&amp;nbsp;AddressDescription&amp;nbsp;A.ROOT-SERVERS.NET198.41.0.4&lt;br /&gt;formerly&amp;nbsp;NS.INTERNIC.NETB.ROOT-SERVERS.NET128.9.0.107&lt;br /&gt;formerly&amp;nbsp;NS1.ISI.EDUC.ROOT-SERVERS.NET192.33.4.12&lt;br /&gt;formerly&amp;nbsp;C.PSI.NETD.ROOT-SERVERS.NET128.8.10.90&lt;br /&gt;formerly&amp;nbsp;TERP.UMD.EDUE.ROOT-SERVERS.NET192.203.230.10&lt;br /&gt;formerly&amp;nbsp;NS.NASA.GOVF.ROOT-SERVERS.NET192.5.5.241&lt;br /&gt;formerly&amp;nbsp;NS.ISC.ORGG.ROOT-SERVERS.NET192.112.36.4&lt;br /&gt;formerly&amp;nbsp;NS.NIC.DDN.MILH.ROOT-SERVERS.NET128.63.2.53&lt;br /&gt;formerly&amp;nbsp;AOS.ARL.ARMY.MILI.ROOT-SERVERS.NET192.36.148.17&lt;br /&gt;formerly&amp;nbsp;NIC.NORDU.NETJ.ROOT-SERVERS.NET198.41.0.10&lt;br /&gt;temporarily&amp;nbsp;housed&amp;nbsp;at&amp;nbsp;NSI&amp;nbsp;(InterNIC)K.ROOT-SERVERS.NET193.0.14.129&lt;br /&gt;housed&amp;nbsp;in&amp;nbsp;LINX,&amp;nbsp;operated&amp;nbsp;by&amp;nbsp;RIPE&amp;nbsp;NCC&amp;nbsp;L.ROOT-SERVERS.NET198.32.64.12&lt;br /&gt;temporarily&amp;nbsp;housed&amp;nbsp;at&amp;nbsp;ISI&amp;nbsp;(IANA)M.ROOT-SERVERS.NET202.12.27.33&lt;br /&gt;housed&amp;nbsp;in&amp;nbsp;Japan,&amp;nbsp;operated&amp;nbsp;by&amp;nbsp;WIDE&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;These are controlled by InterNIC, which is the primary agency responsible for registering domain names. At the time of this writing, there are several new agencies that are taking over the domain registration process for different parts of the world. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;IP Header&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The IP datagram is traditional represented by many rows of 32 bits (4 octets or bytes). Each 32 bit word is stacked on top of each other as per the following diagram for the IP header: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class="SCREEN"&gt;FieldDescriptionVersion (4 bits)The IP version, currently it is version 4.&lt;br /&gt;0	Reserved&lt;br /&gt;1-3	Unassigned&lt;br /&gt;4	IP	Internet Protocol&lt;br /&gt;5	STST 	Datagram Mode&lt;br /&gt;6	SIP	Simple Internet Protocol&lt;br /&gt;7 	TP/IXTP/IX: The Next Internet&lt;br /&gt;8 	PIP	The P Internet Protocol&lt;br /&gt;9	TUBA	TUBA&lt;br /&gt;10-14	Unassigned&lt;br /&gt;15	Reserved	IHL (4 bits) Internet Header Length, the length of the IP header in 32 bit words. &lt;br /&gt;			Type of ServiceFlags to indicate precedence, delay, throughput and (8 bits) reliability parameters.&lt;br /&gt;Bit 0-2: Precedence000 - Routine001 - Priority010 - Immediate011 - Flash100&lt;br /&gt;- Flash override101 - CRITIC / ECP110 - Internet control111 - Network&lt;br /&gt;controlBit 3:0 = Normal delay, 1 = Low delayBit 4:0 = Normal throughput, 1 =&lt;br /&gt;High throughputBit 5:0 = Normal reliability, 1 = High reliabilityBit&lt;br /&gt;6-7:Reserved for future use.Total LengthTotal length in bytes of the IP&lt;br /&gt;datagram (IP header and data) (16 bits) Minimum length = 576, Maximum length&lt;br /&gt;= 65,535 IdentificationUnique identifying number for this datagram(16&lt;br /&gt;bits)Flags (3 bits) Options that indicate if fragmentation s permitted&lt;br /&gt;and/or usedBit 0:Reserved, allways set to 0Bit 1:0 = May fragment, 1 = Don't&lt;br /&gt;fragmentBit 2:0 = Last fragment, 1 = More fragmentsFragment OffsetIndicates&lt;br /&gt;where in the entire datagram, this particular fragment (13 bits)belongs.&lt;br /&gt;Measured in 64 bit units from the beginning of the initial datagram. Time to&lt;br /&gt;live (TTL)Measured in hop counts or seconds. Every transverse through(8&lt;br /&gt;bits)a router or gateway will decrement the hop count. When the TTL equals&lt;br /&gt;0, the datagram is discarded. This stops datagrams from circulating the&lt;br /&gt;network forever. Starts at TTL = 255.ProtocolIdentifies the next protocol&lt;br /&gt;that follows the IP header.&lt;/pre&gt;&lt;pre class="SCREEN"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;strong&gt;Examples are:&lt;br /&gt;&lt;/strong&gt;Decimal Protocol Description &lt;br /&gt;0	Reserved&lt;br /&gt;1 	ICMP	Internet 	Control Message&lt;br /&gt;2 	IGMP	Internet	Group Management&lt;br /&gt;6	TCP	Transmission 	Control&lt;br /&gt;37	DDP	Datagram 	Delivery Protocol&lt;br /&gt;46 	RSVP	Reservation Protocol&lt;br /&gt;93	AX.25	AX.25		&lt;br /&gt;Frames Header Checksum A 32 bit Cyclic Redundacy Check that may be checked &lt;br /&gt;at each (32 bit)gateway. &lt;br /&gt;Source Address 		An IP address indicating the sender. Ex. 142.110.237.1(32 bit)&lt;br /&gt;Destination Address 	An IP address indicating the receiptient. Ex. 142.110.237.2(32 bit)&lt;br /&gt;Options 	Options from the sender such as route specifications.(variable)&lt;br /&gt;Padding	 	Ensures that the IP header ends on a 32 bit boundary.&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-1975404071245620786?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/1975404071245620786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/internet-protocol.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/1975404071245620786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/1975404071245620786'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/internet-protocol.html' title='Internet Protocol'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-6983560594481995851</id><published>2009-12-15T16:03:00.003-08:00</published><updated>2009-12-15T17:57:50.972-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Internet Control Message Protocol</title><content type='html'>&lt;p&gt;The job of the Internet Control Message Protocol (ICMP) is to report errors that may have occurred in processing IP datagrams. ICMP is an integral part of IP and its messages are encapsulated within an IP datagram. Note: there are 6 messaging formats used by ICMP, to be discussed later. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;The ICMP messages are indicated by the Type Field (they are shown below): &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;0 - Echo Reply&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;3 - Destination unreachable&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;4 - Source Quench&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;5 - Redirect&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;8 - Echo&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;11 - Time exceeded&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;12 - Parameter problem&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;13 - Timestamp&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;14 - Timestamp reply&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;15 - Information request (obsolete)&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;16 - Information reply (obsolete)&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;17 - Address mask request&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;18 - Address mask reply&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The most well-known uses of ICMP are the ping and traceroute (tracert in Window) commands. The ping command sends out a special ICMP echo request message to a destination. If the destination is alive, it will respond with the ICMP echo replay message. This is a fundamental tool used in network troubleshooting, as described in. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Traceroute uses the Timestamp services of ICMP to perform its task of tracing a route to a destination. The Timestamp message and Timestamp Reply measure the round trip time that is taken to go from the source to the destination. Traceroute lists the path and the round trip time to each router, taken from the source to the destination. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Echo and Echo Reply Message&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Echo and Echo Reply test the communication path from a sender to a destination. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN7671"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Identifier (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Sequence number (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;DATA&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. An Echo request message will have the number &lt;i class="EMPHASIS"&gt;8&lt;/i&gt; in the Type field and an Echo Reply message will have the number &lt;i class="EMPHASIS"&gt;0&lt;/i&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For Echo, the code field is always &lt;i class="EMPHASIS"&gt;0&lt;/i&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Checksum&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Identifier and Sequence Number&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Identifier and Sequence Number may be used by the echo sender to aid in matching the replies with the echo requests. For example, the identifier might be used like a port in TCP--or UDP--to identify a session, and the sequence number might be incremented on each echo request sent. The echoer returns these same values in the echo reply. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Data&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The data received in the echo message must be returned in the echo reply message. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Destination Unreachable Message&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Destination Unreachable message is sent by a router (gateway) or a host when the destination network or service is not available. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;A destination host may reply with a Destination Unreachable message when the service (port or protocol) is not currently active. A router may reply with a Destination Unreachable message when its entry for the destination network is unreachable (set to infinity), or if the IP datagram Don't Fragment flag is set on (and the router must fragment it in order to forward it). &lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN7714"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Unused&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Internet Header + 64 bits of Original Data Datagram&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. A Destination Unreachable message will have the number &lt;i class="EMPHASIS"&gt;3&lt;/i&gt; in the Type field. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For Destination Unreachable, the code field is: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;0 = net unreachable&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;1 = host unreachable&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;2 = protocol unreachable&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;3 = port unreachable&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;4 = fragmentation needed and DF set&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;5 = source route failed&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Codes 0, 1, 4, and 5 may be sent from a router. Codes 2 and 3 may be sent from a host &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Checksum&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Unused&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The 32 bits are not used, and are ignored. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Internet Header + 64 bits of Data Datagram&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is the IP header, plus the first 64 bits of the original datagram's data. This data is used by the host to match the message to the appropriate process. If a higher level protocol uses port numbers, they are assumed to be in the first 64 data bits of the original datagram's data. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Source Quench Message&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If a router does not have enough buffer space--and becomes congested, or is approaching its capacity-- it may send a Source Quench message to the datagram source host. The source quench message is a request to the host to cut back the rate at which it is sending traffic (to the Internet destination). &lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN7769"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Unused&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Internet Header + 64 bits of Original Data Datagram&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. An Source Quench message will have the number &lt;i class="EMPHASIS"&gt;4&lt;/i&gt; in the Type field . &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For Source Quench, the code field is always &lt;i class="EMPHASIS"&gt;0&lt;/i&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Checksum&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Unused&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The 32 bits are not used, and are ignored. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Internet Header + 64 bits of Data Datagram&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;It is the IP header, plus the first 64 bits of the original datagram's data. This data is used by the host to match the message to the appropriate process. If a higher level protocol uses port numbers, they are assumed to be in the first 64 data bits of the original datagram's data. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Time Exceeded Message&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If a router find the Time To Live (TTL) field has expired (i.e. set to zero), the router will discard the IP datagram. It may send a Time Exceeded message to the source Host. &lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN7809"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Unused&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Internet Header + 64 bits of Original Data Datagram&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. A Time Exceeded message will have the number &lt;i class="EMPHASIS"&gt;11&lt;/i&gt; in the Type field. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For Echo, the code field is: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;0 = time to live exceeded in transi&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;t&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;1 = fragment reassembly time exceeded&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Checksum&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Unused&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The 32 bits are not used, and are ignored. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Internet Header + 64 bits of Data Datagram&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;It is the IP header, plus the first 64 bits of the original datagram's data. This data is used by the host to match the message to the appropriate process. If a higher level protocol uses port numbers, they are assumed to be in the first 64 data bits of the original datagram's data. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;57e. Parameter Problem Message &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If a router or host finds a problem with an IP header, it must discard the datagram. The source host may be notified by being sent a Parameter Problem message. The Parameter Problem message identifies the octet of the original datagram's header where the error was detected. &lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN7855"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Pointer (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Unused&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Internet Header + 64 bits of Original Data Datagram&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. A Parameter Problem message will have the number &lt;i class="EMPHASIS"&gt;12&lt;/i&gt; in the Type field. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For Parameter Problem message, the code field is &lt;i class="EMPHASIS"&gt;0&lt;/i&gt; (when the Pointer field indicates the error). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Checksum&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Pointer&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The pointer identifies the octet of the original datagram's header where the error was detected (it may be in the middle of an option). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Unused&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The 24 bits are not used, and are ignored. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Internet Header + 64 bits of Data Datagram&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;This is the IP header, plus the first 64 bits of the original datagram's data. This data is used by the host to match the message to the appropriate process. If a higher level protocol uses port numbers, they are assumed to be in the first 64 data bits of the original datagram's data. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Redirect Message&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If a router (Router A) receives a datagram to forward from a host on the same network. The router (Router A) checks its routing table, and finds out that the shortest path is via another router (Router B) on the same network. Router A sends a Redirect message to the host with the IP address of Router B. &lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN7899"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Gateway Internet Address&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Internet Header + 64 bits of Original Data Datagram&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. A Redirect message will have the number &lt;i class="EMPHASIS"&gt;5&lt;/i&gt; in the Type field. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For the Redirect message, the code field is: &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;0 = Redirect datagrams for the Network&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;1 = Redirect datagrams for the Host&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;2 = Redirect datagrams for the Type of Service and Network&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;p&gt;3 = Redirect datagrams for the Type of Service and Host&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Checksum&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Gateway Internet Address&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This field is used to indicate the router with the shortest path to the destination network &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;Internet Header + 64 bits of Data Datagram&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The IP header plus the first 64 bits of the original datagram's data. This data is used by the host to match the message to the appropriate process. If a higher level protocol uses port numbers, they are assumed to be in the first 64 data bits of the original datagram's data. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;57g. Timestamp Messages &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Timestamp messages are best known as part of the traceroute (tracert in Windows) programs. The purpose is to measure the round trip time it takes to go from a source to a destination host. The Timestamp message is a request for measuring round trip time. The Timestamp Reply is the reply to a Timestamp message. &lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN7947"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Identifier (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Sequence number (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Originate Timestamp&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Receive Timestamp&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Transmit Timestamp&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. A Timestamp message will have the number &lt;i class="EMPHASIS"&gt;13&lt;/i&gt; in the Type field and a Timestamp Reply message will have the number &lt;i class="EMPHASIS"&gt;14&lt;/i&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For the Timestamp message, the code field is &lt;i class="EMPHASIS"&gt;0&lt;/i&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Checksum&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Identifier and Sequence Number&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Identifier and Sequence Number may be used by the echo sender to aid in matching the replies with the echo requests. For example, the identifier might be used like a port in TCP--or UDP--to identify a session, and the sequence number might be incremented on each echo request sent. The echoer returns these same values in the echo reply. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Originate Timestamp&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Originate Timestamp is the time (in units) of 32 milliseconds since midnight Universal Time (UT). This is when the datagram was transmitted from the source. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Receive Timestamp&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Receive Timestamp is the time (in units) of 32 milliseconds since midnight Universal Time (UT). This is when the datagram was received at the destination. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Transmit Timestamp&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Transmit Timestamp is the time (in units) of 32 milliseconds since midnight Universal Time (UT). This is when the Timestamp Reply datagram was transmitted from the destination. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;If the time is not available in milliseconds (or cannot be provided with respect to midnight UT), then any time can be inserted in a timestamp. The high order bit of the timestamp must also be set to indicate this non-standard value. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;57h. Address Mask Messages &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Address Mask Request is used by a host to determine what its address mask is on a network. The Address Mask Reply message is the reply from a router (or a host) to the source host with the correct address mask for the network. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="INFORMALTABLE"&gt;&lt;a name="AEN8001"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class="CALSTABLE" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;0 1 2 3 4 5 6 7 &lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;8 9 10 11 12 13 14 15&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;16 17 18 19 20 21 22 23&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;24 25 26 27 28 29 30 31&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Type (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Code (8 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Checksum (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Identifier (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Sequence number (16 bits)&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top" align="middle" width="25%"&gt;Address Mask&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Type Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Type Field indicates the type of ICMP message. An Address Mask Request message will have the number &lt;i class="EMPHASIS"&gt;17&lt;/i&gt; in the Type field and an Address Mask Reply message will have the number &lt;i class="EMPHASIS"&gt;18&lt;/i&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Code Field&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Code Field is used by the different message formats to indicate specific error conditions. For Address Mask messages, the code field is always &lt;i class="EMPHASIS"&gt;0&lt;/i&gt;. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Checksum&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Checksum is the 16-bit ones's complement of the one's complement sum of the ICMP message (starting with the ICMP Type). &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;i class="EMPHASIS"&gt;Identifier and Sequence Number&lt;/i&gt; &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Identifier and Sequence Number may be used by the echo sender to aid in matching the replies with the echo requests. For example, the identifier might be used like a port in TCP (or UDP) to identify a session, and the sequence number might be incremented on each echo request sent. The echoer returns these same values in the echo reply. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;i class="EMPHASIS"&gt;&lt;strong&gt;Address Mask&lt;/strong&gt;&lt;/i&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Address Mask field contains the 32-bit subnet mask for the network (e.g. 255.255.255.0). &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-6983560594481995851?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/6983560594481995851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/internet-control-message-protocol.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6983560594481995851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/46706156266265188/posts/default/6983560594481995851'/><link rel='alternate' type='text/html' href='http://softofobia.blogspot.com/2009/12/internet-control-message-protocol.html' title='Internet Control Message Protocol'/><author><name>ss109623</name><uri>http://www.blogger.com/profile/15140535811566688187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-46706156266265188.post-567218590115608838</id><published>2009-12-15T16:03:00.001-08:00</published><updated>2009-12-15T17:57:50.972-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>IBMSNAR- IBM Systems Network Architecture Routing</title><content type='html'>&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid2"&gt;&lt;b&gt;Background&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid3"&gt;&lt;b&gt;IBM SNA Session Connectors&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid4"&gt;&lt;b&gt;IBM SNA Transmission Groups&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid5"&gt;&lt;b&gt;IBM SNA Explicit and Virtual Routes&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid6"&gt;&lt;b&gt;IBM SNA Class of Service&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid7"&gt;&lt;fontsize="4"&gt;COS in Subarea Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid8"&gt;&lt;fontsize="4"&gt;COS in APPN Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid9"&gt;&lt;b&gt;IBM SNA Subarea Routing&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid10"&gt;&lt;b&gt;IBM Advanced Peer-to-Peer Networking Routing&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid11"&gt;&lt;fontsize="4"&gt;IBM APPN Node Type 2.1 Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid12"&gt;&lt;fontsize="4"&gt;Intermediate Session Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid13"&gt;&lt;fontsize="4"&gt;High-Performance Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid14"&gt;&lt;fontsize="4"&gt;IBM APPN DLUR/S Routing&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid15"&gt;&lt;fontsize="4"&gt;IBM APPN Connection Network&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid16"&gt;&lt;fontsize="4"&gt;IBM APPN Border Node&lt;br /&gt;&lt;/fontsize="4"&gt;&lt;/a&gt;&lt;/ul&gt;&lt;a href="http://www.myhosting.com/blog/ibmsnaro.htm_23xtocid17"&gt;&lt;b&gt;Review Questions&lt;/b&gt;&lt;br /&gt;&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid0"&gt;Chapter Goals&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Describe Class of Service, what it is, and how to use it. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe how to use subareas to break up the network. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe how peer-to-peer routing works. &lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Describe types of PtP routing.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h1&gt;&lt;a name="xtocid1"&gt;IBM Systems Network Architecture Routing&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid2"&gt;Background&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;IBM's networking architecture has evolved considerably as computing in general has evolved away from domination by centralized computing solutions to peer-based computing. Today, IBM Systems Network Architecture (SNA) routing involves two separate kinds of environments, although a number of key concepts are central to all SNA routing situations. This chapter addresses functions and services that make both SNA subarea routing and Advanced Peer-to-Peer Networking (APPN) routing possible. Topics covered include session connections, transmission groups, explicit and virtual routes, and Class of Service (COS). Refer to Chapter 37, "IBM Systems Network Architecture Protocols," for general information about traditional IBM SNA and APPN. Figure 41-1 illustrates the concepts addressed in this chapter in the context of a traditional SNA environment.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid3"&gt;IBM SNA Session Connectors&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020553"&gt;IBM SNA session connectors are used to bridge address spaces when sessions traverse multiple address spaces. Three types of session connectors exist: boundary functions, SNA network interconnection (SNI) gateways, and APPN intermediate routing functions. Boundary functions&lt;/a&gt;&lt;a name="1020555"&gt; reside in subarea nodes and map between subarea and peripheral address spaces. SNI g&lt;/a&gt;&lt;a name="1020556"&gt;ateways act as bridges between SNA networks, accepting data &lt;br /&gt;from one network and transmitting it to the appropriate destination in another network. &lt;br /&gt;SNI gateways are transparent to endpoint network attachment units (NAUs). &lt;/a&gt;&lt;a name="1020557"&gt;APPN intermediate nodes perform intermediate routing within APPN networks. Refer to Figure 41-1 for the relative position of a session connector in a traditional SNA environment.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020557"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;41-1: SNA Routing Relies on Transmission Groups to Interconnect Subarea Entities &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844101.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid4"&gt;IBM SNA Transmission Groups&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;a name="1020564"&gt;IBM SNA transmission groups (TGs)&lt;/a&gt;&lt;/em&gt;&lt;a name="1020564"&gt; are logical connections formed between adjacent IBM SNA nodes that are used to pass SNA session traffic. TGs are comprised of one or more SNA links and their assigned transmission priorities. Multilink TGs, which provide added reliability and bandwidth, are used to bundle multiple physical links into a single logical SNA link. Multilink TGs are supported only between T4 nodes. TG sequence numbers are used to resequence out-of-order messages at each hop. Four transmission priorities are supported at each transmission group: low, medium, high, and network-service traffic (the highest priority). Refer to Figure 41-1 for an illustration of the relationship of TGs with respect to other common SNA routing components within the &lt;/a&gt;&lt;a name="1020566"&gt;context of a subarea routing environment.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid5"&gt;IBM SNA Explicit and Virtual Routes&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020568"&gt;Routes bet&lt;/a&gt;&lt;a name="1020569"&gt;ween subareas assume either an explicit or virtual route form. Explicit routes are the physical connections between two subarea nodes, and they serve as the ordered sequences of subareas and connecting transmission groups. Explicit routes are unidirectional, and two explicit routes are required to create a full-duplex path. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020569"&gt;Virtual routes are two-way logical connections formed between two subarea nodes. A virtual route flows over both an explicit route and a reverse explicit route that follows the same physical path. Virtual routes do not cross network boundaries; instead, they use an SNA network interconnect session connector to bridge two virtual routes. Virtual routes include values defining transmission priority and global flow control, which is provided by pacing, in which a receiver with sufficient buffer space grants pacing windows to the sender. &lt;/a&gt;&lt;a name="1020572"&gt;Each p&lt;/a&gt;&lt;a name="1020573"&gt;acing window enables the sender to transmit a certain amount of information before the sender must request the next pacing window. Refer to Figure 41-1 for an illustration of the relationship between explicit routes and virtual routes, and their relative position in the context of an SNA subarea routing environment.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid6"&gt;IBM SNA Class of Service&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020575"&gt;The &lt;em&gt;IBM SNA Class of Service (COS)&lt;/em&gt; function designates the transport network characteristics of a given session. Depending on user requirements, different COSs can be specified in an SNA network. COS provides the mechanism to determine all SNA routes and describes acceptable service levels for a session. COS also specifies the collection of session characteristics, including response time, security, and availability. In addition, COS can be established automatically when logging in, or manually (by the user) when the session is initiated. Each COS name is associated with a list of virtual routes that meet the desired service-level requirement. Relevant information for a given session is captured in COS subarea and APPN tables. The differences between COS implementation in subarea and APPN routing are summarized in the following sections.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid7"&gt;COS in Subarea Routing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020578"&gt;In subarea routing, the user defines COS support required for a particular session. Specific virtual routes are mapped to identified services, while COS characteristics are associated with the underlying explicit routes. The &lt;/a&gt;&lt;a name="1020580"&gt;System Services Control Point (SSCP) uses the COS table to provide information on virtual routes and transmission priority to the path control function. Path control, in turn, selects a virtual route and transmission priority for &lt;/a&gt;&lt;a name="1020581"&gt;use in a session. Figure 41-2 illustrates the subarea routing COS table-entry format.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020581"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;41-2: A Subarea Routing COS Table Holds Data on Virtual Routes and Transmission Priorities &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844102.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020581"&gt;Subarea routing COS table entries include COS name, virtual route number (VRN), and &lt;/a&gt;&lt;a name="1020587"&gt;subarea transmission priority (TRPI).&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020587"&gt;COS name is a standard name, such as SEC3, that is agreed upon by conventions. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020587"&gt;The VRN identifies a specific route between subareas. Up to eight virtual route numbers can be assigned between two subarea nodes. Each virtual route can be assigned with up to three different transmission priorities, and up to 24 virtual routes are possible between two subareas. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020587"&gt;TPRI identifies the priority of logical unit-to-logical unit (LU-to-LU) session data flowing over an explicit route. Users can select one of three priorities for each virtual route: 0 (lowest), 1, or 2 (highest). &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid8"&gt;COS in APPN Routing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020592"&gt;COS in APPN is defined explicitly with COS table parameters. COS is more granular in APPN than subarea SNA. In particular, COS for APPN allows a route to be defined based on capacity, cost, security, propagation delay, and user-defined characteristics. It extends service to end nodes (ENs) and is not limited to communications controllers, as in subarea SNA. APPN COS permits the topology database to maintain a tree for every COS that tracks all routes and costs. APPN COS also provides a configuration option to control memory dedicated to COS trees. Figure 41-3 illustrates the APPN routing COS table-entry format.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020592"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;41-3: An APPN Routing COS Table Can Include Special Character Returns and Route-Weighting Information &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844103.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020592"&gt;APPN routing COS table entries include COS name, index, &lt;/a&gt;&lt;a name="1020599"&gt;APPN transmission priority (TPRI) characteristics, and &lt;/a&gt;&lt;a name="1020601"&gt;APPN COS Weighted Field (WF).&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020601"&gt;The COS name is a standard name, such as SEC3, that is agreed upon by conventions. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020601"&gt;The Index field entry enables computed weight values for route components to be stored and retrieved. This entry points to the entry in the COS weight array where the weights for the COS are stored.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020601"&gt;&lt;/a&gt;&lt;a name="1020604"&gt;APPN TPRI identifies the priority of LU-to-LU session data flowing over an explicit route. &lt;/a&gt;&lt;a name="1020606"&gt;It specifies only one TPRI field for each COS table entry. APPN TPRI requires that traffic over a given session with the same COS in a particular APPN network flow with the same transmission priority.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020606"&gt;Node and transmission group (TG) &lt;/a&gt;&lt;a name="1020607"&gt;characteristics consist of a user-specified list of characteristics acceptable for an identified COS. Each row defines either a set of node characteristics or a set of TG characteristics. Entries can include security, cost per connect time, and available capacity. The field representing a characteristic contains a range of acceptable values.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020607"&gt;&lt;/a&gt;&lt;a name="1020609"&gt;The APPN COS WF enabl&lt;/a&gt;&lt;a name="1020610"&gt;es routes-selection services (RSS) to assign a weight to a given possible route component (node or TG). WF is used by RSS to determine relative desirability of a particular route component. The WF can contain a constant or the name of a function that RSS uses in weight calculation. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid9"&gt;IBM SNA Subarea Routing&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020613"&gt;SNA logical areas and node addressing are two central components of traditional routing in SNA environments. This section addresses these topics in the context of traditional SNA networking.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020613"&gt;SNA networks are divided into logical areas: subareas and domains. Subareas consist of a subarea node and its attached peripherals. Domains consist of a &lt;/a&gt;&lt;a name="1020616"&gt;system services control point (SSCP) and the network resources that it can control. SSCPs in different domains can cooperate with each other to compensate for host processor failures. Figure 41-4 illustrates the relationship between subareas and domains in the context of SNA subarea routing.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020616"&gt;Node addresses are categorized as subarea-node and peripheral-node addresses. Subarea-node addresses are global and must be unique within the entire network. These addresses are assigned to &lt;/a&gt;&lt;a name="1020618"&gt;NAUs when activated. Subarea-node addresses generally consist of a subarea portion and an element portion. All NAUs within a given subarea share the same subarea address but have different element addresses. &lt;/a&gt;&lt;/p&gt;&lt;a name="1020618"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;41-4: Subareas Exist Within Domains in SNA Subarea Routing &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844104.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020618"&gt;Peripheral-node addresses, which are considered local addresses, differ depending on whether the node is T2 or T2.1. T2 addresses refer to NAUs and are statically assigned, while T2.1 addresses are dynamically assigned for the duration of a session and identify the session rather than the NAU. Peripheral-node addresses are referred to as&lt;/a&gt;&lt;a name="1020624"&gt; local form-session identifiers.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid10"&gt;IBM Advanced Peer-to-Peer Networking Routing&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;IBM Advanced Peer-to-Peer Networking (&lt;a name="1020626"&gt;APPN) routing is dynamic and is based on a least-weight path calculated from input received from all APPN network nodes. Each APPN network node is responsible for reporting changes in its local topology (that is, the node itself and the attached links). Topology information is passed until all APPN nodes receive it. When a node receives data that it already has, it stops forwarding the data to other nodes. Duplicate information is recognized via a check of update sequence numbers. Figure 41-5 illustrates where APPN network nodes fit into the general scheme of an APPN environment with ENs and low-e&lt;/a&gt;&lt;a name="1020628"&gt;ntry network (LEN) nodes.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020628"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;41-5: APPN Network Nodes Link to ENs, LENs, and Other Network Nodes &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844105.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020628"&gt;Several underlying functions and capabilities enable APPN routing. These include node type 2.1 routing, Dependent Logical-Unit Requester/Server (DLUR/S) routing, connections networks, and border nodes. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid11"&gt;IBM APPN Node Type 2.1 Routing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020635"&gt;Node type 2.1 routing involves routing traffic between one or more APPN network nodes. Two node type 2.1 routing processes are supported: intermediate session routing (ISR) and high-performance routing (HPR).&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid12"&gt;Intermediate Session Routing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020638"&gt;The &lt;em&gt;ISR&lt;/em&gt; process involves bind session BIND requests and responses flowing from network node to network node. In this environment, session connectors are built and used in place of routing tables in APPN. With ISR, a map is generated of the session identifier and port from one side of a node to the other. A unique session identifier in the session connector header is swapped for an outgoing identifier and then is sent out from the appropriate port.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020638"&gt;ISR-supported subarea SNA features include node-to-node error and flow-control processing, as well as session switching around network failures. Node-to-node error and flow-control processing are considered redundant and unnecessary because these processes reduce end-to-end throughput.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4&gt;&lt;a name="xtocid13"&gt;High-Performance Routing&lt;/a&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;The HPR protocol, an alternative to ISR, is based on two key &lt;a name="1020642"&gt;components: Rapid-Transport Protocol (RTP) and &lt;/a&gt;&lt;a name="1020644"&gt;Automatic Network Routing (ANR). &lt;/a&gt;&lt;a name="1020645"&gt;RTP is a reliable, connection-oriented protocol that ensures delivery and manages end-to-end network error and flow control. RTP creates new routes following a network failure. ANR is a connectionless service that is responsible for node-to-node source-routed service.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020645"&gt;The RTP layer is invoked only at the edges of an APPN network. In intermediate nodes, only the ANR layer is invoked. RTP nodes establish RTP connections to carry session data. All traffic for a single session flows over the same RTP-to-RTP connection and is multiplexed with traffic from other sessions using the same connection. Figure 41-6 illustrates the overall architecture of an HPR-based routing environment.&lt;/a&gt;&lt;/p&gt;&lt;a name="1020645"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;41-6: RTP Is Supported Only in APPN Edge Network Nodes &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844106.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020645"&gt;A typical HPR routing process involves several stages. First, a route is selected while it is using ISR. To establish a connection between the edge RTP nodes, either an existing RTP-to-RTP connection is used or a route-services request (RSR) is sent. The returned route-services reply (RSP) carries information showing forward and reverse paths through the network. &lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020645"&gt;Paths represent the forward and reverse port lists and include the port identifier used in each ANR node. These lists are carried on every message, eliminating the need for routing tables or session connectors in the ANR nodes.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020645"&gt;HPR provides for &lt;/a&gt;&lt;a name="1020654"&gt;link-failure recovery. If a link fails and an alternate path exists between the RTP endpoints for a particular COS, a new RTP-to-RTP connection can be selected, and a session can be moved without disruption. If a connection does not exist along the new path, RSR and RSP messages are sent to obtain the new port lists. Sending a new BIND is not required because the session is not disrupted.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020654"&gt;Flow control in an HRP environmen&lt;/a&gt;&lt;a name="1020656"&gt;t uses a technique called &lt;/a&gt;&lt;a name="1020657"&gt;adaptive rate-based (ARB) flow control. ARB flow control monitors and controls the amount of traffic introduced into the network. Under ARB flow control, the sending and receiving RTP nodes exchange messages at regular intervals. Traffic introduced into the network is modified to adapt to network conditions.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid14"&gt;IBM APPN DLUR/S Routing&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020660"&gt;The &lt;em&gt;Dependent Logical-Unit Requester/Server (DLUR/S)&lt;/em&gt; is an APPN feature that allows legacy SNA traffic to flow on an APPN network.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020660"&gt;Under DLUR/S, a client/server relationship is established between a Dependent Logical-&lt;/a&gt;&lt;a name="1020663"&gt;Unit Server (DLUS) and a Dependent Logical-Unit Requester (DLUR). A DLUS is typically an ACF/UTAM4.2 entity, and a DLUR is typically a router. A pair of LU 6.2 sessions is established between the DLUR and DLUS. These LU 6.2 sessions transport legacy SNA control messages. Those messages not recognized in an APPN environment &lt;/a&gt;&lt;a name="1020664"&gt;are encapsulated on the LU 6.2 session. Messages then are de-encapsulated by DLUR and are passed to the legacy SNA LU. The DLU session initiation is then passed to the DLUS and is processed by the DLUS as legacy traffic. The DLUS sends a message to the application host, and the application host sends the BIND. Finally, legacy SNA data flows natively with APPN traffic.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid15"&gt;IBM APPN Connection Network&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;An &lt;em&gt;IBM APPN connection network&lt;/em&gt; is a logical construct used to provide direct connectivity between APPN ENs without the configuration overhead of defining direct &lt;a name="1020667"&gt;connections between every pair of ENs. In general, the process of creating a connection network starts when a LOCATE request is received from an EN.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020667"&gt;A network node (NN) then is used to locate the destination specified in the LOCATE request. If the NN sees that the two ENs (source and destination) are attached to the same transport medium (such as Token Ring), a virtual node (VN) is used to connect the two endpoints and form a connection network. The NN defines the session path as a direct connection from EN1 to VN to EN2, and then traffic is permitted to flow.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="xtocid16"&gt;IBM APPN Border Node&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;A border node is an APPN entity that enables multiple APPN networks to interconnect. &lt;a name="1020671"&gt;Presently, border nodes are implemented only in ACF/VTAM and OS/400. Border nodes are responsible for tying directories and topology databases together for connected networks, and rebuilding BIND requests to show separate routes in each network.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="1020671"&gt;With border nodes, topology and directory databases in NNs are reduced to sizes required for individual subnetworks rather than the composite network. In addition, cross-network sessions are routed through the border node. Figure 41-7 illustrates the position of border nodes (ACF/VTAM and OS/400 devices) in a multinetwork APPN environment:&lt;/a&gt;&lt;/p&gt;&lt;a name="1020671"&gt;&lt;br /&gt;&lt;b&gt;Figure&amp;nbsp;41-7: Border Nodes (ACF/VTAM and OS/400 Devices) Can Connect APPN Networks &lt;br /&gt;&lt;img src="http://www.myhosting.com/blog/ct844107.gif" /&gt;&lt;/b&gt; &lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="xtocid17"&gt;Review Questions&lt;/a&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;What are SNA session connectors used for?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;IBM SNA session connectors are used to bridge address spaces when sessions traverse multiple address spaces. Three types of session connectors exist: boundary functions, SNA network interconnection (SNI) gateways, and APPN intermediate routing functions.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;What is created when a network node determines via the LOCATE request that the two end nodes are attached to the same medium?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;A network node (NN) then is used to locate the destination specified in the LOCATE request. If the NN sees that the two ENs (source and destination) are attached to the same transport medium (such as Token Ring), a virtual node (VN) is used to connect the two endpoints and form a connection network.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Q&amp;mdash;&lt;/strong&gt;&lt;em&gt;True or false: All NAUs within a subarea have the same element address.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A&amp;mdash;&lt;/strong&gt;False. All NAUs within a given subarea share the same subarea address but have different element addresses.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/46706156266265188-567218590115608838?l=softofobia.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softofobia.blogspot.com/feeds/567218590115608838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://softofobia.blogspot.com/2009/12/ibmsnar-ibm-systems-network.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4670615626626
