- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: TCPIP connectivity problems
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-22-2005 09:14 PM
09-22-2005 09:14 PM
TCPIP connectivity problems
VMS 7.3-2, TCPIP 5.4. ECO level unknown (both VMS and TCPIP)
Two issues I think may be related.
In both cases, data is transferred by a program on one node to another program on another node (not clustered) over TCPIP.
The message layout is always the same: 6 bytes containing data size, then the string containing the data - exactly the size specified. Kind of "variablë size with fixed prefix".
Sending these messages imply:
* Determine exact size of payload in bytes
* Convert this into a 6-byte ASCII string and send that 6 bytes to the socket.
* Send that number of bytes of the data to be sent, to the socket.
This repeats until all data is sent, after which an "end-of-data" message is sent (typically "000003STP").
The receiving process is a TCPIP service, and will run a program that will read the socket in this way:
* Read 6 bytes from SYS$NET, convert it to a number
* Read that number of bytes from SYS$NET and process this data
* continue until the message is "STP"
Some programs will end running, others will wait for the next message (state: HIB) and continue to stay active until an EXIT message is received (or the process is killed).
All IO over TCPIP is done by socket IO, (send and recv, both in C-code)
Issue 1.
A program sends huge amounts of data to another program that will once in a while acknowlegde receipt. The connection may stay live and active for hours. In some specific cases however, reading the size or the data will all of a sudden come to an more or less abrupt stop. one or two bytes are read, but then all transport sems to be stalled and the read will timeout. The program will retry, but no more data is found. However, it has been sent by the sending program.
In this case, the weirdest thing is that after restart, when the same record is sent again, the very same thing may happen. Note: MAY - in most cases it will, but in some the data could be received and proceessed - and we found nothing, what so ever, that could have caused the problem.
Issue 2.
A program sends a request (< 250 bytes), which is received and processed by the receiving program. This handles the request and drops a message containing the answer on the socket, the size may be < 40 characters or over 32K in total - but even the smallest is received in chuncks of 4-5 bytes at a time.
In some cases, a request is sent, but not delivered: either the service isn't even started, or it is not received by the listener.
In other cases, ït is recognized that data is sent to tye socket, but when the program requests the stream, nothing is found, but the connection still exists - the sender hasn't dropped the line.
The weird thing is that connections originating on this node, have no trouble at all. It's always a problem with connections that originate OUTSIDE the node.
Any ideas?
OpenVMS Developer & System Manager
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-22-2005 09:43 PM
09-22-2005 09:43 PM
Re: TCPIP connectivity problems
Probably you have checked for the network addapter and switch settings (speed and mode). A few days ago I have a problem where alpha to switch settings was ok but settings betwen two switches were not (one switch set to autonegotiate and another to fixed).
The second thing. Is the socket set to FIONBIO? If yes there is a common programming error.When sending to the socket, the programmer doesnt test the status (WOULDBLOCK) and resend the data. This works ok on a single system (or two adjacent nodes) but not when the connection is slow or one of the systems or the network is busy.
Bojan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-22-2005 10:28 PM
09-22-2005 10:28 PM
Re: TCPIP connectivity problems
Thanks for the quick reply.
On the connection itself: This is to be part of the investigation - but it's another group I have no connection with. Just ask them to look and wait.
On the "programming error": Agreed when both parties could send the same time (I have such a set of programs), but that is not the case here. In both cases, we use a synchronous protocol, where send and receive will never interfere: The next message is not sent before the previous has been processed (as proven by receiving an ACK from the recipient, or a message from the sender). Also, for the first message sent, it would never block since the receiving process istn't there anyway - and still this may fail sometimes.
Willem
OpenVMS Developer & System Manager
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-04-2005 12:01 PM
10-04-2005 12:01 PM
Re: TCPIP connectivity problems
If there are multiple routers between the source and the destination, then the following might explain issue 1.
There are multiple routers between the source and destination. These routers have different MTU sizes. Normally the traffic between the source and destination goes through router A (say, with MTU size of 1500). When router A fails, the traffic goes through router B (say, with MTU size of 536). This would be OK, if the frames sent from the source do not have the flag "Don't Fragment" set. However if this "Don't Fragment" flag is set, the frame will be dropped by router B.
Just a wild guess.
Thanks and regards.
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-04-2005 06:07 PM
10-04-2005 06:07 PM
Re: TCPIP connectivity problems
Did you check the tcp counters (ucx sho prot) and check the tcptrace ?
Or post it over here.
Wim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-22-2005 12:45 AM
10-22-2005 12:45 AM
Re: TCPIP connectivity problems
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-10-2005 02:28 AM
11-10-2005 02:28 AM
Re: TCPIP connectivity problems
This is still under investigation - but low priority.
The secind issue turned out to be a problem on "the other side" - some mismatch in that environment.
Anyway, it seems the problems have disappeared.
OpenVMS Developer & System Manager