fig6 shows steps for creating a merged sequential list of the auto - negotiation ordered sets generated by two nodes attempting to establish a link over gigabit ethernet . one node , node 1 , initiates the training and negotiation process 600 by sending an auto - negotiation ordered set over channel 1 , to which the other node , node 2 , eventually responds over channel 2 . the protocol analyzer captures each auto - negotiation ordered set 601 in a hardware capture buffer for each channel . the protocol analyzer software then traverses the capture buffer of each channel , looking for timestamps which are followed by ten - bit codes carrying the codes / c1 / or / c2 /. these codes translate to k28 . 5 or d21 . 5 , for / c1 /, and k28 . 5 or d2 . 2 , for / c2 /. the k prefix indicates that the code is a control code , and the d prefix indicates that the code is a data code . the software then parses the auto - negotiation ordered sets 602 , using the algorithm that the smaller timestamp is selected first , and , if both timestamps have the same value , the auto - negotiation ordered set from channel 1 is selected first . the software continues to traverse the capture buffers and parse the auto - negotiation ordered sets , merging the auto - negotiated ordered sets based upon their timestamps , until either an idle code is seen on each channel , indicating that the link is established 604 , or the buffer for each channel has been exhausted . it will be appreciated that a parsing algorithm based on criteria other than timestamps may also be used to create a merged list for troubleshooting a link failure . the steps performed in creating a merged sequential list in one embodiment are shown in fig7 . the software captures the auto - negotiation ordered sets 701 , and creates a merged sequential list 702 using the parsing algorithm described in connection with fig6 . the software identifies the register values 703 . the software converts each pair of ten - bit codes , corresponding to the register value , to a sixteen - bit word , and then decodes the individual bits within the sixteen - bit word 704 . as discussed above , the bits within the sixteen - bit word indicate communication requirements and capabilities of the node sending the sixteen - bit word . for example , as shown in fig8 d , if the tenth bit is set to 1 , half - duplex communication is enabled , and if it is set to zero , half - duplex communication is disabled . fig8 a shows the main window of version 3 . 0 of the sniffer pro software for gigabit ethernet topology . information relating to packet capture , network utilization , and errors is displayed in this window . captured information , including frames and auto - negotiation ordered sets , may be viewed using several tab windows , including expert , decode , matrix , host table , protocol distribution and statistics . fig8 b shows the decode tab window , which has three panes . the top pane , the summary pane , shows all the frames and auto - negotiation ordered sets , merged and in chronological sequence . the status column indicates whether the frame or auto - negotiation ordered set comes from channel a ( node 1 ) or channel b ( node 2 ). for frames , the source and destination are provided . the timestamp for each frame or auto - negotiation ordered set is provided , as well as the absolute time of frame arrival . the second pane , the detail pane , shows the protocol decode of the frame / auto - negotiation ordered set — in this figure , the detail pane shows a decode of a frame , which is highlighted in the summary pane . the third pane , the hex pane , shows the bytes of a frame in hexadecimal , or shows the ten - bit code of an auto - negotiated ordered set — again , in this figure , the hex pane shows a decode of a frame , which is highlighted in the summary pane . fig8 c shows the decode tab window again , but with an auto - negotiation ordered set highlighted , instead of a frame . the detail pane thus shows the decoded information contained in the auto - negotiation register , informing the user that the configuration is no error , link ok , both symmetric and asymmetric pause toward local device , and only full duplex enabled . for example , the decoded information contained in the tenth and eleventh bits of the auto - negotiation register value is displayed : the node sending this register value has half - duplex disabled and full - duplex enabled . therefore the user need not examine the hexadecimal information or the raw binary information , provided in the hex pane , and look up the corresponding decoded information in the ieee 802 . 3z standard . note that both headers , / c1 / and / c2 /, are shown for the auto - negotiation ordered set , and that the auto - negotiation register values following each header are the same . using the decode window , the user can easily walk through the sequential auto - negotiation ordered sets , viewing the decoded information , and determine what led to a link failure . for example , if node 1 will only communicate in full - duplex , and node 2 will only communicate in half - duplex , no agreement will ever be reached . this will be readily apparent to the user . or , if one node is improperly programmed , so that it will be unable to negotiate , the link may fail : for example , if a node receives a register value , and through an error in its negotiation program fails to acknowledge that register value , the other node will continue to send the same register value , and the negotiation will not progress . again , this would be apparent to a user viewing the sequential decoded auto - negotiation ordered sets . each of the three panes in the decode tab window may be viewed separately : fig8 d shows the summary pane alone ; fig8 e shows the decode pane alone ; and fig8 f shows the hex pane alone . two additional tabs , the statistics tab and the expert tab , provide analysis of the auto - configuration ordered sets . the statistics tab , shown in fig8 g , tracks the number of auto - negotiation ordered sets in the capture buffer , and the number of individual ten - bit codes in the capture buffer . the expert tab , shown in fig8 h , provides diagnoses and symptoms of problems at each international standards organization ( iso ) communications layer . the auto - negotiation ordered sets are analyzed to provide symptoms at the physical layer — why the auto - negotiation process is failing . in addition , the expert tab provides a diagnosis of the likely cause of the problem , based on an analysis of the symptoms causing link failure . the remaining tabs — the matrix tab , the host tab , and the protocol tab — are directed to frame analysis , and do not provide analysis of the auto - negotiation ordered sets . the expert tab is shown in fig8 h without the auto - negotiation expert analysis . the top - level expert table identifies the number of objects , symptoms and diagnoses identified by the expert at each level . for the auto - negotiation expert analysis , an object will correspond to receipt of an auto - negotiation ordered set by the protocol analyzer . when highlighted by the user , an object table for the auto - negotiation expert analysis will show the starting and ending configuration requested by each party , and whether the link is up — that is , whether an agreement was reached . a “ 1 ” in the symptom column in the top - level expert table indicates that a link is down . the user may also highlight the symptoms for the auto - negotiation expert analysis , and a symptom table will indicate where the auto - negotiation process failed — for example , too many code violation errors occurred , or the configurations of the two nodes were unmatched . finally , the user may highlight the diagnoses button , and the probable cause of the identified symptom will be provided : for example , that node 1 is not responding to the correct auto - negotiation algorithm . fig9 outlines the steps taken by the expert analysis portion of the protocol analyzer . when the protocol analyzer receives an auto - negotiation ordered set 900 , it creates an auto - negotiation ordered set object 901 , which is identified in the top - level expert table 900 in fig9 . the software tracks and decodes the first configuration register value for each node , as well as the final configuration register value for each node 952 and whether an agreement is reached 903 , as indicated by both nodes sending the “ idle ” signal . if the link fails , the software analyzes the symptom of the failure 904 : whether it was caused by code violations , unmatched configurations , a failure to acknowledge receipt of register values , or some other cause . finally , based upon a look - up table , the software identifies a likely diagnosis for the identified symptom 905 : for example , that the code violation errors may have been caused by a damaged optic fiber . in conjunction with the software functionality description provided in the present disclosure , a system in accordance with the preferred embodiments may be programmed using methods known in the art as described , for example , in homer & amp ; ullman , instant ie 4 dynamic html programmer &# 39 ; s reference , wrox press ( 1997 ), francise et . al ., professional active server pages 2 . 0 , wrox press ( 1998 ), and zaration , microsoft c ++ 6 . 0 programmer &# 39 ; s guide , microsoft press ( 1998 ), the contents of each of which is hereby incorporated by reference into the present application . while preferred embodiments of the invention have been described , these descriptions are merely illustrative and are not intended to limit the present invention . for example , while the disclosure addresses primarily gigabit ethernet , the scope of the preferred embodiments is not so limited . those skilled in the art will recognize that the disclosed software and methods are readily adaptable for broader network analysis applications .