Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed last month.
Improve this question
I am a programmer and have been recently told to work on the Ops side.
I am struggling to understand the difference between Virtual IP and Load Balancer. Both look the same to me.
When I tried to read information online, it says Virtual IP has a range of hosts under it. And whenever any client hits the Virtual IP it assigns to one of the hosts under it.
As far as I know, a load balancer also does the same.
Can anyone tell me the difference between them?
A virual IP is the address that the client uses to connect to the service. A load balancer is the device/mechanism that distributes the client connections to the real/backend servers.
The virtual load balancer is a software-based load- balancing system that distributes incoming traffic across multiple targets such as servers, services, backend applications, etc. It’s software installed on the host machine that enables remote monitoring and controlling of the hosts. Virtual machines possess the same code that of hardware load balancers. A software version of a very complex hardware device, your virtual load balancer is the solution to a problem made obsolete by the advent of cloud computing.
On the other hand, hardware load balancers are on-premise, physical hardware machines that can serve a large amount of traffic. Unfortunately, one of the most significant drawbacks of hardware machines is limited flexibility.
Thanks to this link
Related
Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed yesterday.
Improve this question
We have been using Linphone for our calling services and its working fine on wifi and almost every cellular network except the one with iPV6 infrastructure.
The problem we discovered with iPV6 environment is that our signalling ip changes very frequently and as a result our call drops after 30 seconds timeout.
Any guide regarding this matter will be helpful.
Thats happens often on 5G network.
You can do nothing here, it is not related to asterisk, it is related to how 5G providers handle NAT. The do not care.
Only thing you can do is use android/apple push mechanism to force your application to re-register with new IP.
You can do nothing if customer change GSM cells while in call. Except maybe issue re-invite, but that is really hard and I know no softphone which do that correctly.
Another option is to use tunnel with ping inside it/resetup(or setup ignore source IP for tunnel) and put your sip traffic inside tunnel. But that WILL eat battery a lot and customer will complain or uninstall your app.
Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed last month.
Improve this question
I've seen a few online resources saying that WWW != The Internet. Can someone explain like they would to a complete noob?
Found that WWW consists of all web resourcces and identifies them using URL's. What is the internet then? Is it not the same? Or is the WWW a subset of the internet?
Pls help me understand
The internet is a global system of interconnected computer networks, upon which WWW is only one of the usable protocols, being used for multimedia (text+audio+graphic) information, which makes WWW part of the Internet.
In example, FTP which is a file transfer protocol, is part of the internet functionality, but not a part of WWW (but can be used as an ftp link as part of web page).
This is the reason why every web site address starts with http(s):// - you are telling the browser that you are using the http(s) protocol which is the protocol used by the World Wide Web.
Hope it was clear...
The internet is a global network of interconnected computer networks, while the World Wide Web (also known as the Web) is a collection of documents and other resources, linked by hyperlinks and URLs, that are accessed via the internet. The internet is the infrastructure that allows for the communication and transfer of data, while the Web is a way to access and share that data.
To use the internet, you need a device such as a computer, smartphone, or tablet, and a way to connect to the internet, such as through a wireless network or an internet service provider (ISP). Once connected to the internet, you can use a web browser to access the Web and view websites, as well as send and receive email, participate in online discussions, and more.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 7 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Improve this question
I have a small doubt regarding the LAN as i Havesome pcs in my office i want to connect them internally with the little cable connection but i don't want to use any internet activity from them.(purpose is the share the data internally and no use of internet).
And i have some more selected people who want to use the internet access so i want to give some special access for internet for that selected laptops.
Iam a kid in networks as i don't have any idea how i can start and move with the project suggestions are mostly accepted
You can do the following :-
Establish a small LAN connection in your office which will consist of those selected PC's which are not intended to run internet at all! You can simply establish LAN connection using routers and switches! Then,develop a small web-server like thing on one of the PC's which will work as server and the rest will work like clients! You can simply set up a distributed server which will take care of synchronisation things too(but, that is not advisable for a basic OR a newbie)!
But, simply multiple-clients and a server is what you need to
establish using LAN connection for and make network file-sharing access permissions for all the systems... There are several softwares to transfer files and internally communicate like a small mail-server intended for OS like Windows,Linux,etc.
Next for those laptops which you wanna connect to internet---please establish a source of internet like any ISP and so! Next,a gain establish a small LAN connection among those PC's which you want to connect to internet to. That's it,VOILA!
Next step of yours would be simply to configure DNS setting,IP-Address of the ISP,Subnet Mask and Gateway and that is damn easy. You simply need to add it to the router settings through which all of your systems,which are intended to access internet,would be connected. If you want to achieve the first thing with these PC's, then simply establish a local web-server or mail server for file transfer or mails,etc. locally within the office.
Another possibility :-
Establish the web server communication with all the PC's connected. Connect all the PC's and laptop to router's and switches as desired. Keep a note of IP-Address of all the PC's and laptops. Now, install a web-filter/firewall which will restrict users from accessing internet based on their hostname & IP-Address. Remember for this to take place, all the systems must have static IP-Address allocation,not the DHCP configuration!
I guess these are some of the possible steps. But,there can be several effective steps too...
Best wishes from my side!
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I've heard it's meant to be a security feature, but it often seems like a security problem. If I want to write a server that uses a privileged port, not only do I have to worry about how secure my code is, I have to especially worry about whether I'm using setuid right and dropping privileges.
True. But it also means that anyone talking to you knows that you must have to root privileges to run that server. When you log in to a server on port 22 (say), you know you're talking to a process that was run by root (security problems aside), so you trust it with your password for that system, or other information you might not trust to anyone with a user account on that system.
Reference: http://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html.
Edit to elaborate on the reasoning: a lot of the most important network services - telnet (yes, it's still used - surprisingly often), SSH, many HTTP services, FTP etc. etc. - involve sending important data like passwords over the wire. In a secure setup some sort of encryption, whether inherent in the protocol (SSH) or wrapped around it (stunnel, IPSec), protects the data from being snooped on the wire, but all these protections end at the server.
In order to protect your data properly, you need to be sure that you're talking to the 'real' server. Today secure certificates are the most important way of doing this on the web (and elsewhere): you assume that only the 'real' server has access to the certificate, so if you verify that the server you're talking to has that certificate you'll trust it.
Privileged ports work in a very similar way: only root has access to privileged ports, so if you're talking to a privileged port you know you're talking to root. This isn't very useful on the modern web: what matters is the identity of the server, not its IP. In other types of networks, this isn't the case: in an academic network, for example, servers are often physically controlled by trusted staff in secure rooms, but students and staff have quite free access as users. In this situation it's often safe to assume you can always trust root, so you can log in and send private data to a privileged port safely. If ordinary users could listen on all ports, you'd need a whole extra layer to verify that a particular program was trusted with certain data.
You don't say what platform you are using, but on Linux at least you can use capabilities (specifically CAP_NET_BIND_SERVICE) to allow a non-root process to listen on a port less than 1024. See, for example, Is there a way for non-root processes to bind to "privileged" ports on Linux?
Another alternative is to set up iptables rules to forward traffic from the privileged port to the non-privileged port (I've used this in production, and it's fairly simple and works well). It's also described in the above link.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I've recently become aware that there's a distinction between IP multicasting (which apparently doesn't work that well on the public internet) and application multicasting (which is apparently used in IRC and PSYC, per http://en.wikipedia.org/wiki/Multicast).
Is there a good tutorial on implementing application-level multicasting?
I thought the whole point of multicast was to reduce bandwidth for common network segments, so it's hard for me to understand what application-level multicast does.
The purpose of IP level multicasting is to reduce bandwidth for common network segments where many users wish to receive the same traffic. It's usually limited to one particular subnet and an IP router won't propagate the multicast beyond the subnet. This is done for scalability reasons - it wouldn't be a good idea to allow one host to originate multicast packets which are propagated to every IP address on the internet.
There are different ways to think of "application level" multicasting. One approach is to build a multicast tree using the host computers participating in the multicast. Dijkstra's algorithm could be used to do this (Wikipedia has a reasonable description of this). However, maintaining the list of participating computers - and keeping the tree up to date - can be a fair amount of work if hosts are joining and leaving the network at a substantial rate. And you probably don't have a good estimate of hop cost available at the application level.
Another approach you should review is the flooding algorithm used in the Gnutella network's query routing protocol. (Wikipedia also has a good description of this.) This approach alleviates the need to build a multicast tree, but it has the downside of generating more network traffic. In fact, a LOT more network traffic, as the traffic grows with the square of the number of nodes, i.e. O(n**2).
Another example of application multicasting is using JGroups in Amazon EC2 or Google App Engine as they do not support IP multicast but developers want to use multicasting functionality.