Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Sep 2007 03:33:19 +1000 (EST)
From:      Kirc Gover <kirc.gover@yahoo.com.au>
To:        Louis Mamakos <louie@transsys.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: OS choice for an edge router
Message-ID:  <379420.38247.qm@web44804.mail.sp1.yahoo.com>
In-Reply-To: <46E16BB9.80908@transsys.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Hi Louis, Thanks for your response. I appreciate it a lot.

The router would be deployed at the service provider network that will terminate roughly 4000 (maximum) individual customers and corporate networks/VPNs. We have decided to integrate control plane, data plane and
management plane functionality into the router in consideration of the hardware cost. Basically, the router will have a single CPU that will handle all the processing, including the operating system, system processes, routing protocol processes and the forwarding engine (built-in FreeBSD IP stack). The idea is to take a regular FreeBSD box (PC with 2 NICs) configured as a router into a different level that can handle the expected traffic. I have substantial experience in configuring a FreeBSD router but in a very limited environment, like a company, department or small-office router configuration. I also run and encountered several issues of FreeBSD (could be inherent to its architecture and implementation) like deadlocks, hangups,  panics, high cpu utilization when subjected to a very high traffic. The motivation of developing our own router is that we will be integrating propriety and value added services into the router to support some business goals. Considering these,
 am I on the right path?

The initial list of the routing protocols that will be supported include RIP, OSPF, BGP and IGMP (PIM-DM, etc). The routing table size should be enough to support the expected number of costumers, at the top of my head roughly a thousand. MPLS will not be needed. I expect in the feature IPv6 will be included (also for label switching in place of MPLS). There is a need to support classes of traffic. That would be through packet marking and QoS which is already supported by FreeBSD. Would these be too much for a single high performance (multi-core core) CPU?

Thanks a lot.
Kirc

Louis Mamakos <louie@transsys.com> wrote: Kirc Gover wrote:
> We are in the stage of planning and research for a commercial development of an edge router that will be based mostly on OpenSource software. I would like to solicit for information and recommendation if FreeBSD is a suitable OS. 
What's an "edge" router?  Is this a customer device, or a servicer 
provider's "edge" router that's used to termination a bunch of 
individual customer connections?

I'm sure you can probably use FreeBSD for some moderate performance 
customer equipment, assuming you scrape together or write your own bits 
to flesh out the feature set.

For a service provider edge router, you ought to align your thinking a 
bit differently and consider the control plane distinctly from the 
data/forwarding plane in the box.  Running all of the forwarding 
operations through the CPU won't get you very far (though this is a 
relative measure, I supposed).

In a previous life, I worked for a high-end router start-up that used 
NetBSD as the basis of the control plane of the router (though with a 
interesting, non-traditional twist on the software architecture).  It 
ran the routing protocols, management, and system control functions over 
a set of NetBSD instances.  The router had a distributed, scalable 
switch fabric with multi-Gb/s ports that line interfaces plugged into. 
To run line-rate forwarding with small packet sizes for multiple gigabit 
ethernet, or OC48/OC192 ports usually requires specialized forwarding 
engines and the host OS is essentially uninvolved (on a per packet 
basis) other than setting up the hardware and managing it.

The choice of NetBSD was just because of an existing port to a CPU 
architecture.

Please don't take this the wrong way, but you probably need some 
professional help in making these sorts of design decisions that extends 
beyond what you're likely to get from public mailing lists.  The router 
business is very competitive both for CPE service provider products, and 
having a good understanding the external requirements is a significant 
effort, never mind the specific implementation.  What IGPs do you need 
to support, how many routes in the RIB and the FIB?  What BGP features 
do you need?  Will you need to support multiple classes of traffic, do 
you have hard limits on delay and delay jitter through the router?  Do 
you intend to support MPLS, that opens a whole other can of worms, 
choices and complexity.

Louis Mamakos


       
---------------------------------
Sick of deleting your inbox? Yahoo!7 Mail has free unlimited storage. Get it now.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?379420.38247.qm>