Internet Cafe Network Router



  • Hello, New guy here. Discovered you from comments at Overclockers. I have an internet cafe i took over and i have been rapidly rewiring and simplifying the network. There are 22 stations, 2 printers, 1 streaming media server, 1 control computer, 1 DVR with 3 ip cameras, 1 PS3 and 1 Xbox ( 2more to be added).

    the backbone consists of two ISP's Bell and Rogers. So 2 gateways, the cable box goes to a dlink Di604 into the netgear 48 port switch and the bell 2WIRE goes direct to the netgear 48 port switch. I wont tell you how it was wired before, you will cry.

    Bell is coming to change me over to 16/16 FTTN so i can get rid of the Rogers cable (horrible for multi PC gaming, too much lag) and run one gateway into router. I bought a consumer grade router (netgear 3400v2) but i am being told it wont do what i want it to.

    Now that you have an overview, the reason for my post is hopefully get a solid yes or no on what i am trying to accomplish. Lower network ping.

    When i took over there was an internal network latency average of 35. Rewiring and simplifying ( there was 6 tiny switches all over the place ) lowered it to 23. I am being told that building a dual intel NiC PFsense router on one of the old AMD machines will be my best option as a consumer grade router will not be robust enough when the going gets tough to knock more points off the ping. The machine is an early AM3 with 2 gigs of ram in it and a failed video card (the reason its mothballed).

    WIll this appliance do this? Is going to be considerably better than the Netgear 3400v2 ?

    Thanks for attention.

    Miqui



  • First, your internal machine to machine is still 23ms?  I mean, unless you're measuring with some game that has a very bad ping mechanism, that's bad.  Local network pings should be sub 10ms (usually less than 1ms), even when using a cheap router as the center hub of your network.

    This probably means that something is overloaded, misconfigured, or maybe there's some kind of loop somewhere.

    Now the other part, just plugging 2 ISP's in to a single switch probably isn't going to help you much, which is what it sounds like you're doing.  Your stations will simply get an IP from whatever responds to its DHCP request first, which, depending on how the subnets are laid out, might put machines on whole different networks or eventually lead to IP conflicts.

    Also, a simple commodity consumer gateway router, unless otherwise overloaded, should still provide a decent latency (such as testing when no one else is online.)  While pfSense, on a well enough appointed machine, should be able to outperform consumer routers, it appears to me that your network may have other issues as well.  If you can draw out a map or diagram of some sort, that may help us get a better idea of your situation.

    Btw, what's a "control computer"?



  • Hi matguy. thanks for answering. I think i did not correctly communicate what i meant. If i ping a machine thats using the same dns suffix i get 1ms. (if its on another suffix its unreachable). The ping i refer to is when i ping Google.ca. I know there is a host of other issues that affect ping but removing all the internal switches and rewiring 13 year old CAT5 to 6 , that i had already, took ping from 35 to 23. Some of the machines are even 13 to 15.

    lets see if allows this link. If not i put the image on the /neteffectcafe page on facebook.

    http://www.facebook.com/photo.php?fbid=434428929943912&set=pb.433473776706094.-2207520000.1355105273&type=3&theater



  • Ok, that makes more sense.  But, ping is a fairly fluid measurement, so a range of a median is a good way to "log" it.  But, on the same note, if some machines consistently get better pings to the same remote host, then there might still be something internal wrong that's not related to your router(s).

    Otherwise, I don't see anything that you want to do that pfSense can't.



  • @neteffectcafe:

    Now that you have an overview, the reason for my post is hopefully get a solid yes or no on what i am trying to accomplish. Lower network ping.

    When i took over there was an internal network latency average of 35. Rewiring and simplifying ( there was 6 tiny switches all over the place ) lowered it to 23. I am being told that building a dual intel NiC PFsense router on one of the old AMD machines will be my best option as a consumer grade router will not be robust enough when the going gets tough to knock more points off the ping. The machine is an early AM3 with 2 gigs of ram in it and a failed video card (the reason its mothballed).

    WIll this appliance do this? Is going to be considerably better than the Netgear 3400v2 ?

    Thanks for attention.

    Miqui

    No one can give any guarantees as to whether you will get better latencies.  You must first determine if your 'high' latencies are a matter of congestion or simply, routing latencies.

    To do so, you can simply run a trace route out the internet line via a directly connected computer.  This eliminates network load from being a factor (evidently, you do this after hours).
    Then run a trace route while the computer is part of your internal network.

    By comparing the trace route results, you can estimate where the "issue" lies.

    If the increase in latency is due to lack of or poor traffic control on your router - leading to congestion, then pfSense can help you reduce the latency penalty on your machines for specific applications such as games.  How much it will help will ultimately depend on how well you are able to configure the traffic shaping on your pfSense machine.

    To give an idea, I used to run a cybercafe and used pfSense.  I had 35 gaming machines running on a 4M/ 768K DSL line without any complaints from the gamers even whilst others were streaming youtube videos and such.

    Do note that a lot of customized firewall rules are required especially for free-to-play games.  Most developers will not release the port information or IP subnet information (of their servers).  It will be up to you to do the testing yourself.

    I did it manually by running the F2P games manually after hours on a single machine and monitoring the state tables on the pfSense rig to see what destination ports are opened consistently.  Flushing the state table and/ or rebooting the client machine to remove the states in between games is highly recommended.



  • @matguy:

    Btw, what's a "control computer"?

    This is usually a point of sales like machine.  It basically runs a software and acts as a server for all the connected LAN clients with a client version of the software.

    When a customer signs in, it sends a signal to the client to 'unlock' the client.  When the customer signs-out, the software will lock the computer or shutdown the computer.  The control computer will then tabulate the charges and notify the cashier to bill the customer accordingly.

    Certain software will be compatible with networked 'home automation' devices.  This allows the software to control lighting (for mixed pool/ billiards tables) and/ or power or video (for console devices where the device cuts off the video feed between the TV and the console or power to the console itself).


  • Netgate Administrator

    @neteffectcafe:

    Is going to be considerably better than the Netgear 3400v2 ?

    Yes, in a number of ways however ping time may not be one of them, as others have said.

    You have two internet connections but you don't have any sort of load balancing or failover. pfSense can do that for you. It would seem that having an always up internet connection would be useful in your line of work.  ;)

    You could do some traffic shaping to prevent youtube swamping your connection as Dreamslacker said, it's hard to see how you could not have that in fact!

    The biggest advantage is probably that your pfSense box will have far more RAM (2GB vs 64MB) and hence can handle far more firewall states/connections than the Netgear router. When all your clients are simultaneously downloading and checking server lists that can really count.

    Steve



  • Hey all thanks for the responses. So it would seem lowering the device count isnt going to be as great an improvement as i imagined. Oh well. The sagecom arrived and the Bell tech is coming wednesday. I will wait until then and see what transpires ping wise.


  • Netgate Administrator

    A couple of things I thought I'd added but didn't.  ;)

    Since you have a machine to use as a pfSense box already why not try it and see how things go. It's only going to cost you your time (which might be very valuable) but will give you a learning experience. I see you are open 24h so perhaps network disruption would be a problem.

    What model is your switch? If it is a managed VLAN capable switch you could use it in combination with pfSense to segregate your network for better security and possibly better traffic priority.

    Lastly, when I Googled you I see that Google maps has your cafe marked on the wrong street. That can't be good for business!  ;)

    Steve



  • @stephenw10:

    @neteffectcafe:

    Is going to be considerably better than the Netgear 3400v2 ?

    Yes, in a number of ways however ping time may not be one of them, as others have said.

    You have two internet connections but you don't have any sort of load balancing or failover. pfSense can do that for you. It would seem that having an always up internet connection would be useful in your line of work.  ;)

    You could do some traffic shaping to prevent youtube swamping your connection as Dreamslacker said, it's hard to see how you could not have that in fact!

    The biggest advantage is probably that your pfSense box will have far more RAM (2GB vs 64MB) and hence can handle far more firewall states/connections than the Netgear router. When all your clients are simultaneously downloading and checking server lists that can really count.

    Steve

    Mr. Neteffectcafe, please correct me if I'm wrong, but the way I understood it, you're currently migrating ISP's, or are you planning on retaining use of 2 ISP's for any appreciable length of time?



  • Yes i am canning Rogers as its throttled all to hell with pings hovering at 400 if ANYONE hits P2P, including game updates that use p2p. And at about 4 or 5 it slows down when all the local kids come home. i am surrounded by buildings which are probably over sold.

    The bell line is fine unless the up load breaks 500k, then it also goes haywire and hits 400 to 500 ping and throttles. I am hoping for 16/16 FTTN which they swear is unthrottled and has no caps. We will see. if worse comes to worse i will get someone who knows far more than I to come in and implement MLPPP when i am forced to switch to Teksavvy.



  • if worse comes to worse i will get someone who knows far more than I to come in and implement MLPPP when i am forced to switch to Teksavvy.

    MLPPP is easy on your end.  Its Teksavvy that has to do most of the work.



  • @neteffectcafe:

    Yes i am canning Rogers as its throttled all to hell with pings hovering at 400 if ANYONE hits P2P, including game updates that use p2p. And at about 4 or 5 it slows down when all the local kids come home. i am surrounded by buildings which are probably over sold.

    The bell line is fine unless the up load breaks 500k, then it also goes haywire and hits 400 to 500 ping and throttles. I am hoping for 16/16 FTTN which they swear is unthrottled and has no caps. We will see. if worse comes to worse i will get someone who knows far more than I to come in and implement MLPPP when i am forced to switch to Teksavvy.

    You are going to need some systems side work to help reduce the load.

    Most free to play (account based) games do not actually need to be updated the normal way.  You can usually bypass the updating process by updating only one client and replicating the game directory on the other computers.
    Certain games may store the versioning information in the registry key, export this together with the copy process and manually import the key on the other computers if need be.

    Some tools that can make your life better are Nircmd, Autoit (simple but powerful scripting language), batch files, Robocopy & Task scheduler.

    What I used to do was to implement a schedule to load a custom written program (in Autoit) on startup.  The program tests for the existence of certain flag files (an empty txt file with specific name in certain directories).  Upon encountering the files, it will take certain actions.  eg. Import a reg file in a certain directory.
    Since AutoIT can be compiled into an exe without any UI, the process cannot be closed normally by the customers like a batch/ cmd file.

    This basically allows me to copy & paste the updated game folder & reg file onto the other computers and insert a txt file marker at the same time.  Rebooting the computer will then import the reg key automatically and there won't be a need to update the client, thus, reducing the internet bandwidth usage.

    If your computer naming convention is done properly, you can use a batch script to automate the copy process.

    This is an example script I used in the early parts (subsequently changed it to allow parameters to be parsed and added more variables to allow the script to become a universal template):
    I had my computers with names in sequential order.  eg.  PC01, PC02…..PC34, PC35
    If you want to reuse this, you will need a similar way of connecting to the computer by name or IP (change the share path variable into IP address octets instead)

    
    @ECHO OFF
    
    SET STARTRG=1
    SET ENDRG=30
    
    SET SRCDIR="c:\program files\game dir"
    SET DSTDIR=\game dir
    
    SET LOGDIR=C:\TEMP\
    SET LOGFILE=GAME_Log.Log
    SET LOGPATH=%%LOGDIR%%LOGFILE
    
    SET OPTS=/MIR /COPY:DAT /DCOPY:T /NFL /NDL /NP /R:3 /W:10
    
    IF NOT EXIST %%LOGDIR MKDIR %%LOGDIR
    
    for /L %%x in (%%STARTRG,1,%%ENDRG) DO (
    	if %%x LSS 10 (
    		ECHO Copying to PC0%%x...
    		if %%x equ %%STARTRG (
    			robocopy /LOG:%%LOGPATH %%OPTS %%SRCDIR "\\pc0%%x%%DSTDIR"
    		) else (
    			robocopy /LOG+:%%LOGPATH %%OPTS %%SRCDIR "\\pc0%%x%%DSTDIR"
    		)
    	) else (
    		ECHO Copying to PC%%x...
    		robocopy /LOG+:%%LOGPATH %%OPTS %%SRCDIR "\\pc%%x%%DSTDIR"
    	)
    )
    pause
    
    

Locked