On Mar 9, 2009, at 5:57 AM, Stringer, Rich (R.) wrote:
Hello All,
I am trying to analyze packets between two Microsoft Biztalk
servers. I am looking for two things.
1. 1st server requesting a session with the 2nd server.
2. Confirmation that the communication session is setup / ack'd.
This is the primary focus of my search.
3. 1st Biztalk sends an XML message to the 2nd Biztalk server.
4. 2nd Biztalk servers sends a response to the 1st Biztalk server
ack'ing that the message was received.
What are the packet characteristics that I should be looking for?
That depends on whether setting up a session is done purely at the
transport protocol layer or if Biztalk requires its *own* session
setup once a transport-layer session is set up.
What does the presence of the PSH, SYN, and ACK flags mean?
The presence of the TCP PSH flag means nothing in this context. (See
RFC 793 for a discussion of what it means.)
When setting up a TCP session:
the machine initiating the session sends to the machine with which
it's trying to initiate a session a packet with the SYN flag set;
if the machine receiving that packet is willing to set up the
connection, it acknowledges the SYN with a packet with ACK set, as
well as saying it's willing to accept the connection by setting the
SYN flag in that packet as well;
the machine receiving the SYN+ACK packet acknowledges the SYN with an
ACK.
See RFC 793 for a detailed discussion of setting up TCP connections.
Note that no XML messages are likely to be sent until the connection
is set up, so the SYN flag is independent of any Biztalk messages.
Once the connection is set up, the ACK flag is used to acknowledge
that, *at the transport layer*, TCP data has been received. The
Biztalk layer doesn't know anything about TCP-layer acknowledgments,
so, in the case of
3. 1st Biztalk sends an XML message to the 2nd Biztalk server.
4. 2nd Biztalk servers sends a response to the 1st Biztalk server
ack'ing that the message was received.
there could be two separate responses "ack'ing that the message was
received" - one could be an ACK at the TCP layer indicating that a TCP
segment containing some or all of the first XML message was received
(there is no guarantee that a single Biztalk message will be in a
single TCP segment), and, once all of the segments containing the XML
message have been received and the message is delivered to the Biztalk
server code, it might send a reply at the Biztalk layer saying that
the Biztalk XML message was received (I don't know how the Biztalk
protocols work, so I don't know if it would bother sending such an
acknowledgment or not).