SCTP Administrator's Guide HP-UX 11i v2, HP-UX 11i v3 HP Part Number: 5992-4577 Published: April 2008 Edition: 1
© Copyright 2007–2008 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Table of Contents About This Document...................................................................................................................11 Intended Audience.............................................................................................................11 Document Organization.....................................................................................................11 Typographic Conventions...............................................................................
Index..........................................................................................................................................
List of Figures 1-1 SCTP Product Architecture.........................................................................................
List of Tables 1-1 1-2 SCTP Parameters Supported by the ndd Command..................................................18 Minimum, Maximum, and Default Values of SCTP Parameters Supported by the ndd Command............................................................................................................
List of Examples 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 Command to Get the Value of an SCTP Parameter....................................................27 Command to Set the Value of an SCTP Parameter.....................................................28 Sample output of ndd -h |grep sctp and ndd –h sctp_rto_max command.....................................................................................................................29 Configuring an SCTP Parameter in the /etc/rc.config.
About This Document This document describes how to administer the various utilities for troubleshooting and monitoring the Stream Control Transmission Protocol (SCTP) product on systems running HP-UX 11i v2 and HP-UX 11i v3. It also describes the SCTP product architecture. The document printing date and part number indicate the document’s current edition. The printing date will change when a new edition is printed. Minor changes may be made at reprint without changing the printing date.
Computer output Ctrl+x ENVIRONMENT VARIABLE [ERROR NAME] Key Term User input Variable [] {} ... | WARNING CAUTION IMPORTANT NOTE 12 Text displayed by the computer. A key sequence. A sequence such as Ctrl+x indicates that you must hold down the key labeled Ctrl while you press another key or mouse button. The name of an environment variable, for example, PATH. The name of an error, usually returned in the errno variable. The name of a keyboard key. Return and Enter both refer to the same key.
Related Information The following related documents are available for the SCTP product: • SCTP Programmer's Guide at: http://docs.hp.com/en/netcom.html • SCTP Release Notes at: http://docs.hp.com/en/netcom.html • Request for Comments (RFC) documents: — RFC 2960 (Stream Control Transmission Protocol) at: http://www.ietf.org/rfc/rfc2960.txt?number=2960 — RFC 3286 (An Introduction to the Stream Control Transmission Protocol (SCTP)) at: http://www.ietf.org/rfc/rfc3286.
— draft-stewart-sctp-pktdrprep-02.txt (Stream Control Transmission Protocol (SCTP) Packet Drop Reporting) at: http://tools.ietf.org/html/draft-stewart-sctp-pktdrprep-02 — draft-ladha-sctp-nonce-01.txt (ECN Nonces for Stream Control Transmission Protocol (SCTP)) at: http://tools.ietf.org/html/draft-ladha-sctp-nonce-05 HP Encourages Your Comments HP encourages your comments concerning this document. We are committed to providing documentation that meets your needs.
1 Introduction This chapter introduces the Stream Control Transmission Protocol (SCTP). It also discusses the SCTP architecture and the utilities you can use to troubleshoot and monitor and the SCTP product.
The endpoints of an association communicate with each other using these addresses. These addresses also serve as the point of origination for the SCTP packets. The association spans across all possible source or destination combinations, which may be generated from each endpoint's lists. For more information on the SCTP architecture, see the SCTP Programmer’s Guide available at: http://docs.hp.com/en/netcom.html Figure 1-1 illustrates the SCTP product architecture.
— — — — — The netstat command The ndd command The nettl command Start and Stop script The sctpd application The SCTP module: The SCTP module is a multiplexing driver that interacts with the application and the IPv4 or IPv6 layer. It handles the messages received from and sent to the applications, and the messages received from and sent to the IPv4 or IPv6 layer. It contains a pair of upper (read and write) queues per application, and a pair of lower queues each for IPv4 and IPv6.
perform tracing and logging operations. For more information about the nettl command, see “The nettl Command” (page 24). Start and Stop script: The Start and Stop script enables you to start and stop the sctpd application. For more information about the Start and Stop script, see “Start and Stop Script” (page 25). The sctpd application: The sctpd application enables you to manage domain name resolution requests, to support the SCTP hostname parameter.
Table 1-1 SCTP Parameters Supported by the ndd Command (continued) Parameter Description sctp_max_path_retr Specifies the default number of times a DATA, SHUTDOWN, or HEARTBEAT message is retransmitted to a particular address of an association, before SCTP considers that address inactive. If an address is inactive, SCTP sends packets to an alternate active address, if the peer has more than one address.
Table 1-1 SCTP Parameters Supported by the ndd Command (continued) Parameter Description sctp_hb_interval Specifies the default average time (in milliseconds) between the two consecutive heartbeat requests. If this is set to 0, then heartbeats are disabled by default. However, the heartbeats are still used for address confirmation. NOTE: The time between two consecutive heartbeats is jittered at random. As a result, heartbeats will not occur at the exact time.
Table 1-1 SCTP Parameters Supported by the ndd Command (continued) Parameter Description sctp_rto_alpha Specifies the value of 'alpha', which is used to calculate the retransmission timeout. The higher the value of 'alpha', the more influence the latest round-trip time has on the current smoothed round-trip time value. The value of 'alpha' is a decimal specified in the range 0 to 1000. sctp_rto_beta Specifies the value for 'beta', which is used to calculate the retransmission timeout.
Table 1-1 SCTP Parameters Supported by the ndd Command (continued) Parameter Description sctp_pd_threshold Specifies the Partial Delivery threshold . It is a percentage and must be in the range 0 to 100. If the receive window advertised to the peer is less than or equal to this percentage, then partial delivery is enabled and the user receives fragments of messages. Partial delivery enables you to free the buffers, so that the receive window can be opened.
Table 1-2 Minimum, Maximum, and Default Values of SCTP Parameters Supported by the ndd Command (continued) Parameter Minimum Maximum Default sctp_rto_initial 1 4294967295 3000 sctp_hb_interval 1 4294967295 30000 sctp_max_burst 1 4294967295 4 sctp_ack_delay 0 500 200 sctp_bundle_timer 1 4294967295 200 sctp_val_cookie_life 0 4294967295 60000 sctp_max_cookie_pres 0 4294967295 0 sctp_rto_alpha 1 4294967295 125 sctp_rto_beta 1 4294967295 250 sctp_in_host_supported - - N
The nettl Command The nettl command is a tool used to capture network events or packets. It is also used to control the network tracing and logging. Logging is a means of capturing network activities, such as state changes, errors, and connection establishment. Tracing is used to capture or obtain a snapshot of inbound and outbound packets that pass through the network, including packet loopback or header information.
Start and Stop Script SCTP provides the Start and Stop (sctprc) script to start and stop the sctpd application. You must run this script as a superuser. This script is available at the following location: /sbin/init.
2 Troubleshooting and Monitoring the SCTP Product This chapter describes how to use the various SCTP utilities for troubleshooting and monitoring the SCTP product. This chapter addresses the following topics: • “Using the ndd Command” (page 27) • “Using the netstat Command ” (page 30) • “Using the nettl Command to Control Network Tracing and Logging” (page 37) • “Using the /etc/rc.
Example 2-2 Command to Set the Value of an SCTP Parameter To set the value of an SCTP parameter, enter the following command: ndd –set /dev/sctp sctp_rto_max 65001 When you run this command, the value of sctp_rto_max is set to 65001.
Example 2-3 Sample output of ndd -h |grep sctp and ndd –h sctp_rto_max command Following is a sample output of the ndd -h |grep sctp command: node1:>/ndd -h |grep sctp sctp_max_init_retr sctp_max_assoc_retr - Controls retransmissions of an INIT message before considering the peer unreachable - Controls retransmissions of DATA, SHUTDOWN,or HEARTBEAT before considering the peer unreachable - Controls retransmissions of DATA, SHUTDOWN,or HEARTBEAT before considering an address inactive - Receive window size
This specifies the default maximum time (in milliseconds) for the retransmission timer. Using the /etc/rc.config.d/nddconf File to Set the ndd Tunable Parameters The /etc/rc.config.d/nddconf file contains the tunable parameters that are automatically set during system startup. The /etc/rc.config.d/nddconf file contains the following fields: TRANSPORT_NAME NDD_NAME NDD_VALUE Specifies the name of the transport component. Specifies the name of the ndd tunable parameter.
To display the statistics for SCTP protocol, enter the following command: netstat -p sctp This command displays areas where the specified protocol contains problems.
Example 2-5 Sample Output of netstat —s and netstat —p SCTP command Following is a sample output of the netstat -s command: node1:/> netstat -s tcp: 6693 packets sent 5326 data packets (493808 bytes) 17 data packets (440 bytes) retransmitted 1367 ack-only packets (533 delayed) 20 URG only packets 0 window probe packets 0 window update packets 1512 control packets 12134 packets received 5024 acks (for 494234 bytes) 0 duplicate acks 0 acks for unsent data 6904 packets (5139924 bytes) received in-sequence 0 co
0 fragmented user messages 0 reassembled user messages 147 out sctp packets 147 in sctp packets 0 discontinuity time udp: 0 incomplete headers 0 bad checksums 0 socket overflows ip: 13311 total packets received 0 bad IP headers 0 fragments received 0 fragments dropped (dup or out of space) 0 fragments dropped after timeout 0 packets forwarded 0 packets not forwardable icmp: 471 calls to generate an ICMP error message 0 ICMP messages dropped Output histogram: echo reply: 469 destination unreachable: 2 source
inet18:/> netstat -p sctp sctp: 0 current established associations 3 active established 3 passive established 0 aborted 6 shutdowns 6 out of the blue packets 0 checksum errors 24 out control chunks 3 out ordered chunks 0 out unordered chunks 24 in control chunks 3 in ordered chunks 0 in unordered chunks 0 fragmented user messages 0 reassembled user messages 27 out sctp packets 27 in sctp packets 0 discontinuity time NOTE: You can read the protocol statistics for SCTP and identify problems, if any.
Example 2-6 Sample Output of the netstat –rn and the netstat –vrn commands Following is the output of the netstat -rn command: inet18:/> netstat -rn Routing tables Destination Gateway 127.0.0.1 127.0.0.1 15.70.189.228 15.70.189.228 15.70.189.0 15.70.189.228 127.0.0.0 127.0.0.1 default 15.70.189.1 Flags UH UH U U UG Refs Interface 0 lo0 0 lan0 2 lan0 0 lo0 0 lan0 Pmtu 4136 4136 1500 0 0 Following is the output of the netstat -vrn command: inet18:/> netstat -vrn Routing tables Dest/Netmask Pmtu 127.0.0.
This command displays the interfaces configured with an IP address, or with the plumb option of the ipconfig command. Example 2-7 Sample Output of the netstat -in command Following is a sample output of netstat -in command: inet18:/> netstat -in Name Mtu Network Opkts Oerrs Coll lan0 1500 15.70.189.0 50527 0 0 lo0 4136 127.0.0.0 84 0 0 Address Ipkts Ierrs 15.70.189.228 57377 0 127.0.0.1 84 0 This output displays the number of packets transmitted and received over each network.
Example 2-8 Sample Output of netstat -an and netstat -anv command Following is a sample output of netstat -an command: Proto Recv-Q tcp 0 ESTABLISHED sctp 0 ESTABLISHED tcp 0 ESTABLISHED Send-Q Local Address Foreign Address 0 127.0.0.1.49176 127.0.0.1.49166 0 15.70.190.111.4917 15.70.190.112.49167 0 127.0.0.1.49175 127.0.0.1.
Example 2-9 Sample Tracing and Logging Commands Following are sample nettl commands used for performing tracing and logging operations: • To initialize the tracing and logging facility, enter the following command: nettl -start • To check the network logging and tracing status, enter the following command: nettl -status • To start the inbound and outbound Protocol Data Unit (PDU) tracing for the SCTP subsystems and to send the binary trace messages to the /var/adm/tracefile file, enter the following co
Example 2-10 Setting the SCTP_ARGS Variable To configure the autotimer for an interface and to enable debugging for sctpd application, set the SCTP_ARGS variable in the /etc/rc.conf/sctprcconf file, as follows: SCTP_ARGS="-d –t 60" where: -d -t 60 Enables debugging for the sctpd application. Sets the autotimer to 60 seconds to poll for a new interface. NOTE: By default, the –t and –d options are defined in the SCTP_ARGS variable, and the –t option is set to 60 seconds.
Glossary Association A protocol relationship between two SCTP endpoints. The association also contains the protocol state information that includes verification tags and the currently active set of Transmission Sequence Numbers (TSNs). An association can be uniquely identified by the transport addresses used by the endpoints in the association. Bundling An optional multiplexing operation, where more than one user message can be carried in the same SCTP packet.
SACK This chunk is sent to the peer endpoint to acknowledge the received DATA chunks and to inform the peer endpoint of gaps in the received subsequences of DATA chunks as represented by their Transmission Sequence Numbers. SCTP packet The unit of data delivery across the interface between SCTP and the connectionless packet network (for example, IP). An SCTP packet contains the common SCTP header, possible SCTP control chunks, and user data encapsulated within SCTP DATA chunks.
Index A autotimer, 38 B bundling , 15 user messages, 15 C checksum algorithm, 21 Adler32, 21 CRC-32c, 21 command library, 17, 18 congestion control, 15 COOKIE, 20 cookie preservative parameter, 20 D DNS, 24 domain name resolution, 18 Domain Name System (see DNS) E ECN, 22 ECN NONCES, 22 error handling, 15 Explicit Congestion Notification (see ECN) F fork(), 24 I ICMP, 30 IGMP, 30 INIT ACK, 20 Internet Group Management Protocol (see IGMP) Internet Protocol (see IP) IP, 15, 30 ipconfig command plumb opt
sctp_max_burst, 20, 23 sctp_max_cookie_pres, 20, 23 sctp_max_in_streams, 19, 22 sctp_max_init_retr, 18, 22 sctp_max_out_streams, 19, 22 sctp_max_path_retr, 19, 22 sctp_pd_threshold, 22, 23 sctp_pr_sctp, 22, 23 sctp_rto_alpha, 21, 23 sctp_rto_beta, 21, 23 sctp_rto_initial, 19, 23 sctp_rto_max, 19, 22 sctp_rto_min, 19, 22 sctp_status, 18 sctp_sws_threshold, 21, 23 sctp_val_cookie_life, 20, 23 SCTP parameters, 18 sctp_ack_delay, 20 SCTP utility, 16, 27 ndd command, 17, 18, 23, 27 netstat command, 17, 30 nettl