Wednesday, June 24, 2009

Project on Network Virtualization and Analysis

This project of mine is a study of computer networks at a deep level using both OS level and network level virtualization. First of all, I create individual virtual network machines and then combining them formed a virtual network. Thereafter, the project is divided into two critical sections:

· Network Protocol Analysis: In this section, I wrote programs to analyze various protocols which work at various levels in the network like Ethernet, IP, UDP, TCP, ICMP, ARP etc. The programs show the user a detailed view of the header information of the various protocols.

· Network Performance Analysis: In this section, I deal with platform independent network performance analyzers and have come out with three products of our own.

First of all, I had used Solaris OS but then on moved towards platform independent packet capture mechanisms for the purpose of our project. The design of the algorithms is based on some popular IEEE papers and some from CAIDA and IETF’s RFCs.

I believe that my effort to do network analysis at such a basic level will go a far way in helping interested to analyze, experiment on their networks without affecting the online network performance. Moreover, students interested about learning networking will find this useful to jump beyond the text and see for them what is happening.

Anyone who wants to have a better look into the project, keep on visiting my blog and mail me. In the forthcoming posts, I will discuss the various intricate details about the project.

For a short video review, you can visit the following site: Network Virtualization and Protocol Analysis

Monday, November 17, 2008

There was a seminar on "Secure Computing in the Solaris Environment" in our institute delivered by Mr. Pravas Kumar Panda from Sun IEC Bangalore.The session was held from 11.30 am to 1.00 pm on Saturday,15th November 2008 and was attended by around 120 students.

The topics of discussion in the session were
Kerberos
Solaris Networking(Routing, Firewalls, DHCP, IP instances)
IP Filters
IPSec
There was also a session on CFF 2008 where Pravas bhai gave ideas to students how they can participate and little ideas of possible projects.

There was also a small quiz session towards the end where winners were awarded.

















Monday, June 23, 2008

Nehalem

Nehalem is the codename for a future processor microarchitecture being developed by Intel. Nehalem will be released in late 2008 for high-end chips and early 2009 for mainstream chips. The microarchitecture is the planned successor to the Core microarchitecture.

Nehalem uses the 45 nm manufacturing methods from Penryn and applies it to the new Nehalem microarchitecture. A working system with two Nehalem processors was shown at Intel Developer Forum Fall 2007, and a large number of Nehalem systems were shown at Computex in June 2008.

The processor is named after the Nehalem River in Northwest Oregon, which is in turn named after the Nehalem Native American tribe in Oregon. At that stage it was supposed to be the latest evolution of the NetBurst architecture. Since the abandonment of NetBurst, the codename has been recycled and refers to a completely different project.

Nehalem Microprocessor Architecture














Features:

Nehalem appears to incorporate the most significant new architectural changes to the x86 microarchitecture since the Pentium Pro.
  • 2 through 8 (or more) cores.
  • Integrated memory controllers supporting DDR3 SDRAM and between 1 and 4 memory channels.
  • Manufactured using the same 45 nm manufacturing process as its predecessor, Penryn.
  • Some variants will have an integrated graphics processor (IGP) located off-die, but in the same CPU package.
  • Uses the new point-to-point processor interconnect, the Intel QuickPath Interconnect, replacing the legacy front side bus.
  • Hyper-threading, which has not been present on a consumer Intel processor since 2006 with the Pentium 4 and Pentium EE.
  • Native (monolithic, i.e. all processor cores on a single die) quad and octo (8) core processors.
  • 731 million transistors for the quad core variant.
  • 32 KBL1 instruction and 32 KB L1 data cache per core.
  • 256 KB L2 cache per core.
  • 8 MB (in the quad core version) L3 cache shared by all CPU cores.
  • 33% more in-flight micro-ops than Core.
  • 2nd level branch predictor and 2nd level Translation Lookaside Buffer.
  • Modular blocks of components such as cores that can be added and subtracted for varying market segments.
Performance:

Some of its performance features are:
  • 1.1x to 1.25x the single-threaded performance or 1.2x to 2x the multithreaded performance at the same power level
  • 30% lower power usage for the same performance







Friday, June 20, 2008

G.ho.st....

Think of ghost of the internet....astonishing and ironical really. But we are not talking about any horror show but a technology Global Hosted Operating System, a free, web-based virtual computer for every human being.

What is G.ho.st?
G.ho.st, pronounced as ghost is is the Global Hosted Operating SysTem that provides a free and complete Internet-based Virtual Computer (VC) service, including personal desktop, files and applications, available from any browser, anywhere. G.ho.st is written with dots in order to make it into a valid web address (URL).

What is a virtual OS?
A service which behaves just like a computer (with a desktop, file system, applications, etc.) but that is not physically installed on any one computer but instead is “hosted” in a professional data center on the Internet and is accessible from any Internet browser.

What is a web based OS?
Linux, Windows and Mac-OS® are the operating systems you use offline – they are physically installed on one computer. By contrast the term Web Operating System or hosted operating system is sometimes used for the technology behind the G.ho.st Virtual Computer or similar services. Note that whichever computer accesses G.ho.st still needs a local operating system to manage the hardware and provide a browser – but all the interesting stuff – the desktop, file system, apps, etc. are handled by G.ho.st.

What are the advantages of a Web-Based OS?
  • Available from any browser in the world instead of being installed on one physical machine.
  • The operating system, many apps, and the first 5GB of data storage and 3GB of email stroage are absolutely free.
  • Software (namely Web-based software) can be run without installation.
  • The computer is always up-to-date, secure and backed up with no action or cost on your part.
  • The G.ho.st VC manages all your Web logins and all your web 'stuff' (e.g. files on different web services).
  • Because it is online, the G.ho.st VC provides new possibilities for fun and collaboration, beyond what is available on a PC.


Here are some of the screenshots worth having a feel:















The Introduction page














The desktop customised...!!!














The Ghost web-Browser...rocks














Ghost Storage: 5 GB...














The Control Panel....amazing!

The literature of Ghost can be downloaded here

Now, the biggest question...Is the project Open Source?

Its going to be open -sourced soon.....Through a project called Pixie

What is Pixie?
Pixie is a lightweight user interface for G.ho.st. It is designed for mobile phones, mashup widgets and limited environments such as subnotebooks, low-bandwidth or high-latency networks, and older computers.

The Pixie Desktop

































And more yet to come.....

Thursday, June 19, 2008

Innovation in Networking and Solaris (Part-2)

Telephony Application Development and Deployment

Solaris 10 allows us to develop, deploy, and implement telephony applications such as VoIP by providing support for the Stream Control Transmission Protocol (SCTP) and Session Initiation Protocol (SIP). SCTP provides the high level of reliable network connections needed for telephony signaling and other applications, including SS7. Multimedia calls over IP networks can be established, modified, and terminated with SIP, enabling more features and functionality in devices such as IP phones. These protocols, combined with the other new networking features in the Solaris 10 OS, make Solaris the ideal platform for telephony applications.


File Integrity and Secure Execution
System administrators can detect possible attacks on their systems by monitoring for changes to file information. In the Solaris 10 OS, binaries are digitally signed, so administrators can track changes easily, and all patches or enhancements are embedded with digital signatures, eliminating the false positives associated with upgrading or patching file integrity-checking software.

The Solaris 10 OS also introduces the Basic Audit and Reporting Tool (BART), a file integrity-checking application for data files and customer applications. The BART utility allows a customer to create snapshots of their own data, applications and critical system files and periodically scan for changes to these files.

Solaris Ip Filterwall
The Solaris 10 OS ships with Solaris IP Filter firewall software preinstalled. This integrated firewall can reduce the number of network services that are exposed to attack and provides protection against maliciously crafted networking packets. Starting in Solaris 10 8/07, the IP Filter firewall can also filter traffic flowing between Solaris Containers when it is configured in the Global Zone. In addition, TCP Wrappers are integrated into the Solaris 10 OS, limiting access to service-based allowed domains.


Sunday, June 1, 2008

Innovation in Networking and Solaris(Part-1)

Sun Microsystems has all the way been keeping to its principle of "The Network is the Computer."As the world is going faster day by day, and exponential growth in Web connectivity, services, and applications is generating a critical need for increased network performance, with the Solaris 10 Operating System , Sun meets the future networking challenges by radically improving your network performance without requiring changes to our existing applications.

  • Supports current IPv6 specifications
  • Speeds application performance by about 50 percent via an enhanced TCP/IP stack
  • Supports the latest networking technologies, such as 10 Gigabit Ethernet, wireless networking, and hardware offloading
  • Accommodates high-availability, streaming, and Voice over IP (VoIP) networking features through extended routing and protocol support
Turbocharged TCP/IP
  • A new and highly scalable TCP/IP stack that significantly increases network throughput and capacity.
  • Innovative stack speeds packet processing by reducing overhead when processing packets.
  • The advanced design improves the performance of many networked applications by approximately 50 percent—without requiring you to modify a single line of application code.
  • The Solaris 10 TCP/IP stack is tuned for 10 Gigabit Ethernet, wireless networking, and hardware offloading technologies.
End-to-End Redundancy
  • The Solaris 10 OS allows you to design highly available networks for more resilient services by providing support for Layer 3 multipathing. This enables end-to-end redundancy from system to system and provides greater protection from network failures—even for Internet-based connections.

  • Solaris 10 implements the standards-based multipathing feature using a combination of Virtual IP address selection and Open Shortest Path First-Multipathing (OSPF-MP).

Full IPv6 Deployment
  • IPv6 is the next-generation IP protocol, designed to meet the global demand for network connectivity.IPv6 offers a number of advantages over IPv4, including increased address space, end-to-end security, and autoconfiguration features
  • The Solaris 10 Operating System implements current IPv6 specifications and is an ideal platform for deploying IPv6-based network services. Customers will find migration easier with the IPv4 and IPv6 tunneling support included in the Solaris 10 software.
