Você está na página 1de 24

1.

Project Report Format: At the end of semester a project report should preferably contain at least following details: Abstract Introduction Aims and objectives Literature Surveyed Existing system (if any) Problem Statement Scope Proposed System Methodology (your approach to solve the problem) Analysis Details of Hardware & Software Design details Implementation Plan for next semester

Chapter 1:
Abstract:
In our project, we are trying to design software for virtual router. This software will provide efficient packet forwarding capability using robust routing protocol. We are implementing routing in LANs. Basic idea of our software is our system will keep track of multiple routing tables. There will be no need of separate multiple routers for each network. A pc with your software installed will act as a router having all necessary information require for packet forwarding. This software system will be responsible for finding best optimum path to route the packet at desired destination.

Chapter 2:
Introduction:
In past few years virtualization has emerged as important topic of research in Operating system field, and it seems natural to wish to extend these benefits in network routing. Virtual routing is one of the hottest new features in the routing world. If a single hardware platform can simultaneously perform the roles of multiple independent routers, then many practical applications are enabled. For example, a telecommunications provider might install one router in an office building, and support many separate small business customers on the same hardware platform, while allowing each to operate and configure their own virtual router. In our project we are considering Virtual routing as a software design method used to provide multiple independent routers that share a common processor, memory, and a set of interfaces. This in-turn supports an emerging class of internetworking device, a so-called router aggregation system at the network edge.

Chapter 3:
Aims & Objectives:
Extensible: Because we are implementing extensible routers, our design must export an interface and protocol that allows new functionality to be easily added to the router.

Compliant: Our goal is to develop an architecture that supports all of the requirements of a compliant router, with special concern for broadcast and multicast.

Efficient: Subject to the extensibility and compliancy requirements listed above, we want the architecture to support efficient implementations on the given hardware. For example, by taking advantage of the processor on intelligent network interface cards (NICs), many packets can be completely processed and forwarded without involving the main processor at all. By offloading the main processor as much as possible

Chapter 4:
Literature Survey:
Literature Survey started with searching for the basic information of the Router Router Basics:
A typical router is a very valuable software application built largely on commodity computer hardware and packaged as a black-box, network appliance (rather than as a conventional computer system). Todays highend routers are built on very specialized hardware, but low and mid range routers use standard computer components. The first routers were software applications running on UNIX systems. Cisco quickly pioneered the idea of routing appliances. Building a router as an appliance has the benefits of concealing the operating system (e.g. UNIX or Windows/NT) from the user and permitting the software to be optimized for the router (conventional operating systems are less efficient at tasks like protocol processing). In the end, a typical router boils down to a specific, but complex application, typically running on conventional computer hardware, with a specialized real- time operating system and specialized I/O devices (e.g., forwarding engines at the interface points). Path Determination: Routing protocols use metrics to evaluate what path will be the best for a packet to travel. A metric is a standard of measurement, such as path bandwidth, that is used by routing algorithms to determine the optimal path to a destination. To aid the process of path determination, routing algorithms initialize and maintain routing tables, which contain route information. Route information varies depending on the routing algorithm used.

Routing algorithms fill routing tables with a variety of information. Destination/next hop associations tell a router that a particular destination can be reached optimally by sending the packet to a particular router representing the next hop on the way to the final destination. When a router receives an incoming packet, it checks the destination address and attempts to associate this address with a next hop.

Switching: Switching algorithms is relatively simple; it is the same for most routing protocols. In most cases, a host determines that it must send a packet to another host. Having acquired a routers address by some means, the source host sends a packet addressed specifically to a routers physical (Media Access Control [MAC]-layer) address, this time with the protocol (network layer) address of the destination host.

As it examines the packets destination protocol address, the router determines that it either knows or does not know how to forward the packet to the next hop. If the router does not know how to forward the packet, it typically drops the packet. If the router knows how to forward the packet, however, it changes the destination physical address to that of the next hop and transmits the packet. The next hop may be the ultimate destination host. If not, the next hop is usually another router, which executes the same switching decision process. As the packet moves through the internetwork, its physical address changes, but its protocol address remains constant.

Routing Tables: The Internet backbone servers maintain routers and routing tables that identify billions of addresses on the Internet. In a conventional model, ISPs do much the same thing, maintaining routers and routing tables for each network that they service.

Chapter 5:
Problem Statement:
In a conventional routing model, a router is required for each organization. An organization can have vast number of networks and hence there is a vast expense associated with having to purchase and maintain routers for each network. Yet there is an interesting problem: there is no logical reason why there have to be that many physical routers, and why each network needs to be associated with this piece of hardware. Actual problem is not associated with physical router but rather its routing table which is the central issue has lead to the conceptualization and creation of the Virtual Router.

Chapter 6: Proposed System:- Why Virtual Routing?

In a conventional routing model, a router is required for each organization that the ISP services. This is necessary because the ISP may be using similar addresses for a number of different organizations (such as 10.1.1.1). The same router would not be able to look into two organizations, because it could not differentiate between them and would malfunction when seeing duplicate addresses. In the example of Figure 1, a single router would not be able to know if packets of information are to be delivered to Network A, B or C if these networks had the same addresses. Of course, given the number of networks that an ISP can service (thousands even tens of thousands), there is a vast expense associated with having to purchase and maintain routers for each network. Yet here is an interesting problem: there is no logical reason why there have to be that many physical routers, and why each network needs to be associated with this piece of hardware Understanding that it's not the physical router but rather its routing table which is the central issue has lead to the conceptualization and creation of the virtual router.

