Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. IT & Infrastructure
  4. Network (?) question

Network (?) question

Scheduled Pinned Locked Moved IT & Infrastructure
sysadminquestionc++comarchitecture
5 Posts 2 Posters 15 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Kosta Cherry
    wrote on last edited by
    #1

    Hi all, I have somewhat stupid question about network architecture. May be I'm even looking into the wrong direction, but I just don't know where else to start looking. I need a client to connect to "mysupercoolservice.com" at some port, and then server will start streaming data to the client. I understand, how it is done in case of one computer, and I worked a little with sockets. But I have no idea how to handle situation for many servers. I mean, when client connects, it is looking for IP or name of my service site, and provides specific port. This combination can point to only one NIC, right? But what I need is that when one server is already handling enough clients, then new client is connected to a different server. But client needs to know only one IP and port number! How this can be done? Load balancing (i.e. making decision WHICH server to connect), I do with my own software - that part I understand. I don't understand how to have client, that connects to particular IP/port, routed to the different server without closing client connection and reopening it with new IP/port combination. I did read about clusters, but there is always "head" server, that monitors usage. What if it goes down - other servers become useless? Sorry, I'm complete novice in network topology/logic, although have very good C++ experience. Thanks in advance for answers!

    M 1 Reply Last reply
    0
    • K Kosta Cherry

      Hi all, I have somewhat stupid question about network architecture. May be I'm even looking into the wrong direction, but I just don't know where else to start looking. I need a client to connect to "mysupercoolservice.com" at some port, and then server will start streaming data to the client. I understand, how it is done in case of one computer, and I worked a little with sockets. But I have no idea how to handle situation for many servers. I mean, when client connects, it is looking for IP or name of my service site, and provides specific port. This combination can point to only one NIC, right? But what I need is that when one server is already handling enough clients, then new client is connected to a different server. But client needs to know only one IP and port number! How this can be done? Load balancing (i.e. making decision WHICH server to connect), I do with my own software - that part I understand. I don't understand how to have client, that connects to particular IP/port, routed to the different server without closing client connection and reopening it with new IP/port combination. I did read about clusters, but there is always "head" server, that monitors usage. What if it goes down - other servers become useless? Sorry, I'm complete novice in network topology/logic, although have very good C++ experience. Thanks in advance for answers!

      M Offline
      M Offline
      Moak
      wrote on last edited by
      #2

      I try to give an answer (not sure if I understood your question): Possibility one: Use a software proxy service between clients and servers, relay the connection to the best available server. From the client side it looks like they are connected to the proxy server (i.e. HTTP proxy server). Possibility two: Use a hardware load balancer which acts like a intelligent switch, it will reroute new incoming connections and forward traffic to one of many servers. On the client side no changes needed. Possibility three: Use an intelligent peer-to-peer protocol, where client negotiates with the cloud who will service the client's request and the client will then directly connect to that IP (i.e. Bittorent, Gnutella). Hope this helps :) /M

      Chat in Europe :java: Now with 24% more Twitter

      K 1 Reply Last reply
      0
      • M Moak

        I try to give an answer (not sure if I understood your question): Possibility one: Use a software proxy service between clients and servers, relay the connection to the best available server. From the client side it looks like they are connected to the proxy server (i.e. HTTP proxy server). Possibility two: Use a hardware load balancer which acts like a intelligent switch, it will reroute new incoming connections and forward traffic to one of many servers. On the client side no changes needed. Possibility three: Use an intelligent peer-to-peer protocol, where client negotiates with the cloud who will service the client's request and the client will then directly connect to that IP (i.e. Bittorent, Gnutella). Hope this helps :) /M

        Chat in Europe :java: Now with 24% more Twitter

        K Offline
        K Offline
        Kosta Cherry
        wrote on last edited by
        #3

        Thank you, you understood correctly. First two possibilities are not good as when proxy server (or any other type of root server), or hardware server goes down, service gets interrupted for all clients - not just one set of them. Possibility three was the one that I considered, but first I wanted to check how "big boys" (i.e huge corporations) are doing that. Do they all have that unreliable schema with one entry point? It's kind of hard to believe. I must be missing something.

        M 1 Reply Last reply
        0
        • K Kosta Cherry

          Thank you, you understood correctly. First two possibilities are not good as when proxy server (or any other type of root server), or hardware server goes down, service gets interrupted for all clients - not just one set of them. Possibility three was the one that I considered, but first I wanted to check how "big boys" (i.e huge corporations) are doing that. Do they all have that unreliable schema with one entry point? It's kind of hard to believe. I must be missing something.

          M Offline
          M Offline
          Moak
          wrote on last edited by
          #4

          Hi, there are more possibilities. You can load balance with a DNS server (round robin DNS), clients will receive IP addresses from a list instead of a single IP. You can also buy hardware router solutions with failover (redundant systems), one switch goes down another springs into action. See if this Wikipedia article helps: Load balancing[^]. A network administrator working at a bigger company/ISP/telecom might be able to give you more information. /M

          Chat in Europe :java: Now with 24% more Twitter

          K 1 Reply Last reply
          0
          • M Moak

            Hi, there are more possibilities. You can load balance with a DNS server (round robin DNS), clients will receive IP addresses from a list instead of a single IP. You can also buy hardware router solutions with failover (redundant systems), one switch goes down another springs into action. See if this Wikipedia article helps: Load balancing[^]. A network administrator working at a bigger company/ISP/telecom might be able to give you more information. /M

            Chat in Europe :java: Now with 24% more Twitter

            K Offline
            K Offline
            Kosta Cherry
            wrote on last edited by
            #5

            Thank you for the hints! Based on them, I found this excellent basic description: http://www.wilsonmar.com/1loadbal.htm[^] Now looking for VRRP freeware on Windows :)

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups