[Opensim-dev] Modifying the networking stack
Melanie
melanie at t-data.com
Fri Nov 14 02:53:23 UTC 2014
I would tend to agree with Diva at this point. Simple socketpairs
are what I would have advocated a few years ago - and did advocate -
but the internet is a different place now.
There is much more focus on only the HTTP protocol, more transparent
proxying and more QoS filtering that can interfere with anything not
http.
Furthermore, firewall traversal / use at office scenarios are
becoming more important as well. Most corporate firewalls pass
nothing but http and filter the sites they allow that for.
The advantage of TCP socket pairs to implement reliability don't
appear to outweigh the disadvantages at this point.
- Melanie
On 13/11/2014 22:50, Diva Canto wrote:
> What problem are you trying to solve? It's hard to comment without
> knowing what you want to achieve, but here are some random observations
> that you may want to take into account.
>
> As far as I remember, the reliable packets are a very small percentage
> of the UDP traffic at this point, so I'm not sure it's worth creating a
> dedicated TCP channel for them. Moving the HTTP traffic to the same TCP
> connection seems like a bad idea, as the HTTP traffic tends to be
> dominated by big data (textures, assets, etc) which would then get in
> the way of the small packets like AgentOnline, etc. I suspect it would
> make the client less responsive than what it is now.
>
> There is already support for WebSockets in OpenSim. It may not be
> complete, so I would encourage you to build on that. I am aware of WebGL
> clients that use WebSockets with OpenSim, and they have the same problem
> as described above: the big data gets in the way of the small packets,
> making the clients less responsive at points. But since WebGL is
> inevitable, your effort is probably best invested in this than in a TCP
> channel.
>
> Best,
> Diva
>
> On 11/13/2014 1:18 PM, Michael Heilmann wrote:
>> Greetings everyone
>>
>> I and another MOSES developer are going to be looking at the
>> client/server network stack, as well as the processing queue's used
>> for incoming and outgoing packets. I am going to see if I can
>> implement a client stack on opensim and firestorm that uses the
>> traditional TCP/UDP pairing for this type of client<->server
>> relationship. I have two thoughts, but I am interested in hearing if
>> you have ideas or insight into this particular space.
>>
>> Idea 1:
>> Add a dedicated tcp port next to the UDP port, and move reliable
>> transport transmissions to the tcp port. I am uncomfortable
>> increasing the required ports for each region, but the http server is
>> in the way. I can look to move all communications from http to a tcp
>> socket-server type of deployment, at the expense of simple POST/GET
>> operations
>>
>> idea 2:
>> Look into increasing the performance of the http server of the
>> regions, as well as testing/implementing a full websockets
>> implementation, and using the websockets upgrade for consistent client
>> connections. This could eventually lead to javascript-based clients,
>> and does not remove http functionality.
>>
>> Either idea would see any traffic requiring reliable transport shifted
>> off of the current UDP stack, and onto the tcp reliable transport.
>> Either idea also will require modifications to a client to match. I,
>> and another developer here, would be developing the client code, the
>> region code, and testing against a MOSES deployment. As we are MOSES
>> developers, we would be working against simian instead of Robust; so
>> there would be a gap for regular Robust-based grids.
>>
>> If you could lend me your opinions about these ideas, the management
>> queues, associated problems in opensim, etc, I would really appreciate
>> it. We would be working completely in the open on github, and obeying
>> all licensing. We would welcome any and all cooperation, and we will
>> cooperate ourselves wherever we are welcome, but we are not interested
>> in avoiding positive changes to maintain SecondLife compatibility.
>>
>> Thanks.
>>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>
>
More information about the Opensim-dev
mailing list