Sunday, November 30, 2008

Top Ten Cisco IOS Tip

When O'Reilly asked me to write a collection of hints and tips about Cisco routers, I knew that it would be difficult to come up with a list that would do justice to all the various features of a Cisco IOS device.
In hopes of making the list smaller and more useful, I decided to list ten tips that discuss situations I have encountered either through my own experience or that were sparked by other people's questions. Some of these hints are simple while others a little more advanced. Whether you are a novice or an expert, I hope you will find them useful.
1. Commands take effect right away.
If you are an experienced Cisco router user, you probably just groaned. However, I find that this concept escapes new users.
As you type commands into the configuration mode, they immediately take effect. For example, if we change the router's name, we see that the very next line contains the new router name:

Router1#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#hostname MyRouter
MyRouter(config)#^Z
MyRouter#
As you can see, we changed the router's name to MyRouter, which was immediately processed. This concept applies to everything in the router's configuration mode.
2. Use all the descriptions you can.
In the router's configuration, there are certain commands that let you document various portions of a configuration. For example, the interface description command, an access-list remark command, or a banner message. All of these commands stay within the router configuration, which helps greatly when you are trying to configure or troubleshoot a router.
Here's an example of a description on an interface:

! Here is an interface description.
! Document as much about the interface as possible
interface Serial0
description Connection To Irvine: Wan ID [23499]
The available banner messages are the message of the day, or MOTD, login, incoming, and exec. Consult the documentation or Cisco IOS in a Nutshell for a description of each. Here is an example of the MOTD banner, which is the first message a person sees when connecting to the device:

MyRouter(config)#banner motd #
Enter TEXT message. End with the character '#'.
Welcome to MyRouter.
Some legalese should go here about unauthorized access.
#
The remark statement in an access-list is a relatively new feature. It first appeared in version 12.0(2)T of the IOS. This handy command allows you to make an entry in your access-list that describes what you are trying to accomplish. The comment can be up to 100 characters in length. <>statements work for both numbered and named access-lists.

access-list 1 remark Permit our private network through the list
access-list 1 permit 10.1.1.0 0.0.0.255
access-list 1 remark Just deny everything else
access-list 1 deny any
You might be wondering about commenting a configuration with the "!" symbol.
Yes, you can comment a configuration with a "!" as I have done in the above examples. However, these comments do not stay in the router configuration. They are great when you are working on a configuration offline in a text editor. (Where you plan to upload the configuration to a router.)
However, these "!" comments will get lost when you send the configuration to the router because the router ignores them.
3. The reload command can get you out of a jam.
Related Reading
Cisco IOS in a NutshellBy James BoneyDecember 2001Table of ContentsIndexSample ExcerptFull Description
4. No matter how well you plan an upgrade, you are eventually going to need to change a router configuration remotely. If you make a mistake and can no longer get to the router because of the change you made, you have to make the embarrassing call to someone to go "hit the power." The power cycle takes the router back to the original starting configuration because your change was never saved. In other words, since you lost connection, you couldn't type "copy run start" to save your changes.
5. One of the classic mistakes (I know because I have done it myself a number of times) is to incorrectly update an access-list on an interface when you are connected to the device remotely. And suddenly, the Telnet connection is dropped to the router because of a forgotten list entry that would permit your incoming connection.
6. There is another way. When you are doing something tricky, you can use the following feature of the reload command, which causes the router to reboot in a certain number of minutes. For example, let's tell the router to reboot in three minutes.
7.
8. MyRouter#reload in 3
9. Reload scheduled in 3 minutes
10. Proceed with reload? [confirm]y
11. Now, we have three minutes to do what we need to do. Let's say we are applying an access-list to serial0.
12.
13. MyRouter#config terminal
14. Enter configuration commands, one per line. End with CNTL/Z.
15. MyRouter(config)#interface serial0
16. MyRouter(config-if)#ip access-group 110 in
17. MyRouter(config-if)#^Z
18. MyRouter#
19. We made the change and everything still works. (Well, at least our connection wasn't dropped.) Now all we have to do cancel the impending reload with the following command:
20.
21. MyRouter#reload cancel
22. Or, if our access-list update did destroy our connection to the router, all we need to do is wait three minutes (plus the router's reload time) before the router is back online. After the reload, the router uses the original saved configuration before our access-list change.
23. Don't forget to add either an enable password or an enable secret password.
If you are planning to telnet into your router remotely, you need to add an enable password or enable secret password, or the router will not allow you to go to enable mode. Of course, it goes without saying that adding an enable password is always a good thing.

! Enable service password-encryption if it isn't already.
service password-encryption
! Here is our enable password, which is ok
! but not too secure.
enable password 7 141B171F01012325
! Here is our enable secret, much better.
enable secret 5 $1$99Jc$dxVXUkwMM3Edvj7f0SUrL/
Don't forget that "enable secret" overrides the "enable" password. Just be safe and use the enable secret command. The enable secret uses a better encryption method to encode the password.
24. Stopping the router from trying to telnet.
This is often an annoying problem. Mistype a command and the router thinks you just typed a hostname. For example:

MyRouter#shwo
Translating "shwo"...domain server (10.1.1.2)
% Unknown command or computer name, or unable to find computer address
MyRouter#
Here, we just mistyped the word show. We didn't want to telnet to a device named "shwo." The way to handle this is to change the preferred transport method:

! Console port
line con 0
transport preferred none
! VTY Ports
line vty 0 5
transport preferred none
The output shows the lack of a failed connection based on our mistyped keyword:

MyRouter#shwo
^
% Invalid input detected at '^' marker.

6. Two common access-list pitfalls.
The first common access-list problem I have seen is not allowing some ICMP (Internet Control Message Protocol) traffic through a gateway firewall.
For example, you just configured an access-list on your DSL link for your home router. All of the sudden, when you send big transmissions like a large email attachment, you find your connections timing out or closing unexpectedly. Unsure, you take the access-list off and the problem goes away. When you put the access-list back on, the problem reappears. You ask yourself what happened as you review the access-list. Well, the problem is as simple as not permitting ICMP through your list.
As I say in Cisco IOS in a Nutshell, people often think of ICMP as the hacker's tool. But in reality, it plays a very important role. In the problem I just described, it sounds like an MTU (Maximum Transmission Unit) or source-quench problem, which means the ICMP information isn't getting through the access-list. Either way, add the following commands to your access-list and your problems might go away:

! allow pings into the network
access-list 110 permit icmp any any echo
! allow ping responses
access-list 110 permit icmp any any echo-reply
! allow ICMP source-quench
access-list 110 permit icmp any any source-quench
! allow path MTU discovery
access-list 110 permit icmp any any packet-too-big
! allow time-exceeded, which is useful for traceroute
access-list 110 permit icmp any any time-exceeded
! deny all other ICMP packets
access-list 110 deny icmp any any
A second common access-list pitfall is when people forget to allow DNS (Domain Name Servers) from their internal network to the provider's DNS servers. Mainly this is a problem on home or small office routers where you might not have an internal DNS server running.
The following command allows DNS access from your hosts to the outside DNS server. In this example, our outside DNS servers are 172.16.1.1 and 172.30.1.1

access-list 110 permit udp host 172.16.1.1 eq domain any gt 1023
access-list 110 permit udp host 172.30.1.1 eq domain any gt 1023
7. Useful show commands.
Configuration of a router is only half the battle. Without a good toolbox of show commands, configuring your router properly will be very difficult. Throughout the tutorial section of my book, I tried to include the appropriate show commands for each topic.
But here are some of the most useful show commands that you should have at a minimum. Of course, the bias here is towards IP.
show ip arp
Displays the entire ARP (Address Resolution Protocol)table, which is the MAC-to-IP resolution table.
show version
This command gives a good amount of information; the IOS version you are running, the available interfaces, the system uptime, the last reload reason, and the configuration register setting.
show ip protocols
Displays information about the currently running routing protocols.
show ip route
The old standby, which displays the entire IP route table.
show ip route summary
Gives a very useful summary of the IP route table.
show ip interface
Gives a summary of each interface from the IP level.
show ip interface brief
A very brief summary of each interface.
show ip traffic
An extensive summary of IP traffic statistics on the router.
show access-list
This useful command not only shows the all the currently configured access-lists, but it also shows you the number of hits each line has received. You can use this information to better troubleshoot your access-lists.
show cdp neighbors
Assuming you have CDP enabled, this command gives you a report of all Cisco devices that the current device is connected to. CDP stands for Cisco Discovery Protocol, which can be an invaluable tool.
show cdp neighbors detail
This command gives even more information about CDP neighbors.
8. Learn the command-line editing keys.
When spending time on a Cisco IOS device, it is good to know some of the hot keys. People are always surprised (so it seems) that these editing keys even exist. If you are familiar with Unix, these commands will also look familiar. (The Bash shell, for example, uses a very similar list of keys.)
The entire list is included in Cisco IOS in a Nutshell. But here are a few to get you started:

Control A Goes to the beginning of the line
Control E Goes to the end of the line
Control K Deletes everything to the right of the cursor
Control P Recalls the previous command in the history buffer
Control N Recalls the next command in the history buffer
9. A common frame-relay misunderstanding.
The encapsulation type on the physical interface must be set to frame-relay before any sub-interfaces can be created. The default encapsulation type is usually HDLC (High-level Data Link Control).
So, before starting to create our frame-relay sub-interfaces, we need to first set the encapsulation type to frame-relay on the physical interface:

interface serial0
encapsulation frame-relay
Now we can create our sub-interfaces:

interface serial0.1 point-to-point
description This is our first sub interface for serial1
10. Setting the bandwidth on serial links.
Setting the bandwidth on a serial interface has nothing to do with the actual link speed. Rather, it provides the value that some routing protocols use in calculating routing metrics. The default bandwidth is 1.544mps, which is the speed of a T1 link.
However, if you aren't using a T1, setting your bandwidth on serial links is always a good (and sometimes forgotten) idea.

interface serial0
description This is a 56k link
bandwidth 56
That's it for now. I hope these tips will help you avoid some of the common pitfalls of dealing with Cisco IOS devices.
James Boney is a consultant specializing in a wide variety of subjects, including network design, network management, Unix administration, and programming.

Friday, November 28, 2008

Getting Your Dream Job


Essentially, a letter of application should be brief and to the point. In terms of length, it should not exceed a single page. And to make it more effective in serving its purpose, the letter should meet the following three objectives:1. Express interest in the job for which you are applying.2. Brie�ly show how your background and work experience qualify you for the job. 3. Ask for an interview. As we found out in earlier chapters, when the application letter >>>>>>>>>>>>>>>>>>

Download

watch Fish robot

Watch

1



Watch

2


Skype Robot Demonstration

Have a look at this cool video, call your robot using Skype and have it perform spoken commands while you remotely watch the results. I for one am very impressed

Watch


Thursday, November 27, 2008

welcome Fedora 10


As always, Fedora continues to develop (http://www.fedoraproject.org/wiki/RedHatContributions) and integrate the latest free and open source software (http://www.fedoraproject.org/wiki/Features.) The following sections provide a brief overview of major changes from the last release of Fedora. For more details about other features that are included in Fedora 10, refer to their individual wiki pages that detail feature goals and progress:
http://www.fedoraproject.org/wiki/Releases/10/FeatureList
Throughout the release cycle, there are interviews with the developers behind key features giving out the inside story:
http://www.fedoraproject.org/wiki/Interviews
The following are major features for Fedora 10:
Wireless connection sharing enables ad hoc network sharing -- http://www.fedoraproject.org/wiki/Features/ConnectionSharing
Better setup and use of printers through improved management tools -- http://www.fedoraproject.org/wiki/Features/BetterPrinting
Virtualization storage provisioning for local and remote connections now simplified -- http://www.fedoraproject.org/wiki/Features/VirtStorage
SecTool is a new security audit and intrusion detection system -- http://www.fedoraproject.org/wiki/Features/SecurityAudit
RPM 4.6 is a major update to the powerful, flexible software management libraries -- http://www.fedoraproject.org/wiki/Features/RPM4.6
Some other features in this release include:
Glitch free audio and better performance is achieved through a rewrite of the PulseAudio sound server to use timer-based audio scheduling -- http://www.fedoraproject.org/wiki/Features/GlitchFreeAudio
Improved webcam support -- http://www.fedoraproject.org/wiki/Features/BetterWebcamSupport
Better support for infrared remote controls makes them easier to connect and work with many applications -- http://www.fedoraproject.org/wiki/Features/BetterLIRCSupport
The paths /usr/local/sbin:/usr/sbin:/sbin have been added to the PATH for normal users, to simplify command-line administration tasks -- http://fedoraproject.org/wiki/Features/SbinSanity
The online account service provides applications with credentials for online accounts listed on http://online.gnome.org/ or stored in GConf -- http://www.fedoraproject.org/wiki/Features/OnlineAccountsService
Download Gnome
Download KDE

IT Essentials & Wirless OnLine Curriculum



IT Essentials









Wireless LAN (WLAN) Fundamentals



CCNP OnLine Curriculum

Cisco Network Academy


Advanced Routing



Implementing Secure Cisco Wide Area Networks



Multilayer Switched Networks



Optimizing Network Technologies (ONT or OCN)

Wednesday, November 26, 2008

CCNA Exploration OnLine Curriculum


CIS 81 Networking Fundamentals



CIS 82 Routing Protocols, Concepts, and Theory



CIS 83 LANs, Switching, and WANS



CCNA Discovery OnLine Curriculum


(Introductory Level Curriculum - Not used in CNSA courses)


CCNA 1 version 4.0

CCNA 2 version 4.0

CCIE vLecture Seminar Series


The vLecture Seminar Series offers focused online discussions led by the renowned CCIE-certified instructors at IPexpert. Each seminar concentrates on a specific topic related to CCIE or CCDE preparation, including individual protocols and technologies listed on the lab blueprint, as well as test-taking strategies!
CCIE vLecture Seminar Series Details
All vLecture sessions are conducted by one of the industry-recognized instructors at IPexpert.
Each seminar lasts approximately one to two hours.

Interested in attending a vLecture?
To view the schedule of upcoming vLectures and to register for free, click here.

View Previous vLectures Free
CCIE Related Topics: All Tracks
The Psychology of the CCIE lab and how to plan an attack.
CCIE R&S Related Topics
Basic Multicast Design/Operations
Frame Relay
OSPF
Layer 2 Tunneling Techniques
Spanning-Tree
Troubleshooting on the CCIE Lab
Multicast- Anycast RP
Binary Math: Subnetting / access-lists
CCIE Voice Related Topics
SRST
Unity
H323 Gatekeeper Basics
IPMA
WAN QoS
Digit Manipulation on CallManager 4.1(3) & CME 3.3
Troubleshooting in the CCIE Lab
Advanced Call Routing
Unity, Unity Express, & VPIM
Basic-ACD: Part 1, Part 2
Campus QOS
CCIE Security Related Topics
DMVPN
Binary Math: Subnetting / access-lists
CCIE Service Provider Related Topics
ATM Operations and Configuration

Cisco To Shut Down For 4 Days At Year End


Updated with Cisco Confirmation: If you want to know how bad it is going to get for all of us in Silicon Valley, just look at Cisco Systems. For first time in its history the company is going to shut down for four days at the end of the year, according to a report by UBS Research. Remember when such shutdowns were associated with industrial era companies? Well, this is the new past as they say. I heard that a major internal annual event has been put on hold as well.

Cisco’s four-day shutdown is part of an effort by the company to save $1 billion. It might be more than just cost savings because Cisco (and many of us) doesn’t have visibility into 2009. Cisco, as a company has just seen Wall Street, a major customer shrink in size. At the same time it is facing low-cost competition from Dell, HP and Huawei. The New York Times is correct in identifying HP’s ProCurve businesses as slowly becoming a major competitor to Cisco. “HP is a much more formidable challenger to Cisco, and it has sent an obvious message,” Nikos Theodosopoulos, an analyst at UBS Securities told The Times.

Cisco has confirmed the shutdown and other cuts in a blog posting pointing out that it had started talking about these initiatives following its Q1 2009 earnings release

We will be target reductions in travel and discretionary-related expenses, including offsites, outside services, equipment, events, trade shows, marketing and other activities. As part of this effort, we will also implement a year-end shutdown of the US-Canada theater from December 29, 2008, through January 2, 2009 (note that January 1 is already a holiday). There will be some exceptions for targeted business-critical teams including technical assistance services and channel partner and customer product ordering services.

While this is not our first year-end shutdown as we followed this longstanding Silicon Valley practice in our early years as a company, it is our first in over a decade. Given the difficult macroeconomic conditions, we believe our cost control focus at this time is appropriate while still providing our partners and customers with critical services over the holiday period.

Watch This







Tuesday, November 25, 2008

ATI CrossFire


"Crossfire" redirects here. For other uses, see Crossfire (disambiguation).
CrossFire (also CrossFire X after release of the Spider desktop platform on November 19, 2007) is a brand name for ATI Technologies' multi-GPU solution, which competes with Scalable Link Interface (SLI) from NVIDIA. The technology allows up to four graphics cards to be used in a single computer to improve graphics performance. Although only recently announced for consumer level hardware, similar technology known as AMR has been used for some time in professional grade cards for flight simulators and similar applications available from Evans & Sutherland, ATI had also previously released a similar dual RAGE 128 consumer card called the Fury MAXX.

Contents

1 Configurations
1.1 First-generation
1.2 Second-generation (Software CrossFire)
1.3 Current generation (CrossFire X)
2 Comparisons to NVIDIA SLI
2.1 Advantages
2.2 Disadvantages
3 See also
4 References
5 External links



Configurations

First-generation
CrossFire was first made available to the public on September 27, 2005.[1]

The system required a CrossFire-compliant motherboard with a pair of ATI Radeon PCI Express (PCIe) graphics cards. Radeon x800s, x850s, x1800s and x1900s came in a regular edition, and a 'CrossFire Edition' which has 'master' capability built into the hardware. 'Master' capability is a term used for 5 extra image compositing chips, which combine the output of both cards.[2] One had to buy a Master card, and pair it with a regular card from the same series. The Master card would have shipped with a proprietary DVI Y-dongle, which would plug into the primary DVI ports from both cards, and into the monitor cable. This dongle serves as the main link between both cards, sending incomplete images between them, and complete images to the monitor. Low-end Radeon x1300 and x1600 cards have no 'CrossFire Edition' but are enabled via software, with communication forwarded via the standard PCI Express slots on the motherboard. ATI currently has not created the infrastructure to allow FireGL cards to be set up in a CrossFire configuration. The 'slave' graphics card needed to be from the same family as the 'master'.

An example of a limitation in regard to a Master-card configuration would be the first-generation CrossFire implementation in the Radeon X850 XT Master Card. Because it used a compositing chip from Silicon Image (SiI 163B TMDS), the maximum resolution on an X850 CrossFire setup was limited to 1600×1200 at 60 Hz, or 1920×1440 at 52 Hz. This was considered a problem for CRT owners wishing to use CrossFire to play games at high resolutions, or owners of Widescreen LCD monitors. As many people found a 60 Hz refresh rate with a CRT to strain ones eyes, the practical resolution limit became 1280×1024, which did not push CrossFire enough to justify the cost.[3] The next generation of CrossFire, as employed by the X1800 Master cards, used two sets of compositing chips and a custom double density dual-link DVI Y-dongle to double the bandwidth between cards, raising the maximum resolution and refresh rate to far higher levels.


Second-generation (Software CrossFire)
When used with ATI's "CrossFire Xpress 3200" motherboard chipset, the 'master' card is no longer required for every "CrossFire Ready" card (with the exception of the Radeon X1900 series). With the CrossFire Xpress 3200, two normal cards can be run in a Crossfire setup, using the PCI-E bus for communications. This is similar to X1300 CrossFire, which also uses PCI Express, except that the Xpress 3200 had been built for low-latency and high-speed communication between graphics cards.[4] While performance was impacted, this move was viewed as an overall improvement in market strategy, due to the fact that Crossfire Master cards were expensive, in very high demand, and largely unavailable at the retail level.

Although the CrossFire Xpress 3200 chipset is indeed capable of CrossFire through the PCI-e bus for every Radeon series below the X1900s, the driver accommodations for this CrossFire method has not yet materialized for the X1800 series. ATI has said that future revisions of the Catalyst driver suite will contain what is required for X1800 dongleless CrossFire, but has not yet mentioned a specific date.


Current generation (CrossFire X)
With the release of the Radeon X1950 Pro (RV570 GPU), ATI has completely revised CrossFire's connection infrastructure to further eliminate the need for past Y-dongle/Master card and slave card configurations for CrossFire to operate. ATI's CrossFire connector is now a ribbon-like connector attached to the top of each graphics adapter, similar to nVidia's SLi bridges, but different in physical and logical natures.[5] As such, Master Cards no longer exist, and are not required for maximum performance. Two dongles can be used per card; these were put to full use with the release of CrossFire X. Radeon HD 2900 and HD 3000 series cards use the same ribbon connectors, but the HD 3800 series of cards only require one ribbon connector, to facilitate CrossFire X.[6] Unlike older series of Radeon cards, different HD 3800 series cards can be combined in CrossFire, each with separate clock control.

Since the release of the codenamed Spider desktop platform from AMD on November 19, 2007, the CrossFire setup has been updated with support for a maximum of four video cards with the 790FX chipset; the CrossFire branding was then changed to "ATI CrossFire X". The setup, according to internal testing by AMD, will bring at least 3.2x performance increase in several games and applications which required massive graphics capabilities of the computer system, the setup is targeted to the enthusiast market. A later development include a dual GPU solution that was released in early 2008, the "ATI Radeon HD 3870 X2", featuring only one CrossFire connector for dual card, four GPU scalability.


Comparisons to NVIDIA SLI

Advantages
ATI has opened the Crossfire architecture to Intel, allowing CrossFire to be enabled on certain Intel chipsets which boast two 16x PCI-E slots. SLI, however, requires a motherboard which is SLI certified (usually based on nForce chipset, such as the nForce 590 SLI, nForce 680i SLI, and nForce 790i.
On the codenamed Spider platform, utilizing CrossFireX with AMD 790FX chipset and Radeon HD 3800 series video cards, the user can use multiple displays and maintain CrossFire functionality while SLI and previous generation CrossFire setups are limited to one display only.[7]

Disadvantages
If an OpenGL game does not have a Crossfire profile, the Catalyst AI system will set the rendering mode to Scissor by default, with no way to change it to a more suitable or faster mode, such as AFR. However SLI allows the rendering mode to be set for each application manually, even for games which do not have an existing profile. It should be noted that setting Catalyst AI to 'Advanced' allows manual mode setting for Direct 3D games, but not OpenGL games, to AFR.
The first generation CrossFire implementations (the Radeon X800 to X1900 series) require an external y-cable/dongle to operate in CrossFire mode due to the PCI-e bus not being able to provide enough bandwidth to run CrossFire without losing a significant amount of performance.
Application support for Crossfire is not very good, meaning many games may see little to no added benefit of adding a second card, where games that support it may see up to 100% increase

Friday, November 21, 2008

Windows Desktop History

1985: Windows 1.0
The first version of Windows provided a new software environment for developing and running applications that use bitmap displays and mouse pointing devices. Before Windows, PC users relied on the MS-DOS® method of typing commands at the C prompt (C:\). With Windows, users moved a mouse to point and click their way through tasks, such as starting applications.
In addition, Windows users could switch among several concurrently running applications. The product included a set of desktop applications, including the MS-DOS file management program, a calendar, card file, notepad, calculator, clock, and telecommunications programs, which helped users manage day-to-day activities.


1987: Windows 2.0
Windows 2.0 took advantage of the improved processing speed of the Intel 286 processor, expanded memory, and inter-application communication capabilities made possible through Dynamic Data Exchange (DDE). With improved graphics support, users could now overlap windows, control screen layout, and use keyboard combinations to move rapidly through Windows operations. Many developers wrote their first Windows–based applications for this release.
The follow-up release, Windows 2.03, took advantage of the protected mode and extended memory capabilities of the Intel 386 processor. Subsequent Windows releases continued to improve the speed, reliability, and usability of the PC as well as interface design and capabilities.


1990: Windows 3.0
The third major release of the Windows platform from Microsoft offered improved performance, advanced graphics with 16 colors, and full support of the more powerful Intel 386 processor. A new wave of 386 PCs helped drive the popularity of Windows 3.0, which offered a wide range of useful features and capabilities, including:

Program Manager, File Manager, and Print Manager.

A completely rewritten application development environment.

An improved set of Windows icons.
The popularity of Windows 3.0 grew with the release of a new Windows software development kit (SDK), which helped software developers focus more on writing applications and less on writing device drivers. Widespread acceptance among third-party hardware and software developers helped fuel the success of Windows 3.0.


1993: Windows NT 3.1
When Microsoft Windows NT® was released to manufacturing on July 27, 1993, Microsoft met an important milestone: the completion of a project begun in the late 1980s to build an advanced new operating system from scratch. "Windows NT represents nothing less than a fundamental change in the way that companies can address their business computing requirements," Microsoft Chairman Bill Gates said at its release.
That change is represented in the product's name: "NT" stands for new technology. To maintain consistency with Windows 3.1, a well-established home and business operating system at the time, the new Windows NT operating system began with version 3.1. Unlike Windows 3.1, however, Windows NT 3.1 was a 32-bit operating system.
Windows NT was the first Windows operating system to combine support for high-end, client/server business applications with the industry's leading personal productivity applications. It was initially available in both a desktop (workstation) version and a server version called Windows NT Advanced Server. The desktop version was well received by developers because of its security, stability, and Microsoft Win32® application programming interface (API)—a combination that made it easier to support powerful programs. The result was a strategic business platform that could also function as a technical workstation to run high-end engineering and scientific applications.


1993: Windows for Workgroups 3.11
A superset of Windows 3.1, Windows for Workgroups 3.11 added peer-to-peer workgroup and domain networking support. For the first time, Windows–based PCs were network-aware and became an integral part of the emerging client/server computing evolution.
Windows for Workgroups was used in local area networks (LANs) and on standalone PCs and laptop computers. It added features of special interest to corporate users, such as centralized configuration and security, significantly improved support for Novell NetWare networks, and remote access service (RAS).


1994: Windows NT Workstation 3.5
The Windows NT Workstation 3.5 release provided the highest degree of protection yet for critical business applications and data. With support for the OpenGL graphics standard, this operating system helped power high-end applications for software development, engineering, financial analysis, scientific, and business-critical tasks.
The product also offered 32-bit performance improvements and better application support, including support for NetWare file and print servers. Other improved productivity features included the capability to use friendlier, long file names of up to 255 characters.


1995: Windows 95
Windows 95 was the successor to the three existing general-purpose desktop operating systems from Microsoft—Windows 3.1, Windows for Workgroups, and MS-DOS. Windows 95 integrated a 32-bit TCP/IP (Transmission Control Protocol/Internet Protocol) stack for built-in Internet support, dial-up networking, and new Plug and Play capabilities that made it easy for users to install hardware and software.
The 32-bit operating system also offered enhanced multimedia capabilities, more powerful features for mobile computing, and integrated networking.


1996: Windows NT Workstation 4.0
This upgrade to the Microsoft business desktop operating system brought increased ease of use and simplified management, higher network throughput, and tools for developing and managing intranets. Windows NT Workstation 4.0 included the popular Windows 95 user interface yet provided improved networking support for easier and more secure access to the Internet and corporate intranets.
In October 1998, Microsoft announced that Windows NT would no longer carry the initials NT and that the next major version of the business operating system would be called Windows 2000.

1998: Windows 98
Windows 98 was the upgrade from Windows 95. Described as an operating system that "Works Better, Plays Better," Windows 98 was the first version of Windows designed specifically for consumers.
With Windows 98, users could find information more easily on their PCs as well as the Internet. Other ease-of-use improvements included the ability to open and close applications more quickly, support for reading DVD discs, and support for universal serial bus (USB) devices.

1999: Windows 98 Second Edition
Windows 98 SE, as it was often abbreviated, was an incremental update to Windows 98. It offered consumers a variety of new and enhanced hardware compatibility and Internet-related features.
Windows 98 SE helped improve users' online experience with the Internet Explorer 5.0 browser technology and Microsoft Windows NetMeeting® 3.0 conferencing software. It also included Microsoft DirectX® API 6.1, which provided improved support for Windows multimedia, and offered home networking capabilities through Internet connection sharing (ICS). Windows 98 SE was also the first consumer operating system from Microsoft capable of using device drivers that also worked with the Windows NT business operating system.

2000: Windows Millennium Edition (Windows Me)
Designed for home computer users, Windows Me offered consumers numerous music, video, and home networking enhancements and reliability improvements.
For example, to help consumers troubleshoot their systems, the System Restore feature let users roll back their PC software configuration to a date or time before a problem occurred. Windows Movie Maker provided users with the tools to digitally edit, save, and share home videos. And with Microsoft Windows Media® Player 7 technologies, users could find, organize, and play digital media easily.
Windows Me was the last Microsoft operating system to be based on the Windows 95 code base. Microsoft announced that all future operating system products would be based on the Windows NT and Windows 2000 kernel.

2000: Windows 2000 Professional
More than just the upgrade to Windows NT Workstation 4.0, Windows 2000 Professional was also designed to replace Windows 95, Windows 98, and Windows NT Workstation 4.0 on all business desktops and laptops. Built on top of the proven Windows NT Workstation 4.0 code base, Windows 2000 added major improvements in reliability, ease of use, Internet compatibility, and support for mobile computing.
Among other improvements, Windows 2000 Professional simplified hardware installation by adding support for a wide variety of new Plug and Play hardware, including advanced networking and wireless products, USB devices, IEEE 1394 devices, and infrared devices.

2001: Windows XP
With the release of Windows XP in October 2001, Microsoft merged its two Windows operating system lines for consumers and businesses, uniting them around the Windows 2000 code base.
The "XP" in Windows XP stands for "experience," symbolizing the innovative experiences that Windows can offer to personal computer users. With Windows XP, home users can work with and enjoy music, movies, messaging, and photos with their computer, while business users can work smarter and faster, thanks to new technical-support technology, a fresh user interface, and many other improvements that make it easier to use for a wide range of tasks.

2001: Windows XP Professional
Windows XP Professional brings the solid foundation of Windows 2000 to the PC desktop, enhancing reliability, security, and performance. With a fresh visual design, Windows XP Professional includes features for business and advanced home computing, including remote desktop support, an encrypting file system, and system restore and advanced networking features. Key enhancements for mobile users include wireless 802.1x networking support, Windows Messenger, and Remote Assistance.

2001: Windows XP Home Edition
Windows XP Home Edition offers a clean, simplified visual design that makes frequently used features more accessible. Designed for home users, the product offers such enhancements as the Network Setup Wizard, Windows Media Player, Windows Movie Maker, and enhanced digital photo capabilities.

2001: Windows XP 64-bit Edition

Windows XP 64-Bit Edition satisfies the needs of power users with workstations that use the Intel Itanium 64-bit processor. The first 64-bit client operating system from Microsoft, Windows XP 64-Bit Edition is designed for specialized, technical workstation users who require large amounts of memory and floating point performance in areas such as movie special effects, 3D animation, engineering, and scientific applications.

2002: Windows XP Media Center Edition

For home computing and entertainment, Microsoft released the Windows XP Media Center Edition operating system in October 2002 for specialized media center PCs.
With all the benefits of Windows XP Professional, Media Center Edition adds fun digital media and entertainment options, enabling home users to browse the Internet, watch live television, communicate with friends and family, enjoy digital music and video collections, watch DVDs, and work from home.

2002: Windows XP Tablet PC Edition

The long-held industry vision of mainstream pen-based computing became a reality when Microsoft unveiled the Windows XP Tablet PC Edition in November, 2002. The logical evolution of notebook computers, Tablet PCs include a digital pen for handwriting recognition capabilities, yet can be used with a keyboard or mouse, too.
In addition, users can run their existing Windows XP applications. The result is a computer that is more versatile and mobile than traditional notebook PCs.

Watch Video




Thursday, November 20, 2008

Microsoft NEW Technology Microsoft Surface


Microsoft Surface (Codename: Milan), is a Multi-touch product from Microsoft which is developed as a software and hardware combination technology that allows a user, or multiple users, to manipulate digital content by the use of natural motions, hand gestures, or physical objects. It was announced on May 29, 2007 at D5 conference.[2] Initial customers will be in the hospitality businesses, such as restaurants, hotels, retail, public entertainment venues and the military for tactical overviews. The preliminary launch was on April 17, 2008, when Surface became available for customer use in AT&T stores.[1] The Surface is also being used in the CBS series CSI: MIAMI, where the crime lab uses it for investigation purposes, the MSNBC coverage of the 2008 US presidential election, Disneyland’s future home exhibits, and various hotels and casinos.



Watch This Video


Download Amiga Research Operating System

Introduction
The AROS Research Operating System is a lightweight, efficient and flexible desktop operating system, designed to help you make the most of your computer. It's an independent, portable and free project, aiming at being compatible with AmigaOS 3.1 at the API level (like Wine, unlike UAE), while improving on it in many areas. The source code is available under an open source license, which allows anyone to freely improve upon it.
Goals
The goals of the AROS project is it to create an OS which:
Is as compatible as possible with AmigaOS 3.1.
Can be ported to different kinds of hardware architectures and processors, such as x86, PowerPC, Alpha, Sparc, HPPA and other.
Should be binary compatible on Amiga and source compatible on any other hardware.
Can run as a standalone version which boots directly from hard disk and as an emulation which opens a window on an existing OS to develop software and run Amiga and native applications at the same time.
Improves upon the functionality of AmigaOS.
To reach this goal, we use a number of techniques. First of all, we make heavy use of the Internet. You can participate in our project even if you can write only one single OS function. The most current version of the source is accessible 24 hours per day and patches can be merged into it at any time. A small database with open tasks makes sure work is not duplicated.
History
Some time back in the year 1993, the situation for the Amiga looked somewhat worse than usual and some Amiga fans got together and discussed what should be done to increase the acceptance of our beloved machine. Immediately the main reason for the missing success of the Amiga became clear: it was propagation, or rather the lack thereof. The Amiga should get a more widespread basis to make it more attractive for everyone to use and to develop for. So plans were made to reach this goal. One of the plans was to fix the bugs of the AmigaOS, another was to make it an modern operating system. The AOS project was born.
But exactly what was a bug? And how should the bugs be fixed? What are the features a so-called modern OS must have? And how should they be implemented into the AmigaOS?
Two years later, people were still arguing about this and not even one line of code had been written (or at least no one had ever seen that code). Discussions were still of the pattern where someone stated that "we must have ..." and someone answered "read the old mails" or "this is impossible to do, because ..." which was shortly followed by "you're wrong because ..." and so on.
In the winter of 1995, Aaron Digulla got fed up with this situation and posted an RFC (request for comments) to the AOS mailing list in which he asked what the minimal common ground might be. Several options were given and the conclusion was that almost everyone would like to see an open OS which is compatible with AmigaOS 3.1 (Kickstart 40.68) on which further discussions could be based, to see what is possible and what is not.
So the work began and AROS was born.



ScreenShot





Video






Glossary of Internet Abbreviations: Email and Chat Shorthand


Emotion on IM

Western Emoticons

: ) - happy

:-)

:^)

:]

