## 3 Design of SROA
### SROA Protocol Description  
The SROA protocol includes four phases: Initialization, clustering, relay set construction, and packet transmission. **(1) Initialization**: In this phase, initializations such as neighbor tables, routing tables, and initial energy of nodes are established. The sensor nodes communicate with their neighboring nodes through the exchange of data packets, and then update their local tables. Each node maintains a local neighbor table that stores neighboring node information and clustering information for routing determinations. By this way, each node may learn about the whole network, not just the information of its own neighbors. **(2) Clustering**: At this stage, the sensor nodes are grouped into clusters, and each of these clusters has a CH and PCH, respectively. Ordinary sensor nodes simply communicate with the CH. The CH then sends the fused data to the sink node through the multi-hop communication path. The clustering phase enables nodes in the same group to have similar characteristics. In the underwater environment, the expenditure for resizing the network is known to be high, thus clustering makes the SROA adapt to the scaling of different network sizes by clustering and residing tables in each sensor node. Moreover, the energy distribution of nodes in the cluster is more uniform, extending the overall network lifetime. Before clustering analysis, preliminary exploratory analysis of the sensor nodes is required, the core of which is to determine the number of categories for clustering analysis, which is helpful for the identification of abnormal nodes in the later stage. The silhouette coefficient method has been widely recognized in the evaluation of the clustering effect, and it is a better evaluation method. The silhouette coefficient can evaluate the quality of the clustering model. Its main basis is the degree of cohesion and separation [29]. The contour coefficient is calculated using the following formula:  
\[S(i)=\frac{b(i)-a(i)}{\max\{a(i),b(i)\}} \tag{12}\]  
where \(b(i)\) is the average distance of the nearby clusters, and \(a(i)\) is the average distance for each node in the cluster. The silhouette coefficient is then computed for each of the \(k\) random values. As a result, a \(k\) with a greater coefficient is the better value [30]. The \(k\)-means clustering algorithm is an algorithm that finds \(k\) clusters of a dataset, each cluster described by its centroid. However, the initial seed of \(k\)-means is randomly selected, so the convergence speed of the algorithm is very closely related to the initial value. Therefore, we adopt the \(k\)-means++ algorithm in a three-dimensional underwater network, which can improve the selection of the initial value. For the 3D underwater context, we use \(k\)-means++ with modifications. The silhouette coefficient is used to compute the value of \(k\), which is required by the method. The proposed algorithm randomly selects the first centroid, and the subsequent centroids are selected by calculating the distance from other nodes to the previous centroid. Then, the node with the farther distance replaces the randomly selected centroid as the new centroid. Then, the above process is repeated until all \(k\) centroids have been chosen. Figure 3: Packet structure of the SROA protocol. At last, the conventional \(k\)-means processes are used to assign each data point to the closest centroid. After clustering the sensor nodes, the selection of CH and PCH is performed. Similar to initialization phase, the broadcast message is also sent to other nodes containing the clustering information. This raises communication costs, but it can synchronize the state of the network and avoid unnecessary packet transmission among nodes for dynamic topologies by exchanging information. When selecting CHs, the residual energy and location of the node are taken into account. The nodes that are with more residuals and are closer to other nodes in the cluster are more likely to be CHs.