[jboss-jira] [JBoss JIRA] Commented: (JGRP-494) Investigate marshalling format to simplify wireshark / ethereal plugin
Richard Achmatowicz (JIRA)
jira-events at lists.jboss.org
Tue Jul 1 11:12:32 EDT 2008
[ http://jira.jboss.com/jira/browse/JGRP-494?page=comments#action_12419504 ]
Richard Achmatowicz commented on JGRP-494:
------------------------------------------
It may be that we need to reopen this issue.
Here's the problem. When dissecting JGroups over TCP, we have to take account of two things due to the stream-orientation of TCP:
(i) a large TP bundle may be split into several TCP fragments
(ii) several small TP bundles may be placed into one TCP fragment
Reassembly of TP bundles will occur at the receiving TCP peer end, but Wireshark captures the fragments before reassembly, in between
the peers so to speak, and so the Wireshark plugin writer has to do the reassembly herself.
Reassembling TCP fragments is very very simple if we have a field in the TP header which describes the length of the entire TP bundle.
We can then say to Wireshark - "reassmble enough TCP fragments until you get a buffer with at least this length". Dissection on a complete
TP bundle can then proceeed in a straightforward fashion.
Without this information, we never know if we have a complete TP bundle in the buffer, and so have to dissect the TCP fragment "on the fly" -
checking before each read from the buffer if we have enough data in the buffer left; in that case that there is not enough data, request the
reading of another TCP fragment. This complicates processing quite a bit.
So - in summary, having the total length of a TP bundle in the TP header would help greatly with TCP processing.
> Investigate marshalling format to simplify wireshark / ethereal plugin
> -----------------------------------------------------------------------
>
> Key: JGRP-494
> URL: http://jira.jboss.com/jira/browse/JGRP-494
> Project: JGroups
> Issue Type: Feature Request
> Reporter: Bela Ban
> Assigned To: Bela Ban
> Fix For: 2.5
>
>
> Currently, parsing JGroups network data via wireshark is difficult:
> - message lists don't have (a) total number of bytes and (b) bytes/message and
> - headers don't have (a) total bytes for all headers and (b) bytes / header
> Investigate whether we can change the marshalling format to accommodate the wireshark plugin. This has the nice side effect that the JGroups wire format becomes standardized, ie. each header has the same format. This allows us to display a header even if we don't know how to parse it. In this case, we'd simply display the name and number of bytes.
> Caveat: we want to avoid having to make messages bigger when marshalled.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list