Creating a "dedicated" LAN for a NAS - networking

A bit of context, most of my users are asked to move to online/cloud storage, except a few (4 actually), who use bigger files and therefore will be allowed to keep using LAN storage.
The current setup is pretty slow and consume everyone's bandwidth.
The 4 of them use Windows 10 desktops with available PCIE x1 and x16 slots.
So my idea was to add a PCIE network card, a basic switch and a NAS to create their own little LAN, dedicated to their big files, while still being connected to the initial network with their integrated cards (and access internet through this one).
I've tried to make a mockup with VMs : 2 Windows 10 clients with 2 NIC (one in bridge mode, one in internal network).
With my little experiment I was able to ping the internal network cards between themselves and an WAN Ip, so I'd say my idea will work.
They are 4 currently, but picking a switch with 8 ports should provide enough room for (hypothetical) future hiring.
I have no experience with this kind of maneuver, is it recommended without a router ? Is it "clean" ? What's your opinion on this kind of layout ?
Thanks for your help !

Your idea is very good and separation of LANs for data and internet is applicable. Be aware you will need additional wires for this seconds (storage) LAN. such separation is used in enterprises for storage, app and admin networks (can be sometime also backup).
You can consider also using intelligent switch and play with VLANs for traffic separation.

Related

Serial COM port data over WebRTC

I'm currently looking at options to allow me to build a remote COM-port solution.
The idea is to be able to access from my remote PC, another PC that's directly connected to a device locally via its serial COM-port.
I know that the obivous answer is to use a VPN between the 2 Internet connected PCs.
However, I need this solution to be as seamless to the end-user as possible.
i.e. no installing and configuring VPN software, etc.
So I was thinking that WebRTC would be great because the end-user can simply use their web-browser and not have to install any additional software.
My question is, is it possible to stream the COM port data between the 2 PCs via WebRTC?
If so, can you please point me in the right direction as to how I can go about achieving this?
Sorry if this is a ridiculous question, I'm very new to WebRTC, just exploring my options.
Thanks.
That should work great!
Networking wise you get NAT Traversal. That means the two computers can be in completely different networks, and still communicate. You may have to run a TURN server if P2P isn't possible.
Data wise you can exchange anything you want via data channels. It is datagram based and you can send/receive binary data. You get a callback telling you how much has been delivered, that way you can detect backpressure.
Are you ok with installing software on the remote host? You can do something like Pion WebRTC's data-channels. This shows you can have a browser connect to a Go process via WebRTC. Then use tarm/serial on the remote host to interact with the device.
If you want a browser on both ends there is the Web Serial API I haven't used it myself though. That locks you into only doing Chromium which might be an issue.

Trying to connect to ethernet devices from remote computer

I'm looking to establish a connection between my laptop and a remote PC in such a way that I can ping other devices connected to one of its network cards from my laptop.
That might be a little unclear- let me be more specific:
I am a PLC programmer, and my company just migrated to a brand of PLC that requires individual software licenses for each "station." So we're not going to be spending the money for the programming software at each location- instead, each technician will have a laptop, and he can physically visit whichever location needs troubleshooting.
However, that gets to be a lot of travel (international, in some cases), and I'm looking to come up with a way (using a VPN or something) so that I can connect to a PLC remotely.
Our setup is a Windows 7 Industrial PC at the customer's location with two network cards- one is hooked up to the customer's network (and the internet), and the other is hooked into the various PLCs, all with static IPs in the same range. I'm trying to minimize the amount of software I'll have to install/purchase for this project- we already use Teamviewer, but its VPN connection doesn't seem capable of accomplishing what I want (at least, I've never been able to manage a successful ping to one of the PLCs, no matter how much I mess with settings, and their support consists mainly of "buy our newest version").
I've seen lots of posts about this kind of stuff on the internet, but a lot of it seems directed to people who either already know how to set this stuff up and just want to know which software is cheapest, or it is specific to the brand of PLC (I'm using Lenze, which is not very common in english-speaking countries, or at least in america).
Anybody who has managed something like this- I'd really appreciate some sort of walkthrough, or at the very least some pointers in the right direction.
VPN is for TPC/IP communication. Whenever you need layer 2 from ethernet, you're stuck. I know that Step 7 TIA from Siemens can not find for PLCs via VPN. Explaination from support is that searching goes via layer 2. And this list can be made longer.
Most brands can now handle programming via memory cards. Just program local, write it to a memory card and plug it into your PLC.
Just contact the companies and see what they have to offer. The times are still here that PLC brands are fighting for customers. Let them do the work for you and enjoy. It works for our company. :)

Persistent TCP connections in terms of Mobile networks?