: ( - sad

; ) - wink

:/ - doubtful/unsure

:P - sticking tongue out

:O - shocked/scream

: - expressionless

:S - confused

<3>:O - angry/screaming

:X - sealed lips

0: ) - angel/angelic

@)-v-- - rose

O--- - lollipop
Asian-Style Emoticons

(^_^) - happy

(‘_^) - wink

(>_<) - in pain (<_>) - sad/depressed

(\_/) - angry

(-_-) - sigh

(._.) - depressed

(-_-) zzz - sleeping

(-.o) - black eye

(#_#) - beaten-up

(x_x) - dead

(@_@) - crazy/hypnotized

(o_O) - confused

($_$) - cha-ching!

(*_*) - star-struck

(O-O) - glasses/Harry Potter

<(‘o’<) - ghost (>’o’)> - ghost

d^_^b - listening to music

t(o_o)t - flipping the bird

[B]The strange world of internet shorthand and acronyms.[/B]

IMHO In My Humble Opinion

TTYL Talk To You Later

PMSL P*ssing myself laughing (a common UK expression)

RTFM Read The F------ Manual

ROFLMAO Roll On Floor Laughing My A** Off

ITSFWI If The Shoe Fits, Wear It!

WIBAMU Well, I'll be a Monkey's Uncle!

POSSLQ Person of Opposite Sex, Sharing Living Quarters
[CODE]
Yes, Internet users will write email, discussion group, and chat room postings using these abbreviations. It is particularly helpful to people who are not strong typists.

These abbreviations are fun ways to add personal flavor to your email and online discussion postings.[/CODE]

[B] The Most Common Internet Abbreviations:[/B]

[CODE]Reminder: 90% of the time, these expressions are typed in all lowercase letters. On selective occasions, you are welcome to use them in all capitals to express enthusiasm. Just remember not to type entire sentences in all caps, lest you be considered rude[/CODE].

BRB – be right back
BIO – going for bio break (washroom break)
AFK – away from keyboard (I am gone for a few minutes)
BTW – by the way
KK – OK (commonly used by online gamers to acknowledge that a message has been received)
TTYL – talk to you later
BFN – bye for now
TTFN – ta-ta for now
CYA – see ya (or it could also be: cover your a*s)
CUL8R – see you later
IBTL – in before the lock (for when you post a message prior to the administrator locking the heated discussion thread)
IMHO – in my humble opinion
IMNSHO – in my not so humble opinion
FMV – fair market value (for selling items online)
LOL – laughing out loud
MT – mistell (commonly used by online gamers to say that they made a mistake and mistyped their last message)
NWT – new with tags (for selling items online)
NWOT – new without tags (for selling items online)
OOAK – one of a kind (for selling items online)
PMSL - P*ssing myself laughing (a common UK expression)
QFT – quoted for truth (a compliment to another person on the forum)
ROFL – rolling on floor laughing
ROFLMAO – rolling on floor laughing my a*s off
RTM – read the manual
RTFM – read the f***ing manual (to show frustration at someone's ignorance of basic knowledge)
GG – good game
THX - thanks
TX - thanks
TY - thank you
NP - no problem/you're welcome
PLZ - please
W/E - whatever
ASL – age / sex / location?
RL – real life
IRL – in real life


More acronyms follow below, and on the next two pages.


Part 2B: A Longer List of Internet Abbreviations:

.02 My two cents worth.
the speaker chuckles
the speaker is frowning
Grin
the speaker is grinning
the one writing the message is smiling
the one writing the message is smirking
the one writing the message is winking
JK Just Kidding
? I have a question
! I have a comment
A-OLs Administrators On-Line
AAMOF As A Matter Of Fact
AFAIK As Far As I Know
AFK Away From the Keyboard
AISI As I See It
ASAP As Soon As Possible ASL Age, sex, location
ATSL Along The Same Line
AWTTW Are We Having Fun Yet?
AYOR At Your Own Risk
B4N Bye For Now
BAK Back At Keyboard
BBFN Bye Bye For Now
BBL Be Back Later
BF Boy Friend
BFN Bye For Now
BIF Before I Forget
BION Believe it or not
BOT Back On Topic
BRB Be Right Back
BTAIM Be That As It May
BTHOM Beats The Hell Outta Me
BTOBD Be There Or Be Dead
BTW By The Way
BWL Bursting With Laughter
BYKT But You Knew That
BYOB Bring Your Own Bottle
CMIIW Correct Me If I’m Wrong
CU See You
CU2 See You, Too
CUL See you later
CUL8R See You Later
CWYL Chat With You Later
DIIK Damned If I Know.
DIKU? Do I Know You?
DILLIGAD Do I Look Like I Give A Darnn?.
DIY Do It Yourself
DK Don’t Know
F2F Face To Face
FCFS First Come, First Served
FISH First In, Still Here
FITB Fill In The Blank
FOAD F*** off and die
FOAF Friend Of A Friend
FS For Sale
FTASB Faster Than A Speeding Bullet
F2F Face to Face
FTF Face To Face
FTL Faster Than Light
FUBAR Fouled Up Beyond All Repair
FUBB Fouled Up Beyond Belief.
FUD Fear, Uncertainty and Doubt
FURTB Full Up Ready To Burst
FWIW For What It’s Worth
FYA For Your Amusement
FYI For Your Information
G Grin, or Giggle
G2G Got to Go
GA Go Ahead
GAL Get A Life
GD&R Grinning, Ducking and Running
GF Girl Friend.
GFN Gone For Now.
GIWIST Gee, I Wish I’d Said That
GLGH Good Luck and Good Hunting
GMTA Great Minds Think Alike
GOWI Get On With It
GTG Got To Go
GTSY Great To See You
H&K Hugs and Kisses
HAK Hugs And Kisses
IAC In Any Case
IAE In Any Event
IANAL I Am Not A Lawyer (but) A disclaimer which is usually followed by a legal opinion
IAW In Accordance With
IBTD I Beg To Differ
IC I See
IDK I Don't Know
IIWM If It Were Me
IJWTK I Just Want To Know
IJWTS I Just Want To Say
IKWUM I Know What You Mean
IMA I Might Add
IME In My Experience
IMHO In My Humble Opinion
IMNSHO In My Not So Humble Opinion
IMO In My Opinion
IMPOV In My Point Of View
INPO In No Particular Order
IOW In Other Words
IRL In Real Life
ISS I’m So Sure
ISSYGTI I’m So Sure You Get The Idea!
ISWYM I See What You Mean
ITFA In The Final Analysis
ITSFWI If The Shoe Fits Wear It.
IYSWIM If You See What I Mean
JAM Just A Minute
JAS Just A Second
JFI Just For Information
JIC Just In Case
JMO Just My Opinion
JTLYK Just To Let You Know
k Okay
KISS Keep It Simple, Stupid
KIT Keep In Touch
KMA Kiss My A**
KWIM Know What I Mean?
KYFC Keep Your Fingers Crossed

Mobility Support in IPv6



1. Introduction

This document specifies a protocol which allows nodes to remain
reachable while moving around in the IPv6 Internet. Without specific
support for mobility in IPv6 [11], packets destined to a mobile node
would not be able to reach it while the mobile node is away from its
home link. In order to continue communication in spite of its
movement, a mobile node could change its IP address each time it
moves to a new link, but the mobile node would then not be able to
maintain transport and higher-layer connections when it changes
location. Mobility support in IPv6 is particularly important, as
mobile computers are likely to account for a majority or at least a
substantial fraction of the population of the Internet during the
lifetime of IPv6.

The protocol defined in this document, known as Mobile IPv6, allows a
mobile node to move from one link to another without changing the
mobile node's "home address". Packets may be routed to the mobile
node using this address regardless of the mobile node's current point
of attachment to the Internet. The mobile node may also continue to
communicate with other nodes (stationary or mobile) after moving to a

new link. The movement of a mobile node away from its home link is
thus transparent to transport and higher-layer protocols and
applications.

The Mobile IPv6 protocol is just as suitable for mobility across
homogeneous media as for mobility across heterogeneous media. For
example, Mobile IPv6 facilitates node movement from one Ethernet
segment to another as well as it facilitates node movement from an
Ethernet segment to a wireless LAN cell, with the mobile node's IP
address remaining unchanged in spite of such movement.

One can think of the Mobile IPv6 protocol as solving the network-
layer mobility management problem. Some mobility management
applications -- for example, handover among wireless transceivers,
each of which covers only a very small geographic area -- have been
solved using link-layer techniques. For example, in many current
wireless LAN products, link-layer mobility mechanisms allow a
"handover" of a mobile node from one cell to another, re-establishing
link-layer connectivity to the node in each new location.

Mobile IPv6 does not attempt to solve all general problems related to
the use of mobile computers or wireless networks. In particular,
this protocol does not attempt to solve:

o Handling links with unidirectional connectivity or partial
reachability, such as the hidden terminal problem where a host is
hidden from only some of the routers on the link.

o Access control on a link being visited by a mobile node.

o Local or hierarchical forms of mobility management (similar to
many current link-layer mobility management solutions).

o Assistance for adaptive applications.

o Mobile routers.

o Service Discovery.

o Distinguishing between packets lost due to bit errors vs. network
congestion.

2. Comparison with Mobile IP for IPv4

The design of Mobile IP support in IPv6 (Mobile IPv6) benefits both
from the experiences gained from the development of Mobile IP support
in IPv4 (Mobile IPv4) [22, 23, 24], and from the opportunities
provided by IPv6. Mobile IPv6 thus shares many features with Mobile

IPv4, but is integrated into IPv6 and offers many other improvements.
This section summarizes the major differences between Mobile IPv4 and
Mobile IPv6:

o There is no need to deploy special routers as "foreign agents", as
in Mobile IPv4. Mobile IPv6 operates in any location without any
special support required from the local router.

o Support for route optimization is a fundamental part of the
protocol, rather than a nonstandard set of extensions.

o Mobile IPv6 route optimization can operate securely even without
pre-arranged security associations. It is expected that route
optimization can be deployed on a global scale between all mobile
nodes and correspondent nodes.

o Support is also integrated into Mobile IPv6 for allowing route
optimization to coexist efficiently with routers that perform
"ingress filtering" [26].

o The IPv6 Neighbor Unreachability Detection assures symmetric
reachability between the mobile node and its default router in the
current location.

o Most packets sent to a mobile node while away from home in Mobile
IPv6 are sent using an IPv6 routing header rather than IP
encapsulation, reducing the amount of resulting overhead compared
to Mobile IPv4.

o Mobile IPv6 is decoupled from any particular link layer, as it
uses IPv6 Neighbor Discovery [12] instead of ARP. This also
improves the robustness of the protocol.

o The use of IPv6 encapsulation (and the routing header) removes the
need in Mobile IPv6 to manage "tunnel soft state".

o The dynamic home agent address discovery mechanism in Mobile IPv6
returns a single reply to the mobile node. The directed broadcast
approach used in IPv4 returns separate replies from each home
agent.

3. Terminology

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119 [2].

3.1. General Terms

IP

Internet Protocol Version 6 (IPv6).

node

A device that implements IP.

router

A node that forwards IP packets not explicitly addressed to
itself.

unicast routable address

An identifier for a single interface such that a packet sent to it
from another IPv6 subnet is delivered to the interface identified
by that address. Accordingly, a unicast routable address must
have either a global or site-local scope (but not link-local).

host

Any node that is not a router.

link

A communication facility or medium over which nodes can
communicate at the link layer, such as an Ethernet (simple or
bridged). A link is the layer immediately below IP.

interface

A node's attachment to a link.

subnet prefix

A bit string that consists of some number of initial bits of an IP
address.

interface identifier

A number used to identify a node's interface on a link. The
interface identifier is the remaining low-order bits in the node's
IP address after the subnet prefix.

link-layer address

A link-layer identifier for an interface, such as IEEE 802
addresses on Ethernet links.

packet

An IP header plus payload.

security association

An IPsec security association is a cooperative relationship formed
by the sharing of cryptographic keying material and associated
context. Security associations are simplex. That is, two
security associations are needed to protect bidirectional traffic
between two nodes, one for each direction.

security policy database

A database that specifies what security services are to be offered
to IP packets and in what fashion.

destination option

Destination options are carried by the IPv6 Destination Options
extension header. Destination options include optional
information that need be examined only by the IPv6 node given as
the destination address in the IPv6 header, not by routers in
between. Mobile IPv6 defines one new destination option, the Home
Address destination option (see Section 6.3).

routing header

A routing header may be present as an IPv6 header extension, and
indicates that the payload has to be delivered to a destination
IPv6 address in some way that is different from what would be
carried out by standard Internet routing. In this document, use
of the term "routing header" typically refers to use of a type 2
routing header, as specified in Section 6.4.

"" (concatenation)

Some formulas in this specification use the symbol "" to indicate
bytewise concatenation, as in A B. This concatenation requires
that all of the octets of the datum A appear first in the result,
followed by all of the octets of the datum B.

First (size, input)

Some formulas in this specification use a functional form "First
(size, input)" to indicate truncation of the "input" data so that
only the first "size" bits remain to be used.

3.2. Mobile IPv6 Terms

home address

A unicast routable address assigned to a mobile node, used as the
permanent address of the mobile node. This address is within the
mobile node's home link. Standard IP routing mechanisms will
deliver packets destined for a mobile node's home address to its
home link. Mobile nodes can have multiple home addresses, for
instance when there are multiple home prefixes on the home link.

home subnet prefix

The IP subnet prefix corresponding to a mobile node's home
address.

home link

The link on which a mobile node's home subnet prefix is defined.

mobile node

A node that can change its point of attachment from one link to
another, while still being reachable via its home address.

movement

A change in a mobile node's point of attachment to the Internet
such that it is no longer connected to the same link as it was
previously. If a mobile node is not currently attached to its
home link, the mobile node is said to be "away from home".

L2 handover

A process by which the mobile node changes from one link-layer
connection to another. For example, a change of wireless access
point is an L2 handover.

L3 handover

Subsequent to an L2 handover, a mobile node detects a change in an
on-link subnet prefix that would require a change in the primary
care-of address. For example, a change of access router
subsequent to a change of wireless access point typically results
in an L3 handover.

correspondent node

A peer node with which a mobile node is communicating. The
correspondent node may be either mobile or stationary.

foreign subnet prefix

Any IP subnet prefix other than the mobile node's home subnet
prefix.

foreign link

Any link other than the mobile node's home link.

care-of address

A unicast routable address associated with a mobile node while
visiting a foreign link; the subnet prefix of this IP address is a
foreign subnet prefix. Among the multiple care-of addresses that
a mobile node may have at any given time (e.g., with different
subnet prefixes), the one registered with the mobile node's home
agent for a given home address is called its "primary" care-of
address.

home agent

A router on a mobile node's home link with which the mobile node
has registered its current care-of address. While the mobile node
is away from home, the home agent intercepts packets on the home
link destined to the mobile node's home address, encapsulates
them, and tunnels them to the mobile node's registered care-of
address.

binding

The association of the home address of a mobile node with a care-
of address for that mobile node, along with the remaining lifetime
of that association.

registration

The process during which a mobile node sends a Binding Update to
its home agent or a correspondent node, causing a binding for the
mobile node to be registered.

mobility message

A message containing a Mobility Header (see Section 6.1).

binding authorization

Correspondent registration needs to be authorized to allow the
recipient to believe that the sender has the right to specify a
new binding.

return routability procedure

The return routability procedure authorizes registrations by the
use of a cryptographic token exchange.

correspondent registration

A return routability procedure followed by a registration, run
between the mobile node and a correspondent node.

home registration

A registration between the mobile node and its home agent,
authorized by the use of IPsec.

nonce

Nonces are random numbers used internally by the correspondent
node in the creation of keygen tokens related to the return
routability procedure. The nonces are not specific to a mobile
node, and are kept secret within the correspondent node.

nonce index

A nonce index is used to indicate which nonces have been used when
creating keygen token values, without revealing the nonces
themselves.

cookie

A cookie is a random number used by a mobile node to prevent
spoofing by a bogus correspondent node in the return routability
procedure.

care-of init cookie

A cookie sent to the correspondent node in the Care-of Test Init
message, to be returned in the Care-of Test message.

home init cookie

A cookie sent to the correspondent node in the Home Test Init
message, to be returned in the Home Test message.

keygen token

A keygen token is a number supplied by a correspondent node in the
return routability procedure to enable the mobile node to compute
the necessary binding management key for authorizing a Binding
Update.

care-of keygen token

A keygen token sent by the correspondent node in the Care-of Test
message.

home keygen token

A keygen token sent by the correspondent node in the Home Test
message.

binding management key (Kbm)

A binding management key (Kbm) is a key used for authorizing a
binding cache management message (e.g., Binding Update or Binding
Acknowledgement). Return routability provides a way to create a
binding management key.

4. Overview of Mobile IPv6

4.1. Basic Operation

A mobile node is always expected to be addressable at its home
address, whether it is currently attached to its home link or is away
from home. The "home address" is an IP address assigned to the
mobile node within its home subnet prefix on its home link. While a

mobile node is at home, packets addressed to its home address are
routed to the mobile node's home link, using conventional Internet
routing mechanisms.

While a mobile node is attached to some foreign link away from home,
it is also addressable at one or more care-of addresses. A care-of
address is an IP address associated with a mobile node that has the
subnet prefix of a particular foreign link. The mobile node can
acquire its care-of address through conventional IPv6 mechanisms,
such as stateless or stateful auto-configuration. As long as the
mobile node stays in this location, packets addressed to this care-of
address will be routed to the mobile node. The mobile node may also
accept packets from several care-of addresses, such as when it is
moving but still reachable at the previous link.

The association between a mobile node's home address and care-of
address is known as a "binding" for the mobile node. While away from
home, a mobile node registers its primary care-of address with a
router on its home link, requesting this router to function as the
"home agent" for the mobile node. The mobile node performs this
binding registration by sending a "Binding Update" message to the
home agent. The home agent replies to the mobile node by returning a
"Binding Acknowledgement" message. The operation of the mobile node
is specified in Section 11, and the operation of the home agent is
specified in Section 10.

Any node communicating with a mobile node is referred to in this
document as a "correspondent node" of the mobile node, and may itself
be either a stationary node or a mobile node. Mobile nodes can
provide information about their current location to correspondent
nodes. This happens through the correspondent registration. As a
part of this procedure, a return routability test is performed in
order to authorize the establishment of the binding. The operation
of the correspondent node is specified in Section 9.

There are two possible modes for communications between the mobile
node and a correspondent node. The first mode, bidirectional
tunneling, does not require Mobile IPv6 support from the
correspondent node and is available even if the mobile node has not
registered its current binding with the correspondent node. Packets
from the correspondent node are routed to the home agent and then
tunneled to the mobile node. Packets to the correspondent node are
tunneled from the mobile node to the home agent ("reverse tunneled")
and then routed normally from the home network to the correspondent
node. In this mode, the home agent uses proxy Neighbor Discovery to
intercept any IPv6 packets addressed to the mobile node's home

address (or home addresses) on the home link. Each intercepted
packet is tunneled to the mobile node's primary care-of address.
This tunneling is performed using IPv6 encapsulation [15].

The second mode, "route optimization", requires the mobile node to
register its current binding at the correspondent node. Packets from
the correspondent node can be routed directly to the care-of address
of the mobile node. When sending a packet to any IPv6 destination,
the correspondent node checks its cached bindings for an entry for
the packet's destination address. If a cached binding for this
destination address is found, the node uses a new type of IPv6
routing header [11] (see Section 6.4) to route the packet to the
mobile node by way of the care-of address indicated in this binding.

Routing packets directly to the mobile node's care-of address allows
the shortest communications path to be used. It also eliminates
congestion at the mobile node's home agent and home link. In
addition, the impact of any possible failure of the home agent or
networks on the path to or from it is reduced.

When routing packets directly to the mobile node, the correspondent
node sets the Destination Address in the IPv6 header to the care-of
address of the mobile node. A new type of IPv6 routing header (see
Section 6.4) is also added to the packet to carry the desired home
address. Similarly, the mobile node sets the Source Address in the
packet's IPv6 header to its current care-of addresses. The mobile
node adds a new IPv6 "Home Address" destination option (see Section
6.3) to carry its home address. The inclusion of home addresses in
these packets makes the use of the care-of address transparent above
the network layer (e.g., at the transport layer).

Mobile IPv6 also provides support for multiple home agents, and a
limited support for the reconfiguration of the home network. In
these cases, the mobile node may not know the IP address of its own
home agent, and even the home subnet prefixes may change over time.
A mechanism, known as "dynamic home agent address discovery" allows a
mobile node to dynamically discover the IP address of a home agent on
its home link, even when the mobile node is away from home. Mobile
nodes can also learn new information about home subnet prefixes
through the "mobile prefix discovery" mechanism. These mechanisms
are described starting from Section 6.5.

4.2. New IPv6 Protocol

Mobile IPv6 defines a new IPv6 protocol, using the Mobility Header
(see Section 6.1). This Header is used to carry the following
messages:

Home Test Init

Home Test

Care-of Test Init

Care-of Test

These four messages are used to perform the return routability
procedure from the mobile node to a correspondent node. This
ensures authorization of subsequent Binding Updates, as described
in Section 5.2.5.

Binding Update

A Binding Update is used by a mobile node to notify a
correspondent node or the mobile node's home agent of its current
binding. The Binding Update sent to the mobile node's home agent
to register its primary care-of address is marked as a "home
registration".

Binding Acknowledgement

A Binding Acknowledgement is used to acknowledge receipt of a
Binding Update, if an acknowledgement was requested in the Binding
Update, the binding update was sent to a home agent, or an error
occurred.

Binding Refresh Request

A Binding Refresh Request is used by a correspondent node to
request a mobile node to re-establish its binding with the
correspondent node. This message is typically used when the
cached binding is in active use but the binding's lifetime is
close to expiration. The correspondent node may use, for
instance, recent traffic and open transport layer connections as
an indication of active use.

Binding Error

The Binding Error is used by the correspondent node to signal an
error related to mobility, such as an inappropriate attempt to use
the Home Address destination option without an existing binding.

4.3. New IPv6 Destination Option

Mobile IPv6 defines a new IPv6 destination option, the Home Address
destination option. This option is described in detail in Section
6.3.

4.4. New IPv6 ICMP Messages

Mobile IPv6 also introduces four new ICMP message types, two for use
in the dynamic home agent address discovery mechanism, and two for
renumbering and mobile configuration mechanisms. As described in
Section 10.5 and Section 11.4.1, the following two new ICMP message
types are used for home agent address discovery:

o Home Agent Address Discovery Request, described in Section 6.5.

o Home Agent Address Discovery Reply, described in Section 6.6.

The next two message types are used for network renumbering and
address configuration on the mobile node, as described in Section
10.6:

o Mobile Prefix Solicitation, described in Section 6.7.

o Mobile Prefix Advertisement, described in Section 6.8.

4.5. Conceptual Data Structure Terminology

This document describes the Mobile IPv6 protocol in terms of the
following conceptual data structures:

Binding Cache

A cache of bindings for other nodes. This cache is maintained by
home agents and correspondent nodes. The cache contains both
"correspondent registration" entries (see Section 9.1) and "home
registration" entries (see Section 10.1).

Binding Update List

This list is maintained by each mobile node. The list has an item
for every binding that the mobile node has or is trying to
establish with a specific other node. Both correspondent and home
registrations are included in this list. Entries from the list
are deleted as the lifetime of the binding expires. See Section
11.1.

Home Agents List

Home agents need to know which other home agents are on the same
link. This information is stored in the Home Agents List, as
described in more detail in Section 10.1. The list is used for
informing mobile nodes during dynamic home agent address
discovery.

4.6. Site-Local Addressability

This specification requires that home and care-of addresses MUST be
unicast routable addresses. Site-local addresses may be usable on
networks that are not connected to the Internet, but this
specification does not define when such usage is safe and when it is
not. Mobile nodes may not be aware of which site they are currently
in, it is hard to prevent accidental attachment to other sites, and
ambiguity of site-local addresses can cause problems if the home and
visited networks use the same addresses. Therefore, site-local
addresses SHOULD NOT be used as home or care-of addresses.