Author Topic: Accessing HTTP server remotely.  (Read 9131 times)

Offline aloft

  • Newbie
  • *
  • Posts: 18
    • View Profile
Accessing HTTP server remotely.
« on: November 03, 2008, 07:18:16 PM »
Hi Mark.

uTasker is working well inside my own local network.

However, I'm having problems accessing my LM3S6965 EVK uTasker HTTP server remotely.  I can access it locally (from the same side of the router) but I can't see the webpages from an external computer.  I've verified that I can see another server fine so I'm fairly certain my router setup is OK.  In fact, I can view a small <1K uTasker webpage remotely just fine.

I've sent the ethereal captures separately in a private email.   It appears to me that the issue starts when the message is broken into pieces.  Is there a certain setup or configuration parameter that I'm missing?

Thanks,

TW

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
Re: Accessing HTTP server remotely.
« Reply #1 on: November 04, 2008, 02:03:17 PM »
Hi

I studied the three recordings that you sent me:
case 1: - internal - works normally
case 2: - externally sending just 1 TCP frame - works normally
case 3: - externally sending multiple TCP frames. Doesn't work.

I have to admit to not understanding how this takes place. What is seen is that the client is connecting normally and the uTasker web server is serving 2 HTTP frames. The client is not accepting these but instead is acknowledging zero bytes of data. The external connection has quite a long delay of about 0.5s but this shouldn't make any difference.
The uTasker server retransmits the data (seeing as it was not acknowledged - which is correct behaviour) and it continues with the same error, repeatedly trying again.

What is not visible is why the (external) client is not accepting the data - it is accepting exactly teh same data when connected internally. The client TCP stack is advertising a reception window of 64k so it certainly has enough memory to receive 2 TCP frames. It is also responding to the data (with an ACK) but with an ACK counter confirming zero data has been accepted.

The uTasker HTTP server is therefore not doing anything differently than normal but the client is responding differently.

You mention that you have another server which works. Could you send me a recording from this one?

What you could try (more a test than a solution) is to stop the uTasker HTTP server from using windowing so that it only sends one TCP frame at a time (as in the small file case which seems to work). Simply remove #define HTTP_WINDOWING_BUFFERS     2 from config.h

If possible, also record the network activity at the client. It may be that it is sending different content but the router is changing something (although I have never seems something like this happening...)

regards

Mark


Offline aloft

  • Newbie
  • *
  • Posts: 18
    • View Profile
Re: Accessing HTTP server remotely.
« Reply #2 on: November 08, 2008, 05:28:14 AM »
Thanks for your input, Mark.

Yes, your comment about the router may be correct.  I'm having a problem capturing an ethereal trace with the LwIP server which works.  I did send the client side trace, but I don't think it reveals much.

I tried commenting out the Windowing but that didn't change anything.

If I can get a better network trace, I'll send that along.

Thanks again,

TW

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
Re: Accessing HTTP server remotely.
« Reply #3 on: November 08, 2008, 08:30:28 PM »
Hi

In the traces there is either missing data or some frames are just not getting through...(???).

It is best to record using a hub connected to the device whos traffic it to be recorded. If you connect the recording PC to a switch it will probably not be 'seeing' all traffic. I think that a managed switch can be set to a mode which allows recording but I haven't actually used a managed switch since I have a couple of hubs which I have kept for this job (hubs are difficult to buy nowadays since almost only switches are sold).

Regards

Mark