Figure 1: In a conventional model, ISPs (or other organizations) maintain tables routers and routing for each network that they service.

Conventional routing Model

Chapter 7: Methodology:What Is a Virtual Router?


A virtual router is any number of TCP/ IP stacks built into one. In our Figure 1. Example, a virtual router would include three TCP/IP stacks built into one, though be sure to remember that the model is not limited to any particular number (in fact, if your processing power is strong enough, you can have over 65,000 stacks without any additional physical routers!). The stacks look and behave like independent stacks, yet for our purposes, the only things that really need to be independent are the routing tables.

Virtual routing is made possible by the introduction of a network ID and network interface. The Virtual router in our example will have three network interfaces to the three customers, and one to the Internet. The TCP/IP stack will be configured with a virtual routing ID for each network interface. This way, Organization A may have any number of its own networks with the same ID. This ID will always be associated with Organization A, and the virtual router will know it. The ID is administrated by the system administrator.

How It Works
When an ISP provides service to an organization, it assigns an ID to that organization. Any packet from the organization's network is stacked with its ID. For example, any packet coming from Organization A will be stacked with ID #1. Each organization that has its own ID will also have its own routing table associated with that ID, and the routing table will only work with that specific ID. This way, routing tables can remain independent and accurate. A system administrator can configure the router without

interfering with other organizations' routing tables. Refer Figure 2 for an illustration of this concept.

Figure 2: The virtual router replaces potentially thousands of conventional routers.

Chapter 8:

Analysis:
Feasibility Study
Economic Feasibility
The programming language we will be using for coding is c and we are going to implement it. Using ubuntu platform which is freely available.Also the design of the project will be accomplished Using Rational Rose which is also a freeware. According to monetary investment virtual Router project is economically feasible.

Operational Feasibility
An operationally feasible system is one that will be used effectively after it has been developed. If users have difficulty with a new system, it will not produce the expected benefits. The proposed system is found to be operationally feasible because of the following reasons. It needs only computer system. It is feasible operationally as it is easy to use and understand.

Technical Feasibility
Technical feasibility centers on the existing system and to the extent it can support the proposed system. The design of the software is in such a way that it can be easily managed. If Budget is not a serious constraint then the project is judged technically feasible.

Chapter 9:
Details of Hardware and Software:Hardware Requirement:
Pentium IV and upwards processors. 1GB RAM. 40 GB Hard disk space. Minimum 3 computer systems. NIC card. Connecting cable.

Software Requirement:
Primarily, we are using c language as our front end programming language. Linux operating system is the OS platform Operating System ubuntu 9.1.

Chapter 10:
Design details:Block Diagram:-

Data Flow Diagram:-

At level 0:Packet Sender


Incoming packet

Virtual Router

Outgoing packet

Packet Receiver

At level 1:Packet Sender


Incoming packet

Input port

Gets packet

Classify

Map network flows

Forward

Forward packet

Packet receiver

Outgoing packet

Output port

Send packet

Schedule

At level 2:Packet Sender


Incoming packet

Input port

Gets packet

Create an Internal routing header

Map network flows onto switching paths

Applies forwarding function

Routing table

Sends the modified packet to single output queue

Packet receiver

Outgoing packet

Output port

Sends packet

Removes internal header

Use case Diagram:

Activity Diagram for classify ():

Packet arrival in Input Port

Searching IP in Routing Table

Is it's valid?

Creating Intenal Heder

Classify Map for shortest path(s)

Sends packet to appropriate path(s) in single input queue

Activity Diagram for forward ():

G single et queue packe t

Forw arding function

Sends m odified packets in single output queue

Activity Diagram for Schedule ():

Get modify packets from non empty output queue

Remov internal e heder

sends the packes to appropriate output port

Sequence Diagram:

Packet sender : New Class

Input port

Classify

Forward

Schedule

Output port

Packet receiver : NewClass

Incoming packet Sends packet

Creates an internal routing header for the packet

Pass packets onto switching paths

Applies forwarding function to packets Send modified packets to its single output queue

Removes internal header of packets sends associated packet

outgoing packet

Chapter 11:
Reference:
Virtual Router-Bringing TCP/IP to new level,Interpeak A.S.Tanenbaum - Computer Networking (3rd Edition) W. Stallings - Data & Computer Communication (6th Edition) Fabienne Anhalt and Pascale Vicat-Blanc Primet Analysis and experimental evaluation of data plane virtualization with Xen. Jingguo Ge Hualin Qain NOC, Computer Network info center Cluster Based Virtual Routing. Douglas Comer, Maxim Martynov Cisco Systems and Department of Computer Science, Purdue University West Lafayette, IN Building Experimental Virtual Routers with Network Processors. Florian Baumgartner, Torsten Braun, Eveline Kurt, Attila Weyland University BernVirtual Routers: A Tool for Networking Research and Education. http://www.tcpdump.org

Você também pode gostar