I have a questions regarding WebSocket communications in mobile connections.
I was wondering how the long-lived TCP connections can be handled for a long time in mobility networks when the user migrate among different networks. What happens to already established TCP connections when handover (hand-off) occurs?
Do different technologies (3G, 4G or etc) behave differently in this case?
I will appreciate if you could leave some online sources or articles as well that I can read more in this regard?
Thank you in advance :)
The hand-off is always transparent to the user — all TCP and voice connections are always kept active when transitioning between the towers on a commercial mobile network like LTE, UMTS etc. You might experience some periods of time where the data stops flowing, but that's about it.
I've had several opportunities to verify this myself through an interesting experiment on a T-Mobile USA's HSPA+ nationwide network. Take a 12-hour-plus drive from one major city to another one, without turning your phone off. Take a look at the area where the external IPv4-address terminates (by using traceroute). You might as well notice that it's still at the same area where you've started your trip. Now reboot the phone, and see where the external IPv4 address is routed to now. You'll notice that now it's likely terminated in a major metro area closer to where you are. I.e., your connection within the core network of the operator follows you along not just within a given city, metro or state, but also between the states and the timezones.
The reason for this is that the carrier has a Core Network, and all external connections are handled by the Packet Gateway of the Core Network, which keeps track of all the connections. More on this is documented in Chapter 7 of the book called High Performance Browser Networking (HPBN.co).
This is not really a SO but more a programmers question and I don't see what you have researched for yourself, but you certainly can't rely on a connection to stay alive, mobile or not.
In fact mobile operators kill long-living connections by resetting them after a certain amount of time or data. So you should be ready to reconnect upon a socket exception anyway.

Building a small 4 node cluster - few quick questions about networking

I'm putting together a small 4 node cluster on which I'm going to be running storm. I have a few questions about the networking side of things. First off all the computers are equipped with gigabit ethernet however the hub that I currently have only goes up to 100 megabits. Should I upgrade my hub? Or will the performance gain be negligible? Second I read on a few sites that a hub is not the best piece of hardware to use that a switch would be better for my purposes. I'm trying to use Storm to have one machine pull data down from the internet and then pass it off to the others for processing. Would a switch or hub be more useful? Thanks for all your help folks.
A Router can allow for serious networking capabilities, it's also oftentimes overkill. With only 4 machines you're probably much more likely to want a Gigabit Switch instead: sold in stores oftentimes under the name Gigabit Router -- which is technically a lie as it's usually a Bridge (Hub or Switch, Networking has a lot of overloaded names). Router are many times more expensive than Switches if you have difficulty identifying between the two from just marketing names. A hub on the other hand is oftentimes a dumb Switch with less capabilities (and sometimes speed penalties in high data flow situations).
The question as to if you need to upgrade is dependent on where you bottleneck is. Is the data you're sending large? Do your cluster computer spend a lot of time computing instead of receiving data? First determine if your networking speed will be your bottleneck, then decide if you should upgrade that bottleneck. If you're worried about network speed but aren't 100% sure it will be a bottleneck, a cheap 1 Gigabit Switch won't cost you much and will almost certainly meet you're needs.
Also note that if you're data needs to first come over the internet (isn't generated on your side of the network) you're bottleneck will almost certainly be your internet connection before your local network.
So essentially, profile your problem before making a choice.

Suitable Client Server setup for Network Game testing

I am sorry if my question is obvious, but i need the expert suggestion/views, i want to test my Client/Server game for which currently, i am using localhost same machine for both Client and Server.
that's why i not getting any fluctuation in data and measure idea of performance, and in other parameters, what i wanted to ask to have a real world scenario:
if i create a little network with two computers or
if check that on LAN on which i am or
ARE THESE THREE CASES (localhost included) ARE EQUIVALENT? or
I really need to test that on different LANs to have reliable testing data and realistic data,
How these different network setups will influence the testing process?
Can somebody please suggest, which could be the ideal way or enough for testing?
which above setup will give me more up and downs in number with LEAST setup/implementing efforts.
Note: The game is suppose to play on the LAN but it is capable of more.
Thanks,
Jibbylala
P.S: i m newbie in network stuff so if u used the wrong terms, vocabulary pardon me
emphasized text
You will want to test your application under different situations. For example, test it using a small LAN where you only have one switch between the two computers. That will ensure that you can, in fact, connect and play over a simple LAN. Then, test different LAN connections such as a slow link (turn a network card down to 10 Mbps), on a wireless LAN, and if possible even a larger or corporate-type LAN. The more testing you can do about different situations, the better. Testing on just your localhost will not be enough.

Resources