We will discuss about Solaris IP Filter Wall in the next post.

Sunday, March 30, 2008

Netbeans IDE: The Innovative and Complete IDE

Innovation is what can be the other name of Netbeans IDE6।1 , true to the fact as it says "The only IDE you need"।The notable features of the Netbeans IDE 6।1 can be found highlighted at Netbeans6।1Perhaps, the best thing about the IDE is that it gives us a chance to realize our new ideas by building plugins on to the Netbeans platform.We will therefore have a short view of how to make a simple GUI based parser.This makes use of a class of java.util package called the StringTokenizer class.
Pre-Requisites

Brief Idea about String Tokenizer
The processing of text often consists of parsing a formatted input string.Parsing is the division of the text into a set of discrete parts or tokens, which in a certain sequence can convey a semantic meaning.The StringTokenizer class provides the first step in the parsing process, often called the lexer(or lexical analyzer) or scanner. StringTokenizer class implements the Enumeration interface.

To use StringTokenizer , we specify an input string and a string that contains delimiters.Delimiters are characters that separate tokens.By default, whitespace characters:space,tab,newline and carriage return are considered delimiters.

Creating a NetBeans Plug-in Module Project

  1. Choose File > New Project. Under Categories, select NetBeans Plug-in Modules.

    NetBeans plug-in module support provides three project types:
    1. Module Project. Creates a template for a standalone plug-in module.

    2. Library Wrapper Module Project. Creates a plug-in module for an external JAR file required by one or more plug-in modules.

    3. Module Suite Project. Creates a template for a set of interdependent plug-in modules and library wrapper modules, which you want to deploy together.

  2. Select Module Project. Click Next.





  3. In the Name and Location panel, type Stokenizer in Project Name. Change the Project Location to any directory on your computer, such as C:\Documents and Settings\Samir Kumar Mishra. Leave the Standalone Module radio button and the Set as Main Project checkbox selected. Click Next. (Figure 2).















In the Basic Module Configuration panel, replace yourorghere in Code Name Base with myorg, so that the whole code name base is org.myorg.Stokenizer.Notice that the localizing bundle and the XML layer will be stored in the package org.myorg.Stokenizer. These files do the following:
Localizing Bundle. Specifies language-specific strings for internationalization.XML Layer. Registers items such as menus and toolbar buttons in the NetBeans System Filesystem.


  1. Click Finish. The IDE creates the Stokenizer project. The project contains all of your sources and project metadata, such as the project's Ant build script. The project opens in the IDE. You can view its logical structure in the Projects window (Ctrl-1) and its file structure in the Files window (Ctrl-2)
Using the Window Component Wizard
  1. Right click the project Stokenizer folder and select New->File/Folder
  2. In the New File wizard, choose NetBeans Module Development under Categories and Window Component under File Types. Click Next.



  3. In the Basic Settings panel of the New Window, check the option "Open On Application Start" and click Next.The place of its opening is kept "output " to default.

  4. In the Name, Icon, Location Panel, fill up the name as "Tokenizer" and click Finish.
  5. Your Project window will have some files generated like TokenizerAction.java , TokenizerTopComponent.java and some xml files. (Figure 2)



















  6. The TokenizerTopComponent.java has a source view and a design view.Using palette on the righthand side, just drag and drop components in to the design and resize it.


















  7. Right click on the jButton1 and choose Events, then Action, then ActionPerformed() so that the event listener is registered with the jButton1.



  8. Copy and paste the following code in the method jButton1ActionPerformed().This will come immediately after your selection of the event in the step 7.

String str1=jTextField1.getText();
String str2=jTextField2.getText();

StringTokenizer st= new StringTokenizer(str1,str2);

while(st.hasMoreTokens()) {
jTextArea1.append(st.nextToken()+"\n");
}

9. You will see an error in the line:
StringTokenizer st= new StringTokenizer(str1,str2);

10.Click on the "X"(cross) symbol at the left of the line.the line is now highlighted with a bulb symbol glowing. Click on the bulb.It will show an option to "add import java.util.StringTokenizer". Just click on that.This way Netbeans helps you to fix errors in your program

You could have also just pressed Alt+Shift+F to fix the necessary imports.
Press Ctrl+ Shift + F to reformat your code.

11.Right click on the Stokenizer project node and select the Install/Reload in Target Platform

12.Final out put will look like this in the place where the output window was:











Using the String Tokenizer Plug-In(just an example)

  1. Enter "Hello + Samir,;Minakshi,(krishna)*,Rama$,hari" as the Input String

  2. Enter the delimiters string as "+;()*$"

  3. Press the Button "Parse".

  4. The output will be Hello
    Samir,
    Minakshi,
    krishna
    ,Rama
    ,hari

  5. Note that we have deliberately left the comma(,) and therefore it appears.

In this way, we have built a plugin very easily into Netbeans platform.