1OMPING(8) BSD System Manager's Manual OMPING(8)
2
4 omping — test IP multicast
5
7 omping [-46CDEFqVv] [-c count] [-i interval] [-M transport_method]
8 [-m mcast_addr] [-O op_mode] [-p port] [-R rcvbuf] [-r rate_limit]
9 [-S sndbuf] [-T timeout] [-t ttl] [-w wait_time] remote_addr...
10
12 The omping is program which uses User Datagram Protocol to determine if
13 computer is able to send and/or receive IP unicast and multicast or
14 Broadcast packets from the network. It's designed to be used in very sim‐
15 ilar way as ping(8) and also has some features of the fping(8) command.
16 Where ping(8) and omping differ is in who replies. In ping(8) replies are
17 sent by the operating system and with omping another instance of omping
18 sends the reply. This mean that omping must be running on all computers
19 to test sending/receiving IP multicast/broadcast. Its arguments are as
20 follows:
21
22 -4 Force usage of IPv4.
23
24 -6 Force usage of IPv6.
25
26 -C Display continuous statistics for every reply message.
27
28 -D Disable packet duplicate detection. Option is default for inter‐
29 val 0.
30
31 -E Default behaviour when every client is in stop state is to exit.
32 This may happen if all server sends stop message or if count
33 query messages was sent. This option changes default behaviour
34 and omping doesn't quit automatically.
35
36 -F Allow entering of arguments which are not allowed or not recom‐
37 mended by the specification. This is typically the interval
38 parameter. This option may be used multiple times.
39
40 -q Quiet output. Nothing is displayed except state changes and sum‐
41 mary. Option can be used twice and then only summary is dis‐
42 played.
43
44 -V Display version and quit. Option can be used twice and then
45 remote version is displayed.
46
47 -v Set level of verbosity. Parameter can be used multiple times to
48 achieve higher verbosity.
49
50 -c count
51 Number of request packets to send to each target. After sending
52 count query messages, given client is put to stop state and it is
53 no longer sending query messages.
54
55 -i interval
56 Wait interval seconds between sending each request packet. Float
57 values are supported in millisecond precision. It's possible to
58 set there 0 with meaning that packets are sent ether after previ‐
59 ous unicast reply is received or after 1 millisecond, depending
60 on which of these intervals is smaller. The default is to wait
61 for one second between each packet.
62
63 -M transport_method
64 Set transport method to use. This can be asm for Any-source Mul‐
65 ticast, ssm for Source-specific Multicast and ipbc for IP Broad‐
66 cast.
67
68 -m mcast_addr
69 Multicast or broadcast address to listen on for multicast/broad‐
70 cast answer messages. Default is 232.43.211.234 for IPv4 and
71 ff3e::4321:1234 for IPv6 multicast, or broadcast address of local
72 interface for Broadcast.
73
74 -O op_mode
75 omping can be running in three different modes. Default and rec‐
76 ommended mode for quick testing is normal mode, when omping
77 behaves like client and server together. It sends queries and is
78 able to respond them. Finally the client mode sends queries, but
79 never respond to other nodes.
80
81 -p port
82 Port to bind and listen on for both unicast and multicast/broad‐
83 cast messages. Default is 4321.
84
85 -R rcvbuf
86 Set socket rcvbuf. Minimum value for this option is 2048. If not
87 specified, rcvbuf is not changed and default OS provided value is
88 used.
89
90 -r rate_limit
91 Rate limit interval between two query messages to rate_limit sec‐
92 onds. Default value is same as interval given by -i option. Rate
93 limiting can be disabled by specifying 0 as value. Rate limiting
94 is by default disabled for -i with 0 seconds.
95
96 -S sndbuf
97 Set socket sndbuf. Minimum value for this option is 2048. If not
98 specified, sndbuf is not changed and default OS provided value is
99 used.
100
101 -T timeout
102 Specify a timeout, in seconds, before omping exits regardless of
103 how many packets have been received.
104
105 -t ttl Time-To-Live of sent packets.
106
107 -w wait_time
108 after omping is stopped (by sending SIGINT or timeout expire) it
109 is moved to special state when no queries are made and server
110 answer all queries by server response (stop message). This makes
111 possible to give correct (unbiased) result of lost packets on
112 other nodes. Default is 3 times interval or 1 second, depending
113 which one is larger. Also special value 0 can be used to not wait
114 at all or -1 which means wait forever (this can be still termi‐
115 nated by sending SIGINT).
116
117 remote_addr
118 List of addresses to test. One of them must be address of local
119 internet interface. This local address is used for bind and lis‐
120 tening on for unicast packets. It's also used to determine which
121 interface should be used for sending multicast/broadcast replies.
122
123 Program is normally terminated by SIGINT. After signal receive summary is
124 displayed. You can also display summary during running by sending SIGINFO
125 or SIGUSR1 signal.
126
127 When using omping for fault isolation, it should first be run against
128 local internet interface only, to verify that the local network interface
129 is up and running, and firewall is correctly configured. This mode is
130 available by entering only local IP address.
131
133 The omping utility exits 0 on success, and >0 if an error occurs.
134
136 The following commands and output is a typical way how to find-out and
137 solve network problems using omping. In this situation, we have 3 comput‐
138 ers named node-01, node-02 and node-03 with IP addresses 192.168.1.101 -
139 192.168.1.103. Let's run the following command on all of them.
140
141 $ omping node-01 node-02 node-03
142
143 on all of nodes we should be able to seen similar output
144
145 node-01: waiting for response msg
146 node-03: waiting for response msg
147 node-01: joined (S,G) = (*, 232.43.211.234), pinging
148 node-03: joined (S,G) = (*, 232.43.211.234), pinging
149 node-01: unicast, seq=1, size=69 bytes, dist=0, time=0.192ms
150 node-01: multicast, seq=1, size=69 bytes, dist=0, time=0.284ms
151 node-03: unicast, seq=1, size=69 bytes, dist=0, time=0.279ms
152 node-03: multicast, seq=1, size=69 bytes, dist=0, time=0.360ms
153
154 The first two lines tell us, that node-02 (actual node) is waiting for a
155 response message from node-01 and node-03. The second two lines contain
156 information, that we were successfully able to send an init message and
157 also received a response message from remote nodes. Both of these mes‐
158 sages are unicast, so we are able to send and receive unicast messages on
159 a given port. If all of nodes are up and omping is running on all of
160 them, but we are not able to receive a response message, it's time to
161 check connectivity between nodes. First make sure that you are able to
162 ping(8) them. If so, make sure that your firewall allows port 4321 to
163 receive udp packets.
164
165 The next line tells us that we were able to receive a 69 byte unicast
166 response message from node-01, with a sequence number of 1. The distance
167 between the computers is 0 so they are on the same link net. Time between
168 send and receive packet was 0.192 ms, that is also the current average
169 time and lastly there were no lost packets.
170
171 The 6th line tells us the same information as the previous one, but the
172 received message is a multicast message. It means, that multicast is
173 probably well configured.
174
175 The 7th and 8th lines are same as previous two one but for node-03.
176
177 If the node is able to receive unicast packets, but never multicast, it
178 means that multicast configuration is incorrect. It's recommended to turn
179 off your firewall. If multicast packets start to arrive, great. If not,
180 the problem is hidden in the switches/routers between the nodes. Contact
181 your system administrator to allow multicast traffic on the switch or
182 router.
183
184 omping is terminated by SIGINT signal (CTRL-c). Summary statistics are
185 shown
186
187 node-01: unicast, xmt/rcv/%loss = 18/18/0%, min/avg/max/std-dev =
188 0.177/0.301/0.463/0.073
189 node-01: multicast, xmt/rcv/%loss = 18/18/0%, min/avg/max/std-dev =
190 0.193/0.335/0.547/0.090
191 node-03: unicast, xmt/rcv/%loss = 21/21/0%, min/avg/max/std-dev =
192 0.272/0.299/0.327/0.017
193 node-03: multicast, xmt/rcv/%loss = 21/20/4% (seq>=2 0%),
194 min/avg/max/std-dev = 0.347/0.388/0.575/0.055
195
196 Last line has additional information (seq>=2 %0) which means, that after
197 receiving first multicast packet with seq number 2, no other multicast
198 packet was lost. Because creating multicast tree is time consuming, it's
199 pretty normal to lost first few multicast packets. rcv field can also be
200 formatted like
201
202 node-01: unicast, xmt/rcv/%loss = 3/3+1/0%, min/avg/max/std-dev =
203 0.294/0.299/0.305/0.006
204
205 This means, that 1 duplicate packet was received. It's possible to find
206 out duplicate packet by looking to output and find line which has follow‐
207 ing format
208
209 node-01: unicast, seq=2 (dup), size=69 bytes, dist=0, time=0.469ms
210
212 fping(8), ping(8)
213
215 omping uses Internet-Draft draft-ietf-mboned-ssmping-08 as underlaying
216 protocol and tries to be as compliant as possible.
217
219 The omping utility was written by Jan Friesse <jfriesse@redhat.com>.
220
222 - Some OSes may not have support for receiving TTL from packet. omping
223 then cannot provide distance information.
224
225 - Some OSes may not provide information about packet receive. Less pre‐
226 cise actual time is then used.
227
228 - omping highly depends on precise poll(2) and gettimeofday(3) func‐
229 tions. If OS doesn't provide at least milliseconds precision, results
230 may be incorrect.
231
232BSD Jun 22, 2011 BSD